Java là một trong những ngôn ngữ bậc cao được nhiều công ty và các tổ chức trên thế giới tin dùng, Ngôn ngữ Java được thiết kế vào những năm 90s bởi tổ chức Sun Micro system hiện nay thuộc sở hữu của Oracle. Java có tính độc lập rất cao, tiện lợi, có thể dùng cho việc cross-platform, có nghĩa bạn chỉ cần viết chương trình một lần thì có thể chạy trên nhiều nền tảng khác nhau. Khẩu hiệu kinh điển mà bất kỳ dân lập trình Java nào cũng biết đó là “Viết một lần, chạy được khắp nơi” (Write Once Run Anywhere).

Học Java căn bản thì bắt đầu từ đâu?

Để bắt đầu học lập trình Java, bạn phải cần thông thạo các ngôn ngữ lập trình hướng đối tượng, có thể học qua lập trình C để làm quen với những khái niệm của loại lập trình này cũng như có thể hiểu sâu hơn về Java và các công nghệ Java mà nhiều người thường sử dụng như:

Java Core

Enterprise Java Beans

JSP/Java Severlet

JDBC và RMI

Java core

Nhắc đến Java backend developer chắc chắn phải nằm lòng kiến thức căn bản của ngôn ngữ lập trình java: JAVA CORE là kiến thức nền tảng của ngôn ngữ lập trình JAVA, nó sẽ là bước khởi đầu để bạn có thể học những kiến thức nâng cao như: JSP- Servlet – Android.

Java là ngôn ngữ lập trình hướng đối tượng (OOP)

Lập trình hướng đối tượng (OOP) là một kỹ thuật lập trình cho phép lập trình viên tạo ra các đối tượng trong code trừu tượng hóa các đối tượng. Đối tượng là những sự vật, sự việc mà nó có những tính chất, đặc tính, hành động giống nhau và ta gom góp lại thành đối tượng giống trong thực tế cuộc sống. Khi lập trình OOP, chúng ta sẽ định nghĩa các lớp (class) để gom (mô hình) các đối tượng thực tế.

Cách sử dụng câu điều kiện: if/else

Trong ngôn ngữ lập trình Java cũng như các ngôn ngữ lập trình khác, cấu trúc điều khiển if – else sẽ kiểm tra kết quả của 1 điều kiện và dựa vào kết quả đó để thực hiện các hành động tương ứng. Có bốn loại câu lệnh if trong java: Câu lệnh IF; Câu lệnh if -else; Câu lệnh if -else -if; Câu lệnh if lồng nhau.

Sử dụng vòng lặp: for/while

Vòng lặp for trong java được sử dụng để lặp một phần của chương trình nhiều lần. Nếu số lần lặp là cố định thì vòng lặp for được khuyến khích sử dụng, còn nếu số lần lặp không cố định thì nên sử dụng vòng lặp while hoặc do while. Có 3 kiểu của vòng lặp for trong java: Vòng lặp for đơn giản; Vòng lặp for cải tiến; Vòng lặp for gán nhãn.

Exception là gì và cách xử lý exception (xử lý ngoại lệ) trong Java

Exception trong Java được xem là một sự kiện làm gián đoạn luồng làm việc bình thường của chương trình đó. Nó là một đối tượng được ném ra tại runtime. Cụ thể là khi một chương trình đang chạy exception sẽ khiến nó lập tức dừng lại và xuất hiện thông báo lỗi. Một ví dụ trực quan nhất là khi bạn tiến hành thực hiện phép chia một số nguyên dương cho số 0 thì khi biên dịch chương trình sẽ làm phát sinh lỗi và đó được coi là ngoại lệ.

Checked Exception

Check Exception là các Exception xảy ra tại thời điểm Compile time (là thời điểm chương trình đang được biên dịch). Những Exception này thường liên quan đến lỗi cú pháp (syntax) và bắt buộc chúng ta phải “bắt” (catch) nó.

Unchecked Exception

Unchecked Exception được xem là các Exception xảy ra tại thời điểm Runtime (là thời điểm chương trình đang chạy). Những Exception này thường liên quan đến lỗi logic và không bắt buộc chúng ta phải “bắt” (catch) nó.

Các cấu trúc dữ liệu: chuỗi, mảng, HashMap, LinkedList

