1. Trang chủ
  2. » Giáo Dục - Đào Tạo

tìm hiểu và bước đầu làm quen với lập trình java

20 204 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 20
Dung lượng 253,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Sun, công ty đã phát minh ra ngôn ngữ Java, chính thức ban hành bản Java Development Kit 1.0 vào năm 1996 hoàn toàn miễn phí để các nhà phát triển có thể tải về, học Java, xây dựng các ứ

Trang 1

LỜI NÓI ĐẦU

Java là một công nghệ xây dựng các ứng dụng phần mềm có vị trí rất lớn trong những năm cuối thế kỉ 20, đầu thế kỉ 21 Nó được coi là công nghệ mang tính cách mạng và khả thi nhất trong việc tạo ra các ứng dụng có khả năng chạy thống nhất trên nhiều nền tảng mà chỉ cần biên dịch một lần

Lần đầu tiên xuất hiện vào năm 1992 như là một ngôn ngữ dùng trong nội bộ tập đoàn Sun Microsystems để xây dựng ứng dụng điều khiển các bộ xử lý bên trong máy điện thoại cầm tay, lò vi sóng, các thiết bị điện tử dân dụng khác Không chỉ là một ngôn ngữ, Java còn là một nền tảng phát triển và triển khai ứng dụng trong đó máy ảo Java, bộ thông dịch có vai trò trung tâm Sun, công ty đã phát minh ra ngôn ngữ Java, chính thức ban hành bản Java Development Kit 1.0 vào năm 1996 hoàn toàn miễn phí để các nhà phát triển có thể tải về, học Java, xây dựng các ứng dụng Java và triển khai chúng trên các hệ điều hành có hỗ trợ Java Khi nhắc đến Java người ta không còn chỉ nhắc đến Java như là một ngôn ngữ mà nhắc đến Java như là một công nghệ hay một nền tảng phát triển

Cũng như nhiều trường Đại học khác, Viện Đại Học Mở Hà Nội từ lâu đã đưa Java vào chương trình giảng dạy cho sinh viên Bài tập lớn này nhằm mục đích giúp sinh viên tìm hiểu và bước đầu làm quen với lập trình Java

Xin chân thành cảm ơn thầy Dương Thăng Long đã hướng dẫn và giúp đỡ em thực hiện bài tập này!

Trang 2

MỤC LỤC

I.Giới thiệu tổng quan về Java……… …1

1.Nền tảng được thiết lập cho Java……… … … 1

2.Ngôn ngữ lập trình Java……….…….2

3.Sự ra đời của Java……… 2

4.Triết lý của Java……….3

5.Một số đặc điểm của Java……… ……4

6.Ứng dụng……… 7

7.Một vài khái niệm……….7

II Giới thiệu tổng quan về J2ME……….9

1 Lịch sử phát triển……… 9

2 Tại sao chúng ta chọn J2ME……….9

3 Kiến trúc của J2ME………9

4 Giới thiệu MIDP……….12

III Bài tập thực hành……… 13

1 Đề bài……… 13

2 Nội dung mã nguồn (source code)……… 14

Trang 3

I.GIỚI THIỆU TỔNG QUAN VỀ JAVA

Ngôn ngữ lập trình Java là một trong những chủ đề được nói đến nhiều nhất trong thế giới hiện nay, và logo của Java - một tách cà phê bốc khói, cùng các applet Java, tràn ngập khắp nơi trên World Wide Web Vậy, hiện tượng Java có

gì đặc biệt, và tại sao nó lại có thể làm thay đổi bộ mặt của thế giới điện toán? Tuy nhiên, Java là một ngôn ngữ lập trình có những khác biệt Để thực sự hiểu được sức mạnh của Java và các nguyên nhân làm cho nó nhanh chóng được ưa chuộng, bạn phải xem xét hoàn cảnh khai sinh ra nó và bầu không khí mà nó đã sống để nắm bắt lấy khả nǎng sáng tạo của nền công nghiệp máy tính Dưới đây

là cái nhìn tổng quan về ngôn ngữ lập trình Java và công nghệ Java

1.Nền tảng được thiết lập cho Java

