Đồ án Những đặc điểm mới trong java 7

ề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

pdf21 trang | Chia sẻ: lvcdongnoi | Lượt xem: 2407 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Đồ án Những đặc điểm mới trong java 7, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN  Bài thu hoạch môn: PHƯƠNG PHÁP LUẬN NGHIÊN CỨU KHOA HỌC Tên đề tài: NHỮNG ĐẶC ĐIỂM MỚI TRONG JAVA 7 Thầy hướng dẫn: GS TSKH Hoàng Kiếm Học viên: Lê Triệu Ngọc Đức Mã số: 12 11 016 Khóa: 22/2012 Tp Hồ Chí Minh, Tháng 12/2012 Những đặc điểm mới trong Java 7 Thầy HD: GS TSKH Hoàng Kiếm Trang 2 LỜI NÓI ĐẦU Sáng tạo là một trong những điều kiện tiên quyết để xã hội phát triển. Những câu chuyện về sáng tạo luôn được ghi lại, nguồn gốc của những sản phẩm được làm ra từ sự sáng tạo luôn được ghi nhận, được viết thành sách, báo, được lan truyền để cho tất cả mọi người tìm hiểu và học hỏi theo. Trong khoa học, sáng tạo là một trong những mục đích hướng đến của người nghiên cứu hoặc làm việc trong lĩnh vực này. Sự sáng tạo sẽ tạo ra nhiều sản phẩm mới, phát minh mới và sẽ được áp dụng trong đời sống xã hội, mang lại những lợi ích thiết thực trong cuộc sống. Trong tin học, sáng tạo càng là yêu cầu cấp thiết và cực kỳ quan trọng cho sự tồn tại và phát triển của bất kỳ một sản phẩm tin học nào. Sự phát triển của Google, IBM, Youtube hay Facebook là những minh chứng hùng hồn nhất. Trong khuôn khổ bài thu hoạch nhỏ này, em xin trình bày một số nguyên tắc sáng tạo trong khoa học nói chung, các nguyên tắc sáng tạo trong lĩnh vực công nghệ thông tin nói riêng và áp dụng các nguyên lý sáng tạo này trong Java 7. Qua đây, em xin được gửi lời cảm ơn đến GS - TSKH Hoàng Văn Kiếm, người đã tận tâm truyền đạt những kiến thức nền tảng cơ bản về môn học “Phương pháp nhiên cứu khoa học trong tin học”, để em có cơ sở kiến thức có thể viết được bài thu hoạch này. Do kiến thức còn hạn hẹp, bài thu hoạch có thể có những sai sót nhất định, mong thầy và các bạn góp ý để bài thu hoạch ngày càng hoàn thiện hơn. Em xin chân thành cám! Học viên thực hiện đề tài Lê Triệu Ngọc Đức Những đặc điểm mới trong Java 7 Thầy HD: GS TSKH Hoàng Kiếm Trang 3 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 Những đặc điểm mới trong Java 7 Thầy HD: GS TSKH Hoàng Kiếm Trang 5 1. CÁC NGUYÊN LÝ SÁNG TẠO TRONG KHOA HỌC Sau khi phân tích hàng trăm ngàn sáng chế ở những nghành k thuật m i nhọn, người ta t m được thủ thuật cơ bản cho việc sáng tạo. ng với sự phát triển của khoa học k thuật, số lượng các thủ thuật có thể tăng thêm và bản thân từng thủ thuật sẽ được cụ thể hoá hơn nữa cho ph hợp với các chuyên nghành hẹp, tuy nhiên thủ thuật này là bao quát và đã rất đầy đủ. Nó cung cấp hệ thống các cách xem xét sự vật; tăng tính nhanh nhạy của việc tiếp thu và đánh giá giá trị của thông tin; đưa ra và lựa chọn các cách tiếp cận thích hợp để giải quyết vấn đề. Hệ thống các nguyên tắc sáng tạo này còn giúp cho chúng ta xây dựng được tác phong, suy nghĩ và làm việc một cách khoa học, sáng tạo; góp phần xây dựng tư uy biện chứng. ưới đây xin được lần lượt điểm qua 40 nguyên tắc đó: 1. Nguyên tắc phân nhỏ  Chia đối tượng thành các phần độc lập.  Làm đối tượng trở nên tháo lắp được.  Tăng mức độ phân nhỏ đối tượng. 2. Nguyên tắc “tách khỏi”  Tách phần gây “phiền phức hay ngược lại tách phần duy nhất “cần thiết” ra khỏi đối tượng. 3. Nguyên tắc phẩm chất cục bộ  Chuyển đối tượng hay môi trường bên ngoài, tác động bên ngoài) có cấu trúc đồng nhất thành không đồng nhất.  Các phần khác nhau của đối tượng phải có các chức năng khác nhau.  Mỗi phần của đối tượng phải ở trong những điều kiện thích hợp nhất đối với công việc. 4. Nguyên tắc phản đối xứng  Chuyển đối tượng có hình dạng đối xứng thàng không đối xứng (nói chung giảm bậc đối xứng). 5. Nguyên tắc kết hợp  Kết hợp các đối tượng đồng nhất hoặc các đối tượng dùng cho các hoạt động kế cận.  Kết hợp về mặt thời gian các hoạt động đồng nhất hoặc kế cận. 6. Nguyên tắc vạn năng  Đối tượng thực hiện một số chức năng khác nhau, o đó không cần sự tham gia của các đối tượng khác. 7. Nguyên tắc “chứa trong” Những đặc điểm mới trong Java 7 Thầy HD: GS TSKH Hoàng Kiếm Trang 6  Môt đối tượng được đặt bên trong đối tượng khác và bản thân nó lại chứa đối tượng thứ ba…  Một đối tượng chuyển động xuyên suốt bên trong đối tượng khác. 8. Nguyên tắc phản trọng lượng  Bù trừ trọng lượng của đối tượng bằng cách gắn nó với các đối tượng khác, có lực nâng.  Bù trừ trọng lượng của đối tượng bằng cách tương tác với môi trường như sử dụng các lực thủy động, khí động … 9. Nguyên tắc gây ứng suất sơ bộ  Gây ứng suất trước đối với đối tượng để chống lại ứng suất không cho phép hoặc không mong muốn khi đối tượng làm việc (hoặc gây ứng súât trước để khi làm việc sẽ dùng ứng súât ngược lại). 10. Nguyên tắc thực hiện sơ bộ  Thực hiện trước sự thay đổi cần có, hoàn toàn hoặc từng phần, đối với đối tượng.  Cần sắp xếp đối tượng trước, sao cho chúng có thể hoạt động từ vị trí thuận lợi nhất, không mất thời gian dịch chuyển. 11. Nguyên tắc dự phòng  B đắp độ tin cậy không lớn của đối tượng bằng cách chuẩn bị trước các phương tiện báo động, ứng cứu, an toàn. 12. Nguyên tắc đ ng thế  Thay đổi điều kiện làm việc để không phải nâng lên hay hạ xuống các đối tượng. 13. Nguyên tắc đảo ngược  Thay v hành động như yêu cầu bài toán, hành động ngược lại (ví dụ : không làm nóng mà làm lạnh đối tượng).  Làm phần chuyển động của đối tượng hay môi trường bên ngoài thành đứng yên và ngược lại phần đứng yên thành chuyển động. 14. Nguyên tắc cầu (tròn) hoá  Chuyển những phần th ng của đối tượng thành cong, mặt ph ng thành mặt cầu, kết cấu hình hộp thành kết cấu hình cầu.  Sử dụng các con lăn, viên bi, v ng xoắn.  Chuyển sang chuyển động quay, sử dụng lực ly tâm. 15. Nguyên tắc linh động Những đặc điểm mới trong Java 7 Thầy HD: GS TSKH Hoàng Kiếm Trang 7  Cần thay đổi các đặc trưng của đối tượng hay môi trường bên ngoài sao cho chúng tối ưu trong từng giai đoạn làm việc.  Phân chia đối tượng thành từng phần, có khả năng ịch chuyển với nhau. 16. Nguyên tắc giải “thiếu” hoặc “thừa”  Nếu như khó nhận được 100% hiệu quả cần thiết, nên nhận ít hơn hoặc nhiều hơn “một chút”. Lúc đó bài toán có thể trở nên đơn giản hơn và ễ giải hơn. 17. Nguyên tắc chuyển sang chiều khác  Những khó khăn o chuyển động (hay sắp xếp đối tượng theo đường (một chiều) sẽ được khắc phục nếu cho đối tượng khả năng i chuyển trên mặt ph ng (hai chiều , tương tự những bài toán liên quan đến chuyển động (hay sắp xếp) các đối tượng trên mặt ph ng sẽ được đơn giản hóa khi chuyển sang không gian (ba chiều).  Chuyển các đối tượng có kết cấu một tầng thành nhiều tầng.  Đặt đối tượng nằm nghiêng.  Sử dụng mặt sau của diện tích cho trước.  Sử dụng các luồng ánh sáng tới diện tích bên cạnh hoặc tới mặt sau của diện tích cho trước. 18. Nguyên tắc sử dụng các ao động cơ học  Làm đối tượng ao động.  Nếu đã có ao động, tăng tần số ao động.  Sử dụng tần số cộng hưởng.  Thay vì dùng các bộ rung cơ học. dùng các bộ rung áp điện.  Sử dụng siêu âm kết hợp với trường điện từ. 19. Nguyên tắc tác động theo chu kỳ  Chuyển tác động liên tục thành tác động theo chu kỳ (xung).  Nếu đã có tác động theo chu ký, hãy thay đổi chu kỳ.  Sử dụng các khoảng thời gian giữa các xung để thực hiên tác động khác. 20. Nguyên tắc liên tục tác động có ích  Thực hiên công viêc một cách liên tục (tất cả các phần của đối tượnng cần luôn luôn làm việc ở chế độ đủ tải).  Khắc phục vận hành không tải và trung gian.  Chuyển chuyển động tịnh tiến qua lại thành chuyển động quay. 21. Nguyên tắc “vượt nhanh” Những đặc điểm mới trong Java 7 Thầy HD: GS TSKH Hoàng Kiếm Trang 8  Vượt qua các giai đoạn có hại hoặc nguy hiểm với vận tốc lớn.  Vượt nhanh để có được hiệu ứng cần thiết. 22. Nguyên tắc biến hại thành lợi  Sử dụng những tác nhân có hại (ví dụ tác động có hại của môi trường để thu được hiệu ứng có lợi.  Khắc phục tác nhân có hại bằng cách kết hợp nó với tác nhân có hại khác.  Tăng cường tác nhân có hại đến mức nó không còn có hại nữa. 23. Nguyên tắc quan hệ phản hồi  Thiết lập quan hệ phản hồi.  Nếu đã có quan hệ phản hồi, hãy thay đổi nó. 24. Nguyên tắc sử dụng trung gian  Sử dụng đối tượng trung gian, chuyển tiếp. 25. Nguyên tắc tự phục vụ  Đối tượng phải tự phục vụ bằng cách thực hiện các thao tác phụ trợ, sửa chữa.  Sử dụng phế liệu, chất thải, năng lương ư. 26. Nguyên tắc sao chép (copy)  Thay vì sử dụng những cái không được phép, phức tạp, đắt tiền, không tiện lợi hoặc dễ vỡ, sử dụng bản sao.  Thay thế đối tượng hay hệ các đối tượng bằng bản sao quang học(ảnh, hình vẽ với các tỷ lệ cần thiết.  Nếu không thể sử dụng bản sao quang học ở vùng biểu kiến (vùng ánh sáng nhìn thấy được bằng mắt thường), chuyển sang sử dụng các bản sao hồng ngoại hoặc tử ngoại. 27. Nguyên tắc “rẻ” thay cho “đắt”  Thay đối tượng đắt tiền bằng bộ các đối tượng rẻ có chất lượng kém hơn ví ụ như tuổi thọ). 28. Thay thế sơ đồ cơ học  Thay thế sơ đồ cơ học bằng điện, quang, nhiệt, âm hoặc mùi vị.  Sử dụng diện trường, từ trừơng và điện từ trường trong tương tác với đối tượng.  Chuyển các trường đứng yên sang chuyển động, các trường cố định sang thay đổi theo thời gian, các trường đồng nhất sang có cấu trúc nhất định.  Sử dụng các trường kết hợp với các hạt sắt từ. 29. Sử dụng các kết cấu khí và lỏng Những đặc điểm mới trong Java 7 Thầy HD: GS TSKH Hoàng Kiếm Trang 9  Thay cho các phần của đối tượng ở thể rắn, sử dụng các chất khí và lỏng; nạp khí, nạp chất lỏng, đệm không khí, thủy tĩnh, thủy phản lực. 30. Sử dụng vỏ dẽo và màng mỏng  Sử dụng các vỏ dẽo và mành mỏng thay cho các kết cấu khối.  Cách ly đối tượng với môi trường bên ngoài bằng các vỏ dẽo và màng mỏng. 31. Sử dụng các vật liệu nhiều lỗ  Làm đối tượng có nhiều lỗ hoặc sử dụng thêm những chi tiết nhiều lỗ (miếng đệm, tấm phủ,… .  Nếu đối tượng đã có nhiều lỗ, sơ bộ tẩm nó bằng chất nào đó. 32. Nguyên tắc thay đổi màu sắc  Thay đổi màu sắc của đối tượng hay môi trường bên ngoài.  Thay đổi độ trong suốt của đối tượng hay mội trường bên ngoài.  Để có thể quan sát được những đối tượng hoặc những quá trình, sử dụng các chất phụ gia màu, huỳnh quang.  Nếu các chất phụ gia đó đã được sử dụng, dùng các nguyên tử đánh ấu.  Sử dụng các hình vẽ, ký hiệu thích hợp. 33. Nguyên tắc đồng nhất  Những đối tượng tương tác với đối tượng cho trước, phải được làm từ cùng một vật liệu (hoặc từ vật liệu gần về các tính chất) với vật liệu chế tậo đối tượng cho trước. 34. Nguyên tắc phân hủy hoặc tái sinh các phần  Phần đối tượng đã hoàn thành nhiêm vụ hoặc trở nên không cần thiết phải tự phân hủy h a tan, bay hơi,… hoặc phải biến dạng.  Các phần mất mát của đối tượng phải được phục hối trực tiếp trong quá trình làm việc. 35. Thay đổi các thông số hoá lý của đối tượng  Thay đổi trạng thái đối tượng.  Thay đổi nồng độ hay độ đậm đặc.  Thay đổi dộ dẻo.  Thay đổi nhiệt độ, thể tích. 36. Sử dụng chuyển pha  Sử dụng các hiện tượng nảy sinh, trong các quá trình chuyển pha như thay đổi thể tích, tỏa hay hấp thu nhiệt lượng … 37. Sử dụng sự nở nhiệt Những đặc điểm mới trong Java 7 Thầy HD: GS TSKH Hoàng Kiếm Trang 10  Sử dụng sự nở (hay co) nhiệt của các vật liệu.  Nếu đã ng sự nở nhiệt, sử dụng với vật liệu có các hệ số nở nhiệt khác nhau. 38. Sử dụng các chất ôxy hóa mạnh  Thay không khí thường bằng không khí giàu ôxy.  Thay không khí giàu ôxy bằng chính ôxy.  Dùng các bức xạ iôn hóa tác động lên không khí hoặc ôxy.  Thay ôxy giàu iôn (hoặc ôxy bị iôn hóa) bằng chính ôxy. 39. Thay đổi độ trơ  Thay môi trường thông thường bằng môi trường trung hòa.  Đưa thêm vào đối tượng các phần, các chất, phụ gia trung hòa.  Thực hiện quá trình trong chân không. 40. Sử dụng các vật liệu hợp thành (composite)  Chuyển từ các vật liệu đồng nhất sang sử dụng những vật liệu hợp thành (composite), Hay nói chung sử dụng các loại vật liệu mới. 2. CÁC NGUYÊN LÝ SÁNG TẠO TRONG TIN HỌC 2.1. Theo phương pháp trực tiếp Phương pháp trực tiếp xác định trực tiếp được lời giải qua một thủ tục tính toán như công thức, hệ thức, định luật …vv… hoặc qua các bước căn bản để có được lời giải. Đối với phương pháp này, việc giải quyết vấn đề trên máy tính chỉ là thao tác lập trình hay là sự chuyển đổi lời giải từ ngôn ngữ bên ngoài sang các ngôn ngữ được sử dụng trong máy tính. Tìm hiểu về phương pháp này chính là tìm hiểu về k thuật lập trình trên máy tính. Để thực hiện tốt phương pháp trực tiếp, chúng ta cần áp dụng các nguyên lý sau: Nguyên lý 1 Chuyển đổi dữ liệu bài toán thành dữ liệu của chương tr nh, điều này có nghĩa là “ ữ liệu của bài toán sẽ được biểu diễn lại ưới dạng các biến của chương tr nh thông qua các quy tắc xác định của ngôn ngữ lập trình cụ thể”. Nguyên lý 2 Chuyển đổi quá trình tính toán của bài toán thành các cấu trúc của chương tr nh, điều này có nghĩa là “Mọi quá tr nh tính toán đều có thể mô tả và thực hiện dựa trên ba cấu trúc cơ bản: Cấu trúc tuần tự, cấu trúc rẽ nhánh và cấu trúc lặp”. Nguyên lý 3 Biểu diễn các tính toán chính xác, điều này có nghĩa là “Chương tr nh tính toán theo các biểu thức chính xác không đồng nhất với quá trình tính toán chính xác về mặt hình thức”. Những đặc điểm mới trong Java 7 Thầy HD: GS TSKH Hoàng Kiếm Trang 11 Nguyên lý 4 Biểu diễn các tính toán gần đúng bằng cấu trúc lặp, có nghĩa là “Mọi quá trình tính toán gần đúng đều dựa trên các cấu trúc lặp với tham số xác định ”. Nguyên lý 5 Phân chia bài toán ban đầu thành những bài toán nhỏ hơn, có nghĩa là “Mọi vấn đề - bài toán đều có thể giải quyết bằng cách phân chia thành những vấn đề - bài toán nhỏ hơn ”. Đây là nguyên tắc khá quan trọng. Nguyên lý 6 Biểu diễn các tính toán không tường minh bằng đệ quy, điều này có nghĩa là “Quá tr nh đệ quy trong máy tính không đơn giản như các biểu thức quy nạp trong toán học”. K thuật đệ quy được sử dụng khá nhiều trong lập trình phần mềm. 2.2. Theo phương pháp gián tiếp Phương pháp gián tiếp được sử dụng khi chưa t m ra lời giải chính xác của vấn đề. Đây c ng chính là cách tiếp cận chủ yếu của loài người từ xưa đến nay. Điểm khác ở đây là chúng ta đưa ra những giải pháp mang đặc trưng của máy tính, dựa vào sức mạnh tính toán của máy tính. Tất nhiên, một lời giải trực tiếp bao giờ c ng tốt hơn, nhưng không phải lúc nào c ng có. Chúng ta có thể áp dụng các phương pháp gián tiếp như sau: Phương pháp thử – sai Khi xây dựng lời giải bài toán theo phương pháp thử – sai, người ta thường dựa vào 3 nguyên lý sau :  Nguyên lý vét cạn: Đây là nguyên lý đơn giản nhất, liệt kê tất cả các trường hợp có thể xảy ra.  Nguyên lý ngẫu nhiên: Dựa vào việc thử một số khả năng được chọn một cách ngẫu nhiên. Khả năng t m ra lời giải đúng phụ thuộc rất nhiều vào chiến lược chọn ngẫu nhiên.  guyên lý mê cung: guyên lý này được áp dụng khi chúng ta không thể biết được chính xác “h nh ạng” lời giải mà phải xây dựng dần lời giải qua từng bước một giống như t m đường đi trong mê cung. Để thực hiện tốt phương pháp thử - sai, chúng ta nên áp dụng các nguyên lý sau:  Nguyên lý vét cạn toàn bộ : Muốn t m được cây kim trong đống rơm, hãy lần lượt rút ra từng cọng rơm cho đến khi rút được cây kim  Nguyên lý mắt lưới : Lưới bắt cá chỉ bắt được những con cá có kích thước lớn hơn kích thước mắt lưới.  Nguyên lý giảm độ phức tạp của thử và sai : Thu hẹp trường hợp trước và trong khi duyệt, đồng thời đơn giản hóa tối đa điều kiện chấp nhận một trường hợp. Những đặc điểm mới trong Java 7 Thầy HD: GS TSKH Hoàng Kiếm Trang 12  Nguyên lý thu gọn không gian tìm kiếm : Loại bỏ những trường hợp hoặc nhóm trường hợp chắc chắn không dẫn đến lời giải.  guyên lý đánh giá nhánh cận : Nhánh có chứa quả phải nặng hơn trọng lượng của quả. Ưu điểm duy nhất của phương pháp thử sai là không cần phải học mà tự nhiên ai c ng có. goài ưu điểm đó ra phương pháp này có rất nhiều nhược điểm ảnh hưởng đến hiệu quả tư uy - giải quyết vấn đề con người. Các nhược điểm chủ yếu của phương pháp này là:  Số phép thử- sai nhiều nên mất nhiều trí lực, thời gian, vật chất và có thể là sinh mạng của con người.  Công suất phát ý tưởng (số ý tưởng đưa ra trên một đơn vị thời gian để giải quyết vấn đề thấp.  Tuy số phép thử nhiều nhưng không bao quát được hết các phương án có thể có đối với bài toán cho trước một cách khách quan.  Không có cơ chế định hướng tư uy. Rất cần có phương pháp cho phép định hướng chính xác con đường đi từ bài toán đến lời giải. Phương pháp Heuristic Phương pháp thử – sai có một số nhược điểm, khi giải quyết vấn đề bằng cách dùng một số lượng phép thử quá lớn, thời gian để có được kết quả có khi khá lâu không chấp nhận được. Phương pháp Heuristic có đặc điểm là đơn giản và gần gủi với cách suy nghĩ của con người, cho ra được những lời giải đúng trong đa số các trường hợp áp dụng. Các thuật giải Heuristic được xây dựng dựa trên một số nguyên lý rất đơn giản như “vét cạn thông minh”, “tối ưu cục bộ” Gree y , “hướng đích”, “sắp thứ tự”,... Đây là một số thuật giải khá thú vị và có rất nhiều ứng dụng trong thực tiễn. Để thực hiện tốt phương pháp Heuristic, chúng ta nên áp ụng các nguyên lý sau:  Nguyên lý leo núi: Muốn leo lên đến đỉnh th bước sau phải cao hơn bước trước.  Nguyên lý chung: Chọn hướng đi triển vọng nhất trong số những hướng đi đã biết. Phương pháp trí tuệ nhân tạo Phương pháp thử – sai và Heuristic nói chung đều dựa trên một điểm cơ bản là trí thông minh của chính con người để giải bài toán, máy tính chỉ đóng vai trò thực thi mà thôi. C n các phương pháp trí tuệ nhân tạo lại dựa trên trí thông minh của máy tính. Trong những phương pháp này, người ta sẽ đưa vào máy tính trí thông minh nhân tạo giúp máy tính bắt chước một phần khả năng suy luận như con người. Từ đó, khi gặp một vấn đề, máy tính sẽ dựa trên những điều nó đã được “học“ để tự đưa ra phương án giải quyết vấn đề. Trong lĩnh vực máy học, các hình thức học có thể phân chia như sau : Những đặc điểm mới trong Java 7 Thầy HD: GS TSKH Hoàng Kiếm Trang 13  Học vẹt.  Học bằng cách chỉ dẫn.  Học bằng qui nạp.  Học bằng tương tự.  Học dựa trên giải thích.  Học dựa trên tình huống.  Khám phá hay học không giám sát. Các k thuật thường được áp dụng trong “máy học” là :  Khai khoáng dữ liệu.  Mạng nơ ron.  Thuật giải di truyền. Một số ví dụ áp dụng điển hình trong tin học: Áp dụng nguyên tắc “tách khỏi”: Chúng ta thấy rằng, các máy tính đầu tiên của thế hệ 8086, 8088 hay thậm chí 80286 và một phần thế hệ 80386 thì các bộ phận CPU, RAM được gắn “chết” vào bo mạch chính, muốn thay thế rất khó khăn thường là phải thay cả bo mạch chính, đây chính là thành phần gây “rắc rối” cho sản phẩm. Khi xuất hiện các máy tính thế hệ sau 80386, 80486 và máy tính ngày nay, các bộ phận CPU, RAM được tách riêng khỏi bo mạch chính làm cho người dùng rất dễ thay thế hay nâng cấp khi cần. Trong các ngôn ngữ lập trình ngày nay, một ngôn ngữ lập tr nh thường tách ra các chức năng hay đối tượng riêng biệt như là các đối tượng COM, COM giúp cho người lập trình khi nào cần ng đối tượng nào thì chỉ cần “chèn” đối tượng đó vào để sử dụng và thậm chí người lập trình có thể “nâng cấp” đối tượng đó để có thêm những tính năng mới tốt hơn hay tạo thêm các đối tượng mới. Áp dụng nguyên tắc kết hợp: Trong lĩnh vực phần mềm, ngày nay một dự án khó có thể dùng một ngôn ngữ lập trình thực hiện từ đầu đến cuối mà phải có sự kết hợp nhiều phần với nhau. Ch ng hạn như một dự án về cơ sở dữ liệu, phần dữ liệu thường được tạo và quản lý bằng MySQL, SQL Server hay Oracle còn phần giao diện thường được lập trình bằng một trong các ngôn ngữ Visual Basic, .Net, Delphi hay Visual C,… thậm chí có thể kết hợp các ngôn ngữ đó trong phần thiết kế giao diện và các báo cáo thường được thiết kế bởi Crysral Report hay JReport. Áp dụng nguyên tắc chứa trong: Trong mã nguồn phần mềm tin học, một chương tr nh chính chứa nhiều chương tr nh con. Trong chương tr nh con lại chứa những chương tr nh con khác. Áp dụng nguyên tắc dự phòng: Những đặc điểm mới trong Java 7 Thầy HD: GS TSKH Hoàng Kiếm Trang 14 Trong lĩnh vực phần cứng, ngày nay trong CMOS luôn luôn có chức năng giúp người sử dụng đặt nhiệt độ tối đa cho Cpu, khi nhiệt độ Cpu tới mức đó th sẽ báo động. Đây là biện pháp dự phòng tốt. Ngoài ra, trong hệ điều hành Win ows, luôn có chương tr nh Backup và Restore dữ liệu, cho phép người ng “ghost” lại hệ điều hành nếu gặp trường hợp hư hỏng hệ điều hành. Hiện tại các hệ điều hành như Mac OSX, An roi hay hệ điều hành xài trên iPhone đều cho phép sao lưu và phục hồi dữ liệu. Áp dụng nguyên tắc sao chép: Trong lĩnh vực phần cứng và mạng có một số phần mềm giúp người học mạng chỉ cần một máy tính vẫn có thể thực tập được việc cài đặt và quản trị mạng, đó là các phần mềm giả lập (simulator) các thiết bị router hay các phần mềm VM (Virtual Machine) giả lập một máy tính thành nhiều máy tính. Áp dụng nguyên tắc đảo ngược: Trong lĩnh vực đồ thị, khi yêu cầu chứng minh hai đồ thị liên thông nhau, ta thường giả sử ngược lại là hai đồ thị không liên thông và chứng minh điều giả sử đó không đúng, hoặc ngược lại khi yêu cầu chứng minh hai đồ thị không liên thông nhau, ta thường giả sử ngược lại là hai đồ thị liên thông nhau và chứng minh điều giả sử đó không đúng. Đây là cách chứng minh phản chứng, được dùng rất nhiều trong lĩnh vực toán và tin học. Áp dụng nguyên tắc vượt nhanh: Trong máy tính, khi chúng ta khởi động máy, máy sẽ kiểm tra bộ nhớ RAM, chúng ta muốn vượt qua phần kiểm tra này thì bấm phím “ESC”. Trong các ngôn ngữ lập trình, cấu trúc rẽ nhánh giúp chương tr nh vượt nhanh qua các phần không thỏa điều kiện. Hiện tại trong rất nhiều chương tr nh luôn có thiết lập các bộ phím tắt nhằm cho user thao tác nhanh hơn. út ESC c ng giúp người dùng hủy nhiều thao tác nếu đợi quá lâu. Áp dụng nguyên tắc thay đổi màu sắc: Nguyên tắc thay đổi màu sắc được áp dụng rất nhiều trong các phần mềm, trên các giao diện web. Ví dụ như textbox yêu cầu phải nhập th thường có màu đỏ, khi người dùng nhập đúng định dạng của username thì có thông báo màu xanh, khi người dùng nhập lại mật khẩu nếu trùng với mật khẩu thứ nhất thì sẽ hiển thị thông báo màu xanh…vv… Trong các chương tr nh máy tính khi xuất hiện hộp thông báo thường kèm theo các biểu tượng giúp người dùng hiểu họ được thông báo với tình trạng gì (xem hình 2.1). Những đặc điểm mới trong Java 7 Thầy HD: GS TSKH Hoàng Kiếm Trang 15 3. NHỮNG ĐẶC ĐIỂM MỚI TRONG JAVA 7 3.1. Giới thiệu về Java - Lịch sử hình thành và phát triển! a. Giới thiệu ngôn ngữ lập trình Java Có thể nói rằng Java là một ngôn ngữ lập trình mạnh đang được sử dụng rất rộng rãi hiện nay trên toàn thế giới. Trên thực tế, Java được biết đến không chỉ là một ngôn ngữ lập trình mà còn là một platform – một môi trường và công nghệ phát triển – riêng biệt. Khi làm việc với Java, người lập tr nh được sở hữu một thư viện lớn, có tính mở với một lượng mã nguồn tái sử dụng khổng lồ luôn có trên internet. goài ra, các chương tr nh viết bằng Java có môi trường thực thi riêng với các tính năng bảo mật, khả năng triển khai trên nhiều hệ điều hành khác nhau. Java là một ngôn ngữ lập tr nh hướng đối tượng (OOP). 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 byteco e, byteco e 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,… Java được phát triển từ C ++ và C++ là hậu duệ trực tiếp của C, đo đó Java kế thừa cú pháp của C và tính hướng đối tượng của C++ nhưng có cú pháp hướng đối tượng đơn giản hơn và ít tính năng xử lý cấp thấp hơn. b. Lịch sử hình thành ngôn ngữ Java Java được khởi đầu bởi James Gosling và bạn đồng nghiệp là Patrick aughton, Christ Warth, E , và Mike Sheri an vào năm 1991 tại Sun Microsystems, Inc. Ngôn ngữ này đầu tiên được gọi là "Oak" có nghĩa là cây sồi; o bên ngoài cơ quan của ông Gosling có trồng nhiều loại cây này nhưng sau đổi tên thành Java vào năm 1995. Trong khoảng thời gian từ 1992 đến bản Java phát hành miễn phí đầu tiên năm 1995, rất nhiều người đã đóng góp ý kiến và phát triển ngôn ngữ này. Hiện này thì công ty Sun Microsystems đang giữ bản quyền và phát triển Java thường xuyên. 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 . 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ôi trường thực thi 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. Ngoài ra, một số công ty, tổ chức c ng như cá nhân khác c ng phát triển môi trường thực thi Java cho những hệ điều hành khác như BEA, IBM, HP… . Trong đó đáng nói đến nhất là IBM Java Platform hỗ trợ Windows, Linux, AIX & z/OS. Những chi tiết về ngôn ngữ, máy ảo và API của Java được giữ bởi Cộng đồng Java (do Oracle quản lý . Java được phát hành vào năm 199 , rồi nó trở nên nổi tiếng khi Netscape tuyên bố tại hội thảo SunWorl năm 1995 là tr nh duyệt Navigator của họ sẽ hỗ trợ Java. Về sau Java được được hỗ trợ trên hầu hết các trình duyệt như Internet Explorer(Microsoft), Firefox(Mozilla), Safari Apple … Những đặc điểm mới trong Java 7 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 -

Các file đính kèm theo tài liệu này:

  • pdf1211016_ppnckh_le_trieu_ngoc_duc_k22_2012_3669.pdf