ề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
21 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 2499 | Lượt tải: 0
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:
- 1211016_ppnckh_le_trieu_ngoc_duc_k22_2012_3669.pdf