Vào cuối thập niên 80 và đầu thập niên 90, ngôn ngữ lập trình hướng đối tượng C++ được sử dụng phổ biến Dường như các lập trình viên đã tìm được một ngôn ngữ lập trình hoàn hảo Bởi vì C++ pha trộn tính hiệu quả cao và các yếu

tố phong cách C với mô hình hướng đối tượng Tuy nhiên, cũng như trong quá khứ, một lần nữa đã thay đổi sự phát triển của ngôn ngữ máy tính Chỉ trong vòng vài năm, World Wide Web và Internet đã đến với số đông Điều này chuẩn

bị cho một cuộc cách mạng trong ngôn ngữ lập trình, về cơ bản dẫn đến sự ra đời của Java

Java là một công nghệ xây dựng các ứng dụng phần mềm có vị trí rất lớn trong những năm cuối thế kỉ 20, đầu thế kỉ 21 Nó được coi là công nghệ mang tính cách mạng và khả thi nhất trong việc tạo ra các ứng dụng có khả năng chạy thống nhất trên nhiều nền tảng mà chỉ cần biên dịch một lần Ngày nay, Java là một nền tảng tất yếu của các ứng dụng quy mô lớn của các doanh nghiệp nhờ vào khả năng mở rộng cũng như những nền tảng vô cùng phong phú mà nó cung cấp

Sun Microsystem (SUN viết tắt của Stanford University Network), công ty đã phát minh ra ngôn ngữ Java, chính thức ban hành bản Java Development Kit 1.0 vào năm 1996 hoàn toàn miễn phí Java đã trải qua 3 bước phát triển quan trọng: Java 1.0 gắn liền với bản JDK đầu tiên, Java 2 gắn với JDK 1.2 và Java 5 gắn với J2SDK 1.5

Trang 4

2.Ngôn ngữ lập trình Java

Ngôn ngữ lập trình Java là ngôn ngữ hướng đối tượng (tựa C++) do SUN đưa ra vào giữa thập niên 90 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 (runtime environment) chạy Bằng cách này, Java thường chạy nhanh hơn những ngôn ngữ lập trình thông dịch khác như Python, Perl, PHP, và khả chuyển hơn các ngôn ngữ lập trình biên dịch như C++ Không nên lẫn lộn Java với JavaScript, mặc dù 2 ngôn ngữ đó giống tên và cùng loại cú pháp như C

Ngày nay, đối với Java người ta không còn nhắc đến như là 1 ngôn ngữ lập trình mà nhắc đến một công nghệ hay một nền tảng phát triển, nó bao gồm các

bộ phận:

* Máy ảo Java: JVM

* Bộ công cụ phát triển: J2SDK

* Các đặc tả chi tiết kĩ thuật (specifications)

* Ngôn ngữ lập trình (programming language)

* Các công nghệ đi kèm như JSP, Servlet, EJB, JDBC, JNDI, JMX, RMI … và framework như Struts, Spring, JSF, Hibernate, JavaFX

3.Sự ra đời của Java

Ngôn ngữ lập trình Java do James Gosling và các cộng sự trong nhóm Green Team của Công ty Sun Microsystem phát triển Được thai nghén như là một kiểu ngôn ngữ dùng cho các thiết bị tiêu dùng, SUN giới thiệu Java năm 1995 như một thứ ngôn ngữ lập trình dành cho các trình duyệt Web Java nhanh chóng được áp dụng để xây dựng các công cụ hàng đầu cho các doanh nghiệp cũng như trong các ứng dụng tối quan trọng

Đáng ngạc nhiên là sự thúc đẩy ban đầu của Java không phải là Internet Thay

vào đó động cơ chính là sự cần thiết của một ngôn ngữ có nền tảng độc lập

(hay là kiến trúc trung lập) có thể được dùng để tạo ra phần mềm được nhúng trong nhiều thiết bị tiêu dùng điện tử khác nhau Ta có thể đoán được, nhiều kiểu CPU được dùng như là bộ điều khiển Vấn đề rắc rối đối với C và C++ (hay hầu hết các ngôn ngữ khác) là chúng được thiết kế để được biên dịch cho

