• Trang chủ
  • Android
  • Lộ Trình Học Lập Trình Java Web Mà Bạn Cần Biết
12370 lượt xem

Lộ Trình Học Lập Trình Java Web Mà Bạn Cần Biết

Lộ Trình Học Lập Trình Java Web Mà Bạn Cần Biết

Kiến thức nền tảng khi học lập trình Java làm backend web developer là gì, lộ trình học lập trình Java Web như thế nào là hợp lý? Đó là rất nhiều câu hỏi được đặt ra đối với các bạn muốn tìm hiểu về lập trình Java Web. Hôm nay hãy cùng DigiMo Việt Nam tìm hiểu thêm về Java để từ đó có được lộ trình học lập trình Java Web hợp lý

Lộ Trình Học Lập Trình Java Web Mà Bạn Cần Biết
Lộ Trình Học Lập Trình Java Web Mà Bạn Cần Biết

Java là ngôn ngữ bậc cao được sử dụng rộng rãi trên thế giới. Vào những năm 90s, ngôn ngữ Java đã được tạo ra bởi tổ chức Sun Micro system nay thuộc Oracle. Đặc điểm của ngôn ngữ Java là tính độc lập cao, tiện lợi, được dùng cho việc cross-platform hay có thể hiểu là với một chương trình được viết ra, có thể chạy trên nhiều nền tảng khác nhau. Câu nói kinh điển của dân lập trình Java là: “Write Once Run Anywhere” hay “Viết một lần, chạy khắp nơi”

Lộ trình học cơ bản một lập trình viên Java

Bạn có thể tham khảo lộ trình chi tiết khi học ngôn ngữ Java với roadmap dưới đây:

học lập trình Java

Nếu học ngôn ngữ lập trình Java để trở thành một web developer thì lượng kiến thức phải học là rất nhiều, và đòi hỏi sự kiên trì. Người học cần phải có định hướng rõ ràng, đặt mục tiêu cụ thể cũng như dành nhiều thời gian và công sức cho việc học một cách nghiêm túc để có thể trở thành một Java Web Developer chuyên nghiệp.

Học lập trình Java căn bản nên bắt đầu từ đâu?

Bắt đầu một lộ trình học lập trình Java hợp lý đó là việc bạn cần nắm chắc các ngôn ngữ lập trình hướng đối tượng. Bạn có thể tìm hiểu và làm quen với các khái niệm của lập trình C để hiểu rõ hơn về Java. Những công nghệ Java được sử dụng nhiều gồm có:

  1. Java Core
  2. Enterprise Java Beans
  3. JSP/Java Severlet
  4. JDBC và RMI

Java core là gì?

Java core là kiến thức cơ bản mà bất kỳ một Java backend developer nào cũng phải nắm chắc. Đây là kiến thức nền tảng của ngôn ngữ lập trình Java và là công cụ để bạn có thể học lên những kiến thức nâng cao hơn 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à 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 ở đây gồm các sự vật, sự việc có tính chất, đặc tính, hành động giống nhau mà ta có thể hợp lại thành đối tượng giióng với thực tế cuộc sống. Chúng ta sẽ phải định nghĩa các lớp (class) và gom (mô hình) các đối tượng thực tế khi lập trình OOP.

Java là ngôn ngữ lập trình hướng đối tượng
Java là ngôn ngữ lập trình hướng đối tượng
  • Cách sử dụng câu điều kiện: if/else

Đối với 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 câu điều kiện if – else có chức năng kiểm tra kết quả của 1 điều kiện rồi từ đó thực hiện các hành động tương ứng. Câu lệnh if trong Java có 4 loại: 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.

  • Cách sử dụng vòng lặp: for/while

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

  • Exception và các xử lý exception trong Java

Exception trong ngôn ngữ lập trình java có thể hiểu là một sự kiện xảy ra trong quá trình làm việc của một chương trình và làm gián đoạn luồng làm việc bình thường của chương trình đó. Nó là đối tượng được đưa ra từ runtime. Nghĩa là khi chương trình đang chạy, exception sẽ khiến chương trình đó dừng lại và xuất hiện thông báo lỗi. Ví dụ như khi thực hiện phép chia một số nguyên dương cho số 0 thì chương trình sẽ thông báo lỗi và nó được gọi là exception.

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

