[Kiến thức] Bài 1: Giới thiệu về ngôn ngữ Java

<span style=‘font-size:7pt;line-height:100%’><b><span style=‘font-size:7pt;line-height:100%’>Xin chào các bạn!
Hôm nay, mình xin được phép bắt đầu serial về lập trình Java trong chuyên ngành Mạng máy tính của chúng ta. Các bài post lên này của mình được tham khảo từ nhiều nguồn trên internet, các sách giáo trình về Java. Mình đã chắt lọc những gì cần thiết cho mình, và mình thiết nghĩ cũng cần thiết cho các bạn mới bắt đầu như mình. Mình và các bạn sẽ thảo luận những gì liên quan đến java trong topic này.
Đây là bài đầu tiên, giới thiệu về java:</span></b></span>

<b>1. Giới thiệu</b>
Ngôn ngữ lập trình java ra đời và được các nhà nghiên cứu của Công ty Sun Microsystem giới thiệu vào năm 1995. Sau khi ra đời không lâu, ngôn ngữ lập trình này đã được sử dụng rộng rãi và phổ biến đối với các lập trình viên chuyên nghiệp cũng như các nhà phát triển phần mềm. Gần đây ngôn ngữ lập trình, công nghệ java đã được đưa vào giảng dạy ở các cơ sở đào tạo lập trình viên chuyên nghiệp. Một số trường đại học ở Việt Nam dạy môn lập trình java như một chuyên đề tự chọn cho các sinh viên công nghệ thông tin giai đoạn chuyên ngành.
<b>2. Java là gì?</b>

Java là ngôn ngữ lập trình hướng đối tượng (tựa C++) do
Sun Microsystem đưa ra vào giữa thập niên 90.
Chương trình viết bằng ngôn ngữ lập trình java có thể chạy trên bất kỳ hệ thống nào có cài máy ảo java (Java Virtual Machine).
<b>3. Lịch sử</b>

Ngôn ngữ lập trình Java do James Gosling và các công sự
của Công ty Sun Microsystem phát triển.

Đầu thập niên 90, Sun Microsystem tập hợp các nhà nghiên cứu thành lập nên nhóm đặt tên là Green Team. Nhóm Green Team có trách nhiệm xây dựng công nghệ mới cho ngành điện tử tiêu dùng. Để giải quyết vấn đề này nhóm nghiên cứu phát triển đã xây dựng một ngôn ngữ lập trình mới đặt tên là Oak tương tự như C++ nhưng loại bỏ một số tính năng nguy hiểm của C++ và có khả năng chạy trên nhiều nền phần cứng khác nhau. Cùng lúc đó world wide web bắt đầu phát triển và Sun đã thấy được tiềm năng của ngôn ngữ Oak nên đã đầu tư cải tiến

và phát triển. Sau đó không lâu ngôn ngữ mới với tên gọi là
Java ra đời và được giới thiệu năm 1995.

Java là tên gọi của một hòn đảo ở Indonexia, Đây là nơi nhóm nghiên cứu phát triển đã chọn để đặt tên cho ngôn ngữ lập trình Java trong một chuyến đi tham quan và làm việc trên hòn đảo này. Hòn đảo Java này là nơi rất nổi tiếng với nhiều khu vườn trồng cafe, đó chính là lý do chúng ta thường thấy biểu tượng ly café trong nhiều sản phẩm phần mềm, công cụ lập trình Java của Sun cũng như một số hãng phần mềm khác đưa ra.

<b>4. Một số đặc điểm nổi bật của ngôn ngữ Java</b>

<b>Máy ảo Java (JVM - Java Virtual Machine)</b>

Tất cả các chương trình muốn thực thi được thì phải được biên dịch ra mã máy. Mã máy của từng kiến trúc CPU của mỗi máy tính là khác nhau (tập lệnh mã máy của CPU Intel, CPU Solarix, CPU Macintosh … là khác nhau), vì vậy trước đây một chương trình sau khi được biên dịch xong chỉ có thể chạy được trên một kiến trúc CPU cụ thể nào đó. Đối với CPU Intel chúng ta có thể chạy các hệ điều hành như Microsoft Windows, Unix, Linux, OS/2, … Chương trình thực thi được trên Windows được biên dịch dưới dạng file có đuôi .EXE còn trên Linux thì được biên dịch dưới dạng file có đuôi .ELF, vì vậy trước đây một chương trình chạy được trên Windows muốn chạy được trên hệ điều hành khác như Linux chẳng hạn thì phải chỉnh sửa và biên dịch lại. Ngôn ngữ lập trình Java ra đời, nhờ vào máy ảo Java mà khó khăn nêu trên đã được khắc phục. Một chương trình viết bằng ngôn ngữ lập trình Java sẽ được biên dịch ra mã của máy ảo java (mã java bytecode). Sau đó máy ảo Java chịu trách nhiệm chuyển mã java bytecode thành mã máy tương ứng. Sun Microsystem chịu trách nhiệm phát triển các máy ảo Java chạy trên các hệ điều hành trên các kiến trúc CPU khác nhau.

