Java Bài 1: Tổng Quan Về Java

Posted by

Lập trình java banner

Được chỉnh sửa ngày 29/8/2017.

Dạo Qua Một Chút Lịch Sử Của Java

Lập trình java - logo

Chào mừng các bạn đến với loạt bài học về lập trình ngôn ngữ Java của Yellow Code Books. chúng ta bắt đầu làm quen với chương trình học này thông qua việc tìm hiểu sơ lược về ngôn ngữ Java nhé.

Java được tạo ra bởi James Gosling và cộng sự của ông ở Sun Microsystem vào năm 1991 (sau này Oracle mua lại Sun Microsystem vào năm 2010). Ban đầu ngôn ngữ này có tên là Oak (cây sồi) do bên ngoài công ty lúc bấy giờ có trồng nhiều cây này (các tài liệu khác nói vậy, mình chỉ copy thôi). Oak chính thức được đổi tên thành Java vào năm 1995, chắc do mấy cây sồi bị đốn sạch.

Các Đặc Điểm Chính Của Java

Lập trình java - logo

Java là một Ngôn Ngữ Lập Trình Hướng Đối Tượng (OOP). Do đó khi lập trình với ngôn ngữ này bạn sẽ phải làm việc với các lớp (Class). Cú pháp của Java được vay mượn nhiều từ C/C++ nhưng lại có đặc tính hướng đối tượng đơn giản hơn và ít tính năng xử lý cấp thấp hơn, nên việc tiếp cận Java sẽ dễ dàng hơn C/C++, thêm nữa nếu bạn nào đã có nền tảng về C/C++ thì chắc chắn sẽ dễ dàng đón nhận và tiếp cận Java hơn nữa.

Khẩu hiệu nổi tiếng của Java chắc bạn cũng biết, đó là “Viết một lần, Chạy mọi nơi”. Viết ở đây là viết code, còn chạy nghĩa là thực thi ứng dụng. Điều này có nghĩa là, phần mềm được viết bằng ngôn ngữ Java có thể chạy được trên mọi nền tảng (platform) khác nhau. Để làm được điều này thì Java đưa ra khái niệm máy ảo JVM (Java Virtual Machine), khi bạn biên dịch một chương trình, thay vì mã nguồn sẽ được dịch trực tiếp ra mã máy như nhiều ngôn ngữ khác, thì với Java mã nguồn đó sẽ được dịch thành mã bytecode, bytecode này sẽ được bạn phân phối đến các thiết bị khác nhau, chính JVM được cài sẵn ở các thiết bị đó sẽ dịch tiếp bytecode này thành mã máy giúp bạn. Có thể mô tả quá trình biên dịch này bằng sơ đồ sau.

Lập trình java - mô hình JVM

Tại Sao Bạn Phải Chọn Java?

Lập trình java - logo

Cú Pháp (Syntax) Đơn Giản

Như mình đã nói ở trên đây, do Java được kế thừa từ C/C++, nên sẽ vẫn giữ được sự đơn giản ở cú pháp so với những gì C/C++ đã đạt được.

Mặt khác Java còn giảm bớt các khái niệm “đau đầu” mà C/C++ đang có, làm cho ngôn ngữ này trở nên đơn giản và dễ sử dụng hơn nữa. Có thể kể đến một vài sự giảm bớt này như là: bỏ đi các câu lệnh Goto, không còn khái niệm Nạp Chồng Toán Tử (Overload Operator), và còn bỏ đi khái niệm Con Trỏ (Pointer), bỏ file Header, bỏ luôn Union, Struct,…

Hoàn Toàn Hướng Đối Tượng (OOP)

Cũng có nhiều ý kiến xoay quanh hai chữ “hoàn toàn” này, thực tế thì chỉ có các kiểu dữ liệu nguyên thủy của Java như int, long, float,… thì không hướng đối tượng. Ngoài các kiểu dữ liệu nguyên thủy đó ra thì khi tiếp xúc với Java, bạn luôn luôn phải suy nghĩ và làm việc theo hướng đối tượng. Vậy hướng đối tượng là gì? Bạn sẽ hiểu rõ thôi vì chúng ta sẽ bắt đầu nói đến hướng đối tượng từ bài học số 15.

Độc Lập Với Nền Tảng Hệ Điều Hành Và Phần Cứng

Như đã nói ở trên, khẩu hiệu của Java là “Viết một lần, Chạy mọi nơi”. Điều này đã giúp cho ngôn ngữ Java được độc lập với nền tảng phần cứng. Khi lập trình với Java, bạn sẽ không phải suy nghĩ đến sự tương thích với kiến trúc của từng loại hệ điều hành hay phần cứng, chính JVM sẽ giúp các bạn lo điều này.

Là Một Ngôn Ngữ Mạnh Mẽ

Nói Java mạnh mẽ là bởi vì ngôn ngữ này hỗ trợ lập trình viên rất nhiều điều. Đầu tiên, như mình có nhắc đến ở trên, Java có thể chạy trên nhiều nền tảng. Java còn có Bộ Dọn Rác (Garbage Collection) giúp tự động dọn dẹp các đối tượng đã qua sử dụng để giải phóng bộ nhớ, mà với các ngôn ngữ khác, lập trình viên phải thực hiện việc giải phóng này một cách thủ công. Java còn hỗ trợ chạy đa nhiệm (Multithread) rất tốt. Và còn nhiều thứ khác chúng ta sẽ cùng nhau tìm hiểu.

