Anh có thể mời em một ly coffee

     

Với câu khẩu hiệu “Viết một lần, chạy đều nơi”, không tồn tại gì nặng nề hiểu khi Java tự lâu đang trở thành ngôn ngữ lập trình phổ biến nhất trên cố kỉnh giới, có sức cuốn hút đặc biệt với các lập trình viên tốt như sự quyến rũ của một tách cà phê nóng rộng phủ trong hộ gia đình code đầy tĩnh lặng.

Bạn đang xem: Anh có thể mời em một ly coffee

Nổi tiếng là vậy, nên bao phủ Java có không ít câu chuyện thú vị nhằm kể. Hãy cùng chúng tôi nhâm nhi tách bóc cà phê Java với đọc hầu như “mẩu tin” tiếp sau đây để coi mình phát âm về Java mang lại nhường làm sao nhé!

1. CÁI TÊN KHỞI NGUỒN TỪ NHỮNG HẠT CAFE

Java được mở màn bởi James Gosling và bạn đồng nghiệp ở Sun Microsystem năm 1991. Ban đầu, Java được đặt tên là Oak (có tức thị cây sồi), bắt nguồn từ những cây sồi bên ngoài cửa sổ văn phòng của James. Sau này, vào khoảng thời gian 1995, vày Oak vẫn được đk thành chữ tín của Oak Technologies, nên cái thương hiệu Java đã chủ yếu thức thành lập và hoạt động sau phần đông buổi thảo luận tại một quán cafe địa phương. Cũng từ đó, mã số kín “0xCafeBabe” trong số file class chọn cái tên theo quán cà phê nơi đội phát triển Java hay lui tới.

* Java là 1 trong những hòn đảo ở Indonesia khu vực mà lần thứ nhất cà phê được chế tạo (Java Coffee).

2. LINH VẬT CỦA JAVA

“The Duke” là thiêng vật của Java, được thiết kế với bới Joe Palrang vào thời điểm năm 2006 để đại diện thay mặt cho một tác nhân ứng dụng thực hiện những tác vụ cho những người dùng. Thiêng vật Duke lộ diện sống đụng với form size người thiệt là nét đặc trưng ở các buổi hội thảo chiến lược Java. Tưng năm Oracle phần lớn cho trình làng một hình tượng Duke với điểm lưu ý tính biện pháp mới.

3. CÂU THẦN CHÚ CỦA JAVA

Java thường được biết đến bởi biểu ngữ “Viết một lần, chạy phần đa nơi” (Write once run everywhere). Java là một nền tảng độc lập, có thể chạy trên phần đông hệ điều hành, code sẽ tiến hành Java Complier biên dịch chế tạo ra thành những bytecode, tự đó, bytecode có thể sẽ được thực thi trực tiếp bởi vì CPU hoặc được thông dịch thành các đoạn code được tiến hành bởi JVM. Sau đó, lịch trình được thực thi và mang lại ra hiệu quả cuối cùng.

Ngoài thần chú trên, Java còn được biết đến là ngôn từ lập trình WEB sáng sủa giá kể từ lúc mạng internet và các website trở nên tân tiến bùng nổ. Java là 1 trong lựa chọn thuận tiện hơn và linh hoạt hơn so với C++, việc phát minh sáng tạo ra WWW vào thời điểm năm 1993 đã bước đầu một sự biến hóa lớn trong cải cách và phát triển ứng dụng CNTT. Sun Microsystems đã nhanh lẹ chuyển lịch sự tận dụng bằng cách bán “mạng lưới” server như hotcakes hoặc lưu ý sử dụng Java như một gốc rễ cho cách tân và phát triển web. Tính từ lúc đó Java đang trở thành tiêu chuẩn phát triển Internet cho những doanh nghiệp.

*

4. Java is lượt thích air

“Java is lượt thích air”, làm việc đâu chúng ta cũng có thể bắt gặp mặt Java. Theo thống kê cho tới cuối năm 2018 của Tiobe, Java là ngôn ngữ lập trình phổ biến nhất trên chũm giới. Java được rất nhiều công ty mập thuộc những lĩnh vực không giống nhau sử dụng như GM/Onstar, Facebook, eBay, Ford, Salesforce,… cũng như các công ty cách tân và phát triển và thực hiện ứng dụng game android (nắm rộng 80% thị trường thiết bị di động cầm tay trên toàn nạm giới).

Xem thêm: Lợi Ích Chữa Bệnh Của Rau Cần Tây & Cần Ta: Công Dụng Chữa Bệnh Khác Nhau

