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

Một phần của tài liệu Xây dựng hệ thống phần mềm thao tác, hiển thị thông tin địa lý trên môi trường mạng Internet (Trang 62 - 66)

II.1 Giới thiệu về ngôn ngữ lập trình Java

Java đợc thiết kế bởi nhóm các nhà khoa học thuộc công ty Sun Microsystems ở California. Nó xuất phát từ một dự án xây dựng phần mềm cho các thiết bị điện tử dân dụng khác nhau. Nhóm dự án cũng sớm nhận ra rằng các ngôn ngữ đợc a chuộng vào thời đó nh C,C++ có nhiều khó khăn và rắc rối khi đa vào các bộ vi xử lý mới. Chính vì vậy Java đã ra đời với mục tiêu tạo những chơng trình rất nhỏ, khả chuyển, chạy nhanh và tin cậy.

Java là một nền tảng độc lập có thể chạy trên hầu hết các máy tính với các platform khác nhau mà không cần thay đổi. Đây cũng là một trong những tiêu chí hàng đầu của các nhà phát triển Java. Khẩu hiệu “ Viết một lần, chạy mọi nơi” (Write Once, Run Anywhere) đã trở nên phổ biến và cũng là một mãnh lực hấp đẫn to lớn với các nhà phát triển phần mềm. Hãy thử tởng tợng rằng chúng ta bỏ biết bao công sức để

Xây dựng hệ thống phần mềm thao tác, hiển thị thông tin địa lý trên môi trờng mạng Internet

viết một phần mềm trên một hệ điều hành (ví dụ nh Windows) nhng khi cần phải triển khai trên các hệ điều hành khác (nh Unix hay Linux ,…) thì lại phải viết lại thì thật tốn thời gian và công sức biết bao. Java ra đời cũng là để giải quuyết hộ các nhà lập trình vấn đề này do một kiến trúc hoàn toàn mới so với các ngôn ngữ lập trình khác. Trình biên dịch Java không dịch chơng trình nguồn thành mã máy mà dịch ra dới dạng byte code. Đó là một mã có thể hiểu đợc và thông dịch thành mã thực hiện bới một máy ảo Java (Java Virtual Machine). Máy ảo Java tạo thành một lớp ngăn cách giữa trình ứng dụng và hệ điều hành.

Java đợc xây dựng chủ yếu dựa trên bộ công cụ phát triển Java JDK (Java Developer Kit) ra đời đầu tiên vào năm 1995 với bản JDK 1.0 . Từ đó Java liên tục đợc phát triển và hoàn thiện và đến năm 1998 đã xuất hiện bản JDK 1.2 đánh dấu b ớc ngoặt rất lớn với nền Java thứ hai.

Từ khi ngôn ngữ Java ra đời đã tạo ra những chuyển biến mới, những ứng dụng thực tiễn cao đặc biệt là trong các ứng dụng Web và hỗ trợ mạng Internet. Cùng với các thành tựu về công nghệ mà sau này đã có một loạt các sản phẩm liên quan đến Java đã ra đời nh Java script, Java Bean, Java Applet, … Và cũng chính vì lý do đó đã thúc đẩy các nhà phát triển phầm mềm xây dựng những môi trờng tích hợp mà chúng ta gọi là IDE ( IDE – Intergrated Development Environment). Trong số các IDE thông dụng phải kể đến nh JBuilder, Java Workshop của Borland - Inprise, Visual J++ của Microsoft, Visual Cafe của Symantec, Oracle JDeveloper, …

II.2 Các đặc tính của ngôn ngữ Java

Có thể tóm tắt các đặc tính của ngôn ngữ Java trong một câu nh sau :

“Java là một ngôn ngữ đơn giản, hớng đối tợng, phân tán, thông dịch, mạnh mẽ, bảo mật, cấu trúc độc lập, khả chuyển, hiệu quả cao và linh động “ ( The Java TM Language : An Overview – Sun Microsystems/ 1995)

