Chức Năng Của Interface Trong Java / Top 6 # Xem Nhiều Nhất & Mới Nhất 2/2023 # Top View | Phauthuatthankinh.edu.vn

Abstract Class Và Interface Trong Java

Một phương thức được khai báo là abstract và không có trình triển khai thì đó là phương thức trừu tượng (abstract method).

Nếu bạn muốn một lớp chứa một phương thức cụ thể nhưng bạn muốn triển khai thực sự phương thức đó để được quyết định bởi các lớp con, thì bạn có thể khai báo phương thức đó trong lớp cha ở dạng abstract.

Từ khóa abstract được sử dụng để khai báo một phương thức dạng abstract. Phương thức abstract sẽ không có định nghĩa, được theo sau bởi dấu chấm phẩy, không có dấu ngoặc nhọn theo sau.

Cú pháp:

Ví dụ về lớp trừu tượng và phương thức trừu tượng

Ví dụ: Viết chương trình vẽ một hình bất kỳ với màu đỏ, sao cho cách sử dụng là giống nhau, bất kể đó là hình gì. Hình đó có thể là hình chữ nhật (rectangle), hình tròn (circle), tam giác (triangle), đường (line), …

Với yêu cầu trên, tôi tạo một lớp trừu tượng Shape. Lớp này cung cấp một phương thức trừu tượng draw, phương thức này để đảm bảo rằng tất cả các hình đều có cùng cách sử dụng ( draw). Ngoài ra, có phương thức không trừu tượng getColor để cung cấp màu sử dụng chung cho tất cả các hình. Tiếp theo, tôi tạo 2 lớp Rectangle và Circle kế thừa từ lớp Shape, 2 lớp này có những cách xử lý draw khác nhau. Cuối cùng, tôi tạo class ShapeApp, gọi phương thức draw để vẽ hình theo yêu cầu.

Shape.java

public abstract class Shape { private String color = "red"; public Shape() { } public abstract void draw(); public String getColor() { return color; } }

Rectangle.java

public class Rectangle extends Shape { @Override public void draw() { System.out.println("Draw " + super.getColor() + " rectangle"); } }

Circle.java

public class Circle extends Shape { @Override public void draw() { System.out.println("Draw " + super.getColor() + " circle"); } }

ShapeApp.java

public class ShapeApp { public static void main(String[] args) { Shape rect = new Rectangle(); rect.draw(); Shape circle = new Circle(); circle.draw(); } } Draw red rectangle --- Draw red circle

Một vài lưu ý

Lớp con bắt buộc phải cài đặt (implement) tất cả các phương thức trừu tượng của lớp cha

Bạn nhận được thông báo lỗi nếu lớp con không cài đặt (implement) tất cả các phương thức trừu tượng của lớp cha: The type Triangle must implement the inherited abstract method Shape.draw().

Không thể khởi tạo trực tiếp một lớp trừu tượng

Bạn nhận được thông báo lỗi khi cố tình khởi tạo một lớp trừu tượng: Cannot instantiate the type Shape.

Interface trong Java

Đặc điểm của Interface

Các phương thức trong interface đều là các phương thức trừu tượng.

Interface là một kỹ thuật để thu được tính trừu tượng hoàn toàn và đa kế thừa trong Java.

Interface luôn luôn có modifier là: public interface, cho dù bạn có khai báo rõ hay không.

Nếu có các trường (field) thì chúng đều là: public static final, cho dù bạn có khai báo rõ hay không.

Các method của nó đều là method trừu tượng, nghĩa là không có thân hàm, và đều có modifier là: public abstract, cho dù bạn có khai báo hay không.

Interface không có hàm khởi tạo (constructor).

Một interface không phải là một lớp. Viết một interface giống như viết một lớp, nhưng chúng có 2 định nghĩa khác nhau. Một lớp mô tả các thuộc tính và hành vi của một đối tượng. Một interface chứa các hành vi mà một class triển khai.

Trừ khi một lớp triển khai interface là lớp trừu tượng abstract, còn lại tất cả các phương thức của interface cần được định nghĩa trong class.

Java Compiler thêm từ khóa public abstract trước phương thức của interface và các từ khóa public static final trước các thành viên dữ liệu.