Java là 1 ngôn ngữ có kết cấu chặt chẽ, phù hợp với nhiều các loại ứng dụng, với được sử dụng rộng rãi trong các trung trung tâm tài bao gồm như ngân hàng, bảo hiểm. Kết phù hợp với người anh em JavaScript, Java cung cấp một giải pháp toàn diện bao hàm cả BackEnd lẫn FrontEnd cho tất cả những người sử dụng.

*

5. The final

Trong Java, “final” chưa hẳn là kết thúc, mà rất có thể là:

Final class: Lớp cần thiết mở rộngFinal method: phương thức không thể được ghi đèFinal field: Hằng sốFinal variable: cực hiếm của trở nên khi đã có được set thì không thể bị nỗ lực đổi

6. Deadly đá quí of Death

Java không cung cấp đa thừa kế (multiple inheritance). Nguyên nhân là gì vậy?

Diamond Problem là 1 trong những sự mơ hồ xảy ra khi 2 class B với C cùng kế thừa class A, với class D thừa kế từ cả hai class B với C. Ví như trong class B với C tôi thuộc ghi đè một method của class A, thì class D sẽ kế thừa method nào? Method của B xuất xắc của C?

Trên thực tế, nhiều kế thừa phát sinh nhiều vụ việc hơn cả những vụ việc nó giải quyết được. Do này mà Java cũng tương tự các ngôn ngữ văn minh ngày nay đều không tồn tại đa kế thừa như C++ tuyệt Object Pascal.

Ví dụ:

*

7. Immutable class

Một đối tượng người sử dụng hay một tờ immutable là những thực thể mà lại trạng thái của chúng (bao bao gồm dữ liệu) không thể biến đổi được một lúc đã tạo thành ra. Công việc để tạo ra một đối tượng người dùng immutable như sau:

Đặt toàn bộ các trường, các phương thức và trở thành finalSử dụng access modifier là private để ngăn quyền tróc nã cậpĐặt class là final bảo đảm các class khác chẳng thể kế thừa

Việc áp dụng một immutable class gồm các ưu thế nổi nhảy như:

Thread safe: Đối tượng hoàn toàn có thể được sử dụng từ rất nhiều luồng cùng một thời điểm nhưng không gặp gỡ vấn đề gìKhông gặp vấn đề về đồng bộKhông coppy hàm khởi chế tác (không tham chiếu tới hàm khởi tạo của một đối tượng khác trong cùng class)Có thể sử dụng lại bằng phương pháp cache

String là immutable.

*

8. Class loader subsystem

Đây là nơi thiết lập và cách xử trí .class file, bình chọn tính thích hợp lệ của những mã byte code, tiếp nối cấp phân phát các bộ nhớ cần thiết để thực thi chương trình. Bộ lưu trữ này được chia thành 5 phần, là nơi truy cập dữ liệu tại thời khắc chạy chương trình.

Method Area: giữ code của class bao gồm các biến và phương thứcHeap: Nơi tạo thành đối tượngJava Stack: bộ nhớ lưu trữ để lưu tài liệu và công dụng khi xúc tiến một phương thứcPC (Program Counter) Register: những thanh ghi chứa địa chỉ cửa hàng bộ ghi nhớ của các hướng dẫn của phương thứcNative Method Stack: chỗ thực thi các phương thức Java

*

9. Lưu trữ static method và variable

Biến và thủ tục static được lưu trữ trong bộ lưu trữ heap quánh biệt, được hotline là PermGen (Permanent Generation). Chỉ có những biến với giá trị nguyên thể hoặc tham chiếu của chúng bắt đầu được giữ trong PermGen. Ví như một vươn lên là static tham chiếu tới một đối tượng, thì tham chiếu sẽ tiến hành lưu trong PermGen, còn bản thân đối tượng người sử dụng được lưu giữ trong bộ lưu trữ heap thông thường.

Ví dụ:

static int a= 10;

static MyObject obj = new MyObject();

10. StackOverflowError và OutOfMemoryError

Khi nhảy JVM chúng ta định nghĩa bao nhiêu RAM cơ mà nó có thể dùng để xử lý. JVM chia con số RAM này thành những bộ nhớ lưu trữ cho các mục đích giải pháp xử lý riêng, 2 trong số đó là Stack và Heap.

Out Of Memory ErrorStack Overflow Error
Liên quan mang đến HeapPhát sinh khi gồm các đối tượng người dùng hoặc các đối tượng người dùng tham chiếu phệ trong bộ nhớ, khi bạn nỗ lực tạo một object và không có đủ không gian trên heap nhằm phân bổ đối tượng người dùng đó.Có 2 một số loại chủ yếu: Lỗi Java heap cùng PermGen.Tránh bằng phương pháp đảm bảo những đối tượng người dùng không cần thiết phải được dọn dẹp vệ sinh bởi GC (Garbage Collection). Tăng kích thước không gian heap. qqlive| j88