Java Platform (Nền tảng Java) là gì? Hướng dẫn cơ bản cho người mới bắt đầu

Ngày đăng: 20/03/2019   -    Cập nhật: 06/03/2020

1. Java là gì?

Javangôn ngữ lập trình và là nền tảng điện toán máy tính để phát triển ứng dụng trên máy tính / di động và nhiều thiết bị khác.


Java được phát hành lần đầu tiên bởi Sun microsystem vào năm 1995 và sau đó được Tập đoàn Oracle mua lại. Java là ngôn ngữ lập trình số 1 thế giới, được nhiều Lập trình viên sử dụng nhất hiện nay.



2. Patform là gì? Java Platform là gì?


Platform là gì? Java Platform là gì?


Platform là gì? Java Platform là gì?

 

Trước tiên, để hiểu về Java Platform, chúng ta cùng tìm hiểu về ...

 

Platform là gì?


Platform (Nền tảng) là một nhóm các công nghệ được sử dụng làm cơ sở cho các ứng dụng, quy trình hoặc công nghệ khác phát triển tiếp.

Ví dụ: Trong máy tính cá nhân, một platformphần cứng cơ bản (máy tính) và phần mềm (hệ điều hành) để các ứng dụng có thể chạy.

Máy tính sử dụng các đơn vị xử lý trung tâm (CPU) cụ thể được thiết kế để chạy mã ngôn ngữ máy cụ thể.


Để máy tính chạy các ứng dụng phần mềm, các ứng dụng phải ở ngôn ngữ máy được mã hóa nhị phân CPU. Do đó, trong lịch sử, các chương trình ứng dụng được viết cho một nền tảng sẽ không hoạt động trên một nền tảng khác.


Nhưng Java Platform sinh ra để làm điều đó khác đi.



Java Platform là gì?



Java Platform (nền tảng Java) là một tập hợp các chương trình giúp phát triển và chạy các chương trình được viết bằng ngôn ngữ lập trình Java.


Java Platform bao gồm một công cụ thực thi (execution engine), trình biên dịch (compiler) và một bộ thư viện Java.


JAVA là ngôn ngữ độc lập với nền tảng. Nó không dành riêng cho bất kỳ bộ xử lý hoặc hệ điều hành.


=> Có nghĩa là chỉ cần cài Java Platform thì bất kỳ bộ xử lý hoặc hệ điều hành nào cũng có thể chạy Java.


Điều này tương đương với việc: Nhờ Java Platform, ngôn ngữ Java có thể chạy ở bất kỳ bộ xử lý hoặc hệ điều hành nào.


Để hiểu ngôn ngữ lập trình JAVA, chúng ta cần hiểu một số khái niệm cơ bản về cách một chương trình máy tính có thể chạy lệnh và thực thi hành động.


3. Máy tính là gì?

Đừng bảo mình rằng là bạn không biết máy tính là gì?

Tuy nhiên để hiểu rõ thì mình sẽ nhắc lại..

Máy tính là một thiết bị điện tử có khả năng thực hiện các tính toán và tất cả chúng ta đều biết rằng nó bao gồm một màn hình, bàn phím, chuột và bộ nhớ để lưu trữ thông tin.

Nhưng thành phần quan trọng nhất của máy tính là một PROCESSOR. Đó là tất cả mọi người nghĩ về máy tính.

Nhưng câu hỏi là máy tính làm thế nào để suy nghĩ? Làm thế nào để nó hiểu văn bản, hình ảnh, video, vv?

4. Ngôn ngữ Assembly là gì?

Máy tính là một thiết bị điện tử và nó chỉ có thể hiểu tín hiệu điện tử hoặc tín hiệu nhị phân. Ví dụ:

Tín hiệu điện tử 5 volt có thể đại diện cho số nhị phân 1 trong khi 0 volt có thể đại diện cho số nhị phân 0. Vì vậy, máy tính của bạn liên tục nhận và xuất ra các tín hiệu như vậy.


Máy tính chỉ hiểu tín hiệu điện tử dưới dạng nhị phân 0 và 1

Máy tính chỉ hiểu tín hiệu điện tử dưới dạng nhị phân 0 và 1

