Chính xác rùi, vì Java ko phải handle con trỏ bằng "tay" nên phải làm clip này cho các bạn học Java hiểu rõ hơn về cấu trúc của bộ nhớ, những cái mà nếu bạn nào học C++ rồi thì sẽ dễ nắm bắt hơn! :D Thank you em! :D
anh ơi cho em hỏi dùng java trên visual studio code như nó không hỗ trợ tiếng việt hả anh hay là cài sao để lúc mình in chạy ra nó in được ra tiếng việt á. Cảm ơn anh!
Anh ơi em có một vài thắc mắc nhờ anh giải đáp giúp: 1. Theo e hiểu thì khi khai báo và gán giá trị cho 1 biến thì sẽ có 1 ô nhớ được cấp phát trong stack, biến sẽ trỏ đến địa chỉ của ô nhớ đó và tùy theo kiểu giá trị là primitive hay không primitive thì giá trị lưu trữ trong ô nhớ tương ứng sẽ là giá trị được gán cho biến hay địa chỉ tham chiếu sang heap. E hiểu như vậy có đúng không? Nếu đúng thì về cơ bản, các ngôn ngữ lập trình khác nhau có cùng sử dụng cơ chế như này không (e đang học JS nhưng thấy phần này của Java cũng khá giống)? 2. Khi e tạo ra 2 biến là a = 1 và x = a thì biến x có được cấp phát 1 ô nhớ mới không hay là cả biến a và x đều trỏ về cùng 1 địa chỉ ô nhớ trong stack (theo e hiểu trong video của a thì sẽ là cấp 1 ô nhớ mới, nhưng ở tài liệu khác về JS thì nói là không)? Việc gán x = a có tương tự với việc truyền biến a vào hàm f(x) không (đều tạo ra bản sao của biến a)? 3. Khi gán a = 1 (giả sử ô nhớ được cấp phát có địa chỉ là A01). Sau đó lại gán a = 2, thì giá trị lưu trữ trong ô nhớ A01 thay đổi từ 1 thành 2 hay là biến a sẽ được cấp phát 1 ô nhớ mới? Giá trị được lưu trữ trong 1 ô nhớ có thể bị thay đổi hay không? Chắc là hơi dài dòng, e cảm ơn a trước ạ.
Anh ơi cho em hỏi với khi trong một hàm trả về hay tạo ra một đối tượng mới trên heap thì kết thúc hàm nó có giải phóng đối tượng đó giống như stack ko ạ .em cám ơn
thế cách truyền này vẫn là truyền tham trị hả anh, vì về cơ bản vẫn phải clone ra 1 biến rồi trỏ vào đối tượng, sau đó mới thao tác đến bộ nhớ heap, thế Java có truyền tham chiếu không? Vì bọn bạn e một số lại bảo là có, một số lại bảo là không
Tham chiếu, tham trị là khái niệm chỉ sử dụng trong C++, anh ko dùng 2 khái niệm này trong Java. Trong Java anh chỉ sử dụng 2 thuật ngữ Reference Type và Value type thôi!
Cảm ơn anh, nhờ video này của anh, em đã hiểu rõ hơn về con trỏ trong C
Oh tốt đó hiểu được bản chất vậy rất tốt
Cảm ơn anh ạ, video rất dễ hiểu, mong a sẽ ra thêm nhiều video về nhưng kiến thức cơ bản dạng như thế này nữa ❤️❤️❤️
cảm ơn anh, video của anh rất dễ hiểu, giúp ích cho em rất nhiều
Rất vui vì video đã giúp ích được em!
Cảm ơn anh vì những kiến thức bổ ích này. Kiến thức này giống hệt cách làm việc với con trỏ bên C/C++
Chính xác rùi, vì Java ko phải handle con trỏ bằng "tay" nên phải làm clip này cho các bạn học Java hiểu rõ hơn về cấu trúc của bộ nhớ, những cái mà nếu bạn nào học C++ rồi thì sẽ dễ nắm bắt hơn! :D
Thank you em! :D
Rất hữu ích ❤❤
Cảm ơn anh rất nhiều. Rất dễ hiểu a à
Cảm ơn em nhiều nha, có một số video nói về Java cũng như giải thuật trên kênh, em check thử coi nha!
Java like mạnh luôn anh. Spring framework nữa thì tuyệt vời
Cảm ơn em đã ủng hộ, anh sẽ làm nếu có thời gian :D
anh ơi cho em hỏi dùng java trên visual studio code như nó không hỗ trợ tiếng việt hả anh hay là cài sao để lúc mình in chạy ra nó in được ra tiếng việt á. Cảm ơn anh!
Anh ơi em có một vài thắc mắc nhờ anh giải đáp giúp:
1. Theo e hiểu thì khi khai báo và gán giá trị cho 1 biến thì sẽ có 1 ô nhớ được cấp phát trong stack, biến sẽ trỏ đến địa chỉ của ô nhớ đó và tùy theo kiểu giá trị là primitive hay không primitive thì giá trị lưu trữ trong ô nhớ tương ứng sẽ là giá trị được gán cho biến hay địa chỉ tham chiếu sang heap. E hiểu như vậy có đúng không? Nếu đúng thì về cơ bản, các ngôn ngữ lập trình khác nhau có cùng sử dụng cơ chế như này không (e đang học JS nhưng thấy phần này của Java cũng khá giống)?
2. Khi e tạo ra 2 biến là a = 1 và x = a thì biến x có được cấp phát 1 ô nhớ mới không hay là cả biến a và x đều trỏ về cùng 1 địa chỉ ô nhớ trong stack (theo e hiểu trong video của a thì sẽ là cấp 1 ô nhớ mới, nhưng ở tài liệu khác về JS thì nói là không)? Việc gán x = a có tương tự với việc truyền biến a vào hàm f(x) không (đều tạo ra bản sao của biến a)?
3. Khi gán a = 1 (giả sử ô nhớ được cấp phát có địa chỉ là A01). Sau đó lại gán a = 2, thì giá trị lưu trữ trong ô nhớ A01 thay đổi từ 1 thành 2 hay là biến a sẽ được cấp phát 1 ô nhớ mới? Giá trị được lưu trữ trong 1 ô nhớ có thể bị thay đổi hay không?
Chắc là hơi dài dòng, e cảm ơn a trước ạ.
quá hay luôn, cảm ơn anh
Rất vui vì video mang lại kiến thức bổ ích cho bạn! :D
Cảm ơn anh ạ
Rất vui vì em thấy video có hữu ích! :D
Quá hay
Cảm ơn Bảo, hãy chia sẻ cho ai cần nhé Bảo!
Anh ơi cho em hỏi với khi trong một hàm trả về hay tạo ra một đối tượng mới trên heap thì kết thúc hàm nó có giải phóng đối tượng đó giống như stack ko ạ .em cám ơn
Nếu ko có variable nào đang tham chiếu đến nó thì nó sẽ bị garbage collection dọn đi em ạ
Những tham số sử dung new trong hàm chỉ có tác dụng trong hàm đó thôi
Bạn xem video để hiểu bản chất nha!
Khi hiểu bản chất rồi thì ko cần nhớ vậy nữa! :D
nếu hàm void kia đổi thành hàm trả về giá trị thì nó sẽ chạy như nào anh
Em thử rồi báo anh kết quả xem?
thế cách truyền này vẫn là truyền tham trị hả anh, vì về cơ bản vẫn phải clone ra 1 biến rồi trỏ vào đối tượng, sau đó mới thao tác đến bộ nhớ heap, thế Java có truyền tham chiếu không? Vì bọn bạn e một số lại bảo là có, một số lại bảo là không
Tham chiếu, tham trị là khái niệm chỉ sử dụng trong C++, anh ko dùng 2 khái niệm này trong Java. Trong Java anh chỉ sử dụng 2 thuật ngữ Reference Type và Value type thôi!
Video hay nhưng mà phát âm chưa hay lắm, va lùa thì thầy ko dễ nghe anh ạ, dễ gây nhầm lẫn, nên thay đổi cách phát âm khi dạy học trên này
Thanks ban da gop y a
Java là pass by value ☘️☘️☘️
Pass by value là gì em? :D
cảm ơn anh, video của anh rất dễ hiểu, giúp ích cho em rất nhiều
Cảm ơn em nhé!