<b>Thông dịch:</b>

Java là một ngôn ngữ lập trình vừa biên dịch vừa thông dịch. Chương trình nguồn viết bằng ngôn ngữ lập trình Java có đuôi *.java đầu tiên được biên dịch thành tập tin có đuôi *.class và sau đó sẽ được trình thông dịch thông dịch thành mã máy.

<b>Độc lập nền:</b>

Một chương trình viết bằng ngôn ngữ Java có thể chạy trên nhiều máy tính có hệ điều hành khác nhau (Windows, Unix, Linux, …) miễn sao ở đó có cài đặt máy ảo java (Java Virtual Machine). Viết một lần chạy mọi nơi (write once run anywhere).

<b>Hướng đối tượng:</b>

Hướng đối tượng trong Java tương tự như C++ nhưng Java là một ngôn ngữ lập trình hướng đối tượng hoàn toàn. Tất cả mọi thứ đề cập đến trong Java đều liên quan đến các đối tượng được định nghĩa trước, thậm chí hàm chính của một chương trình viết bằng Java (đó là hàm main) cũng phải đặt bên trong một lớp. Hướng đối tượng trong Java không có tính đa kế thừa (multi inheritance) như trong C++ mà thay vào đó Java đưa ra khái niệm interface để hỗ trợ tính đa kế thừa. Vấn đề này sẽ được bàn chi tiết trong chương 3.

<b>Đa nhiệm - đa luồng (MultiTasking - Multithreading):</b>

Java hỗ trợ lập trình đa nhiệm, đa luồng cho phép nhiều tiến trình, tiểu trình có thể chạy song song cùng một thời điểm và tương tác với nhau.

<b>Khả chuyển (portable):
</b>
Chương trình ứng dụng viết bằng ngôn ngữ Java chỉ cần chạy được trên máy ảo Java là có thể chạy được trên bất kỳ máy tính, hệ điều hành nào có máy ảo Java. “Viết một lần, chạy mọi nơi” (Write Once, Run Anywhere).

<b>Hỗ trợ mạnh cho việc phát triển ứng dụng:</b>

Công nghệ Java phát triển mạnh mẽ nhờ vào “đại gia Sun Microsystem” cung cấp nhiều công cụ, thư viện lập trình phong phú hỗ trợ cho việc phát triển nhiều loại hình ứng dụng khác nhau cụ thể như: J2SE (Java 2 Standard Edition) hỗ trợ phát triển những ứng dụng đơn, ứng dụng client-server; J2EE (Java 2
Enterprise Edition) hỗ trợ phát triển các ứng dụng thương mại, J2ME (Java 2 Micro Edition) hỗ trợ phát triển các ứng dụng trên các thiết bị di động, không dây, …

<b>5. Các ứng dụng Java</b>

<b>Java và ứng dụng Console</b>

Ứng dụng Console là ứng dụng nhập xuất ở chế độ văn bản tương tự như màn hình Console của hệ điều hành MS-DOS. Lọai chương trình ứng dụng này thích hợp với những ai bước đầu làm quen với ngôn ngữ lập trình java.

Các ứng dụng kiểu Console thường được dùng để minh họa các ví dụ cơ bản liên quan đến cú pháp ngôn ngữ, các thuật toán, và các chương trình ứng dụng không cần thiết đến giao diện người dùng đồ họa.

<b>Java và phát triển ứng dụng Desktop dùng AWT và JFC</b>

Việc phát triển các chương trình ứng dụng có giao diện người dùng đồ họa trực quan giống như những chương trình được viết dùng ngôn ngữ lập trình VC++ hay Visual Basic đã được java giải quyết bằng thư viện AWT và JFC. JFC là thư viện rất phong phú và hỗ trợ mạnh mẽ hơn nhiều so với AWT. JFC giúp cho người lập trình có thể tạo ra một giao diện trực quan của bất kỳ ứng dụng nào.

<b>Java và phát triển ứng dụng Web</b>