8 bit của các tín hiệu như vậy được nhóm lại với nhau để giải thích Văn bản, số và ký hiệu.

Các ký tự, số, ký tự đặc biệt cũng có thể biểu diễn dưới dạng nhị phân

Các ký tự, số, ký tự đặc biệt cũng có thể biểu diễn dưới dạng nhị phân

Ví dụ: Ký tự # được máy tính xác định là 10101010.

Ký tự # (Hash) được biểu diễn dưới dạng nhị phân

Ký tự # (Hash) được biểu diễn dưới dạng nhị phân

Điều này được gọi là điện toán 8 bit. Bộ xử lý ngày nay có khả năng giải mã 64 bit. Nhưng mối quan hệ của khái niệm này với ngôn ngữ lập trình JAVA là gì? Hãy hiểu những điều này như một ví dụ.

Giả sử nếu bạn muốn bảo máy tính cộng hai số (1 + 2) được biểu thị bằng một số số nhị phân (10000011), bạn sẽ nói với máy tính như thế nào?

Vâng, chúng ta sẽ sử dụng ngôn ngữ assembly để thực thi mã của chúng ta.


"Ngôn ngữ Assembly là hình thức cơ bản nhất của ngôn ngữ phát triển phần mềm."
 
Chúng ta sẽ ra lệnh cho một máy tính ở định dạng này như dưới đây. Mã của bạn để cộng hai số trong ngôn ngữ này sẽ theo thứ tự này.
 
  1. Lưu trữ số 1 tại vị trí bộ nhớ A
  2. Lưu trữ số 2 tại vị trí bộ nhớ B
  3. Cộng nội dung của Vị trí A và B
  4. Lưu trữ kết quả
Nhưng chúng làm điều này thế nào?

Quay trở lại những năm 1950 khi máy tính rất lớn và tiêu tốn rất nhiều năng lượng, bạn sẽ chuyển đổi mã Assembly của mình thành mã máy tương ứng thành 1 và 0 bằng cách sử dụng các map sheet.

Sau đó, mã này sẽ được bấm vào thẻ máy và đưa vào máy tính. Máy tính sẽ đọc các mã này và thực hiện chương trình. Đây sẽ là một quá trình lâu dài sau đó cho đến khi ASSEMBLER đến.

5. Compiler (Trình biên dịch) và Assembler là gì?

Với sự tiến bộ trong công nghệ, các thiết bị I/O đã được phát minh, bạn có thể trực tiếp nhập chương trình của mình vào PC bằng chương trình có tên ASSEMBLER.

Nó chuyển đổi nó thành mã máy tương ứng (110001 ..) và cung cấp cho bộ xử lý của bạn. Vì vậy, quay trở lại bổ sung ví dụ của chúng tôi về (1 + 2), trình biên dịch sẽ chuyển đổi mã này thành mã máy và đưa ra kết quả.

Assembler chuyển tín hiệu sang mã Nhị phân

Assembler chuyển tín hiệu sang mã Nhị phân

Ngoài ra, bạn cũng sẽ phải thực hiện các cuộc gọi để tạo các chức năng do Hệ điều hành cung cấp để hiển thị đầu ra của mã.

Nhưng một mình Assembler không tham gia vào toàn bộ quá trình này.

Nó cũng yêu cầu trình biên dịch biên dịch mã dài thành một đoạn mã nhỏ.

Với sự tiến bộ trong các ngôn ngữ phát triển phần mềm, toàn bộ mã Assembly này có thể thu nhỏ lại thành một dòng:

printf 1+2 A


Với sự trợ giúp của phần mềm có tên là COMPILER. Nó được sử dụng để:

->Chuyển đổi mã ngôn ngữ C của bạn viết thành mã Assembly

-> Sau đó Assembler dịch mã chuyển đổi thành mã máy tương ứng
-> Và mã máy này sẽ được truyền đến bộ xử lý.

Bộ xử lý phổ biến nhất được sử dụng trong PC hoặc Máy tính là bộ xử lý Intel

 

Cách Assembler biên dịch mã C sang mã máy


Cách Assembler biên dịch mã C sang mã máy


Mặc dù trình biên dịch ngày nay đi kèm với Assembler có thể trực tiếp chuyển đổi mã ngôn ngữ cao hơn của bạn thành mã máy.

Bây giờ, giả sử hệ điều hành Windows đang chạy trên bộ xử lý Intel này, sự kết hợp của Hệ điều hành cộng với bộ xử lý được gọi là PLATFORM.

Platform phổ biến nhất trên thế giới là Windows và Intel được gọi là Wintel Platform. Các nền tảng phổ biến khác là AMD và Linux, Power PC và Mac OS X.

Bây giờ, với một sự thay đổi trong bộ xử lý (Processor), các hướng dẫn Assembly cũng sẽ thay đổi. Ví dụ:

 

  • Add trong Intel có thể được gọi là ADDITION trong AMD
  • Hoặc Math ADD trong Power PC
Và rõ ràng, với một sự thay đổi trong Hệ điều hành (O.S), mức độ và tính chất của O.S cũng sẽ thay đổi.

Là một Lập trình viên, ai cũng muốn chương trình phần mềm của tôi hoạt động trên tất cả các nền tảng có sẵn, để tối đa hóa doanh thu.

Vì vậy, việc cần làm là sẽ phải mua các trình biên dịch riêng biệt để chuyển đổi lệnh printf của chúng ta thành mã máy gốc.

Các trình biên dịch riêng biên dịch mã ra các hệ điều hành khác nhau

Cần các trình biên dịch riêng biên dịch mã cho các hệ điều hành khác nhau

Nhưng trình biên dịch lại rất đắt đỏ và có khả năng xảy ra sự cố tương thích.

Vì vậy, việc mua và cài đặt một trình biên dịch riêng cho O.S và bộ xử lý khác nhau là không khả thi. Do đó, cần phải có một giải pháp thay thế?. Đó chính là:


Ngôn ngữ Lập trình Java

6. Java Virtual Machine (Máy ảo Java) hoạt động như thế nào?

Bằng cách sử dụng Máy ảo Java, vấn đề này có thể được giải quyết. Nhưng làm thế nào nó hoạt động trên các bộ xử lý khác nhau và các hệ điều hành khác nhau?.

Hãy hiểu quá trình này từng bước một.


Cách máy ảo Java biên dịch mã cho các hệ điều hành khác nhau

Cách máy ảo Java (JVM) biên dịch mã cho các hệ điều hành khác nhau
 
  • Bước 1: Mã để cộng hai số là System.out.println(1+2) và được lưu dưới dạng tệp .java.
  • Bước 2: Sử dụng trình biên dịch java, mã được chuyển đổi thành mã trung gian được gọi là bytecode. Đầu ra là một .class file.
  • Bước 3: Mã này không được hiểu bởi bất kỳ nền tảng nào, mà chỉ một nền tảng ảo được gọi là Java Virtual Machine.
  • Bước 4: Máy ảo này nằm trong RAM của hệ điều hành của bạn. Khi Máy ảo được cung cấp bytecode này, nó sẽ tự động nhận dạng nền tảng mà nó đang hoạt động để chuyển đổi mã byte thành mã máy gốc.

Trong thực tế, trong khi làm việc trên PC hoặc duyệt web bất cứ khi nào bạn thấy một trong những biểu tượng này, hãy yên tâm rằng máy ảo Java được tải vào RAM của bạn.

Nhưng điều làm cho java có lợi thế lớn là mã Java khi được biên dịch có thể chạy không chỉ trên tất cả các nền tảng PC mà còn cả điện thoại di động hoặc các thiết bị điện tử khác có hỗ trợ java.


Java là ngôn ngữ lập trình cũng như là một nền tảng

"Java là ngôn ngữ lập trình cũng như là một nền tảng"
 

7. Nền tảng Java độc lập như thế nào?

Giống như trình biên dịch C, trình biên dịch Java không tạo mã thực thi riêng cho một máy cụ thể. Thay vào đó, Java tạo ra một định dạng duy nhất được gọi là bytecode. Nó thực thi theo các quy tắc được đặt ra trong đặc tả của máy ảo Java.

Bytecode có thể hiểu được đối với bất kỳ JVM nào được cài đặt trên bất kỳ hệ điều hành nào. Nói tóm lại, mã nguồn Java có thể chạy trên tất cả các hệ điều hành.

8. Tổng kết

