Một số đặc tính của java
Trong bài viết này , mình sẽ giới thiệu cho các bạn học lập trình java về một số ưu , nhược điểm về ngôn ngữ lập trình java
Java tương tự như C++ nhưng bỏ bớt các đặc tính phức tạp của C++ như quản lý bộ nhớ, pointer, overload toán tử, không dùng include, bỏ struct, union. Java được kế thừa từ C++, và được loại bỏ đi các tính năng khó nhất của C++ nên java dễ sử dụng hơn.
Tất cả mọi thứ đề cập đến trong Java đều liên quan đến các đối tượng được định nghĩa trước, thậm chí hàm chính (hàm main) của một chương trình viết bằng Java cũng phải đặt bên trong một lớp.
Hướng đối tượng trong Java không có tính đa kế thừa (multi inheritance) như trong C++ mà thay vào đó Java đưa ra khái niệm interface để hỗ trợ tính đa kế thừa.
Garbage Collection
- Đánh dấu và giải phóng các vùng nhớ không còn được sử dụng.
- Được tiến hành tự động.
- Cơ chế hoạt động phụ thuộc vào các phiên bản máy ảo.
Đơn giản.
Khả chuyển.
Hướng đối tượng.
Phân tán
Đa tiểu trình (multithread).
An toàn.
Biên dịch và thông dịch
Giải phóng bộ nhớ (Garbage Collection)
Đơn giản( simple):
Tính khả chuyển (portable):
Tính khả chuyển của java do chương trình biên dịch tạo ra mã byte (bytecodes) không phụ thuộc hệ thống máy sử dụng. Bytecodes là tập hợp các câu lệnh tương tự như lệnh mã máy (machine code), nó được tạo ra khi một chương trình Java được biên dịch xong.Tính hướng đối tượng (OO):
Hướng đối tượng trong Java tương tự như C++ nhưng Java là một ngôn ngữ lập trình hướng đối tượng hoàn toàn, không thể viết một ứng dụng hướng thủ tục trong JavaTất cả mọi thứ đề cập đến trong Java đều liên quan đến các đối tượng được định nghĩa trước, thậm chí hàm chính (hàm main) của một chương trình viết bằng Java cũng phải đặt bên trong một lớp.
Hướng đối tượng trong Java không có tính đa kế thừa (multi inheritance) như trong C++ mà thay vào đó Java đưa ra khái niệm interface để hỗ trợ tính đa kế thừa.
Phân tán (distributed):
Nhắm đến phân bố ứng dụng trên mạng, ứng dụng độc lập platform. Cụ thể là Java có hỗ trợ công nghệ lập trình RMI, CORBA, JavaBean. Các công nghệ này cho phép sử dụng lại các lớp đã tạo ra, triệu gọi các phương thức (method) hoặc các đối tượng từ một máy ở xa.
Đa tiểu trình (multithread):
Đặc tính này của Java cho phép tạo nhiều tiến trình, tiểu trình có thể chạy song song cùng một thời điểm và có thể tương tác với nhau.
Tính an toàn (secure):
Kiểm tra an toàn code trước khi thực thi, có nhiều mức kiểm tra bảo mật > Môi trường thực thi an toàn
Mức 1: Mức ngôn ngữ, nhờ tính bao gói dữ liệu của OOP, không cho phép truy cập trực tiếp bộ nhớ mà phải thông qua method.
Mức 2: Mức Compiler, kiểm tra an toàn cho code trước khi biên dịch.
Mức 3: Mức Interpreter, trước khi bytecode được thực thi, được kiểm tra an toàn.
Mức 4: Mức Class, các class trước khi nạp được kiểm tra an toàn.
Chương trình nguồn viết bằng ngôn ngữ lập trình Java có đuôi *.java đầu tiên được biên dịch thành tập tin có đuôi *.class và sau đó sẽ được trình thông dịch thông dịch thành mã máy.
Java class file có thể được dùng ở bất kỳ flatform nào (Write Once Run Anywhere).
Các file tài nguyên > trình biên dịch javac > class file độc lập thiết bị
Class file > trình thông dịch java mã máy thực thi, không cần liên kết (link)
Mức 1: Mức ngôn ngữ, nhờ tính bao gói dữ liệu của OOP, không cho phép truy cập trực tiếp bộ nhớ mà phải thông qua method.
Mức 2: Mức Compiler, kiểm tra an toàn cho code trước khi biên dịch.
Mức 3: Mức Interpreter, trước khi bytecode được thực thi, được kiểm tra an toàn.
Mức 4: Mức Class, các class trước khi nạp được kiểm tra an toàn.
Biên dịch và thông dịch:
Java là một ngôn ngữ lập trình có khả năng biên dịch và khả năng thông dịch.Chương trình nguồn viết bằng ngôn ngữ lập trình Java có đuôi *.java đầu tiên được biên dịch thành tập tin có đuôi *.class và sau đó sẽ được trình thông dịch thông dịch thành mã máy.
Java class file có thể được dùng ở bất kỳ flatform nào (Write Once Run Anywhere).
Các file tài nguyên > trình biên dịch javac > class file độc lập thiết bị
Class file > trình thông dịch java mã máy thực thi, không cần liên kết (link)
Giải phóng bộ nhớ (Garbage Collection)
Java cung cấp một tiến trình mức hệ thống để theo dõi việc cấp phát bộ nhớGarbage Collection
- Đánh dấu và giải phóng các vùng nhớ không còn được sử dụng.
- Được tiến hành tự động.
- Cơ chế hoạt động phụ thuộc vào các phiên bản máy ảo.
0 nhận xét: