Đề tài Những đặc điểm mới trong Java 7
MỤC LỤC
1. CÁC NGUYÊN LÝ SÁNG TẠO TRONG KHOA HỌC: . 5
1.1. Nguyên t ắc phân nhỏ: . 5
1.2. Nguyên t ắc “tách khỏi”: . 5
1.3. Nguyên t ắc phẩm chất c ục bộ:. 5
1.4. Nguyên t ắc phản đối xứng: . 5
1.5. Nguyên t ắc kết hợ p: . 5
1.6. Nguyên t ắc vạn năng: . 5
1.7. Nguyên t ắc “chứa trong”:. 5
1.8. Nguyên t ắc phản trọng lượ ng: . 6
1.9. Nguyên t ắc gây ứng suất sơ bộ: . 6
1.10. Nguyên t ắc thực hiệ n sơ bộ: . 6
1.11. guyên tắc ự ph ng:. 6
1.12. guyên tắc đ ng thế: . 6
1.13. guyên tắc đảo ngượ c:. 6
1.14. guyên tắc cầu tr n hoá: . 6
1.15. guyên tắc linh động: . 6
1.16. guyên tắc giải “thiếu” hoặc “thừa”: . 7
1.17. guyên tắc chuyển sang chiều khác: . 7
1.18. guyên tắc sử ụng các ao động cơ học:. 7
1.19. guyên tắc tác động theo chu kỳ: . 7
1.20. guyên tắc liên tục tác động có ích . 7
1.21. Nguyên t ắc “vượt nhanh”: . 7
1.22. Nguyên t ắc biế n hại thành lợi: . 8
1.23. Nguyên t ắc quan hệ phản hồi: . 8
1.24. Nguyên t ắc sử dụng trung gian: . 8
1.25. Nguyên t ắc tự phục vụ: . 8
1.26. Nguyên t ắc sao chép (copy):. 8
1.27. Nguyên t ắc “rẻ ” thay cho “đ ắt”: . 8
1.28. Thay thế sơ đồ cơ học:. 8
1.29. Sử dụng các kết c ấu khí và lỏng: . 8
1.30. Sử dụng vỏ dẻo và màng mỏng: . 9
Những đặc điểm mới trong Java 7
Thầy HD: GS TSKH Hoàng Kiếm Trang 4
1.31. Sử dụng các vật liệu nhiều lỗ: . 9
1.32. Nguyên t ắc thay đổi màu s ắc: . 9
1.33. Nguyên t ắc đồng nhất: . 9
1.34. Nguyên t ắc phân hủy hoặc tái sinh các ph ần . 9
1.35. Thay đổi các thông s ố hoá lý của đối tượ ng: . 9
1.36. Sử dụng chuyển pha: . 9
1.37. Sử dụng s ự nở nhiệt: . 9
1.38. Sử dụng các chất oxy hoá m ạnh: . 10
1.39. Thay đổi đ ộ trơ: . 10
1.40. Sử dụng các vật liệu hợp thành (composite):. 10
2. CÁC NGUYÊN LÝ SÁNG TẠO TRONG TIN HỌC 10
2.1. Theo phương pháp trự c tiếp . . . . 10
Nguyên lý 1 .10
Nguyên lý 2 .10
Nguyên lý 3 .10
Nguyên lý 4 .11
Nguyên lý 5 .11
Nguyên lý 6 .11
2.2. Theo phương pháp gián tiếp . . . . 11
Phương pháp thử sai . 11
Phương pháp Heuristic. 12
Phương pháp trí tuệ nhân tạo . 12
Một số ví dụ áp dụng điển hình trong tin học . 13
3. NHỮNG ĐẶC ĐIỂM MỚI TRONG JAVA 7 . 15
3.1. Giớ i thiệu v ề Java - L ịch sử hình thành và phát triển! . . 15
a. Gi ới thiệ u ngôn ng ữ l ập trình Java .15
b. Lị ch sử hình thành ngôn ngữ Java .15
c. Một số đặc điể m nổ i bật c ủ a ngôn ng ữ lập trình Java .16
d. Các loạ i ứ ng d ụng c ủ a Java .17
3.2. Nhữ ng đặ c điểm n ổi b ậ t trong Java 7: . . . 17
a. Moularity (Khả năng mô đun hóa . 17
b. Language changes Thay đ ổi ngôn ng ữ) . 19
c. Multi Language Virtual Machine: . 20
d. Garbage Collector . 20
e. Thư việ n I/O API m ới:. 21
4. TÀI LỆU THAM KHẢO.21
Thầy HD: GS TSKH Hoàng Kiếm Trang 16 Java được sử dụng chủ yếu trên môi trường mạng, internet. Sau khi Oracle mua lại công ty của Sun Microsystem năm 2 9-2 1 , Oracle đã mô tả họ là "người quản lý công nghệ Java với cam kết không ngừng để bồi ưỡng một cộng đồng tham gia và minh bạch. Các phiên bản Java đã phát hành: JDK 1.1, 1997-1999 J2SE 1.2, 1998-1999 J2SE 1.3, 2000-2001 J2SE 1.4, 2002-2003 J2SE 5, 2004 J2SE 6 (còn gọi là Mustang , được công bố 11 tháng 12 năm 2 6 JDK 6.18, 2010 Java SE 7 (còn gọi là Dolphin), 2011. Tới thời điểm này th đây là phiên bản mới nhất. c. Một số đặc điểm nổi bật của ngôn ngữ lập trình Java Máy ảo Java (JVM – Java Virtual Machine) 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 Win ows, Unix,Linux, OS/2, … Chương tr nh thực thi được trên Win ows được biên dịch ưới dạng file có đuôi .EXE c n trên Linux th được biên dịch ướ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. Chìa khóa giúp Java giải quyết 2 vấn đề bảo mật và tương thích có thể xem là mã dịch ra không phải là mã thực hiện, đó là mã Byteco e. Byteco e là tập chỉ thị của trình biên dịch Java và chỉ dịnh sang mã máy trong lúc thi hành, hệ thống đó gọi là máy ảo Java (JVM – Java Virtual Machine) - Đây là chương trình phiên dịch mã lệnh sang mã Bytecode. Việc dịch chương trình Java sang Bytecode có thể làm cho chương tr nh chạy trên nhiều môi trường hơn. Lý o rất dễ hiểu, chỉ cần có mỗi JVM cho mỗi môi trường, khi chương tr nh chạy chỉ cần cho phép JVM chạy chúng, Nhớ rằng, mặc dù có nhiều loại máy JVM trên nhiều môi trường nhưng mã ịch ra Bytecode là giống nhau trên tất cả các hệ máy. Thông dịch: 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. Độc lập nền: 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 Win ows, Unix,Linux, … miễn sao ở đó có cài Những đặc điểm mới trong Java 7 Thầy HD: GS TSKH Hoàng Kiếm Trang 17 đặt máy ảo java (Java Virtual Machine). Viết một lần chạy mọi nơi write once run anywhere). Hướng đối tượng: 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 phần sau. Đa nhiệm – đa luồng (MultiTasking – Multithreading): 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. Khả chuyển (portable): 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). Hỗ trợ mạnh cho việc phát triển ứng dụng: 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 ây, … d. Các loại ứng dụng của Java Ứng dụng console: Không có giao diện GUI. Ứng dụng đồ hoạ: Có giao diện GUI. Applet: Nhúng trong các trang Web. Servlet: Các class thực thi phía web server. JSP: Các file nhúng mã Java và HTML. Ứng dụng EJB, RMI, JMS: Xây dựng ứng dụng bởi nhiều thành phần ghép lại, giao tiếp từ xa. 3.2. Những đặc điểm nổi bật trong Java 7: Các đặc đó bao gồm: Modularity Language Changes Multi Language Virtual Machine Garbage Collector New File I/O API a. Moularity (Khả năng mô đun hóa) Sự cần thiết phải mô đun hóa: Chúng ta đã biết, Java SE trước phiên bản 7) phát triển rất nhanh với các thư viện, lớp, hàm tiện ích hỗ trợ cho người lập trình dễ àng hơn. Những đặc điểm mới trong Java 7 Thầy HD: GS TSKH Hoàng Kiếm Trang 18 Mỗi phiên bản ra đời là thêm vào ngày càng nhiều các lớp và thư viện này. Các thư viện này gắn kết với nhau. Điều này dẫn đến sẽ có những thư viện người này ng nhưng người khác không ng người mới học java chỉ cần biết cách sử dụng ngôn ngữ, không cần các thư viện chuyên dụng) ư thừa Thư viện ngày càng phát triển khổng lồ lãng phí không gian Các thư viện ở phiên bản mới xây dựng dựa trên các thư viện ở phiên bản c nhưng phiên bản c có thể không phải là phiên bản liền kề trước đó. trong file đóng gói đã có chứa các file thư viện này) Vd: Phiên bản hiện tại Java 6, Phiên bản trước đó: Java 5.5, Java 5 Hàm X nào đó là hàm mới được xây dựng từ hàm Y() trong phiên bản Java 5 (không phải Java 5.5 . Trong khi Java 5.5 c ng có hàm Y có thể giống hoặc khác nhau) Điều này gây nên sự nhọc nhằn về các phiên bản thư viện sử dụng. Cải tiến trong Java 7: Cho phép mô đun hóa các thư viện, nghĩa là cài đặt những thư viện cần dùng không cần cài đặt hết (java 6 là phải cài hết) Quản lý được các phiên bản thư viện JARs version c ng như các thành phần phụ thuộc (dependencies) Các nguyên lý sáng tạo được áp dụng: Nguyên tắc phân nhỏ và tách khỏi: Chia thư viện lớn (phải cài tất cả thành các thư viện riêng (có thể cài đặt riêng tùy theo nhu cầu sử dụng), Tách những thư viện không cần thiết ra khỏi thư viện hiện hành để làm tăng khả năng thực thi, tiết kiệm không gian lưu trữ và vùng nhớ. Nguyên tắc kết hợp: Khi ta cần giải quyết bài toán nào đó, cần nhiều thư viện hơn, ta có thể kết hợp cài thêm vào các thư viện này để sử dụng. // Định nghĩa mo ule A //Yêu cầu thư viện B phiên bản 2.1 // và thư viện C phiên bản 1.1 //Lớp sample thuộc về mo ule A được khai báo là public //Lớp này sẽ được truy cập bởi lớp khác trong cùng module A Những đặc điểm mới trong Java 7 Thầy HD: GS TSKH Hoàng Kiếm Trang 19 b. Language changes (Thay đổi ngôn ngữ) Những thay đổi ngôn ngữ trong java 7 giúp cho cú pháp đơn giản hơn. Cụ thể như sau: Thay đổi trong cấu trúc switch: cho phép dùng chuỗi trong cấu trúc switch Thay đổi trong xử lý biệt lệ: cho phép nhóm các biệt lệ để cùng xử lý Phiên bản cũ Java 7 Suy luận kiểu: nếu khai báo biến là kiểu Map thì khi tạo đối tượng mới c ng có kiểu Những đặc điểm mới trong Java 7 Thầy HD: GS TSKH Hoàng Kiếm Trang 20 Toán tử Elvis: Kiểm tra đối tượng có NULL hay không, tự động unboxing một đối tượng sang kiểu nguyên thủy c. Multi Language Virtual Machine: ền tảng Java SE 7 cho phép các ngôn ngữ khác (không phải Java) khai thác cơ sở hạ tầng và tối ưu hóa hiệu quả tiềm năng của JVM (Java Virtual Machine). Tính năng này được cung cấp bởi ự án nguồn mở DaVinci. Mục đích của ự án này hướng đến là: - Giúp JVM có thể chạy một cách hiệu quả những ngôn ngữ khác. - Giúp các ngôn ngữ khác c ng tồn tại một cách hài h a với Java trong JVM và được hưởng lợi từ các công nghệ mạnh mẽ và trưởng thành như Java - Loại bỏ những mặt hạn chế của ngôn ngữ khác khi chạy trong JVM Các nguyên lý sáng tạo được áp dụng: Ở đây ta thấy nguyên tắc “Vạn năng” được áp dụng. Một máy ảo JVM có thể chạy nhiều ngôn ngữ khác nhau d. Garbage Collector - Garbage Collector mới được giới thiệu trong Java 7 - ó được gọi là First Collector Garbage - Bộ nhớ được chia thành nhiều khu vực không như 2 khu vực trong phiên bản hiện hành - Khả năng dự đoán và cung cấp lớn hơn thông qua đặt cho bộ nhớ ứng dụng chuyên sâu - Thực hiện nhanh hơn so với “bộ thu rác” song song hiện nay. Các nguyên lý sáng tạo được áp dụng: Ở đây ta thấy nguyên tắc chia nhỏ và dự ph ng được áp dụng, bộ nhớ được chia thành nhiều khu vực, sử dụng một cách có hiệu quả, tránh được hiện tượng phân mảnh nhờ và khả năng ự đoán tốt Những đặc điểm mới trong Java 7 Thầy HD: GS TSKH Hoàng Kiếm Trang 21 e. Thư viện I/O API mới: Giới hạn của phiên bản hiện hành: Thao tác xóa không được bảo đảm. Cần phải kiểm tra để xác định file đã bị xóa hay chưa Các thao tác trên thư mục không được mở rộng và phải chạy trên tiểu trình chính Thao tác polling cần phải hoàn thành để thay đổi file Thư viện mới: Hệ thống thư viện File mới Các cảnh báo về File Các hoạt động của thư mục Bất đồng bộ quá trình nhập xuất Một ví dụ: 4. TÀI LIỆU THAM KHẢO 1. Bài giảng môn học “Phương pháp nhiên cứu khoa học trong tin học”, Giảng viên : GS.TSKH Hoàng Văn Kiếm 2. Giải một bài toán trên máy tính như thế nào? (tập 1, 2, 3) - GS. TSKH Hoàng Kiếm, Nhà xuất bản giáo dục – 2003. 3. Phương pháp luận nghiên cứu khoa học , V Cao Đàm, hà xuất bản Khoa Học và K Thuật – 1999. 4. Các thủ thuật (nguyên tắc) sáng tạo cơ bản, 2007 - Phan ng. 5. Phương pháp luận sáng tạo – Giải quyết vấn đề và ra quyết định - Phan ng. 6. Algorit sang chế - Nguyễn Chân-Phan ng- ương Xuân Bảo 7. Phương pháp luận sáng tạo - TRIZVIET -
File đính kèm:
- Đề tài Những đặc điểm mới trong Java 7.pdf