Qua bài này chúng ta đã hiểu về:

  • Java là gì?
  • Platform là gì?
  • Java Platform là gì?
  • Máy ảo Java (Java Virtual Machine) là gì? Chúng hoạt động ra sao?
  • Cách trình biên dịch hoạt động

Những kiến thức này sẽ giúp bạn hiểu rõ hơn về Java để tiếp tục các bài học Java tiếp theo. Hãy tiếp tục! Tìm hiểu kỹ hơn về máy ảo Java ...

---
HỌC VIỆN ĐÀO TẠO CNTT NIIT - ICT HÀ NỘI
Dạy học Lập trình chất lượng cao (Since 2002). Học làm Lập trình viên. Hành động ngay!
Đc: Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội
SĐT: 02435574074 - 0914939543 - 0353655150 
Email: hello@niithanoi.edu.vn
Fanpage: https://facebook.com/NIIT.ICT/
 
#niit #niithanoi #niiticthanoi #hoclaptrinh #khoahoclaptrinh #hoclaptrinhjava #hoclaptrinhphp #java
Bình luận Facebook
Cùng danh mục
Đăng ký tư vấn
Nhân viên gọi điện tư vấn miễn phí sau khi đăng ký
Được cập nhật các ưu đãi sớm nhất
Hotline: 0383180086
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Hãy đăng ký để nhận những thông tin mới nhất về học bổng mới nhất tại NIIT - ICT Hà Nội
top
Đóng lại Đăng ký học tại NIIT - ICT Hà Nội
6260+ học viên đã theo học tại NIIT - ICT Hà Nội và có việc làm tốt trong ngành lập trình. Nắm lấy cơ hội ngay hôm nay!
Chọn khóa học
  • KHÓA HỌC LẬP TRÌNH FRONT END VỚI REACT.JS
  • KHÓA HỌC LẬP TRÌNH PHP WEB
  • Khóa học PHP Full stack [2023] cho người mới bắt đầu
  • Khóa học BIG DATA với Hadoop và Spark
  • Khóa học Lập trình Android tại Hà Nội
  • [Tuyển sinh 2023] Lập trình viên Quốc tế DigiNxt
  • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại Hà Nội
  • LẬP TRÌNH GAME
    • Khóa học Lập trình Game Unity
  • LẬP TRÌNH WEB FRONT END
    • KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG
    • KHÓA HỌC ANGULAR & TYPESCRIPT (FRONT END)
  • LẬP TRÌNH WEB BACK END
    • LẬP TRÌNH JAVA WEB VỚI FRAME WORK
    • Lập trình Web với Django
    • Lập trình PHP với Laravel Framework
  • CHƯƠNG TRÌNH ĐÀO TẠO ỨNG DỤNG CÔNG NGHỆ
    • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại TP HCM
  • LẬP TRÌNH WEB FULL STACK
    • Khóa học Java Full stack (IJFD)
  • LẬP TRÌNH MOBILE
    • FRONT-END VỚI REACTJS VÀ REACT NATIVE
    • Lập trình Android Nâng cao
  • ĐÀO TẠO CHO DOANH NGHIỆP
    • KHÓA HỌC BUSINESS ANALYSIC TỪ CƠ BẢN ĐẾN NÂNG CAO 2023
    • Khóa học Magento: Làm chủ CMS TMĐT lớn nhất
    • Khóa học IOT: Xây dựng Sản phẩm IOT với Raspberry Pi
    • Khóa học Automation Testing Chuyên nghiệp
  • KHÓA HỌC DỰ ÁN
    • Học sử dụng bộ Office: Word, Excel, Power Point, Mail chuyên nghiệp
  • KHÓA HỌC KHÁC
    • VBA Excel Toàn Tập (Cơ Bản - Nâng Cao)
    • VBA Excel Nâng cao
    • Khóa học JMeter: Performance Testing
    • Khóa học Tester đạt chuẩn Quốc tế ISTQB Foundation Level
    • Khoá Học Tester đạt chuẩn quốc tế ISTQB Advanced Level
Bạn chưa chọn khóa học cần đăng ký
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Đăng ký học thành công!
Cảm ơn bạn đã đăng ký học tại NIIT - ICT HÀ NỘI!