Java hỗ trợ mạnh mẽ đối với việc phát triển các ứng dụng Web thông qua công nghệ J2EE (Java 2 Enterprise Edition). Công nghệ J2EE hoàn toàn có thể tạo ra các ứng dụng Web một cách hiệu quả không thua kém công nghệ .NET mà Microsft đang quảng cáo.

Hiện nay có rất nhiều trang Web nổi tiếng ở Việt Nam cũng như khắp nơi trên thế giới được xây dựng và phát triển dựa trên nền công nghệ Java. Số ứng dụng Web được xây dựng dùng công nghệ Java chắc chắn không ai có thể biết được con số chính xác là bao nhiêu, nhưng chúng tôi đưa ra đây vài ví dụ để thấy rằng công nghệ Java của Sun là một “đối thủ đáng gờm” của Microsoft.

<a href=‘http://java.sun.com/’ target=‘_blank’>http://java.sun.com/&lt;/a&gt;
<a href=‘http://e-docs.bea.com/’ target=‘_blank’> <a href=‘http://e-docs.bea.com/’ target=‘_blank’>http://e-docs.bea.com/&lt;/a&gt;&lt;/a&gt;
<a href=‘http://www.macromedia.com/software/jrun/’ target=‘_blank’> <a href=‘http://www.macromedia.com/software/jrun/’ target=‘_blank’>http://www.macromedia.com/software/jrun/&lt;/a&gt;&lt;/a&gt; <a href=‘http://www.macromedia.com/software/jrun/’ target=‘_blank’>http://tomcat.apache.org/index.html&lt;/a&gt;
Chắc không ít người trong chúng ta biết đến trang web thông tin nhà đất nổi tiếng ở TPHCM đó là: <a href=‘http://www.nhadat.com/’ target=‘_blank’>http://www.nhadat.com/&lt;/a&gt;. Ứng dụng Web này cũng được xây dựng dựa trên nền công nghệ java.

Bạn có thể tìm hiểu chi tiết hơn về công nghệ J2EE tạo địa chỉ:

<a href=‘http://java.sun.com/j2ee/’ target=‘_blank’>http://java.sun.com/j2ee/&lt;/a&gt;

<b>Java và phát triển các ứng dụng nhúng</b>

Java Sun đưa ra công nghệ J2ME (The Java 2 Platform, Micro Edition J2ME) hỗ trợ phát triển các chương trình, phần mềm nhúng. J2ME cung cấp một môi trường cho những chương trình ứng dụng có thể chạy được trên các thiết bị cá nhân như: điện thọai di động, máy tính bỏ túi PDA hay Palm, cũng như các thiết bị nhúng khác.

Bạn có thể tìm hiểu chi tiết hơn về công nghệ J2ME tại địa chỉ:

<a href=‘http://java.sun.com/j2me/’ target=‘_blank’>http://java.sun.com/j2me/&lt;/a&gt;

Hix, mệt quá. Tí nữa học được bao nhiêu thì post tiếp:(57):

<!–QuoteBegin–></div><table border=‘0’ align=‘center’ width=‘95%’ cellpadding=‘3’ cellspacing=‘1’><tr><td><b>QUOTE</b> </td></tr><tr><td id=‘QUOTE’><!–QuoteEBegin–>Cái này ko cần nhiều lắm đâu <!–emo&:P–><img src=‘http://www.uit.edu.vn/forum/html/emoticons/tongue.gif’ border=‘0’ style=‘vertical-align:middle’ alt=‘tongue.gif’ /><!–endemo–>

Thế có code Đồ án FTP (File Transport Protocol) không?
Post lên đi <!–emo&:)–><img src=‘http://www.uit.edu.vn/forum/html/emoticons/smile.gif’ border=‘0’ style=‘vertical-align:middle’ alt=‘smile.gif’ /><!–endemo–>
<!–QuoteEnd–></td></tr></table><div class=‘postcolor’><!–QuoteEEnd–>
<span style=‘color:purple’>
Hi. Nói đùa vậy thôi nha bạn Thương “mến yêu”. <!–emo&:P–><img src=‘http://www.uit.edu.vn/forum/html/emoticons/tongue.gif’ border=‘0’ style=‘vertical-align:middle’ alt=‘tongue.gif’ /><!–endemo–>
Ủng hộ. Upload nhanh lên đến bài Code cho em <!–emo&:P–><img src=‘http://www.uit.edu.vn/forum/html/emoticons/tongue.gif’ border=‘0’ style=‘vertical-align:middle’ alt=‘tongue.gif’ /><!–endemo–>
Hi.
Thân!

</span>