Giới thiệu ngôn ngữ java

Giới thiệu ngôn ngữ Java

Java là một nền tảng phát triển các ứng dụng phần mềm có vị trí rất lớn trong những năm cuối thế kỉ 20, đầu thế kỉ 21. Đánh dấu sự trưởng thành của mô hình lập trình hướng đối tượng, nó được coi là một nền tảng mang tính cách mạng trong ngành phần mềm. Mô hình máy ảo Virtual Machine đã cho phép các ứng dụng viết bằng Java có thể chạy trên nhiều hệ điều hành khác nhau.

Java được phát triển bởi Sun Microsystem năm 1991, sau này được Oracle mua lại. Java được khởi đầu bởi James Gosling và đồng nghiệp, ban đầu được gọi là Oak (nghĩa là cây sồi do ngoài cơ quan ông Gosling trồng nhiều cây này).

Dự định ban đầu của Java là thay cho C++ với những tính năng giống Objective-C (ngôn ngữ phát triển của Apple).

Với tiêu chí “Viết một lần, thực thi mọi nơi” (“Write Once, Run Anywhere”). Chương trình phần mềm bằng Java có thể chạy trên mọi nền tảng (platform) khác nhau thông qua môi trường thực thi với điều khiện môi trường thực thi thích hợp trên nền tảng hệ điều hành đó (ví dụ như Sun SolarisLinuxMac OSFreeBSD và Windows).

Đặc điểm của Java

Java một ngôn ngữ độc lập với các nền tảng. Có nghĩa là mã code java có thể biên dịch và chạy trên các nền tảng khác nhau như Windows, Linux, Mac OS etc. 

Cơ chế tự động gom rác thông minh và được phát triển liên tục. Các ứng dụng Java sẽ trở nên mạnh mẽ và nhanh nhẹn hơn khi có nhiều vùng nhớ được trả lại từ trình gom rác. Các lập trình viên không cần phải dọn rác thủ công vì nó tốn khá nhiều thời gian và đôi khi sẽ có những thiếu xót dẫn đến crash chương trình.

Bảo mật: Do Java phải biên dịch qua máy ảo Java (JVM) nên sẽ được bảo mật cao hơn khi mọi đối tượng phải qua JVM mới đến hệ điều hành.

Phân tán: Java hỗ trợ lập trình cho hệ thống phân tán như client-server, RMI… bằng Java Web, UDP, TCP

Các platform cơ bản của Java.

Java Platform gồm có 3 thành phần chính:

  • Java Virtual Machine (Java VM): Máy ảo Java.
  • Java Application Programming Interface (Java API).
  • Java Development Kit (JDK) gồm trình biên dịch, thông dịch, trợ giúp, soạn tài liệu.

java platform

Java Virtual Machine – JVM

Java virtual machine được viết tắt là JVM, nhiều bạn học java chỉ biết mỗi jvm chứ cũng chẳng quan tâm cách viết đầy đủ của nó là gì xong đến hồi nhà tuyển dụng hỏi là lại ú a ú ớ =). 

Chúng ta sẽ tìm hiểu xem liệu rằng từ lúc chúng ta code đến khi chúng ta bấm nút chạy chương trình sẽ trải qua những bước nào nha:

    1. Viết code 
    2. Biên dịch chương trình từ java code sang bytecode được thực hiện bởi javac nằm trong bộ Java Development Kit (JDK).
    3. JVM sẽ thực hiện bytecode được biên dịch ở mục (2).

Java Development Kit – JDK

JDK viết tắt của Java Development Kit là một bộ phần mềm cung cấp môi trường phát triển ứng dụng viết bằng ngôn ngữ Java. JDK bao gồm cả Java Runtime Environment giúp lập trình viên có thể chạy thử để kiểm tra ứng dụng trong quá trình phát triển ứng dụng.

Java Runtime Environment – JRE

JRE là một thành phần quan trọng của JDK. JRE là một môi trường để thực thi các chương trình java. Có nghĩa là khi máy tính của bạn có JRE mà không có JDK bạn chỉ có thể chạy chứ không biên dịch được một chương trình java.

Hướng đối tượng trong java

Các khái niệm chính trong OOP:

Học Java có thể làm được gì?

Các bạn khi vừa bắt tay vào học Java đều tự hỏi xem liệu java có thể làm được những gì? và liệu học java có kiếm được cơm hay không? 

Um! các bạn đừng lo, Java có thể làm hầu hết mọi thứ, chẳng hạn như là Mobile (Android), Web (Spring, Servlet etc), Desktop app (Swing, JavaFX). 

Mình xin chia sẽ thêm là nếu như bạn chọn đi theo Java thì cứ học cho tốt Java core cho tốt nhé. Máy cái trên mình kể thì các bạn muốn làm cái nào cũng được, thấy thích cái nào làm cái đó ưng mobile thì code mobile,… chủ yếu lấy kinh nghiệm từ những gì mình làm thực tế.

Lúc mới ra ngoài đi làm ấy người ta sẽ quan tâm rất nhiều vào những cái những kinh nghiệm trong lúc bạn làm project. Chứ mới ra làng ai lại expected các bạn master này master cái kia =).

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x