Published - Mon, 27 Tháng sáu 2022

Hướng dẫn cài đặt môi trường Java và Eclipse

Hướng dẫn cài đặt môi trường Java và Eclipse

1 Cài đặt môi trường JDK

JDK (Java Development Kit) là một bộ phát triển phần mềm để phát triển các ứng dụng trong Java. JDK bao gồm JRE và các Development Tool. Bạn có thể cài đặt nhiều phiên bản Java JDK trên cùng một máy tính. Để cài đặt môi trường JDK các bạn thực hiện theo các bước sau:

Bước 1: Tải xuống JDK

Mở trình duyệt và tìm kiếm Tải xuống JDK 17 hoặc nhấp vào liên kết để tải xuống từ trang web Oracle (https://www.oracle.com/java/technologies/downloads/#java17). Nó sẽ hiển thị trang tải xuống JDK như trong Hình 1.


Bây giờ hãy nhấp vào liên kết X64 Installer để bắt đầu tải xuống JDK 17.

Bước 2 : Cài đặt JDK

Bây giờ thực thi trình cài đặt JDK bằng cách nhấp đúp vào nó. Nó có thể yêu cầu sự cho phép của hệ thống trước khi bắt đầu cài đặt. Nhấp vào có để cho phép trình cài đặt tự thực thi. Nó hiển thị màn hình chào mừng của trình cài đặt như được hiển thị trong dưới đây:


Nhấp vào  nút Tiếp theo (Next) để bắt đầu quá trình cài đặt. Màn hình tiếp theo hiển thị các tùy chọn để thay đổi đường dẫn cài đặt. Có thể thay đổi vị trí cài đặt trên màn hình này nếu muốn. Mặc định nó sẽ được cài đặt trong ổ C như hiển thị trong dưới đây.

Bây giờ hãy nhấp vào nút Tiếp theo (Next) để bắt đầu cài đặt. Đợi quá trình cài đặt diễn ra, màn hình cài đặt thành công sẽ được hiển thị như sau:

Bước 3: Cài đăt biến môi trường (Environment Variables)

Đầu tiên chúng ta mở của sổ RUN của window (bạn nào không biết thì nhấn tổ hợp phím window+R) sau đó nhập vào sysdm.cpl xong nhấn Enter. Tiếp đến chọn thẻ Advanced => Environment Variables như hình bên dưới:

Bây giờ hãy nhấp vào nút Environment Variables  > thêm JAVA_HOME & Đường dẫn như được hiển thị trong các hình ảnh dưới đây:

Bây giờ chúng ta phải thêm Java Path. Nếu biến Path đã có thì chúng ta chỉ cần nhấp vào nút  Edit…  > sau đó nhấp vào  nút New để thêm đường dẫn như hình bên dưới.


Bước 4: Xác minh cài đặt Java

Để xác minh cài đặt, hãy mở dấu nhắc lệnh ( phím Win + R  và gõ  cmd ), sau đó nhập  java -version  và nhấn phím Enter.

Xin chúc mừng! Bạn đã được cài đặt thành công Bộ phát triển Java (JDK) 17 trên hệ thống Windows của mình.

Tạo bởi

Comments (0)

Tìm kiếm
Danh mục phổ biến
Bài viết mới nhất
Làm việc với thư mục và file trong Java
Làm việc với thư mục và file trong Java
Trong các ứng dụng, bạn cần thao tác thường xuyên với tập tin (file) và thư mục (folder) trong hệ thống. Các thao tác này bao gồm: liệt kê danh sách tập tin, thư mục, thêm/đổi tên, xóa thư mục, v.v. Trong bài viết này sẽ hướng dẫn một số thao tác với tập tin và thư mục trong Java. Java cung cấp 2 class hỗ trợ những việc này bao gồm:Lớp java.io.File đại diện cho một tập tin (file) hoặc một thư mục (directory) của hệ thống, nó được đưa vào Java từ phiên bản 1.0.Lớp java.nio.file.Files cung cấp các phương thức static và native để thao tác với tập tin và thư mục, nó được bổ sung vào từ phiên bản Java 7.0. Lớp này thường được sử dụng khi maintain/optimize chương trình để tăng hiệu suất chương trình Java. Khả năng tăng hiệu suất chương trình của NIO không chỉ phụ thuộc vào hệ điều hành mà còn phụ thuộc vào phiên bản JVM, hệ thống máy chủ, ổ cứng, hay thậm chí dữ liệu.1. Đường dẫn (Path) là gì?Một hệ thống tập tin lưu trữ và tổ chức các tập tin trên một số loại phương tiện lưu trữ, thường là một hoặc nhiều ổ đĩa cứng, theo cách sao cho chúng có thể dễ dàng lấy ra.Hầu hết các hệ thống tập tin được sử dụng ngày hôm nay lưu trữ các tập tin trong một cây (hoặc cấu trúc phân cấp). Ở đầu cây là một (hoặc nhiều hơn) các nút gốc. Dưới nút gốc, có các tệp và thư mục (thư mục trong Microsoft Windows). Mỗi thư mục có thể chứa các tệp tin và các thư mục con, do đó có thể chứa các tệp và thư mục con, v.v … có khả năng lưu trữ một chiều sâu gần như vô hạn.Microsoft Windows hỗ trợ nhiều nút gốc. Mỗi nút gốc ánh xạ tới một phân vùng, chẳng hạn như C:\ hoặc D:\. Hệ điều hành Solaris (Linux) hỗ trợ một nút gốc, được biểu thị bởi ký tự dấu gạch chéo /.Một tập tin được xác định bởi đường dẫn của nó thông qua hệ thống tập tin, bắt đầu từ nút gốc. Ví dụ, tập tin statusReport trong hình trên được mô tả bằng ký hiệu sau:Trong Hệ điều hành Solaris: /home/user2/statusReportTrong Microsoft Windows: C:\home\user2\statusReportKý tự được sử dụng để phân cách các tên thư mục cho hệ thống tập tin:Hệ điều hành Solaris sử dụng dấu gạch chéo (/).Microsoft Windows sử dụng dấu gạch chéo ngược (\). Tuy nhiên, vẫn có thể sử dụng dấu gạch chéo (/) trên Microsoft Window.Đường dẫn tương đối và tuyệt đốiMột đường dẫn tuyệt đối luôn chứa các phần tử gốc và danh sách thư mục đầy đủ cần thiết để định vị tệp tin. Ví dụ, /home/user2/statusReport là một đường dẫn tuyệt đối. Tất cả thông tin cần thiết để định vị tệp tin được chứa trong chuỗi đường dẫn.Một đường dẫn tương đối cần phải được kết hợp với một đường dẫn khác để truy cập một tập tin. Ví dụ, user1/foo là một đường dẫn tương đối. Nếu không có thêm thông tin, một chương trình không thể xác định chính xác vị trí thư mục user2/statusReport trong hệ thống tập tin.2. Giới thiệu lớp Java.io.FileLớp java.io.File đại diện cho một tập tin hoặc một thư mục trong hệ thống, nó đại diện cho một đường dẫn (path). Đường dẫn này có thể không thực sự tồn tại trên hệ thống. Nếu tồn tại thì nó có thể là một thư mục (directory) hoặc là một tập tin (file).Ví dụ tạo một đối tượng File đại diện cho một đường dẫn, và kiểm tra sự tồn tại của nó, ghi ra các thông tin cơ bản của File.public static void main(String[] args) {        // Tạo một đối tượng File đại diện cho một đường dẫn    File file = new File("D:/WorkSpace/data/test.txt");    // Kiểm tra sự tồn tại.    System.out.println("Path exists : " + file.exists());    if (file.exists()) {        // Kiểm tra có phải có phải là một folder hay không?        System.out.println("isDirectory : " + file.isDirectory());        // Kiểm tra có phải là một đường dẫn ẩn hay không?        System.out.println("isHidden : " + file.isHidden());        // Lấy tên file/ folder        System.out.println("Simple Name: " + file.getName());        // Đường dẫn tuyêt đối.        System.out.println("Absolute Path: " + file.getAbsolutePath());        // Kiểm tra kích thước file:        System.out.println("Length : " + file.length() + " (bytes)");        // Thời điểm sửa lần cuối        long lastMofifyInMillis = file.lastModified(); // milliseconds        Date lastModifyDate = new Date(lastMofifyInMillis);        System.out.println("Last modify date: " + lastModifyDate);    }}3. Tạo thư mụcLớp File cung cấp 2 phương thức để tạo môt thư mục:mkdir(): Tạo thư mục cho bởi đường dẫn nếu thư mục cha tồn tại.mkdirs(): Tạo thư mục cho bởi đường dẫn, bao gồm cả các thư mục cha nếu nó không tồn tại.Ví dụ: public static void main(String[] args) {    File dir = new File("D:/WorkSpace/data/created1/child1");    System.out.println("Pathname: " + dir.getAbsolutePath());    System.out.println("Path exists:  " + dir.exists()); // false    System.out.println("Parent Path exists: " + dir.getParentFile().exists()); // false    // Với mkdir(), thư mục chỉ được tạo ra nếu thư mục cha tồn tại.    boolean created = dir.mkdir();    System.out.println("Directory created: " + created); // false    System.out.println();    File dir2 = new File("D:/WorkSpace/data/created2/child2");    System.out.println("Pathname: " + dir2.getAbsolutePath());    System.out.println("File exists: " + dir2.exists()); // false    // Với mkdirs(), thư mục được tạo ra bao gồm cả các thư mục cha nếu nó không tồn tại.    created = dir2.mkdirs();    System.out.println("Directory created: " + created); // true} 4. Xóa tập tinSử dụng phương thức delete() để xóa tập tin và thư mục. Lưu ý: phương thức delete() chỉ cho phép xóa thư mục rỗng.public static void main(String[] args) {    File file = new File("D:/WorkSpace/data/test.txt");    if (file.delete()) {        System.out.println(file.getName() + " is deleted!");    } else {        System.out.println("Delete operation is failed.");    }}5. Xóa thư mụca) Xóa thư mục rỗngpublic static void main(String[] args) {    File folder = new File("D:/WorkSpace/data/created4");    if (folder.delete()) {        System.out.println(folder.getName() + " is deleted!");    } else {        System.out.println("Delete operation is failed.");    }}b) Xóa thư mục có chưa thư mục con và tập tin bằng đệ quypublic static void main(String[] args) {    File folder = new File("D:/WorkSpace/gpcoder/data/created3");    delete(folder);}public static void delete(File file) {    if (file.isDirectory()) {        // directory is empty, then delete it        if (file.list().length == 0) {            file.delete();            System.out.println("Directory is deleted : " + file.getAbsolutePath());        } else {            // list all the directory contents            String files[] = file.list();            for (String temp : files) {                // construct the file structure                File fileDelete = new File(file, temp);                // recursive delete                delete(fileDelete);            }            // check the directory again, if empty then delete it            if (file.list().length == 0) {                file.delete();                System.out.println("Directory is deleted : " + file.getAbsolutePath());            }        }    } else {        // if file, then delete it        file.delete();        System.out.println("File is deleted : " + file.getAbsolutePath());    }}6. Đọc và ghi file trong java – Các thao tác xử lý dữ liệuBước 1: Tạo đối tượng luồng và liên kết với nguồn dữ liệu.Bước 2: Thao tác dữ liệu (đọc hoặc ghi hoặc cả hai).Bước 3: Đóng luồnga) Xử lý nhập xuất dữ liệu sử dụng luồng byteSử dụng luồng byte trong các trường hợp như nhập xuất kiểu dữ liệu nguyên thủy (như kiểu int, float, double, boolean), nhập xuất kiểu dữ liệu kiểu đối tượng (object)Ví dụ 1: Ghi dữ liệu vào d:/mydata.bin với DataOutputStreampublic static void main(String[] args) {   try {   //Bước 1: Tạo đối tượng luồng và liên kết nguồn dữ liệu   FileOutputStream fos = new FileOutputStream("d:/file/mydata.bin");   DataOutputStream dos = new DataOutputStream(fos);   //Bước 2: Ghi dữ liệu   dos.writeInt(100);   dos.writeDouble(9.5);   //Bước 3: Đóng luồng   fos.close();   dos.close();   System.out.println("Done!");  } catch (IOException ex) {    ex.printStackTrace();  } }Ví dụ 2: Đọc dữ liệu chứa trong tập tin d:/mydata.bin với DataInputStreampublic static void main(String[] args) {  try {   //Bước 1: Tạo đối tượng luồng và liên kết nguồn dữ liệu   FileInputStream fis = new FileInputStream("d:/file/mydata.bin");   DataInputStream dis = new DataInputStream(fis);   //Bước 2: Đọc dữ liệu   int n = dis.readInt();    double m = dis.readDouble();   //Bước 3: Đóng luồng   fis.close();   dis.close();   //Hiển thị nội dung đọc từ file   System.out.println("Số nguyên: " + n);   System.out.println("Số thực: " + m);  } catch (IOException ex) {    ex.printStackTrace();  } }b) Xử lý nhập xuất dữ liệu bằng luồng characterLuồng byte rất mạnh mẽ và linh hoạt. Tuy nhiên nếu bạn muốn lưu trữ file chứa văn bản Unicode thì luồng character là lựa chọn tốt nhất vì ưu điểm của luồng character là nó thao tác trực tiếp trên ký tự Unicode. Tất cả các luồng character đều được kế thừa từ 2 lớp Reader và WriterVí dụ 1: Ghi dữ liệu với FileWriterpublic static void main(String[] args) {   try {     //Bước 1: Tạo đối tượng luồng và liên kết nguồn dữ liệu     File f = new File("d:/mydata3.txt");     FileWriter fw = new FileWriter(f);     //Bước 2: Ghi dữ liệu     fw.write("Ghi dữ liệu bằng luồng character");     //Bước 3: Đóng luồng     fw.close();   } catch (IOException ex) {     System.out.println("Loi ghi file: " + ex); }}Ví dụ 2: Đọc dữ liệu với FileReaderpublic static void main(String[] args) {   try {     //Bước 1: Tạo đối tượng luồng và liên kết nguồn dữ liệu     File f = new File("d:/mydata3.txt");     FileReader fr = new FileReader(f);     //Bước 2: Đọc dữ liệu     BufferedReader br = new BufferedReader(fr);     String line;     while ((line = br.readLine()) != null){       System.out.println(line);     }     //Bước 3: Đóng luồng     fr.close();     br.close();    } catch (Exception ex) {      System.out.println("Loi doc file: "+ex);  }}

Thứ Ba, 26 Jul 2022

Hướng dẫn cài đặt môi trường Java và Eclipse
Hướng dẫn cài đặt môi trường Java và Eclipse
1 Cài đặt môi trường JDKJDK (Java Development Kit) là một bộ phát triển phần mềm để phát triển các ứng dụng trong Java. JDK bao gồm JRE và các Development Tool. Bạn có thể cài đặt nhiều phiên bản Java JDK trên cùng một máy tính. Để cài đặt môi trường JDK các bạn thực hiện theo các bước sau:Bước 1: Tải xuống JDKMở trình duyệt và tìm kiếm Tải xuống JDK 17 hoặc nhấp vào liên kết để tải xuống từ trang web Oracle (https://www.oracle.com/java/technologies/downloads/#java17). Nó sẽ hiển thị trang tải xuống JDK như trong Hình 1.Bây giờ hãy nhấp vào liên kết X64 Installer để bắt đầu tải xuống JDK 17.Bước 2 : Cài đặt JDKBây giờ thực thi trình cài đặt JDK bằng cách nhấp đúp vào nó. Nó có thể yêu cầu sự cho phép của hệ thống trước khi bắt đầu cài đặt. Nhấp vào có để cho phép trình cài đặt tự thực thi. Nó hiển thị màn hình chào mừng của trình cài đặt như được hiển thị trong dưới đây:Nhấp vào  nút Tiếp theo (Next) để bắt đầu quá trình cài đặt. Màn hình tiếp theo hiển thị các tùy chọn để thay đổi đường dẫn cài đặt. Có thể thay đổi vị trí cài đặt trên màn hình này nếu muốn. Mặc định nó sẽ được cài đặt trong ổ C như hiển thị trong dưới đây.Bây giờ hãy nhấp vào nút Tiếp theo (Next) để bắt đầu cài đặt. Đợi quá trình cài đặt diễn ra, màn hình cài đặt thành công sẽ được hiển thị như sau:Bước 3: Cài đăt biến môi trường (Environment Variables)Đầu tiên chúng ta mở của sổ RUN của window (bạn nào không biết thì nhấn tổ hợp phím window+R) sau đó nhập vào sysdm.cpl xong nhấn Enter. Tiếp đến chọn thẻ Advanced => Environment Variables như hình bên dưới:Bây giờ hãy nhấp vào nút Environment Variables  > thêm JAVA_HOME & Đường dẫn như được hiển thị trong các hình ảnh dưới đây:Bây giờ chúng ta phải thêm Java Path. Nếu biến Path đã có thì chúng ta chỉ cần nhấp vào nút  Edit…  > sau đó nhấp vào  nút New để thêm đường dẫn như hình bên dưới.Bước 4: Xác minh cài đặt JavaĐể xác minh cài đặt, hãy mở dấu nhắc lệnh ( phím Win + R  và gõ  cmd ), sau đó nhập  java -version  và nhấn phím Enter.Xin chúc mừng! Bạn đã được cài đặt thành công Bộ phát triển Java (JDK) 17 trên hệ thống Windows của mình.

Mon, 27 Tháng sáu 2022

Tìm hiểu sự khác biệt giữa OOP trong C++ và Java
Tìm hiểu sự khác biệt giữa OOP trong C++ và Java
Đặc điểmC++JavaNgôn ngữ thuần OOPKhông phải là ngôn ngữ thuần OOP, được phát triển từ C với tên là C++  hay được gọi là “C với các lớp”.Java là ngôn ngữ thuần OOP. Nghĩa là thành phần nào nó cũng thuộc về lớp, nằm trong lớp.Phạm vi truy cậpC++ có 3 phạm vi truy của cập của thuộc tính và phương thức: private, protected, publicJava mở rộng hơn C++ có 4 phạm vi truy cập: private, default, protected, public.Nạp chồng toán tửC++ có phép chúng ta nạp chồng các toán tử như toán tử vào ra << >>, + – * / hay -= += /= */.Java không cho phép nạp chồng toán tử. Mà chỉ có toán tử + cho phép nối hai chuổi.Hỗ trợ đa kế thừaC++ hổ trợ đa kế thừa, nghĩa là một class có kể kế thừa nhiều lớp dẫn xuất.Java không cho phép bạn đa kế thừa từ nhiều lớp, mà chỉ kế thừa 1 lớp và được implements nhiều interfaceHỗ trợ interfaceC++ không tồn tại khái niệm interfaceJava hỗ trợ interfaceLớp vô sinhC++ không có lớp vô sinh, nghĩa là lớp dẫn xuất được tạo ra thì các lớp con có thể kế thừaJava có lớp vô sinh khi chúng ta đánh dấu final cho lớp. Khi đó lớp này sẽ không có lớp nào kế thừa từ nó.Hàm bạn, lớp bạnC++ có hổ trợ hàm bạn, lớp bạnJava không hổ trợ hàm bạn, lớp bạnLớp cha của mọi lớpMột lớp trong C++ được tạo ra và chưa kế thừa từ lớp nào thì nó không có lớp cha.Mặc định trong Java khi một lớp được tạo ra thì cha của nó chính là lớp Object. Lớp Object này là cha của mọi lớp trong Java.Tổ chức trong classC++ chúng ta có thể gom nhóm những thuộc tính hay phương thức có cùng phạm vi truy cập với nhau. Ví dụpublic:int a;int b;C++ định nghĩa các prototype trong file .h và định nghĩa thân các method trong file .cppTrước mỗi method hay thuộc tính chúng ta phải chỉ định phạm vi truy cập. Nếu không chỉ định thì Java hiểu đó là defaut.Java khai báo và định nghĩa method trong một file .javaPhạm vi truy cập mặc địnhTrong C++ nếu chúng ta không chỉ rõ phạm vi truy cTrong Java nếu không chỉ rõ tường mình thì mặc định thuộc tính hay phương thức đó sẽ có phạm vi truy cập là default.Phạm vi truy cập protectedPhạm vi truy cập là protected trong C++ chỉ truy cập được ở trong class định nghĩa và ở lớp conPhạm vi truy cập protected trong Java được truy cập ở Java là trong class định nghĩa, trong cùng package và lớp con trong cùng package.Gọi lại phương thức của lớp chaC++ sử dụng cú pháp <class_name>::method();Java sử dụng từ khóa super với cú pháp:Super.method();Gọi lại constructor của lớp C++ không cho phép gọi lại contructor khác trong một contructor khác của lớp Java cho phép gọi lại contructor của lớp trong một contructor khác với cú pháp:this(parameter) Kiểu kế thừa Trong C++ có các kiểu kế thừa lớp là:Private, protected, public Trong Java chỉ có kiểu kế thừa là public. Phương thức vô sinh Trong C++ không tồn tại phương thức vô sinh. Nghĩa là có thể override lại ở lớp con. Trong Java nếu phương thức được đánh dấu là final thì ở lớp con không thể override lại được. Phương thức thuần túy ảo C++ có khái niệm phương thức thuần túy ảo. Với cú pháp: return type  name_method()= 0;Java không có khái niệm phương thức thuần túy ảo. Lớp ảo C++ nhận biết lớp ảo khi lớp đó có các phương thức đánh dấu với từ khóa virtual hoặc phương thức thuần ảo Java nhận biết lớp ảo khi khai báo lớp có từ khóa abtract và có những phương thức được đánh dấu là abstract.Phương thức ảoPhương thức ảo trong C++ được đánh dấu bởi từ khóa virtual và có định nghĩa bên trong thân hàm.Phương thức ảo trong Java được đánh dấu bởi từ khóa abstract. Những phương thức này không có định nghĩa thân hàm, kết thúc bằng dấu ‘;’Tổ chức class như thư mụcTrong C++ chúng ta nhắc đến namespace để định nghĩa các lớp trong này.Java định nghĩa các class trong các package.Lập trình đồng bộC++ không hổ trợ lập trình đồng bộ cho class.Java hổ trợ lập trình đồng bộ với từ khóa synchronized.Hàm mainHàm main của C++ không thuộc về lớp nào. Là một hàm cục bộHàm main trong java cũng nằm trong một class vì java là ngôn ngữ thuần OOP.DestructorC++ có destructor. Người lập trình phải chủ động thu dọn vùng nhớ đã cấp phát.Java không có khái niệm destructor mà có bộ thu gom rác gọi là GC (garbage collection). Khi một đối tượng không còn tham chiếu nữa thì bộ thu gom rác sẽ hoạt động.

Thứ Ba, 01 Mar 2022

Tất cả Blog