- Đơn giản (Simple) : Java là ngôn ngữ nhỏ gọn và dễ hiểu, bởi những ngời thiết kế đã có dụng ý lợc bỏ những tính năng phức tạp của C hay C++ .

Đỗ Đức Thảo -Tin Pháp K41 Trang 63

Trình ứng dụng Các đối tợng Java

Máy ảo Java

Hệ điều hành (Unix,Windows,OS/2)

Xây dựng hệ thống phần mềm thao tác, hiển thị thông tin địa lý trên môi trờng mạng Internet

- Hớng đối tợng (Object-Oriented): xuất phát từ C++, Java là một ngôn ngữ hoàn toàn hớng đối tợng, nhng Java cũng loại bỏ một số tính năng phức tạp trong C++ nh tính đa kế thừa nhng thay vào đó là các lớp Interface.

- Phân tán : Java rất thích hợp cho việc tạo ra các ứng dụng phân tán thông qua các lớp đợc đóng gói trong package java.net. Mặt khác các chơng trình Java đợc nạp một cách linh hoạt vào máy khách trong lúc chạy, do đó tránh gây quá tải cho mạng.

- Thông dịch : thực sự java là ngôn ngữ vừa thông dịch vừa biên dịch nên nó có khả năng khả chuyển. Các ứng dụng Java có thể dễ dàng chạy trên các máy tính với các nền phần cứng khác nhau nh Macintosh, Intel, Sun Microsystem, Alpha … chỉ cần đi kèm với các bộ thông dịch, bộ gỡ rối và nhất là bộ th viện thời gian động

- Mạnh mẽ (Robust) : Chơng chình java đợc kiểm soát chặt chẽ bởi trình thông dịch. Khi có lỗi xuất hiện trình thông dịch sẽ thực hiện một sự loại bỏ tránh các trờng hợp có thể phá hỏng hệ thống.

- An toàn và Bảo mật : Trình thông dịch sẽ kiểm tra chặt chẽ các byte, không cho các hành vi không đợc phép nào đợc thực hiện. Các chơng trình Java thực sự đợc chạy trong một “lồng” bảo vệ nên các lỗi đợc hạn chế và đợc kiểm soát chặt chẽ.

- Kiến trúc trung tính (Neutral architecture) : Tạo ra một máy ảo Java (Java Virtual Machine – JVM) cho phép các ứng dụng Java chạy trên đó và không phụ thuộc vào các hệ điều hành nh Windows, Sun Solaris, UNIX hay Macintosh và phần cứng khác nhau (IBM, Apple,Commodre, Radio Shack,..).

- Khả chuyển (Portability): Do có kiến trúc nh vậy nên Java có thể dễ dàng chạy trên các nền (platform) khác nhau.

- Đa luồng (Multithreading) : cho phép thực hiện nhiều tiến trình song song và t- ơng hỗ với nhau tránh đợc tính tuần tự và những khoảng thời gian chết .

- Linh động (Flexible) : Trong khi chạy môi trờng Java có thể tự mở rộng để liên kết với các lớp mới có thể ở một máy chủ ở xa trên mạng (hay trên Internet). Đó là thuận lợi to lớn của Java.

- Thu dọn rác (Garbage collected) : Các chơng trình Java tự động thu dọn rác của chính nó, có nghĩa là các chơng trình không yêu cầu xoá các đối tợng không đợc dùng nữa mà chúng phân bố trong bộ nhớ. Điều này trút đi gánh nặng cho các chơng trình trong vấn đề quản lý bộ nhớ.

Tất cả các đặc tính này đã làm nên sức mạnh của ngôn ngữ Java. Mặc dù có một hạn chế lớn của ngôn ngữ Java đó là về mặt tốc độ vẫn còn thua kém so với C , C++ do quá trình nạp , kiểm tra và thông dịch mã byte code. Hạn chế này đã đợc khắc phục phần nào bởi trình biên dịch Just In Time (JIT), mã byte code sẽ đợc biên dịch một lần trớc khi chạy chúng.