Môi Trường Phát Triển Phầm Mềm Java

Lập trình Java - Logo

Cũng giống như mình đã định nghĩa bên các bài học AndroidMôi Trường Phát Triển là một môi trường mà ở đó nhà Phát Triển Phần Mềm có được những công cụ cần thiết nhất để viết ra một ứng dụng hoàn chỉnh. Vì bài học liên quan đến lập trình Java, do đó chúng ta sẽ tập trung vào tìm hiểu Môi Trường Phát Triển Phần Mềm Java (Java Development Environment) sẽ bao gồm những gì.

Hệ Điều Hành (Operating System)

Dù cho bạn đang lập trình dựa trên hệ điều hành nào: Windows, Linux hay Mac. Thì bạn đều có thể cài đặt được một Môi Trường Phát Triển Phần Mềm cho Java.

Java Development Kit (JDK)

Bộ Công Cụ Phát Triển Cho Java (JDK), bộ công cụ này sẽ cung cấp cho bạn các công cụ cần thiết để biên dịch, thực thi, và có cả môi trường để ứng dụng Java của bạn có thể chạy lên nữa.

Công Cụ Biên Dịch

Công Cụ Biên Dịch mà mình muốn nói đến ở đây chính là một IDE (Integrated Development Environment), hay nói cách khác là một công cụ để bạn có thể viết code Java lên đó, công cụ này có thể đủ mạnh để ngoài việc bạn có thể code được, nó còn giúp kiểm tra lỗi cú pháp khi code, giúp liên kết với JDK để tự động biên dịch và thực thi chương trình.

Không giống như bên bài học Android mình chỉ định các lập trình viên sử dụng Android Studio để biên dịch. Với Java các bạn có nhiều chọn lựa hơn, các bạn có thể sử dụng một trong các công cụ sau đây.

Netbeans

Lập trình Java - Netbeans

Netbeans là một IDE mã nguồn mở, mạnh mẽ, miễn phí. Tuy nhiên công cụ này ngày nay có phần hơi lỗi thời, bạn có thể không cần phải biết đến.

Eclipse

Lập trình Java - Eclipse

Eclipse cũng là một IDE mã nguồn mở, sự phổ biến của nó không kém gì Netbeans, thậm chí có thời gian Eclipse còn được sử dụng phổ biến hơn. Và tất nhiên công cụ này cũng miễn phí. Nhưng có thể nói rằng dù cho Eclipse một thời rất được cộng đồng Java sử dụng, thì với công cụ InteliJ mới mẻ mà mình sẽ nói đến ở mục dưới đây, có thể sẽ làm cho Eclipse dần bị lỗi thời không kém gì Netbeans.

InteliJ

Lập trình Java - InteliJ

Dù sinh sau đẻ muộn, nhưng InteliJ nhanh chóng chiếm cảm tình của cộng đồng lập trình Java nhờ vào sự mạnh mẽ và giao diện hiện đại của nó. Đặc biệt từ khi Android Studio chính thức được Google giới thiệu là công cụ lập trình ứng dụng Android chính thống, mà Android Studio lại được xây dựng từ InteliJ, nên IDE này bỗng dưng trở nên rất hot.

Ngoài 3 IDE phổ biến được nói ở trên, còn có nhiều công cụ khác hỗ trợ lập trình Java. Bạn có thể chọn cho mình một IDE, nhưng các bài học trong chương trình của mình sẽ thống nhất chọn Eclipse. Bạn có thể không nhất thiết phải dùng giống mình, bạn có thể xem code của các bài học, nhưng vẫn biên dịch trên một công cụ khác, InteliJ chẳng hạn. Mình sẽ chuyển các bài học Java từ Eclipse sang InteliJ ở một ngày gần đây, để có sự dễ dàng tiếp cận khi các bạn muốn tìm hiểu thêm các bài học bên lập trình ứng dụng cho hệ điều hành Android.

Bạn vừa được làm quen với ngôn ngữ Java, hi vọng bạn sẽ yêu thích ngôn ngữ này và cùng mình đi hết chương trình học. Với việc tiếp cận đầy đủ ngôn ngữ Java, bạn sẽ dễ dàng làm quen với lập trình ứng dụng Android ở các bài học về Android nữa đấy.

Cảm ơn bạn đã đọc các bài viết của Yellow Code Books. Bạn hãy đánh giá 5 sao nếu thấy thích bài viết, hãy comment bên dưới nếu có thắc mắc, hãy để lại địa chỉ email của bạn để nhận được thông báo mới nhất khi có bài viết mới, và nhớ chia sẻ các bài viết của Yellow Code Books đến nhiều người khác nữa nhé.

Bài Kế Tiếp

Bạn sẽ được hướng dẫn cài đặt một Môi Trường Phát Triển Phầm Mềm cho ngôn ngữ Java này.

Advertisements
Rating: 5.0/5. From 8 votes.
Please wait...

3 comments

  1. Cảm ơn bài viết của a rất bổ ích, em đọc và làm theo hướng dẫn của anh nửa buổi là hết 9 bài rồi!^^. Hi vọng anh viết tiếp cho tụi em có cơ hội học hỏi thêm ạ. Chúc anh sức khỏe!

Gửi phản hồi