Trang 5

một đối tượng nhất định Mặc dù có thể biên dịch một chương trình C++ cho bất cứ loại CPU nào, để làm điều đó đòi hỏi một trình biên dịch C++ đầy đủ cho CPU đó Vấn đề là trình biên dịch đó rất đắt đỏ và mất nhiều thời gian để tạo ra

nó Vì vậy cần một giải pháp dễ dàng và hiệu quả hơn

Trong nỗ lực để tìm ra giải pháp đó, Gosling và các đồng nghiệp bắt đầu làm việc trên một ngôn ngữ linh động và độc lập với nền tảng, nó có thể được dùng

để sinh ra mã có thể thực thi được trên các CPU khác nhau dưới các môi trường khác nhau

Sau hơn 18 tháng để phát triển phiên bản đầu tiên, nhóm đặt tên cho ngôn ngữ

là Oak (có nghĩa là cây sồi, do bên ngoài cơ quan của ông Gosling có trồng nhiều loại cây này) Sau này Gosling biết tên Oak đã được sử dụng cho một

ngôn ngữ lập trình từ trước đó nên đổi tên là Java - đây là tên gọi của một hòn đảo ở Indonexia, 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 mới 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 Java có vô số những tính năng rất hấp dẫn đối với người phát triển như mô hình hướng đối tượng, cấu trúc mã rất dễ hiểu dựa trên C/C++ nhưng có tính liên kết

và logic nhất quán cao hơn, có ít các cấu trúc không an toàn, ít các tính năng xử

lý cấp thấp hơn, cơ chế “dọn dẹp” bộ nhớ tự động tích hợp sẵn và đặc biệt là có khả năng chạy trên nhiều nền phần cứng khác nhau

4.Triết lý của Java

Write Once, Run Anywhere

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

Trang 6

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

Để đánh giá hết ý nghĩa của tính độc lập với hệ máy này, hãy tưởng tượng bạn

là một nhà biên soạn phần mềm, bạn mới đưa ra một trình duyệt Web dùng cho Windows 3.1 Do yêu cầu, bạn phải phát triển một sản phẩm giống như vậy nhưng dành cho người sử dụng các hệ điều hành khác như Mac OS, Unix hay các version khác của Windows (ví dụ 95 và NT) Để tiếp cận những thị trường

đó, bạn phải sửa lại chương trình trên cơ sở hệ mới nếu không muốn nói là bạn

có thể soạn thảo lại toàn bộ Nhưng với Java bản chỉ phải biên soạn một lần và

nó sẽ hoạt động trên mọi hệ thống, mọi hệ điều hành, miễn là bạn có một trình thông dịch Java hoạt động trong lúc chạy

5.Một số đặc điểm của Java

Đơn giản (simple):

Java đơn giản vì, mặc dù dựa trên cơ sở C++ nhưng Sun đã cẩn thận lược bỏ các tính năng khó nhất của C++ để làm cho ngôn ngữ này dễ sử dụng hơn Là một ngôn ngữ lập trình hoàn toàn mới, nó buộc phải có dáng vẻ và sự cảm nhận tương tự như các ngôn ngữ phổ biến hiện hành đồng thời đòi hỏi khoảng thời gian huấn luyện lại tối thiểu và thân thiện hơn với người dùng

Do đơn giản, ngôn ngữ này cũng rất nhỏ - nên nhớ rằng từ đầu nó đã được xây dựng để dùng cho điện tử dân dụng như đầu chạy bằng video và hộp điều khiển

từ xa, những thiết bị có không gian lưu trữ rất hạn chế

Hướng đối tượng (Object Oriented):

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ư

Trang 7

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 phần sau

Hiểu mạng (network-savvy):

Java được lập ra để hoạt động trên mạng và có các thủ tục để có thể quản lý các giao thức mạng như TCP/IP, FTP và HTTP Nói cách khác, Java được xây dựng

để thực hiện hoàn toàn thích hợp trên Internet Chương trình Java thậm chí có thể xâm nhập vào các đối thượng khác thông qua Internet bằng cách sử dụng URL (địa chỉ Web) để định vị chúng

Mạnh mẽ (robust):