Xây dựng hệ thống phần mềm thao tác, hiển thị thông tin địa lý trên môi trờng mạng Internet

Java là ngôn ngữ đợc phát triển và cải tiến từng ngày. Trong một tơng lai gần, hy vọng rằng Java sẽ phát triển nhiều hơn nữa và thực sự trở thành một ngôn ngữ lý t- ởng cho ngời lập trình.

II.3 Java Applet

Một trong những khả năng nổi trội của ngôn ngữ Java đó là Java Applet. Java Applet đợc nhúng trực tiếp vào trong trang Web và có thể thực hiện đợc rất nhiều chức năng khác nhau nh tơng tác với ngời sử dụng, hỗ trợ multimedia, tạo khả năng động của trang Web, kết nối mạng, … (adsbygoogle = window.adsbygoogle || []).push({});

II.3.1 Chu trình hoạt động của một applet

Quá trình hoạt động của một applet trải qua các bớc sau :

- Nạp một Applet : quá trình này sẽ tạo một instance của lớp con Applet hay tạo một đối tợng Applet, tự khởi tạo (init()) và bắt đầu chạy (start() sau đó là run()).

- Dừng và kích hoạt một Applet : khi ngời dùng rời khỏi trang Web, Applet sẽ thực hiện phơng thức stop() và khi ngời dùng quay trở về trang chứa Applet thì Applet sẽ tự kích hoạt bằng phơng thức start(). Quá trình này cũng xảy ra khi ngời dùng thu nhỏ cửa sổ (minimize) và mở lại (reopen).

- Nạp lại applet : thông thờng một số trình duyệt cho phép ngời dùng nạp lại applet nghĩa là thoát khỏi applet rồi nạp lại applet. Mỗi khi thoát khỏi applet phơng thức stop() sẽ đợng gọi sau đó quá trình thu dọn cuối cùng đơc thực hiện destroy(). Và quá trình nạp lại diễn ra y nh lần đầu đợc nạp mà ta đã nói ở trên.

II.3.2 Giới hạn của một Applet

Thông thờng các trình duyệt có cài đặt chế độ bảo mật đều giới hạn hoạt động của applet nh sau :

- Một applet không đợc nạp các th viện hay các phơng thức sử dụng mã nguồn (native code)

- Không đợc đọc và ghi lên các tập tin của máy đang chạy chúng (host machine)

- Không đợc thực hiện các kết nối mạng trừ kết nối với máy mà chúng đợc tải (download) xuống

- Không đợc khởi động hay chạy bất kỳ chơng trình nào trên máy đang chạy chúng.

Xây dựng hệ thống phần mềm thao tác, hiển thị thông tin địa lý trên môi trờng mạng Internet

- Không đợc đọc bất kỳ tính chất nào của hệ thống

- Cửa sổ mà applet mở ra sẽ khác với cửa sổ do các ứng dụng mở.

Mỗi trình duyệt có một đối tợng quản lý việc bảo mật và nếu nó phát hiện có vi phạm thì nó sẽ trả về cho applet một SecurityException.

II.3.3 Khả năng của một applet

- Applet có thể tạo kết nối tới máy mà chúng đợc tải(dowload) xuống.

- Khi chạy trong một trình duyệt web, một applet dễ dàng dùng các siêu văn bản để hiển thị

- Applet có thể gọi đến các phơng thức toàn cục của các applet khác trên cùng một trang web

- Các applet đợc nạp từ hệ thống tập tin cục bộ sẽ không bị giới hạn của các applet đợc nạp từ mạng xuống

- Không nhất thiết các applet sẽ ngng lại khi ta thoát khỏi các trang web chứa nó.

III. Giới thiệu một số công nghệ trên WebIII.1 Active X

Một phần của tài liệu Xây dựng hệ thống phần mềm thao tác, hiển thị thông tin địa lý trên môi trường mạng Internet (Trang 62 - 66)