Một interface tương tự với một class bởi những điểm sau đây:

Một interface được viết trong một file với định dạng .java, với tên của interface giống tên của file.

Bytecode của interface được lưu trong file có định dạng .class.

Khai báo interface trong một package, những file bytecode tương ứng cũng có cấu trúc thư mục có cùng tên package.

Một interface khác với một class ở một số điểm sau đây:

Bạn không thể khởi tạo một interface.

Một interface không chứa bất cứ hàm Contructor nào.

Tất cả các phương thức của interface đều là abstract.

Một interface không thể chứa một trường nào trừ các trường vừa static và final.

Một interface không thể kế thừa từ lớp, nó được triển khai bởi một lớp.

Một interface có thể kế thừa từ nhiều interface khác.

Ví dụ sử dụng Interface trong Java

Tương tự như yêu cầu ở ví dụ về sử dụng abstract class ở trên, nhưng tôi sẽ dụng Interface để áp dụng vào chương trình.

Shape.java

public interface Shape { String color = "red"; void draw(); }

Rectangle.java

public class Rectangle implements Shape { @Override public void draw() { System.out.println("Draw " + color + " rectangle"); } }

Circle.java

public class Circle implements Shape { @Override public void draw() { System.out.println("Draw " + color + " circle"); } }

ShapeApp.java

public class ShapeApp { public static void main(String[] args) { Shape rect = new Rectangle(); rect.draw(); Shape circle = new Circle(); circle.draw(); } }

Kết quả:

Draw red rectangle --- Draw red circle

Khi ghi đè các phương thức được định nghĩa trong interface, có một số quy tắc sau:

Các checked exception không nên được khai báo trong phương thức implements, thay vào đó nó nên được khai báo trong phương thức interface hoặc các lớp phụ được khai báo bởi phương thức interface.

Signature (ký số) của phương thức interface và kiểu trả về nên được duy trì khi ghi đè phương thức (overriding method).

Một lớp triển khai chính nó có thể là abstract và vì thế các phương thức interface không cần được triển khai.

Khi triển khai interface, có vài quy tắc sau:

Một lớp có thể triển khai một hoặc nhiều interface tại một thời điểm.

Một lớp chỉ có thể kế thừa một lớp khác, nhưng được triển khai nhiều interface.

Một interface có thể kế thừa từ một interface khác, tương tự cách một lớp có thể kế thừa lớp khác.

Đa thừa kế trong Java bởi Interface

Nếu một lớp triển khai đa kế thừa, hoặc một Interface kế thừa từ nhiều Interface thì đó là đa kế thừa.

Trong Java, một lớp chỉ được thừa kế (extends) từ một lớp, có thể cài đặt (implements) nhiều interface. Tuy nhiên, một interface có thể thừa kế (extends) nhiều interface.

Một interface không thể cài đặt (implements) interface khác, do interface không phần cài đặt, chỉ chứa các khai báo.

Ví dụ một lớp cài đặt (implements) nhiều interface:

public interface Shape { void draw(); } public interface Color { String getColor(); } public class Rectangle implements Shape, Color { @Override public void draw() { System.out.println("Draw " + this.getColor() + " rectangle"); } @Override public String getColor() { return "red"; } }

Ví dụ interface kế thừa (extend) nhiều interface

public interface Shape { void draw(); } public interface Color { String getColor(); } public interface ShapeColor extends Shape, Color { } public class Circle implements ShapeColor { @Override public void draw() { System.out.println("Draw " + this.getColor() + " circle"); } @Override public String getColor() { return "red"; } }

Câu hỏi: Đa kế thừa không được hỗ trợ thông qua lớp trong Java nhưng là có thể bởi Interface, tại sao?

Như đã giới thiệu, kế thừa không được hỗ trợ thông qua lớp. Nhưng nó được hỗ trợ bởi Interface bởi vì không có tính lưỡng nghĩa khi trình triển khai được cung cấp bởi lớp Implementation.

Ví dụ đa thừa kế với Interface

public interface Printable { void print(); } public interface Showable { void print(); } public class InterfaceDemo implements Printable, Showable { public void print() { System.out.println("Welcome to gpcoder.com"); } public static void main(String args[]) { InterfaceDemo obj = new InterfaceDemo(); obj.print(); } }