Khả năng mạnh phải phù hợp với thiết kế của ngôn ngữ, và hướng nó vào việc khắc phục những hư hỏng bộ nhớ và đảm bảo tính toán vẹn dữ liệu Ví dụ, Java

có tính năng "automatic garbage collection" (tự động thu gom rác) - có nghĩa là

bộ nhớ được giải phóng một cách tự động - nên lập trình viên không phải bận tâm về việc quản lý bộ nhớ và nhờ đó ít có xu hướng làm những việc gây hỏng

An toàn (secure):

Khả năng hướng mạng của Java tự động đưa ra yêu cầu về an toàn Đặc tính an toàn của ngôn ngữ lập trình này bắt nguồn từ việc nó có những phần hạn chế được cài sẵn nhằm đề phòng các chương trình Java thực hiện những chức năng như ghi vào ổ cứng của người dùng hay cho phép virus từ mạng hoặc từ môi trường phân tán thâm nhập vào

Độc lập với cấu trúc (architecture neutral):

Đây là thuộc tính đặc sắc nhất của Java Java được tạo ra với tiêu chí "Viết (code) một lần, thực thi khắp nơi" ("Write Once, Run Anywhere" (WORA)) Tính năng biên dịch một lần và chạy nhiều nền có thể đạt được nhờ just-in-time compiler (JIT), chuyển mã bytecode của Java sang mã máy khi chương trình đang chạy 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áy ảo java 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 và nhiều hệ thống cài đặt trên các thiết bị di động

Trang 8

Di động (portable):

Đối với một phạm vi rộng, Java là loại có thể di chuyển nhờ khả năng độc lập với hệ máy Đồng thời, các loại dữ liệu, giao diện, cũng như dáng vẻ và cảm nhận của Java đều giống nhau trên mọi hệ máy Hệ thống các thành phần của java cũng có tính di động cao - nó được viết bằng Java

Thông dịch (Interpreter):

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

Để chạy Java bytecode, cần cài đặt JRE (Java Runtime Environment) JRE cung cấp các thư viện cơ bản, Java Virtual Machine, plugin cho trình duyệt, và những thứ khác

Tốc độ cao (high performance):

Khi Sun Microsystems mô tả Java có tốc độ cao, có lẽ họ muốn nói về mã bytecode được thông dịch hiệu quả như thế nào ( Java thường chạy nhanh hơn những ngôn ngữ lập trình thông dịch khác như Python, Perl, PHP ) Về tốc độ các applet hay chương trình Java thì nói chung đều chậm hơn các chương trình Java thì nói chung đều chậm hơn các chương trình được biên dịch viết bằng C+ +, vì chương trình này đã được tối ưu hoá từ trước cho hệ máy nhất định Java

đã phải trả giá về hiệu suất cho tính không phụ thuộc hệ của nó

Đa luồng (multithreaded):

Đa luồng có nghĩa là ngôn ngữ Java cho phép xây dựng trình ứng dụng, trong

đo, nhiều quá trình có thể xảy ra đồng thời Tính đa luồng cho phép các nhà lập trình có thể biên soạn phần mềm đáp ứng tốt hơn, tương tác tốt hơn, và thực hiện theo thời gian thực

Tính động (dynamic):

Java động vì nó được thiết kế để đáp ứng với môi trường tác nghiệp luôn trong tình trạng thay đổi Khi có yêu cầu mới xuất hiện trên thị trường, các loại đối tượng mới có thể được bổ sung vào ngay

Trang 9

6.Ứng dụng

Ban đầu, Java chủ yếu dùng để phát triển các applet, các ứng dụng nhúng vào trình duyệt, góp phần làm sinh động các trang web tĩnh vốn hết sức tẻ nhạt hồi

dó Tuy nhiên, cùng với sự phát triển của công nghệ thông tin và nhu cầu của xã hội, Java applet đã dần mất đi vị trí của nó và thay vào đó, các công ty, cộng đồng ủng hộ Java đã phát triển nó theo một hướng khác Hiện nay, công nghệ Java được chia làm ba bộ phận 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 Standard Edition)Gồm các đặc tả, công cụ, API của nhân Java