Đối với các ngôn ngữ lập trình, chuỗi và mảng là 2 kiểu dữ liệu rất quan trọng. Trong ngôn ngữ lập trình Java, chuỗi được coi là 1 dữ liệu dạng đối tượng (tức là nó có các thuộc tính và phương thức – chi tiết về đối tượng chúng ta sẽ được học trong chương Lập trình hướng đối tượng).

Trong lập trình Java, mảng (array) là một tập hợp các phần tử có cùng kiểu dữ liệu, có địa chỉ tiếp nhau trên bộ nhớ (memory). Mảng có số phần tử cố định và bạn không thể thay đổi kích thước của nó.. Mỗi phần tử của mảng được sử dụng như là một biến đơn, kiểu dữ liệu của mảng chính là kiểu dữ liệu của phần tử.

Techmaster Vietnam

Mảng được sử khá nhiều, có tính ứng dụng cao không chỉ bởi sự đơn giản cũng như khả năng đáp ứng nhu cầu lưu trữ dữ liệu trong các bài toán thực tế. Các lập trình viên có nhiều kinh nghiệm thường sử dụng mảng khi cần lưu trữ nhiều giá trị, chẳng hạn như lưu trữ các số nguyên từ 1 đến 5; dãy 32 chuỗi ký tự v.v…

Trong Java, mảng được hỗ trợ dưới dạng mảng một chiều cho đến mảng nhiều chiều. Tuy nhiên tối đa chỉ sử dụng mảng ba chiều và được dùng nhiều nhất là mảng một chiều.

Ví dụ về cách khai báo 1 mảng trong Java:

// Khai báo một mảng, chưa chỉ rõ số phần tử.
int[] array1;
 
// Khởi tạo mảng với 100 phần tử
// Các phần tử chưa được gán giá trị cụ thể
array1 = new int[100];
 
// Khai báo một mảng, và chỉ rõ số phần tử
// Các phần tử chưa được gán giá trị cụ thể
double[] array2 = new double[10];
 
// Khai báo một mảng với các phần tử được gán giá trị cụ thể.
// Mảng này có 4 phần tử
long[] array3= {10L, 23L, 30L, 11L};

Java còn là ngôn ngữ lập trình đa luồng multithreading

Trong Java có hai khái niệm multi: multithreading (đa luồng) và multitasking (đa tiến trình). Đa luồng khi chương trình đó có 2 luồng trở lên chạy song song với nhau và một luồng (thread) là đơn vị nhỏ nhất của tiến trình (process). Trong đó, luồng – đơn vị nhỏ nhất trong chương trình có thể thực hiện được một công việc riêng biệt, được quản lý bởi máy ảo Java. Bốn thành phần chính của một luồng bao gồm: định dang, một bộ đếm chương trình, một tập thanh ghi và ngăn xếp. Một ứng dụng Java ngoài luồng chính có thể có các luồng khác thực thi đồng thời. Với đa luồng, công việc của Java được xử lý nhanh chóng hơn.

**Ví dụ khai báo mảng 2 chiều **

// Khai báo một mảng có 5 dòng, 10 cột
MyType[][] myArray1 = new MyType[5][10]; 
 
// Khai báo một mảng 2 chiều có 5 dòng.
// (Mảng của mảng)
MyType[][] myArray2 = new MyType[5][]; 
 
// Khai báo một mảng 2 chiều, chỉ định giá trị các phần tử. 
MyType[][] myArray3 = new MyType[][] {
 
    { value00, value01, value02 , value03 }, 
    { value10, value11, value12 } 
};
 
// ** Chú ý:
// MyType có thể là các kiểu nguyên thủy (byte, char, double, float, long, int, short, boolean)
// hoặc là kiểu tham chiếu.

Cấu trúc dữ liệu và giải thuật

Khi làm việc phía backend, Java developer cần thao tác nhiều với dữ liệu và làm sao để xử lý luồng dữ liệu nhanh nhất và chính xác nhất.

Cấu trúc dữ liệu và giải thuật được xem là 2 yếu tố quan trọng trong lập trình. Data structure bao gồm 3 mức độ: cơ bản: stack (ngăn xếp), queue (hàng đợi), linkedlist (danh sách liên kết), binary tree (cây nhị phân); trung bình: Heap, Priority queue, Huffman Tree, Hash Table (Bảng băm); nâng cao: segment Tree, Binary Indexed Tree, Spare Table, ….