Trong ví dụ trên, interface Printable và Showable có cùng các phương thức print() nhưng trình triển khai của nó được cung cấp bởi lớp InterfaceDemo, vì thế không có tính lưỡng nghĩa ở đây.

Ví dụ đa thừa kế với class

public class Printable { void print() { System.out.println("Printable"); } } public class Showable { void print() { System.out.println("Showable"); } } public class InterfaceDemo extends Printable, Showable { public static void main(String args[]) { InterfaceDemo obj = new InterfaceDemo(); obj.print(); } }

Trong ví dụ trên, lớp Printable và Showable có cùng các phương thức print() và InterfaceDemo kế thừa 2 class đó không override lại phương thức print() nên trình biên dịch không biết thực thi phương thức print() của lớp Printable hay là của lớp Showable. Để đảm bảo an toàn và giảm tính phức tạp của hệ thống nên Java không hỗ trợ đa thừa kế đối với class.

Marker (hay Tagging) Interface trong Java là gì?

Đó là một Interface mà không có thành viên nào. Ví dụ: Serializable, Cloneable, Remote, … Chúng được sử dụng để cung cấp một số thông tin thiết yếu tới JVM để mà JVM có thể thực hiện một số hoạt động hữu ích.

Ví dụ

public interface Serializable { }

Có hai mục đích thiết kế chủ yếu của tagging interface là:

Tạo một cha chung: Như với EventListener interface, mà được kế thừa bởi hàng tá các interface khác trong Java API, bạn có thể sử dụng một tagging interface để tạo một cha chung cho một nhóm interface. Ví dụ, khi một interface kế thừa EventListener, thì JVM biết rằng interface cụ thể này đang được sử dụng trong một event.

Thêm một kiểu dữ liệu tới một class: Đó là khái niệm tagging. Một class mà triển khai một tagging interface không cần định nghĩa bất kỳ phương thức nào, nhưng class trở thành một kiểu interface thông qua tính đa hình (polymorphism).

Interface lồng nhau trong Java

Một Interface có thể có Interface khác, đó là lồng Interface.

Ví dụ:

interface Printable { void print(); interface MessagePrintable { void msg(); } } So

So sánh abstract class và interface trong Java

Thể hiện tính trừu tượng < 100%

Thể hiện tính trừu tượng 100% (Java < 8).

Lớp trừu tượng có thể có các phương thức abstract và non-abstract

Phiên bản Java < 8, Interface chỉ có thể có phương thức abstract. Phiên bản Java 8, có thể thêm default và static methods. Phiên bản Java 9, có thể thêm private methods.

Lớp trừu tượng không hỗ trợ đa kế thừa

Interface hỗ trợ đa kế thừa

Lớp trừu tượng có thể có các biến final, non-final, static và non-static

Interface chỉ có các biến static final

Lớp trừu tượng có thể có phương thức static, phương thức main và constructor

Interface không thể có phương thức static, main hoặc constructor.

Từ khóa abstract được sử dụng để khai báo lớp trừu tượng

Từ khóa interface được sử dụng để khai báo Interface

Lớp trừu tượng có thể cung cấp trình triển khai của Interface

Interface không cung cấp trình triển khai cụ thể của lớp abstract

Sử dụng Abstract class khi chúng ta chỉ có thể hoàn thành một vài chức năng (method/ function) chuẩn của hệ thống, một vài chức năng còn lại các lớp extends phải hoàn thành. Những tính năng đã hoàn thành này vẫn sử dụng như bình thường, đây là những tính năng chung.

Sử dụng Interface khi bạn muốn tạo dựng một bộ khung chuẩn gồm các chức năng (method/ function) mà tất cả module/ project cần phải có. Các module phải implements tất cả chức năng đã được định nghĩa.

Nói về Abtract Class và Interface, đôi khi bạn sẽ gặp một số cách gọi: Khi một class extend một class/ abtract class thì có nghĩa là ta đang thể hiện mối quan hệ is-a (là), còn khi implement một interface, thì ta đang thể hiện mối quan hệ has-a (có, hay thực hiện).

Ví dụ:

class Programmer extends Person implements Programming, Debugging {} class Rectangle extends Shape implements Width, Height {}

