Java được khởi đầu bởi James Gosling và bạn đồng nghiệp ở Sun Microsystems năm 1991. Ngôn ngữ này được sử dụng chủ yếu trên môi trường NetBeans và Oracle.
Ngôn ngữ lập trình Java là gì?
Java là một ngôn ngữ lập trình hướng đối tượng (OOP) và dựa trên các lớp (class). Khác với phần lớn ngôn ngữ lập trình thông thường, thay vì biên dịch mã nguồn thành mã máy hoặc thông dịch mã nguồn khi chạy, Java được thiết kế để biên dịch mã nguồn thành bytecode, bytecode sau đó sẽ được môi trường thực thi.
Tính năng của ngôn ngữ lập trình Java
Java có các tính năng như sau:
Đơn giản
Cú pháp dựa trên C++ (vì vậy việc học Java sẽ rất dễ dàng sau khi lập trình viên học C++).
Gỡ bỏ nhiều đặc điểm gây bối rối và hiếm khi được sử dụng chẳng hạn như các con trỏ tường minh, nạp chồng toán tử...
Bạn không cần xóa các đối tượng mà không được tham chiếu, bởi vì bộ dọn rác tự động (Garbage Collection) trong Java sẽ làm việc đó thay bạn.
Hướng đối tượng
Chúng ta tổ chức phần mềm dưới dạng kết hợp của nhiều loại đối tượng khác nhau, trong đó có sự kết hợp chặt chẽ cả về dữ liệu và hành vi của chúng được gọi là hướng đối tượng.
Lập trình hướng đối tượng (OOP) là một phương pháp làm đơn giản hóa việc phát triển và bảo trì phần mềm bằng việc cung cấp một số quy tắc.
Một số khái niệm cơ bản của hướng đối tượng (OOP) là:
- Đối tượng (Object).
- Lớp (Class).
- Tính kế thừa.
- Tính đa hình.
- Tính trừu tượng.
- Tính đóng gói.
Độc lập nền tảng
Java được tạo ra với tiêu chí "Viết một lần, thực thi khắp nơi" ("Write Once, Run Anywhere"). Chương trình phần mềm viết bằng Java có thể chạy trên mọi nền tảng (platform) khác nhau thông qua một môi trường thực thi với điều kiện có môi trường thực thi thích hợp hỗ trợ nền tảng đó. Môi trường thực thi của Sun Microsystems hiện hỗ trợ Sun Solaris, Linux, Mac OS, FreeBSD & Windows. Ngoài ra, một số công ty, tổ chức cũng như cá nhân khác cũng phát triển môi trường thực thi Java cho những hệ điều hành khác như BEA, IBM, HP... Trong đó đáng nói đến nhất là IBM Java Platform hỗ trợ Windows, Linux, AIX và z/OS.
Bảo mật
Ngôn ngữ Java cung cấp một số tính năng bảo mật như:
- Không có con trỏ tường minh.
- Chương trình chạy bên trong máy ảo.
- Classloader: Thêm sự bảo mật bằng việc phân chia package cho các class của hệ thống file trên local mà từ đó chúng được import với các file từ nguồn mạng.
- Bytecode Vertifier: Kiểm tra các đoạn code để tìm ra các phần code không hợp lệ mà có thể truy cập trái phép tới các đối tượng.
- Security Manager: Quyết định xem nguồn resource nào mà một lớp có thể truy cập, chẳng hạn như đọc và ghi tới local disk.
Robust (Mạnh Mẽ)
Java sử dụng trình quản lý bộ nhớ mạnh mẽ. Nghĩa là, Java sử dụng ít con trỏ hơn để tránh các vấn đề liên quan tới bảo mật. Bên cạnh đó Java còn có trình dọn rác tự động (Garbage Collection), có xử lý ngoại lệ (Exception Handling) và cơ chế kiểm tra kiểu ngoại lệ xảy ra.
Kiến trúc - Tập trung
Một ứng dụng được biên dịch trên kiến trúc phần cứng này và ứng dụng đó chạy được trên tất cả các kiến trúc phần cứng khác.
Chẳng hạn như một ứng dụng được biên dịch với vi xử lý 32bit và nó sẽ chạy tốt trên vi xử lý 64bit.
Portable (Di động)
Java là ngôn ngữ lập trình có tính Portable bởi vì Java có thể thực thi ứng dụng của nó trên tất cả các hệ điều hành và phần cứng khác nhau.
Hiệu suất cao
Hiệu suất Java nhanh hơn kể từ khi được thông dịch thành ByteCode, mã nguồn gốc thì chậm hơn so với một số ngôn ngữ biên dịch (ví dụ như C++).
Multi-thread - Đa luồng
Chúng ta có thể tạo các ứng dụng phân tán trong Java. RMI và EJB được sử dụng để tạo các ứng dụng này. Chúng ta có thể truy cập các file bằng việc gọi các phương thức từ bất cứ thiết bị nào trên internet.
Distributed - Phân tán
Một Thread là giống như một chương trình riêng rẽ, thực thi một cách đồng thời. Chúng ta có thể viết các chương trình Java mà xử lý nhiều tác vụ cùng một lúc bằng việc định nghĩa nhiều Thread. Lợi thế chính của Multi-thread là nó chia sẻ cùng bộ nhớ. Các Thread là quan trọng cho Multi-media, Web App, ...
Java được sử dụng để làm gì?
Từ những thông tin trên, chúng ta có thể nhận thấy Java là một ngôn ngữ cực kỳ linh hoạt, được sử dụng cho rất nhiều nhiệm vụ. Người ta ước tính rằng hơn 3 tỷ thiết bị đã sử dụng Java vào cuối năm 2017. Hầu như mọi công ty lớn đều sử dụng nó vào nhiều nhiệm vụ khác nhau, điều này dẫn đến nhu cầu rất lớn đối với các nhà phát triển. Tự Học Lập Trình sẽ đưa ra một số trường hợp sử dụng Java như sau:
Phát triển ứng dụng website
Java là một trong những ngôn ngữ được lựa chọn cho các nhà phát triển web Back End muốn tạo ứng dụng web mới. Nó linh hoạt và cho phép họ xây dựng các ứng dụng có khả năng mở rộng và dễ bảo trì.
Tạo ứng dụng Android
Mặc dù có nhiều nhóm phát triển ứng dụng Android đang bắt đầu sử dụng một số ngôn ngữ khác nhưng Java vẫn có mức độ sử dụng rất cao. Trong quá khứ, Java dường như được sử dụng duy nhất trong phát triển ứng dụng Android. Điều này có nghĩa là Java có nhu cầu rất lớn đối với các nhà phát triển trong lĩnh vực này.
Ứng dụng khoa học
Java được sử dụng trong nhiều ngành khoa học để tạo ra các chương trình và ứng dụng phân tích dữ liệu.
Bots giao dịch
Nếu đã từng say mê giao dịch tiền điện tử, cổ phiếu hoặc giao dịch ngoại hối, bạn có thể đã nghe nói về các bot giao dịch. Đây là những chương trình tự động giao dịch với tần suất cao, cho phép xây dựng lợi nhuận khá tốt theo thời gian - khi chúng được xây dựng hiệu quả. Rất nhiều bot giao dịch tốt nhất được xây dựng bằng ngôn ngữ Java.
Trên đây chỉ là một số kiến thức cơ bản về ngôn ngữ lập trình Java mà Tự Học Lập Trình đã chắt lọc để các bạn có thể hình dung một cách cơ bản nhất. Từ đó, các bạn sẽ định hướng được con đường học tập của mình với ngôn ngữ lập trình Java.