Unchecked Exception: là các Exception xuất hiện tại thời điểm chương trình đang chạy (thời điểm Runtime). Với những Exception này, chúng ta không bắt buộc phải giải quyết bởi nó thường là các lỗi liên quan đến logic.

  • Các cấu trúc dữ liệu gồm chuỗi, mảng, Hashmap, LinkedList

Chuỗi và mảng là 2 kiểu dữ liệu quan trong trong ngôn ngữ lập trình. Với ngôn ngữ lập trình Java, chuỗi được xem là một dữ liệu dạng đối tượng (nghĩa 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ẽ tìm hiểu trong chương Lập trình hướng đối tượng)

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

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

Trong ngôn ngữ lập trình Java, mảng được hỗ trợ dưới dạng mảng một chiều và mảng nhiều chiều. Tuy nhiên mảng được sử dụng nhiều nhất là mảng một chiều và mảng tối đa được sử dụng là mảng ba chiều.

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

Có 2 khái niệm multi trong Java là multithreading (đa luồng) và multitasking (đa tiến trình). Multireading (đa luồng) là khi chạy chương trình có 2 luồng trở lên chạy song song với nhau và đơn vị nhỏ nhất của tiến trình là thread (luồng). Trong đó, một luồng trong chương trình có thể thực hiện được một công việc riêng biệt và được quản lý bởi máy ảo Java. Một luồng gồm có 4 thành phần chính: định dạng, một bộ đếm chương trình, một 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 đang diễn ra đồng thời. Công việc của Java sẽ được xử lý nhanh chóng hơn với Multireading (đa luồng).

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

Java developer khi làm việc phía backend cần phải thao tác nhiều dữ liệu và tìm ra phương pháp xử lý luồng dữ liệu nhanh nhất, chính xác nhất.

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

JSP và Servlet

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

Enterprise và Java Beans

Enterprise Java Beans (EJB) là thành phần trong J2EE. Nền tảng này 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ể sử dụng lại (reusable). Nhờ vậy mà các developer sẽ có thể dễ dàng và thuận lợi hơn trong việc xây dựng, triển khai các ứng dụng phân tán (distributed application).

EJB hướng tới các ứng dụng thương mại (enterprise), lớn, phân tán. Nhiệm vụ của EJB là quy định kiến trúc và đặc tả cho việc phát triển và triển khai các thành phần (component) thuộc server-side của distributed application. Sau đó, các component này sẽ được mua lại bởi các tổ chức phát triển ứng dụng hoặc một bên thứ ba nào đó.

JDBC và RMI

  • Nhiệm vụ của JDBC và RMI là kết nối và thực hiện truy vấn cơ sở dữ liệu (database) cũng như sử dụng trình điều khiển JBDC để kết nối với cơ sở dữ liệu. Trước đây, ODBC được dùng để thực hiện nhiệm vụ này, nhưng ODBC được viết bằng nền tảng phụ thuộc (ngôn ngữ C) nên Java đã tự định nghĩa API và tạo ra JDBC trên nền tảng Java.
  • Java RMI hay Gọi thức từ xa ( Remote Method Invocation) là một kỹ thuật của Java dùng để cài đặt distributed object (đối tượng phân tán) một các hiệu quả và linh động.
  • Đặc tính của RMI:
    • Là mô hình distributed của Java, có vai trò giúp truyền thông giữa các distributed object dễ dàng hơn.
    • Là API bậc cao được xây dựng dựa trên lập trinh socket.
    • Vừa cho phép truyền data giữa các object trên các hệ thống khác nhau vừa gọi được các phương thức trong các đối tượng remote.
    • Quá trình truyền dữ liệu giữa các máy được xử lý trong suốt với máy ảo Java (Java virtual machine).
    • Cung cấp callback,cho phép Server gọi ngược phương thức tại Client.