Tài liệu tham khảo Nguồn: https://gpcoder.com/2295-abstract-class-va-interface-trong-java/#Marker_hay_Tagging_Interface_trong_Java_la_gi KHÓA HỌC JAVA CHO NGƯỜI MỚI BẮT ĐẦU

Annotation Trong Java Là Gì Và Chức Năng Của Nó?

Annotation trong Java là gì?

Cấu trúc của một Annotation trong Java.

Chức năng của Annotation trong Java.

Các Annotation tích hợp sẵn trong Java.

Khởi tạo Annotation (Annotation tự định nghĩa).

Annotation lồng nhau và cách sử dụng.

Tổng kết.

1. Annotation trong Java là gì?

Annotation được hiểu là một dạng chú thích hoặc một dạng siêu dữ liệu (metadata) được dùng để cung cấp thông tin dữ liệu cho mã nguồn Java. Các chú thích không có ảnh hưởng trực tiếp đến hoạt động của mã mà chúng chú thích. Annotation được thêm vào Java từ Java 5. Các Annotation được sử dụng trong mã nguồn sẽ được biên dịch thành bytecode và sử dụng kỹ thuật phản chiếu ( Reflection) để truy vấn thông tin siêu dữ liệu và đưa ra hành động thích hợp.Chúng ta có thể chú thích các lớp (class), phương thức (method), các biến (variable), các gói (package) và các tham số (prameter) trong Java.

Java Annotation có hai loại:

Các Annotation được tích hợp sẵn.

Annotation do người dùng tự định nghĩa.

2. Cấu trúc của một Annotation trong Java

Một chú thích luôn bắt đầu với ký hiệu @ và sau đó là tên của chú thích. Ký hiệu @ chỉ ra cho trình biên dịch rằng đây là một chú thích.

Ví dụ: @Deprecated

Ký hiệu @ mô tả đây là một chú thích.

Deprecated là tên của chú thích.

3. Chức năng của Annotation trong Java

Thứ nhất, chỉ dẫn cho trình biên dịch (Compiler)

Annotation được sử dụng trong Java cho 3 mục đích chính:

Chú thích có thể được trình biên dịch sử dụng để phát hiện lỗi hoặc triệt tiêu các cảnh báo. Java có 3 Annotation có thể được sử dụng nhằm cung cấp chỉ dẫn cho trình biên dịch:

1. @Deprecated

2. @Override

Chi tiết về từng chú thích sẽ được giải thích chi tiết trong phần sau. Thứ hai, chỉ dẫn trong thời điểm biên dịch (Build-time)

3. @SuppressWarnings

Thứ ba, chỉ dẫn trong thời gian chạy (Runtime)

Các công cụ phần mềm có thể thông qua các chỉ dẫn của chú thích để tạo mã nguồn, tệp XML, nén mã biên dịch và các tâp tin vào một tập tin, v…v

Thông thường, các Annotation không có mặt trong mã Java sau khi biên dịch. Tuy nhiên, có thể xác định trong thời gian chạy bằng cách sử dụng kỹ thuật Reflection và có thể sử dụng để đưa ra những hướng dẫn cho chương trình trong thời gian chạy.

4. Các Annotation tích hợp sẵn trong Java và ví dụ minh họa

Annotation tích hợp sẵn có hai loại:

1. Java Annotation được tích hợp để sử dụng trực tiếp trong code Java:

Chúng ta có 3 Annotation quan trọng:

@Override:

Được sử dụng cho các phương thức có nghĩa là ghi đè một phương thức trong lớp cha (supperclass). Nếu một phương thức đánh dấu @Override không ghi đè chính xác một phương thức trong lớp cha của nó hay hiểu đơn giản là phương thức đó không hợp lệ thì trình biên dịch sẽ báo lỗi. Chúng ta không nhất thiết phải sử dụng @Override khi ghi đè phương thức, nhưng Annotation này sẽ giúp chúng ta tránh lỗi dễ dàng hơn.

Ví dụ:

public class superExampleNMD { public void methodOverride() { System.out.println("SupperClass Nguyen Minh Duc"); } } public class ExampleNMD extends superExampleNMD{ @Override public void methodOverride() { System.out.println("SubClass Nguyen Minh Duc"); } } public class MainNMD { public static void main(String[] args) { ExampleNMD ex = new ExampleNMD(); ex.methodOverride(); } }

