mình có thắc mắc về việc cấp phát bộ nhớ cho các biến dùng kiểu String
> String s1 = “ab” ;
String s2 = "ab" ;
1 . Có phải s1 , s2 , chuỗi “ab” là cùng 1 địa chỉ phải không ? ( mình thử dùng 1 hàm để get address của đối tượng thì thấy cả 3 cùng 1 địa chỉ)
2 . vậy kiểu khai báo string literal là nó sẽ lấy thẳng địa chỉ của chuỗi “ab” luôn thay vì nó phải khai báo 1 biến ở stack rồi truyền tham chiếu của đối tượng ở heap cho biến đó phải không ( kiểu như biến tham chiếu bên C ấy 1 biến nhưng có nhiều bí danh )
3.có trường hợp nào mà hashcode() của 2 đối tượng khác nhau trả về value giống nhau không ??
String s = new String(“ab”) ;
có bao nhiêu vùng nhớ được cấp phát khi chạy câu lệnh trên