Các framework của Java bao gồm?

Các framework của Java bao gồm: STRUTS và SPRINGS.

Hai framework này được phát triển dựa trên nền tảng của J2EE và đã xuất hiện từ khá lâu. Chúng có nhiệm vụ hỗ trợ xây dựng web bằng ngôn ngữ Java theo hướng MVC (viết tắt của Model View Controller – một mẫu khá nổi tiếng tiếng trong thiết kế phần mềm).

Khi học về hai framework này (Springs/struts), chúng ta cần phải tìm hiểu về thư viện liên quan đến thao tác về mặt database trong ứng dụng S/S hay Hibernate.mvc

Các tài liệu lập trình Java hữu ích

Ngoài những nội dung như trên, DigiMo xin được phép chia sẻ thêm một số tài liệu tiếng Anh và Việt dành cho những người mới cũng như những ai có kinh nghiệm về Java.

Ngoài những thông tin đã chia sẻ ở trên, mình sẽ gợi ý thêm cho các bạn một số tái liệu tiếng Anh và tiếng Việt rất bổ ích cho nhữngngười mới bắt đầu cũng như những người đã có kinh nghiệm về Java.

1. Học qua tài liệu Java cơ bản của Đại Học Quốc Gia Hà Nội

Đây là tài liệu gồm 58 chương từ cơ bản đến nâng cao và phù hợp với những người đã có một vài kiến thức về Java. Với tài liệu này, bạn có thể tụ học một cách rất dễ dàng.

Không chỉ giúp người học thực hành các nội dung liên quan đến lập trình hướng đối tượng, mà các bài tập thực hành của môn học này còn giúp bạn có định hướng rõ ràng và có thể tự học các chủ đề thuần túy Java, cũng như từ đó hiểu sâu hơn về giá trị cốt lõi, giúp bạn phát triển hơn trong tương lai.
Các tác giả đã chuyển dịch các thuật ngữ hướng đối tượng từ tiếng Anh sang tiếng Việt theo nhiều cách khác nhau. Các lập trình viên cần nắm được các thuật ngữ nguyên gốc tiếng Anh cùng cách dịch nghĩa của nó trong tiếng Việt để có thể dễ dàng hơn trong việc sử dụng tài liệu tiếng Anh cũng như có thể liên hệ được với kiến thức trong tài liệu tiếng Việt. Vì vậy, trong giáo trình này có bảng thuật ngữ Anh-Việt với các cách dịch khác nhau tại Phụ lục C, bên cạnh các Phụ lục A và Phụ lục B.

2. Học lập trình Java qua các blog

Việc học qua blog sẽ giúp bạn nắm được những kinh nghiệm từ những đàn anh đi trước, cách học này thiết thực hơn so với những khóa học hàn lâm. Bạn có thể tham khảo qua một số những blog học lập trình Java sau:

  • Think Java: Cách suy nghĩ như nhà khoa học máy tính
  • Blog chuyên về Java và những công nghệ mới nhất ngành lập trình của Nguyễn Văn Hương
  • Advanced Programming – Trần Duy Thanh

3. Học trực tiếp qua website của Java

Học qua website chính thức của Java có lẽ vẫn là cách học lập trình tốt nhất. Tại đây, bạn có thể được học trực tiếp từ các chuyên gia cũng như có cơ hội tham gia các workshop và webinar rất bổ ích.

Bên cạnh đó, bạn có thể tahm khảo thêm những nội dung của trang FreeJavaGuide cũng là một trong những nơi có rất nhiều thông tin cho những ai muốn tham khảo và tìm hiểu về lập trình Java.

Bài viết mới cập nhật:

THẢO LUẬN & HỎI ĐÁP NHANH

  1. Nguỹen mỹ chi says:

    Minh muon duoc huong dan cu the viec doc zalo fb cua nguoi khac bang dt ma k can toi may cua doi phuong

Trả lời

Email của bạn sẽ không được hiển thị công khai.