JSP và Servlet

Sau khi đã nắm vững các khái niệm Java core cùng cấu trúc dữ liệu và giải thuật, bạn sẽ cần học thêm về JSP và Servlet. Trong quá trình học, bạn sẽ biết đến J2EE, là nền tảng lập trình cho các ứng dụng phân tán (trong đó web chính là nền tảng dạng như ứng dụng phân tán), từ đó tiếp cận với các khái niệm mới như API, SML, JDBC, JMS.

Enterprise và Java Beans

Enterprise Java Beans (EJB) là một thành viên trong gia đình J2EE, là nền tảng có nhiệm vụ xây dựng các thành phần phần mềm có tính di động và có thể reusable (sử dụng lại). Từ đó các developer có thể xây dựng và triển khai các distributed application (ứng dụng phân tán) dễ dàng, thuận lợi hơn.

Đích đến của EJB là các enterprise (ứng dụng thương mại), lớn, phân tán. Từ đó, EJB có nhiệm vụ quy định kiến trúc và đặc tả cho việc phát triển và triển khai các component (thành phần) thuộc server-side của distributed application. Các component này được các tổ chức phát triển build ứng dụng hay được một bên thứ ba mua laị.

JDBC và RMI là gì

Techmaster vietnam

JDBC là Java API có nhiệm vụ kết nối và thực hiện truy vấn database (cơ sở dữ liệu), sử dụng trình điều khiển JDBC để kết nối với database. Trước JDBC, ODBC được sử dụng để làm nhiệm vụ trên, tuy nhiên ODBC đuợc biết bằng nền tảng phụ thuộc (ngôn ngữ C) nên Java đã tự định nghĩa API của chính mình và sử dụng JDBC được viết trên nền tảng Java.

Giải thích thuật ngữ: skeleton: lớp nối phía server; stub: lớp móc chuyển về cho client. RMI không gọi trực tiếp mà thông qua 2 lớp trung gian này.

Java RMI (Remote Method Invocation – Gọi phương thức từ xa): một kỹ thuật của Java cài đặt distributed object (đối tượng phân tán) hiệu quả và linh động.

Một số đặc tính của RMI:

Là mô hình distributed object của Java, giúp truyền thông giữa các distributed object dễ dàng hơn.
API bậc cao xây dựng dựa trên lập trình socket.
Không những cho phép truyền data giữa các object trên các hệ thống khác nhau mà còn gọi được các phương thức trong các đối tượng remote.
Quá trình truyền data giữa các máy được xử lý trong suốt với Java virtual machine (máy ảo Java).
Cung cấp callback, cho phép Server gọi ngược phương thức ở Client.

Các framework của Java gồm những gì?

STRUTS
SPRINGS

Đây là hai framework khá lâu đời và được phát triển dựa trên nền tảng của J2EE, hỗ trợ việc xây dựng web bằng ngôn ngữ Java theo hướng MVC: viết tắt cho model view controller, một pattern khá nổi tiếng khi thiết kế phần mềm.

Trong quá trình học Springs/struts bạn cũng cần tìm hiểu về thư viện liên quan tới thao tác về mặt database trong ứng dụng S/S: JPA hay Hibernate.mvc

Lộ Trình của lập trình viên Java từ cơ bản đến nâng cao tại Techmaster Việt Nam:

Java FullStack với Spring Boot với 7 học phần

  • Web căn bản
  • Java core
  • Cấu trúc dữ liệu & giải thuật
  • Database
  • Spring Boot
  • Javascript - DOM - Jquery
  • Docker DevOps

Techmaster Vietnam tiếp tục mở lớp tuyển sinh Java Spring Boot trong tháng 9.

  • Ngày khai giảng dự kiến: 14/9/2021
  • Lịch học: Tối thứ 3, thứ 5 và thứ 7 hàng tuần
  • Thời gian: 19:30 - 21:00
  • Địa điểm: Học trực tuyến
  • Link khoá học : https://java.techmaster.vn/
  • Tư vấn - đăng kí học: Ms Mẫn - 0963023185 (zalo)

Ngoài ra, sinh viên có thể lựa chọn lớp học offline, Techmaster vẫn tuyển sinh để mở lớp.

Bài viết có tham khảo từ Topdev.vn