Kết quả:

Chúng ta có thể thấy rằng phương thức ở lớp con đã ghi đè nội dung lên phương thức của lớp cha.

Được sử dụng để dánh dấu một đối tượng (class, method hoặc field) và chỉ dẫn rằng nó tốt nhất không nên được sử dụng nữa. Trình biên dịch sẽ đưa các câu cảnh báo khi chương trình sử dụng các thuộc tính, lớp hoặc phương thức có gắn với @Deprecated.

Ví dụ:

Thông báo cho trình biên dịch biết là không được in các câu cảnh báo nào đó.

Cú pháp sử dụng: @SuppressWarnings(“…”) hoặc @SuppressWarnings({“…”,”…”,v…v…}) trong “…” được hiểu là tên các loại cảnh báo.

Chúng ta thường dùng:

@SuppressWarnings(“deprecation”) để thông báo trình biên dịch không cảnh báo việc sử dụng phương thức có sử dụng @Deprecated.

@SuppressWarnings(“unchecked”) để thông báo trình biên dịch không cảnh báo việc sử một ép kiểu không an toàn.

@SuppressWarnings(“rawtypes”) để thông báo trình biên dịch không cảnh báo lỗi trong khai báo kiểu dữ liệu.

2. Java Annotation được tích hợp sẵn được sử dụng trong Annotation khác.

@Target: Dùng để chú thích phạm vi sử dụng của một Annotation. Các chú thích này đã được định nghĩa trong enum java.lang.annotation.ElementType:

@Retention: Dùng để chú thích mức độ tồn tại của một Annotation nào đó. Cụ thể có 3 mức nhận thức tồn tại của vật được chú thích, và được định nghĩa trong enum java.lang.annotation.RetentionPolicy:

RetentionPolicy.SOURCE

Tồn tại trên mã nguồn, và không được trình biên dịch nhận ra.

RetentionPolicy.CLASS

Mức tồn tại được trình biên dịch nhận ra, nhưng không được nhận biết bởi máy ảo tại thời điểm chạy (Runtime).

RetentionPolicy.RUNTIME

Mức tồn tại lớn nhất, được trình biên dịch nhận biết, và máy ảo (JVM) cũng nhận ra khi chạy chương trình.

@Inherited: Chú thích này chỉ ra rằng chú thích mới nên được bao gồm trong tài liệu Java được tạo ra bởi các công cụ tạo tài liệu Java.

@Documented: Chú thích chỉ ra rằng loại chú thích có thể được kế thừa từ lớp cha và có giá trị mặc định là false. Khi người dùng truy vấn kiểu Annotation của lớp con và lớp con không có chú thích cho kiểu này thì lớp cha của lớp được truy vấn cho loại chú thích sẽ được gọi. Chú thích này chỉ áp dụng cho các khai báo class.

5. Khởi tạo Annotation (Annotation tự định nghĩa)

Annotation khá giống một interface, để khai báo một Annotation chúng ta sử dụng @interface. Annotation có thể có hoặc không có các phần tử (element) trong đó.

Một phần tử của Annotation có các đặc điểm như sau:

Không có thân hàm

Không có tham số hàm

Khai báo trả về phải là một kiểu dữ liệu cụ thể (Kiểu nguyên thủy, Enum, Annotation hoặc Class).

Có thể có giá trị mặc định.

#Khởi tạo

Một Annotation sẽ đượng định nghĩa bởi các Meta-Annotations. Các Meta-Annotations gồm @Retention , @Target , @Documented , @Inherited .

#Sử dụng