giúp phát triển các ứng dụng trên desktop và định nghĩa các phần thuộc nhân của Java: platform cho phát triển và thực thi các ứng dụng Java trên desktop và server, cũng như các thiết bị nhúng, và môi trường thời gian thực

J2EE (Java Enterprise Edition) Gồm các đặc tả, công cụ, API mở rộng J2SE

để phát triển các ứng dụng qui mô doanh nghiệp, chủ yếu để chạy trên máy chủ (server) Bộ phận hay được nhắc đến nhất của công nghệ này là công nghệ Servlet/JSP: sử dụng Java để làm các ứng dụng web

J2ME (Java Micro Edition) Gồm các đặc tả, công cụ, API mở rộng để phát

triển các ứng dụng Java chạy trên điện thoại di động, thẻ thông minh, thiết bị điện tử cầm tay, robo và những ứng dụng điện tử khác

7.Một vài khái niệm

SDK (Software Development Kit) thường là khái niệm chỉ một bộ công cụ lập

trình, tiện ích, tài liệu và các thư viện API JDK hay J2SDK là sdk dùng cho

Java do Sun Microsystems phát triển JDK cung cấp các tiện ích command line dùng để biên dịch và chạy các ứng dụng java (lệnh javac, java ), các công cụ lập trình, như trình biên dịch và tìm lỗi, javadoc và hệ thống thư viện các java

JVM (Java virtual machine) là máy ảo java Các class java sau khi build sẽ

sinh ra các file java byte code (các file class và jar) Các file này thì chỉ có mình JVM hiểu mà thôi Và JVM sẽ đọc các file này và sinh ra mã tương ứng với từng hệ điều hành (window, linux, mac ) Đây cũng chính là lý do làm cho java có thể "write one run anywhere" Để dễ hình dung, bạn có thể nghĩ rằng JVM trên Windows chính là jre\bin\java.exe và jre\bin\javaw.exe và các DLL của 2 file exe này

Trang 10

JRE (Java Runtime Environment) - môi trường thực thi Java, cung cấp các

Java API, máy ảo Java (Java Virtual Machine hay JVM) và các thành phần cần thiết khác để chạy các applet và ứng dụng viết bằng ngôn ngữ lập trình Java Môi trường thực thi Java không có các công cụ và tiện ích như là các trình biên dịch hay các trình gỡ lỗi để phát triển các applet và các ứng dụng

Java Runtime library là thư viện các class đã được compiled sẵn và đặt trong

file jre\lib\rt.jar Các class java.lang.String, java.lang.Object, nằm trong gói jar này

JRE = JVM + Java Runtime library: bạn sẽ thấy java.exe, javaw.exe và rt.jar

trong thư mục cài đặt jre

JDK = JRE + tools (javac.exe, keytool.exe, ) + document (help, samples, ) + src.zip

Người cài gói JDK chủ yếu là các lập trình viên Java, khi họ muốn dùng các tools của JDK để compile mã nguồn sau đó chạy chương trình Java đã được compile này (dùng JRE của JDK) JDK có tích hợp sẵn private JRE, nếu bạn là người sử dụng chỉ muốn thực thi chương trình java thì chỉ cần cài Public JRE chứ không cần cài cả JDK

II GIỚI THIỆU TỔNG QUAN VỀ J2ME

Có lẻ nhắc đến J2ME tất cả chúng ta đểu biết nó làm một nền tảng lập trình của Sun dùng để phát triển các ứng dụng và game cho các thiết bị di động Để tìm hiểu về J2ME trước tiên chúng ta cùng đi tìm hiểu từ những khái niệm cơ bản

1 Lịch sử phát triển

a) J2ME được phát triển từ kiến trúc Java Card, Embeded Java và Personal Java của phiên bản Java 1.1 Đến sự ra đời của Java 2 thì Sun quyết định thay thế Personal Java và đươc gọi với tên mới là Java 2 Micro Edition, hay viết tắt là J2ME Đúng với tên gọi, J2ME là nền tảng cho các thiết bị có tính chất nhỏ, gọn:

Ngày đăng: 29/08/2017, 11:05

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w