import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Retention(value = RetentionPolicy.SOURCE) public class UsingAnno { @MyCustomAnnotation

Trên là một ví dụ nhằm có cái nhìn cơ bản về cách khởi tạo một Annotation.

6. Annotation lồng nhau (lặp lại chú thích) và cách sử dụng

Trong một số trường hợp, nhu cầu sử dụng một Annotation nhiều lần. Khi đó chúng ta cần tạo một Wrapper chứa danh sách các Annotation có thể lặp lại.

Ví dụ:

import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; public class TestAnnotationMain {

7. Tổng kết

Xây Dựng Chức Năng Cho Trang Web Với Javascript

Xây dựng chức năng cho trang web với JavaScript

JavaScript là gì?

JavaScript (JS) là một ngôn ngữ lập trình phía client: mã được thực thi bởi trình duyệt của người dùng, sau khi trang web gửi về từ server.

JavaScript được sử dụng để tạo ra các trang web có tính tương tác:

    Chèn nội dung động vào trang web

    Đáp ứng lại các thao tác của người dùng

    Lấy thông tin từ máy tính người sử dụng

    Thực hiện tính toán trên máy tính người sử dụng

    Tạo các ứng dụng, chức năng cho trang web

    ….

    JavaScript là ngôn ngữ lập trình phổ biến bậc nhất thế giới, và là một trong ba ngôn ngữ (HTML, CSS, JavaScript) mà tất cả lập trình viên web nhất định phải học.

    JavaScript được nhúng vào trang web để kết hợp với HTML/CSS.

    Lưu ý: Java và JavaScript là hai ngôn ngữ hoàn toàn khác nhau.

    Với JavaScript ta có thể làm được những gì?

    Ứng dụng của JavaScript đối với trang web là vô cùng đa dạng, khó mà đong đếm được.

    Tạo máy tính tay

    Tạo hiệu ứng chuyển động cho phần tử

    Lấy thông tin ngày tháng hiện tại

    Hôm nay là , ngày tháng năm

    Sau khi kết thúc bài học này, chúng tôi khuyến khích bạn học HTML song song với loạt bàiHƯỚNG DẪN HỌC JAVASCRIPT

Java Là Gì? Các Hướng Dẫn Cho Người Mới Bắt Đầu Java

Java là một loại ngôn ngữ lập trình được viết dựa trên ngôn ngữ C/C++, đây là ngôn ngữ lập trình hướng đối tượng, dựa trên Class, môi trường runtime bao gồm JVM, là nền tảng của Java.

I. Java dùng để làm gì?

Trước khi tôi trả lời câu hỏi “ Java được sử dụng để làm gì”. Hãy để tôi nói ngắn gọn về lý do tại sao bạn nên chọn Java. Java là ngôn ngữ lập trình rất phổ biến và đã thống trị lĩnh vực này từ đầu năm 2000 cho đến hiện tại.

– Ngân hàng: dùng để giải quyết việc quản lý các giao dịch.

– Bán lẻ: Các ứng dụng thanh toán mà bạn thấy trong cửa hàng / nhà hàng được viết hoàn toàn bằng Java.

– Android: Các ứng dụng được viết bằng Java hoặc sử dụng API Java.

– Dịch vụ tài chính: Nó được sử dụng trong các ứng dụng phía máy chủ.

– Thị trường chứng khoán: Để viết các thuật toán về việc họ nên đầu tư vào công ty nào.

– Big Data: Khung MapReduce của Hadoop được viết bằng Java.

– Cộng đồng khoa học và nghiên cứu: Để đối phó với lượng dữ liệu khổng lồ.

Lịch sử của Java

II. Java là gì?

Java là một ngôn ngữ hướng đối tượng tương tự như C ++, nhưng với các tính năng nâng cao và được đơn giản hóa. Java có thể chạy trên tất cả các nền tảng.

– Java có thể đồng thời thực hiện nhiều câu lệnh thay vì thực hiện theo tuần tự.

– Dựa trên Class và một ngôn ngữ lập trình hướng đối tượng.

– Ngôn ngữ lập trình độc lập tuân theo logic của “Viết Viết một lần, Chạy mọi nơi” tức là mã được biên dịch có thể chạy trên tất cả các nền tảng hỗ trợ java.

– Nói một cách đơn giản, nó là một nền tảng điện toán nơi bạn có thể phát triển các ứng dụng.

III. Các tính năng của Java

– Đơn giản: Java đã cải tiến dễ dàng hơn bằng cách loại bỏ tất cả các phức tạp như con trỏ, các toán tử, phương thức nạp chồng (overload)như bạn thấy trong C ++ hoặc bất kỳ ngôn ngữ lập trình nào khác.

– Portable: Java độc lập với nền tảng, có nghĩa là mọi ứng dụng được viết trên một nền tảng đều có thể dễ dàng chuyển sang nền tảng khác.

– Hướng đối tượng: Mọi thứ được coi là một đối tượng khác nhau, có sở hữu các thuộc tính và tất cả các hoạt động được thực hiện bằng cách sử dụng các đối tượng này.

– Bảo mật: Tất cả các mã được chuyển đổi sang byteCode sau khi biên dịch, không thể đọc được bởi con người và chạy các chương trình bên trong Sandbox để ngăn chặn mọi hoạt động từ các nguồn không đáng tin cậy. Nó cho phép phát triển các hệ thống / ứng dụng không có virus, giả mạo.

– Linh hoạt: Nó có khả năng thích ứng với môi trường phát triển hỗ trợ cấp phát bộ nhớ động do giảm lãng phí bộ nhớ và hiệu suất của ứng dụng được tăng lên.

– Phân tán: Java cung cấp một tính năng giúp tạo các ứng dụng phân tán. Sử dụng phương thức từ xa(RMI), một chương trình có thể gọi một phương thức của một chương trình khác thông qua và nhận được đầu ra. Bạn có thể truy cập các file bằng cách gọi các phương thức từ bất kỳ máy nào trên internet.

– Mạnh mẽ: Java có một hệ thống quản lý bộ nhớ mạnh. Nó giúp loại bỏ lỗi vì nó kiểm tra Code trong quá trình biên dịch và runtime.

– Hiệu suất cao: Java đạt được hiệu suất cao thông qua việc sử dụng byteCode có thể dễ dàng dịch sang mã máy. Với việc sử dụng các trình biên dịch JIT (Just-In-Time), Java mang lại hiệu năng cao.

– Thông dịch: Java được biên dịch thành byteCode, được thông dịch bởi môi trường Java run-time.

IV. Components in Java

1. JVM (Java Virtual Machine)

JVM là máy ảo giúp máy tính chạy các chương trình Java. Đây là môi moi trường giúp cho byteCode java có thể thực thi.

Nó là một cỗ máy trừu tượng. Đây là một đặc tả cung cấp một môi trường thời gian chạy trong đó mã byte Java có thể được thực thi. Nó theo ba ký hiệu:

– Specification: Đây là một tài liệu mô tả việc triển khai máy ảo Java. Nó được cung cấp bởi Sun và các công ty khác.

– Implementation (Triển khai): Đây là một chương trình đáp ứng các yêu cầu của đặc tả JVM.

– Instance Runtime: Một thể hiện của JVM được tạo bất cứ khi nào bạn viết lệnh java trên dấu nhắc lệnh và chạy các lớp.

2. JRE (Java Runtime Environment)

JRE (là viết tắt của Java Runtime Environment) được sử dụng để cung cấp môi trường để các byteCode có thể thực thi. Nó là trình triển khai của JVM và cung cấp các lớp thư viện hoặc các file khác mà JVM sử dụng khi chạy. Vì vậy, JRE là gói phần mềm chứa những gì được yêu cầu để chạy chương trình Java. Về cơ bản.

JDK (Bộ phát triển Java)

Đây là công cụ cần thiết để:

– Biên dịch

– Tài liệu

– Đóng gói chương trình Java.

JDK bao gồm JRE và các Development Tool các công cụ lập trình cho các lập trình viên Java. Bộ công cụ phát triển Java được cung cấp miễn phí. Cùng với JRE, nó bao gồm trình thông dịch / trình tải, trình biên dịch (javac), trình lưu trữ (jar), trình tạo tài liệu (Javadoc) và các công cụ khác cần thiết trong phát triển Java. Nói tóm lại, nó chứa các công cụ phát triển JRE +.

Bây giờ bạn đã hiểu những điều cơ bản về Java. Hy vọng những thông tin trên sẽ giúp bạn hiểu hơn về ngôn ngữ Java.

Mọi thông tin liên hệ:

Việc làm chúng tôi Website tuyển dụng nhân sự tiếng Nhật, tìm việc làm tiếng Nhật uy tín tại Việt Nam. Chuyên tuyển dụng các Jobs tiếng Nhật cấp cao cho các Cty tầm cỡ của Nhật Bản đầu tư tại Việt Nam.