Oracle có sử dụng java không
DO Cơ sở dữ liệu Oracle sử dụng Java trong nội bộ
Mỗi khách hàng bắt đầu một phiên, gọi các mô-đun logic phía máy chủ của nó thông qua các điểm nhập cấp cao nhất và cuối cùng kết thúc phiên. Môi trường máy chủ che giấu việc quản lý các phiên, mạng và các tài nguyên được chia sẻ khác từ các chương trình Java được lưu trữ.
Bản tóm tắt
Cơ sở dữ liệu Oracle sử dụng Java bên trong. Oracle cung cấp giải pháp Java từ đầu đến cuối cho các nhà phát triển ứng dụng doanh nghiệp. Giải pháp này bao gồm các giao diện lập trình phía máy khách và phía máy chủ, các công cụ để phát triển Java và JVM được tích hợp với cơ sở dữ liệu Oracle. Java trong phát triển ứng dụng cơ sở dữ liệu cung cấp các tính năng như thiết kế các quy trình và chức năng ràng buộc dữ liệu, mở rộng các khả năng của cơ sở dữ liệu với các thư viện Java và kết nối SQL và thế giới Java2ee thế giới. Môi trường lập trình Java cũng cung cấp các quy trình lưu trữ Java như là bạn đồng hành cho các giao diện lập trình PL/SQL, JDBC và SQLJ để truy cập dữ liệu SQL và các công cụ để quản lý lớp học. Ngoài ra, cơ sở dữ liệu Oracle cung cấp tích hợp và chức năng PL/SQL, cho phép gọi các chương trình PL/SQL hiện có từ Java và ngược lại. Trình điều khiển JDBC do Oracle cung cấp cho phép kết nối với cơ sở dữ liệu cho các ứng dụng và applet Java.
Những điểm chính
1. Java trong phát triển ứng dụng cơ sở dữ liệu:
- Thiết kế các quy trình và chức năng gắn dữ liệu bằng cách sử dụng API Java SE và JDBC.
- Mở rộng phạm vi tiếp cận và khả năng của cơ sở dữ liệu với các thư viện Java tiêu chuẩn và bên thứ ba.
- Phân vùng linh hoạt của các ứng dụng J2SE để truy cập dữ liệu đối xứng ở cấp độ JDBC.
- Cầu nối SQL và thế giới J2EE bằng cách gọi các thành phần web và cầu nối SQL và dịch vụ web.
2. Sử dụng môi trường lập trình Java:
- Các thủ tục lưu trữ Java như tương đương Java và đồng hành cho PL/SQL.
- Giao diện lập trình JDBC và SQLJ để truy cập dữ liệu SQL.
- Các công cụ và tập lệnh để phát triển, tải và quản lý các lớp.
3. Các thủ tục lưu trữ Java:
Các quy trình lưu trữ Java là các chương trình Java được triển khai trên máy chủ và chạy từ máy chủ, giống như các quy trình lưu trữ PL/SQL. Chúng có thể được gọi trực tiếp hoặc gián tiếp thông qua các kích hoạt. Cơ sở dữ liệu Oracle cung cấp một triển khai hoàn chỉnh ngôn ngữ lập trình Java tiêu chuẩn và JVM.
4. Tích hợp PL/SQL và chức năng Oracle RDBMS:
Cơ sở dữ liệu Oracle cho phép gọi các chương trình PL/SQL hiện có từ các chương trình Java và Java từ PL/SQL. Điều này tạo điều kiện cho việc tận dụng mã PL/SQL và Java và tận dụng các cơ hội điện toán Internet dựa trên Java. Trình điều khiển JDBC do Oracle cung cấp bao gồm trình điều khiển mỏng JDBC, trình điều khiển JDBC OCI và Trình điều khiển bên trong phía máy chủ JDBC.
Câu hỏi
1. Java trong các tính năng nào trong cung cấp phát triển ứng dụng cơ sở dữ liệu?
Java trong phát triển ứng dụng cơ sở dữ liệu cung cấp các tính năng như thiết kế các quy trình và chức năng ràng buộc dữ liệu, mở rộng các khả năng của cơ sở dữ liệu với các thư viện Java và kết nối SQL và thế giới Java2ee thế giới.
2. Quy trình lưu trữ Java tương đương với PL/SQL là gì?
Các thủ tục lưu trữ Java đóng vai trò là tương đương Java và đồng hành cho PL/SQL.
3. Các giao diện lập trình để truy cập dữ liệu SQL trong Java là gì?
Giao diện lập trình JDBC và SQLJ được sử dụng để truy cập dữ liệu SQL trong Java.
4. Những công cụ nào có sẵn trong môi trường lập trình Java?
Môi trường lập trình Java cung cấp các công cụ và tập lệnh để phát triển, tải và quản lý các lớp.
5. Làm thế nào các thủ tục lưu trữ Java có thể được gọi?
Các thủ tục lưu trữ Java có thể được gọi trực tiếp hoặc gián tiếp thông qua các kích hoạt.
6. Cơ sở dữ liệu Oracle có thể gọi các chương trình PL/SQL hiện có từ Java?
Có, cơ sở dữ liệu Oracle hỗ trợ gọi các chương trình PL/SQL hiện có từ Java.
7. Làm thế nào các ứng dụng Java có thể truy cập dữ liệu Oracle SQL?
Các ứng dụng Java có thể truy cập dữ liệu Oracle SQL thông qua trình điều khiển JDBC do Oracle cung cấp.
số 8. Mục đích của trình điều khiển mỏng JDBC là gì?
Trình điều khiển mỏng JDBC cho phép viết các ứng dụng và ứng dụng Java thuần túy truy cập dữ liệu Oracle SQL. Nó phù hợp cho các ứng dụng và applet dựa trên web.
9. Trình điều khiển OCI JDBC khác với trình điều khiển mỏng JDBC như thế nào?
Trình điều khiển OCI JDBC truy cập mã gốc và thư viện gốc dành riêng cho Oracle trên máy khách hoặc tầng giữa, cung cấp hiệu suất tăng so với trình điều khiển mỏng JDBC với chi phí cài đặt kích thước lớn hơn và cài đặt phía khách hàng.
10. Trình điều khiển bên trong phía máy chủ JDBC được sử dụng cho?
Trình điều khiển bên trong phía máy chủ JDBC cho phép các ứng dụng Java chạy trong Oracle JVM trên máy chủ để truy cập dữ liệu được xác định cục bộ bằng JDBC, cung cấp tăng hiệu suất bằng cách sử dụng trực tiếp các thư viện Oracle RDBMS cơ bản của Oracle RDBMS.
DO Cơ sở dữ liệu Oracle sử dụng Java trong nội bộ
Mỗi khách hàng bắt đầu một phiên, gọi các mô-đun logic phía máy chủ của nó thông qua các điểm nhập cấp cao nhất và cuối cùng kết thúc phiên. Môi trường máy chủ che giấu việc quản lý các phiên, mạng và các tài nguyên được chia sẻ khác từ các chương trình Java được lưu trữ.
Oracle có sử dụng java không
Oracle cung cấp cho các nhà phát triển ứng dụng doanh nghiệp một giải pháp Java từ đầu đến cuối để tạo, triển khai và quản lý các ứng dụng Java. Tổng giải pháp bao gồm các giao diện lập trình phía máy khách và phía máy chủ, các công cụ để hỗ trợ phát triển Java và JVM được tích hợp với cơ sở dữ liệu Oracle. Tất cả các sản phẩm này hoàn toàn tương thích với các tiêu chuẩn Java. Phần này bao gồm các chủ đề sau:
- Java trong phát triển ứng dụng cơ sở dữ liệu
- Sử dụng môi trường lập trình Java
- Thủ tục lưu trữ Java
- Tích hợp PL/SQL và chức năng Oracle RDBMS
- Công cụ phát triển
- Hỗ trợ giao thức Internet phiên bản 6
1.6.1 Java trong phát triển ứng dụng cơ sở dữ liệu
Các tính năng quan trọng nhất của Java trong phát triển ứng dụng cơ sở dữ liệu là:
- Thiết kế các quy trình và chức năng gắn dữ liệu bằng cách sử dụng API Java SE và JDBC.
- Mở rộng phạm vi tiếp cận và khả năng của cơ sở dữ liệu với các thư viện Java tiêu chuẩn và bên thứ ba. Ví dụ: truy cập cơ sở dữ liệu của bên thứ ba bằng trình điều khiển của họ trong cơ sở dữ liệu và truy cập Hadoop/HDFS.
- Cung cấp phân vùng linh hoạt của nền tảng Java2, các ứng dụng Standard Edition (J2SE) để truy cập dữ liệu đối xứng ở cấp độ JDBC.
- Cầu nối SQL và nền tảng Java2, Thế giới phiên bản Enterprise (J2EE) bởi:
- Gọi ra các thành phần web, chẳng hạn như JSP và Servlet
- Cầu nối SQL và dịch vụ web bằng cách sử dụng các chú thích dịch vụ web
1.6.2 Sử dụng môi trường lập trình Java
Ngoài Oracle JVM, môi trường lập trình Java cung cấp:
- Các thủ tục lưu trữ Java như tương đương Java và đồng hành cho PL/SQL. Các thủ tục lưu trữ Java được tích hợp chặt chẽ với PL/SQL. Bạn có thể gọi các thủ tục lưu trữ Java từ các gói PL/SQL và các thủ tục PL/SQL từ các thủ tục lưu trữ Java.
- Giao diện lập trình JDBC và SQLJ để truy cập dữ liệu SQL.
- Các công cụ và tập lệnh hỗ trợ phát triển, tải và quản lý các lớp.
Bảng sau đây giúp bạn quyết định khi nào nên sử dụng API Java nào:
Để có một thủ tục Java được gọi từ SQL, chẳng hạn như trình kích hoạt.
Thủ tục lưu trữ Java
Để gọi một câu lệnh SQL tĩnh, đơn giản từ một bảng đã biết với các tên cột đã biết từ một đối tượng Java.
Để gọi các câu lệnh SQL động, phức tạp từ đối tượng Java.
1.6.3 thủ tục lưu trữ Java
Quy trình lưu trữ Java là các chương trình Java được viết và triển khai trên máy chủ và chạy từ máy chủ, giống hệt như một quy trình lưu trữ PL/SQL. Bạn gọi nó trực tiếp với các sản phẩm như SQL*Plus, hoặc gián tiếp với bộ kích hoạt. Bạn có thể truy cập nó từ bất kỳ ứng dụng khách Oracle Net nào, chẳng hạn như OCI và Pro*, hoặc JDBC hoặc SQLJ.
Ngoài ra, bạn có thể sử dụng Java để phát triển các chương trình phía máy chủ mạnh mẽ, có thể độc lập với PL/SQL. Cơ sở dữ liệu Oracle cung cấp một triển khai hoàn chỉnh ngôn ngữ lập trình Java tiêu chuẩn và JVM tuân thủ đầy đủ.
Chủ đề liên quan
1.6.4 PL/SQL Tích hợp và chức năng Oracle RDBMS
Bạn có thể gọi các chương trình PL/SQL hiện có từ các chương trình Java và Java từ PL/SQL. Giải pháp này bảo vệ và tận dụng mã PL/SQL và Java của bạn và mở ra những lợi thế và cơ hội của máy tính Internet dựa trên Java.
Cơ sở dữ liệu Oracle cung cấp hai API Java khác nhau để truy cập dữ liệu SQL, JDBC và SQLJ. Cả hai API này đều có sẵn trên máy khách và API JDBC cũng có sẵn trên máy chủ. Do đó, bạn có thể triển khai các ứng dụng của mình trên máy khách và máy chủ.
Các chủ đề sau đây giới thiệu API Java được cung cấp bởi cơ sở dữ liệu Oracle:
1.6.4.1 Trình điều khiển JDBC
JDBC là giao thức truy cập cơ sở dữ liệu cho phép bạn kết nối với cơ sở dữ liệu và chạy các câu lệnh SQL và truy vấn với cơ sở dữ liệu. Thư viện lớp Java cốt lõi cung cấp API JDBC sau: Java.SQL và Javax.SQL . Tuy nhiên, JDBC được thiết kế để cho phép các nhà cung cấp cung cấp cho các trình điều khiển cung cấp chuyên môn cần thiết cho một cơ sở dữ liệu cụ thể. Oracle cung cấp các trình điều khiển JDBC khác biệt sau:
Trình điều khiển mỏng JDBC
Bạn có thể sử dụng trình điều khiển mỏng JDBC để viết các ứng dụng và ứng dụng Java thuần túy truy cập dữ liệu Oracle SQL. Trình điều khiển mỏng JDBC đặc biệt phù hợp với các ứng dụng và applet dựa trên web, vì bạn có thể tự động tải nó từ một trang web, tương tự như bất kỳ applet Java nào khác.
Trình điều khiển JDBC OCI
Trình điều khiển OCI JDBC truy cập mã gốc dành riêng cho Oracle, nghĩa là mã không phải là JAVA và thư viện trên máy khách hoặc cấp giữa, cung cấp hiệu suất tăng so với trình điều khiển mỏng JDBC, với chi phí kích thước lớn hơn đáng kể và cài đặt phía khách hàng.
Trình điều khiển bên trong phía máy chủ JDBC
Cơ sở dữ liệu Oracle sử dụng trình điều khiển bên trong phía máy chủ khi mã Java chạy trên máy chủ. Nó cho phép các ứng dụng Java chạy trong Oracle JVM trên máy chủ để truy cập dữ liệu được xác định cục bộ, nghĩa là dữ liệu trên cùng một hệ thống và trong cùng một quy trình, với JDBC. Nó cung cấp một sự tăng hiệu suất, vì khả năng sử dụng trực tiếp các thư viện Oracle RDBMS cơ bản của nó, mà không có chi phí của kết nối mạng can thiệp giữa mã Java và dữ liệu SQL. Bằng cách hỗ trợ cùng một giao diện Java-SQL trên máy chủ, cơ sở dữ liệu Oracle không yêu cầu bạn phải làm lại mã khi triển khai nó.
Chủ đề liên quan
DO Cơ sở dữ liệu Oracle sử dụng Java trong nội bộ?
Biên tập:
Oracle không bao gồm một JVM chạy trên cùng một máy với chính cơ sở dữ liệu, nhưng điều đó không được sử dụng để chạy bất kỳ mã “liên quan đến DBMS” nào.Nó chỉ ở đó để chạy các quy trình/chức năng được lưu trữ được viết bằng Java.
Đã trả lời ngày 13 tháng 9 năm 2011 lúc 6:43
a_horse_with_no_name a_horse_with_no_name
78K 14 14 Huy hiệu vàng 157 157 Huy hiệu bạc 194 194 Huy hiệu Đồng
Wow, không biết về phần c. +1.
Ngày 13 tháng 9 năm 2011 lúc 10:17
Kiểm tra “Dòng thời gian lịch sử” của họ: Oracle.com/us/công ty/dòng thời gian/chỉ mục.HTML: 1983: “Oracle phát hành phiên bản 3 của cơ sở dữ liệu của nó, với mã máy chủ được viết bằng ngôn ngữ lập trình C
Ngày 13 tháng 9 năm 2011 lúc 10:24
Tôi đoán là Java không tồn tại sau đó. Tôi nghĩ rằng Java đầu tiên đến tại Oracle 8i.
Ngày 13 tháng 9 năm 2011 lúc 16:59
JVM nội bộ không được sử dụng để chạy bất kỳ mã “liên quan đến dbms” nào. Nó chỉ ở đó để chạy các quy trình/chức năng được lưu trữ được viết bằng Java.
Ngày 13 tháng 9 năm 2011 lúc 18:27
@A_HORSE_WITH_NO_NAME – Tôi đoán nó phụ thuộc vào ý nghĩa của các gói “Tiêu chuẩn”. Oracle vận chuyển một số gói được xây dựng trong Java (ví dụ như bất cứ thứ gì sử dụng XDB, bao gồm nhiều gói XMLQuery, phụ thuộc vào JVM nội bộ). Đây không phải là “tiêu chuẩn” theo nghĩa của các gói mà hầu hết các nhà phát triển sử dụng thường xuyên. Nhưng chúng là “tiêu chuẩn” theo nghĩa là chúng được cài đặt khi bạn thực hiện cài đặt mặc định của cơ sở dữ liệu Oracle.
1
Giới thiệu về Java trong cơ sở dữ liệu OracleCuốn sách này cung cấp một cái nhìn tổng quan về cách phát triển, tải và thực hiện các ứng dụng Java của bạn trong cơ sở dữ liệu Oracle.
Chương này chứa các thông tin sau:
- Nội dung chương
- Có gì mới trong bản phát hành này?
- Tổng quan về Java
- Tại sao sử dụng Java trong cơ sở dữ liệu Oracle?
- Có gì khác với Oraclejvm?
- Các thành phần chính của Oraclejvm
- Chiến lược ứng dụng Java của Oracle
- Desupport của J2EE Technologies trong cơ sở dữ liệu Oracle
Nội dung chương
- Giới thiệu ngôn ngữ Java cho các lập trình viên cơ sở dữ liệu Oracle. Nhà phát triển Oracle PL/SQL đã quen với việc phát triển các ứng dụng phía máy chủ có tích hợp chặt chẽ với dữ liệu SQL. Bạn có thể phát triển các ứng dụng phía máy chủ Java tận dụng khả năng mở rộng và hiệu suất của cơ sở dữ liệu Oracle. Nếu bạn không quen thuộc với Java, hãy xem “Tổng quan về Java” .
- Kiểm tra lý do tại sao có thể xem xét sử dụng Java trong cơ sở dữ liệu Oracle. Xem “Tại sao sử dụng Java trong cơ sở dữ liệu Oracle?” . Ngoài ra, một mô tả ngắn gọn được đưa ra cho mỗi API Java được hỗ trợ trong cơ sở dữ liệu Oracle. Danh sách các API bao gồm các thủ tục lưu trữ của JDBC và Java. Xem “Chiến lược ứng dụng Java của Oracle” .
Có gì mới trong bản phát hành này?
Các phần sau đây mô tả các bổ sung cho bản phát hành này:
- Nâng cấp lên J2SE 1.4.1
- Mô hình bộ nhớ mới cho các phiên chế độ chuyên dụng
- Cơ sở dữ liệu Các chú thích dịch vụ web
- Giao diện Java gốc
- EJB gọi ra
Nâng cấp lên J2SE 1.4.1
Trong bản phát hành này, các lớp hệ thống được nâng cấp từ J2SE 1.3 đến J2SE 1.4.1. J2SE 1.4.1 tương thích với J2SE 1.3. Sun microsystems xuất bản danh sách không tương thích giữa J2SE 1.4.1 và các phiên bản trước tại trang web sau:
http: // java.mặt trời.com/sản phẩm/j2se/1.4.1/Khả năng tương thích.HTML
Là một phần của việc nâng cấp các lớp hệ thống lên J2SE 1.4.1, OracleJVM hỗ trợ AWT không đầu. Headless AWT cho phép tính toán AWT, không dựa vào các thiết bị hiển thị và đầu vào gốc của nền tảng. Các phương thức cố gắng hiển thị giao diện người dùng đồ họa hoặc đọc từ đầu vào bàn phím hoặc chuột thay vì ném Java ngoại lệ thời gian chạy mới.Awt.Headlessexception. Tương tự, OracleJVM không thay đổi cố gắng phát hoặc ghi âm thanh bằng các thiết bị âm thanh gốc của máy chủ, nhưng vẫn cho phép các ứng dụng đọc, ghi và thao tác các tệp âm thanh được hỗ trợ. Để biết thêm thông tin, hãy xem “Giao diện người dùng trên máy chủ” .
Mô hình bộ nhớ mới cho các phiên chế độ chuyên dụng
Trong cơ sở dữ liệu Oracle, OracleJVM có mô hình bộ nhớ mới cho các phiên kết nối với cơ sở dữ liệu thông qua máy chủ chuyên dụng. Do một phiên sử dụng máy chủ chuyên dụng được đảm bảo sử dụng quy trình tương tự cho mọi cuộc gọi cơ sở dữ liệu, nên khu vực toàn cầu quy trình được sử dụng cho bộ nhớ cụ thể phiên và phân bổ đối tượng. Điều này có nghĩa là một số đối tượng và tài nguyên đã từng được đòi lại ở cuối mỗi cuộc gọi bây giờ có thể sống qua các cuộc gọi. Cụ thể, các tài nguyên cụ thể cho một hệ điều hành cụ thể, chẳng hạn như các luồng và tệp mở, giờ đây không còn được làm sạch ở cuối mỗi cuộc gọi cơ sở dữ liệu.
Đối với các phiên sử dụng các máy chủ được chia sẻ, các hạn chế trên các cuộc gọi được áp dụng trong các bản phát hành trước đó vẫn còn. Lý do là một phiên sử dụng máy chủ chia sẻ không được đảm bảo để kết nối với cùng một quy trình trong cuộc gọi cơ sở dữ liệu tiếp theo và do đó bộ nhớ cụ thể phiên và các đối tượng cần sống qua các cuộc gọi được lưu trong khu vực toàn cầu hệ thống. Điều này có nghĩa là các tài nguyên dành riêng cho quy trình, chẳng hạn như luồng, tệp mở và ổ cắm phải được làm sạch vào cuối mỗi cuộc gọi và do đó sẽ không có sẵn cho cuộc gọi tiếp theo. Để biết thêm chi tiết về hành vi của OracleJVM khi sử dụng các máy chủ được chia sẻ, hãy xem “Cân nhắc đặc biệt cho các máy chủ được chia sẻ” .
Cơ sở dữ liệu Các chú thích dịch vụ web
Trong cơ sở dữ liệu của Oracle, bạn có thể tải một ứng dụng khách dịch vụ web vào OracleJVM để hỗ trợ các chú thích đến các dịch vụ web bên ngoài từ Java cũng như từ PL/SQL. Bạn có thể sử dụng công cụ JPublisher để tạo các proxies máy khách Java tĩnh cũng như thông số kỹ thuật cuộc gọi PL/SQL trên các proxy này được tải vào OracleJVM để cho phép truy cập các dịch vụ web từ mã Java, PL/SQL và SQL SQL.
Giao diện Java gốc
Trong cơ sở dữ liệu của Oracle, giờ đây bạn có thể gọi các phương thức tĩnh công khai của các lớp Java trong OracleJVM trực tiếp từ các máy khách Java mà không cần xác định thông số kỹ thuật cuộc gọi PL/SQL và gọi chúng qua JDBC thông qua JDBC. Thay vào đó, bạn có thể sử dụng tiện ích JPublisher để tạo lớp Propsy Propsy có cùng chữ ký với lớp Java phía máy chủ. Khi bạn đã khởi tạo một phiên bản thân máy khách với kết nối JDBC, bạn có thể gọi trực tiếp các phương thức proxy.
Hình 1-1 cho thấy API STUB phía máy khách để gọi trực tiếp các phương thức Java phía máy chủ tĩnh. Jpublisher trong suốt chăm sóc thế hệ sơ khai.
Hình 1-1 Giao diện Java gốc
Ví dụ: để gọi phương thức sau trong máy chủ
Oracle chuỗi công khai.sqlj.Checker.JDBCversion.to_String ();
jpub -java = oracle.sqlj.Checker.JDBCversion
EJB gọi ra
Trong một số ứng dụng doanh nghiệp nhất định, việc truy cập Java Bean (EJB) của Enterprise trở nên cần thiết, được triển khai trên máy chủ từ xa, từ trong cơ sở dữ liệu. Cơ sở dữ liệu Oracle cung cấp một phương tiện để truy cập EJB được triển khai từ xa qua RMI.
Hình 1-2 cuộc gọi EJB
Tổng quan về Java
Java đã nổi lên như là ngôn ngữ lập trình hướng đối tượng được lựa chọn. Nó bao gồm các khái niệm sau:
- Một máy ảo Java (JVM), cung cấp cơ sở cơ bản cho sự độc lập của nền tảng
- Kỹ thuật quản lý lưu trữ tự động, trong đó có thể nhìn thấy nhất là bộ sưu tập rác
- Cú pháp ngôn ngữ mượn từ C và thực thi đánh máy mạnh mẽ
Kết quả là một ngôn ngữ hướng đối tượng và hiệu quả cho các chương trình cấp ứng dụng.
Java và thuật ngữ lập trình hướng đối tượng
Phần này bao gồm một số thuật ngữ cơ bản về phát triển ứng dụng Java trong môi trường cơ sở dữ liệu Oracle. Các thuật ngữ nên quen thuộc với các lập trình viên Java có kinh nghiệm. Một cuộc thảo luận chi tiết về lập trình hướng đối tượng hoặc ngôn ngữ Java nằm ngoài phạm vi của cuốn sách này. Nhiều văn bản, ngoài thông số kỹ thuật ngôn ngữ hoàn chỉnh, có sẵn tại hiệu sách của bạn và trên internet. Xem “Đề xuất đọc” trong lời nói đầu của các con trỏ để tham chiếu tài liệu và để tìm thông tin liên quan đến Java trên Internet.
Các lớp học
Tất cả các ngôn ngữ lập trình hướng đối tượng đều hỗ trợ khái niệm về một lớp. Như với định nghĩa bảng, một lớp cung cấp một mẫu cho các đối tượng chia sẻ các đặc điểm chung. Mỗi lớp có thể chứa những điều sau:
- Các thuộc tính-các biến thể hiện hoặc trường hợp mà mỗi đối tượng của một lớp cụ thể sở hữu.
- Các phương thức-bạn có thể gọi các phương thức được xác định bởi lớp hoặc được kế thừa bởi bất kỳ lớp nào được mở rộng từ lớp.
Khi bạn tạo một đối tượng từ một lớp, bạn đang tạo một thể hiện của lớp đó. Ví dụ chứa các trường của một đối tượng, được gọi là dữ liệu của nó hoặc trạng thái. Hình 1-3 cho thấy một ví dụ về lớp nhân viên được xác định với hai thuộc tính: Tên cuối cùng (tên cuối) và định danh nhân viên (ID).
Hình 1-3 Các lớp và trường hợp
Khi bạn tạo một thể hiện, các thuộc tính lưu trữ thông tin cá nhân và cá nhân chỉ có liên quan đến nhân viên. Nghĩa là, thông tin có trong một trường hợp nhân viên chỉ được biết đến cho nhân viên duy nhất đó. Ví dụ trong Hình 1-3 cho thấy hai trường hợp nhân viên-Smith và Jones. Mỗi trường hợp chứa thông tin liên quan đến từng nhân viên.
Thuộc tính
Các thuộc tính trong một trường hợp được gọi là các trường. Các trường thể hiện tương tự như các trường của hàng bảng quan hệ. Lớp xác định các trường, cũng như loại của mỗi trường. Bạn có thể khai báo các trường trong Java là tĩnh, công khai, riêng tư, được bảo vệ hoặc truy cập mặc định.
- Các trường truy cập công khai, riêng tư, được bảo vệ hoặc mặc định được tạo trong mỗi trường hợp.
- Các trường tĩnh giống như các biến toàn cầu ở chỗ thông tin có sẵn cho tất cả các trường hợp của lớp nhân viên.
Thông số kỹ thuật ngôn ngữ xác định các quy tắc hiển thị dữ liệu cho tất cả các trường. Quy tắc hiển thị xác định trong hoàn cảnh nào bạn có thể truy cập dữ liệu trong các trường này.
Phương pháp
Lớp cũng xác định các phương thức bạn có thể gọi trên một thể hiện của lớp đó. Các phương thức được viết bằng Java và xác định hành vi của một đối tượng. Gói trạng thái và hành vi này là bản chất của đóng gói, là một tính năng của tất cả các ngôn ngữ lập trình hướng đối tượng. Nếu bạn xác định một lớp nhân viên, tuyên bố rằng ID của mỗi nhân viên là một trường riêng, các đối tượng khác chỉ có thể truy cập vào trường riêng đó nếu một phương thức trả về trường. Trong ví dụ này, một đối tượng có thể truy xuất số nhận dạng của nhân viên bằng cách gọi nhân viên.phương thức getId ().
Ngoài ra, với đóng gói, bạn có thể tuyên bố rằng nhân viên.Phương thức getId () là riêng tư hoặc bạn có thể quyết định không viết một nhân viên.phương thức getId (). Đóng gói giúp bạn viết các chương trình có thể tái sử dụng và không bị lạm dụng. Đóng gói làm cho công khai các tính năng của một đối tượng được tuyên bố công khai; Tất cả các lĩnh vực và phương pháp khác đều riêng tư. Các trường và phương thức riêng có thể được sử dụng để xử lý đối tượng nội bộ.
Phân cấp lớp
Java định nghĩa các lớp trong một hệ thống phân cấp lớn của các lớp. Ở đầu phân cấp là lớp đối tượng. Tất cả các lớp trong Java kế thừa từ lớp đối tượng ở một mức độ nào đó, khi bạn đi qua chuỗi kế thừa của các siêu lớp. Khi chúng ta nói lớp B kế thừa từ lớp A, mỗi trường hợp của lớp B chứa tất cả các trường được xác định trong lớp B, cũng như tất cả các trường được xác định trong lớp A. Ví dụ: trong Hình 1-4, lớp FullTimeEmployee chứa các trường ID và LastName được xác định trong lớp nhân viên, vì nó kế thừa từ lớp nhân viên. Ngoài ra, lớp FullTimeEmployee thêm một trường khác, tiền thưởng, chỉ chứa trong FullTimeEmployee.
Bạn có thể gọi bất kỳ phương pháp nào trên một thể hiện của lớp B được xác định trong cả lớp A hoặc B. Trong ví dụ nhân viên của chúng tôi, phiên bản FullTimeEmployee có thể gọi các phương thức chỉ được xác định trong lớp riêng của nó hoặc các phương thức được xác định trong lớp nhân viên.
Hình 1-4 Phân cấp lớp
Các thể hiện của lớp B có thể thay thế cho các trường hợp của lớp A, điều này làm cho việc kế thừa một cấu trúc mạnh mẽ khác của các ngôn ngữ hướng đối tượng để cải thiện tái sử dụng mã. Bạn có thể tạo các lớp mới xác định hành vi và trạng thái có ý nghĩa trong hệ thống phân cấp, nhưng sử dụng chức năng tồn tại từ trước trong các thư viện lớp.
Giao diện
Java chỉ hỗ trợ thừa kế duy nhất; nghĩa là, mỗi lớp có một và chỉ một lớp mà nó kế thừa. Nếu bạn phải thừa hưởng từ nhiều nguồn, Java cung cấp tương đương với nhiều kế thừa, mà không có biến chứng và sự nhầm lẫn thường đi kèm với nó, thông qua các giao diện. Giao diện tương tự như các lớp; Tuy nhiên, các giao diện xác định chữ ký phương thức, không triển khai. Các phương thức được triển khai trong các lớp được khai báo để triển khai giao diện. Nhiều kế thừa xảy ra khi một lớp duy nhất hỗ trợ nhiều giao diện.
Đa hình
Giả sử trong ví dụ nhân viên của chúng tôi rằng các loại nhân viên khác nhau phải có thể trả lời với khoản bồi thường của họ cho đến nay. Bồi thường được tính toán khác nhau cho các loại nhân viên khác nhau.
- FullTimeMployees đủ điều kiện nhận tiền thưởng
- Không có việc theo dõi được tiền làm thêm giờ
Trong các ngôn ngữ thủ tục truyền thống, bạn sẽ viết một câu lệnh chuyển đổi dài, với các trường hợp có thể được xác định khác nhau.
Chuyển đổi: (nhân viên.Loại) Trường hợp: Nhân viên trở về nhân viên.Mức lương; Trường hợp: Nhân viên trả lại FullTimeMployee.Mức lương + Nhân viên.Bonustodate .
Nếu bạn thêm một loại nhân viên mới, bạn phải cập nhật câu lệnh switch của mình. Nếu bạn sửa đổi cấu trúc dữ liệu của mình, bạn phải sửa đổi tất cả các câu lệnh chuyển đổi sử dụng nó. Trong một ngôn ngữ định hướng đối tượng như Java, bạn thực hiện một phương thức, PENTENTODATE (), cho mỗi lớp con của lớp nhân viên yêu cầu bất kỳ điều trị đặc biệt nào ngoài những gì đã được xác định trong lớp nhân viên. Ví dụ: bạn có thể thực hiện phương thức PENHEMTODATE () của NotExememployee, như sau:
Bồi thường nổi riêng ()
Bạn thực hiện phương thức của FullTimeemployee, như sau:
Bồi thường nổi riêng ()
Việc sử dụng phổ biến của tên phương thức alanTodate () cho phép bạn gọi phương thức giống hệt nhau trên các lớp khác nhau và nhận kết quả khác nhau, mà không biết loại nhân viên bạn đang sử dụng. Bạn không cần phải viết một phương pháp đặc biệt để xử lý FullTimeMployes và SetTimeEmployees. Khả năng này cho các đối tượng khác nhau để đáp ứng với thông điệp giống hệt nhau theo những cách khác nhau được gọi là đa hình.
Ngoài ra, bạn có thể tạo một lớp hoàn toàn mới không kế thừa từ nhân viên tại mọi bộ phận-và thực hiện một phương thức peadationTodate () trong đó. Một chương trình tính toán tổng số tiền lương cho đến nay sẽ lặp lại tất cả mọi người trên bảng lương, bất kể họ là toàn thời gian, bán thời gian hoặc các nhà thầu và cộng lại các giá trị được trả về từ việc gọi phương thức bồi thường (). Bạn có thể thực hiện các thay đổi một cách an toàn đối với các phương thức PEChationTodate () riêng lẻ với kiến thức rằng người gọi của các phương thức sẽ hoạt động chính xác. Ví dụ: bạn có thể thêm các trường mới một cách an toàn vào các lớp hiện có.
Máy ảo Java (JVM)
Cũng như các ngôn ngữ máy tính cấp cao khác, nguồn Java của bạn biên dịch cho các hướng dẫn máy cấp thấp. Trong Java, các hướng dẫn này được gọi là byte (vì kích thước của chúng là đồng đều một byte lưu trữ). Hầu hết các ngôn ngữ khác-chẳng hạn như C-tổng hợp các hướng dẫn dành riêng cho máy-như hướng dẫn cụ thể cho bộ xử lý Intel hoặc HP. Nguồn Java của bạn biên dịch thành một bộ byte độc lập với tiêu chuẩn, nền tảng, tương tác với máy ảo Java (JVM). JVM là một chương trình riêng biệt được tối ưu hóa cho nền tảng cụ thể mà bạn thực hiện mã Java của mình. Hình 1-5 minh họa cách Java có thể duy trì tính độc lập của nền tảng. Nguồn Java của bạn được biên dịch thành byte, là nền tảng độc lập. Mỗi nền tảng đã cài đặt một JVM dành riêng cho hệ điều hành của nó. Các byte Java từ nguồn của bạn được giải thích thông qua JVM thành các hành động phụ thuộc vào nền tảng thích hợp.
Hình 1-5 Cấu trúc thành phần Java
Khi bạn phát triển chương trình Java, bạn sử dụng các thư viện lớp lõi được xác định trước được viết bằng ngôn ngữ Java. Các thư viện lớp Core Java được chia thành hợp pháp thành các gói cung cấp chức năng thường được sử dụng, chẳng hạn như hỗ trợ ngôn ngữ cơ bản (Java.lang), đầu vào/đầu ra (java.IO) và truy cập mạng (Java.mạng lưới). Cùng nhau, các thư viện lớp JVM và Core cung cấp một nền tảng mà các lập trình viên Java có thể phát triển với sự tự tin rằng bất kỳ phần cứng và hệ điều hành nào hỗ trợ Java sẽ thực hiện chương trình của họ. Khái niệm này là những gì thúc đẩy ý tưởng “Viết, chạy bất cứ nơi nào” của Java.
Hình 1-6 minh họa cách các ứng dụng Oracle Java ngồi trên đầu thư viện lớp Java Core, lần lượt ngồi trên đầu JVM. Vì hệ thống hỗ trợ Oracle Java nằm trong cơ sở dữ liệu, JVM tương tác với các thư viện cơ sở dữ liệu Oracle, thay vì trực tiếp với hệ điều hành.
Hình 1-6 Cấu trúc thành phần Java cơ sở dữ liệu Oracle
Sun Microsystems cung cấp các thông số kỹ thuật có sẵn công khai cho cả ngôn ngữ Java và JVM. Đặc tả ngôn ngữ Java (JLS) định nghĩa những thứ như cú pháp và ngữ nghĩa; Thông số kỹ thuật JVM xác định hành vi cấp thấp cần thiết cho “máy” thực thi các byte. Ngoài ra, Sun Microsystems cung cấp bộ kiểm tra khả năng tương thích cho người triển khai JVM để xác định xem họ có tuân thủ các thông số kỹ thuật. Bộ thử nghiệm này được gọi là Bộ tương thích Java (JCK). Việc triển khai OracleJVM tuân thủ đầy đủ với JCK. Một phần của chiến lược Java tổng thể là một tiêu chuẩn được chỉ định công khai, cùng với một cách đơn giản để xác minh sự tuân thủ với tiêu chuẩn đó, cho phép các nhà cung cấp cung cấp hỗ trợ thống nhất cho Java trên tất cả các nền tảng.
Các tính năng chính của ngôn ngữ Java
Ngôn ngữ Java có các tính năng chính làm cho nó lý tưởng để phát triển các ứng dụng máy chủ. Những tính năng này bao gồm:
- Đơn giản-Java là một ngôn ngữ đơn giản hơn hầu hết các ứng dụng khác được sử dụng trong các ứng dụng máy chủ vì việc thực thi mô hình đối tượng nhất quán của nó. Bộ thư viện lớp lớn, tiêu chuẩn mang đến các công cụ mạnh mẽ cho các nhà phát triển Java trên tất cả các nền tảng.
- Tính di động-Java có thể di động trên các nền tảng. Có thể viết mã phụ thuộc vào nền tảng vào Java, nhưng cũng rất đơn giản để viết các chương trình di chuyển liền mạch trên các máy. Ứng dụng máy chủ Oracle, không hỗ trợ giao diện người dùng đồ họa trực tiếp trên nền tảng lưu trữ chúng, cũng có xu hướng tránh một số vấn đề về tính di động nền tảng mà Java có.
- Quản lý lưu trữ tự động-Máy ảo Java tự động thực hiện tất cả các phân bổ và phân bổ bộ nhớ trong quá trình thực hiện chương trình. Các lập trình viên Java không thể phân bổ cũng không có bộ nhớ miễn phí. Thay vào đó, họ phụ thuộc vào JVM để thực hiện các hoạt động sổ sách này, phân bổ bộ nhớ khi chúng tạo ra các đối tượng mới và giải quyết bộ nhớ khi các đối tượng không còn được tham chiếu. Hoạt động sau được gọi là Bộ sưu tập rác.
- Gõ mạnh-trước khi bạn sử dụng biến Java, bạn phải khai báo lớp của đối tượng mà nó sẽ giữ. Đánh máy mạnh của Java cho phép cung cấp một giải pháp hợp lý và an toàn cho các cuộc gọi liên ngôn ngữ giữa các ứng dụng Java và PL/SQL và tích hợp các cuộc gọi Java và SQL trong cùng một ứng dụng.
- Không có con trỏ-Mặc dù Java vẫn giữ được nhiều hương vị của C trong cú pháp của nó, nó không hỗ trợ con trỏ trực tiếp hoặc thao tác con trỏ. Bạn vượt qua tất cả các tham số, ngoại trừ các loại nguyên thủy, bằng tham chiếu (nghĩa là nhận dạng đối tượng được bảo tồn), không phải theo giá trị. Java không cung cấp cấp độ thấp, truy cập trực tiếp vào các con trỏ, giúp loại bỏ tham nhũng và rò rỉ bộ nhớ.
- Xử lý ngoại lệ-ngoại lệ Java là đối tượng. Java yêu cầu các nhà phát triển tuyên bố những ngoại lệ nào có thể được ném bằng các phương thức trong bất kỳ lớp cụ thể nào.
- Không gian tên linh hoạt-Java định nghĩa các lớp và giữ chúng trong một cấu trúc phân cấp phản ánh không gian tên miền của Internet. Bạn có thể phân phối các ứng dụng Java và tránh va chạm tên. Các tiện ích mở rộng Java như đặt tên Java và giao diện thư mục (JNDI) cung cấp một khung cho nhiều dịch vụ tên. Cách tiếp cận không gian tên của Java đủ linh hoạt để Oracle kết hợp khái niệm về lược đồ để giải quyết tên lớp, đồng thời tuân thủ đầy đủ các đặc điểm kỹ thuật ngôn ngữ.
- Bảo mật-Thiết kế của Java Bytecodes và JVM cho phép các cơ chế tích hợp xác minh rằng mã nhị phân Java không bị giả mạo. Cơ sở dữ liệu Oracle được cài đặt với một thể hiện của người bảo vệ, khi kết hợp với bảo mật cơ sở dữ liệu Oracle, xác định ai có thể gọi bất kỳ phương thức Java nào.
- Các tiêu chuẩn để kết nối với cơ sở dữ liệu quan hệ-JDBC cho phép mã Java truy cập và thao tác cư trú dữ liệu trong cơ sở dữ liệu quan hệ. Oracle cung cấp trình điều khiển cho phép mã Java độc lập với nhà cung cấp để truy cập cơ sở dữ liệu quan hệ.
Tại sao sử dụng Java trong cơ sở dữ liệu Oracle?
Lý do duy nhất mà bạn được phép viết và tải các ứng dụng Java trong cơ sở dữ liệu là vì nó là ngôn ngữ an toàn. Java đã được phát triển để ngăn chặn bất kỳ ai giả mạo hệ điều hành mà mã Java cư trú. Một số ngôn ngữ, chẳng hạn như C, có thể giới thiệu các vấn đề bảo mật trong cơ sở dữ liệu; Java, vì thiết kế của nó, là một ngôn ngữ an toàn để cho phép trong cơ sở dữ liệu.
Mặc dù ngôn ngữ Java mang đến nhiều lợi thế cho các nhà phát triển, nhưng việc thực hiện JVM hỗ trợ các ứng dụng máy chủ Java theo cách có thể mở rộng là một thách thức. Phần này thảo luận về một số thách thức này.
- Java và RDBMS: Một sự kết hợp mạnh mẽ
- Đa luồng
- Quản lý lưu trữ tự động với bộ sưu tập rác
- Dấu chân
- Hiệu suất
- Tải lớp động
Java và RDBMS: Một sự kết hợp mạnh mẽ
Oracle RDBMS cung cấp cho các ứng dụng Java một công cụ xử lý dữ liệu động hỗ trợ các truy vấn phức tạp và các chế độ xem khác nhau của cùng một dữ liệu. Tất cả các yêu cầu của khách hàng được lắp ráp thành truy vấn dữ liệu để xử lý ngay lập tức và kết quả truy vấn được tạo ra khi bay.
Một số tính năng làm cho Java trở nên lý tưởng cho lập trình máy chủ. Java cho phép bạn lắp ráp các ứng dụng bằng các thành phần phần mềm ngoài luồng (Javabeans). Loại an toàn và quản lý bộ nhớ tự động của nó cho phép tích hợp chặt chẽ với RDBMS. Ngoài ra, Java hỗ trợ phân phối các thành phần ứng dụng trong suốt trên mạng.
Do đó, Java và RDBMS hỗ trợ lắp ráp nhanh các ứng dụng tập trung vào mạng, dựa trên thành phần có thể phát triển một cách duyên dáng khi nhu cầu kinh doanh thay đổi. Ngoài ra, bạn có thể chuyển các ứng dụng và lưu trữ dữ liệu ra khỏi máy tính để bàn và vào các mạng thông minh và máy chủ tập trung vào mạng. Quan trọng hơn, bạn có thể truy cập các ứng dụng và lưu trữ dữ liệu đó từ bất kỳ thiết bị khách nào.
Hình 1-7 hiển thị cấu hình hai tầng, máy khách/máy chủ truyền thống trong đó khách hàng gọi các quy trình được lưu trữ Java giống như cách họ gọi là các quy trình được lưu trữ PL/SQL. (PL/SQL là một 4GL nâng cao được tích hợp chặt chẽ với cơ sở dữ liệu Oracle.) Hình cũng cho thấy cách Trình quản lý kết nối Dịch vụ Net của Oracle có thể đưa nhiều kết nối mạng vào một kết nối cơ sở dữ liệu duy nhất. Điều này cho phép RDBMS hỗ trợ một số lượng lớn người dùng đồng thời.
Hình 1-7 Cấu hình máy khách/máy chủ hai tầng
Đa luồng
Hỗ trợ đa luồng thường được trích dẫn là một trong những tính năng khả năng mở rộng chính của ngôn ngữ Java. Chắc chắn, các thư viện ngôn ngữ và lớp Java giúp việc viết các ứng dụng đa luồng bằng Java đơn giản hơn so với nhiều ngôn ngữ khác, nhưng nó vẫn là một nhiệm vụ khó khăn trong bất kỳ ngôn ngữ nào để viết mã đa luồng đáng tin cậy, có thể mở rộng.
Là một máy chủ cơ sở dữ liệu, cơ sở dữ liệu Oracle lên lịch hiệu quả, hoạt động cho hàng ngàn người dùng. OracleJVM sử dụng các cơ sở của máy chủ RDBMS để lên lịch thực hiện Java đồng thời cho hàng ngàn người dùng. Mặc dù cơ sở dữ liệu Oracle hỗ trợ các luồng cấp ngôn ngữ Java theo yêu cầu của JLS và JCK, nhưng sử dụng các luồng trong phạm vi của cơ sở dữ liệu sẽ không tăng khả năng mở rộng của bạn. Sử dụng khả năng mở rộng được nhúng của cơ sở dữ liệu giúp loại bỏ sự cần thiết phải viết máy chủ Java đa luồng. Bạn nên sử dụng các cơ sở của cơ sở dữ liệu để lên lịch cho người dùng bằng cách viết các ứng dụng Java đơn luồng. Cơ sở dữ liệu sẽ chăm sóc lịch trình giữa mỗi ứng dụng; Do đó, bạn đạt được khả năng mở rộng mà không cần phải quản lý các luồng. Bạn vẫn có thể viết các ứng dụng Java đa luồng, nhưng nhiều luồng Java sẽ không tăng hiệu suất của máy chủ.
Một khó đọc một khó khăn áp đặt lên Java là sự tương tác của các chủ đề và quản lý lưu trữ tự động, hoặc bộ sưu tập rác. Trình thu gom rác thực hiện trong JVM chung không có kiến thức về các luồng ngôn ngữ Java đang thực hiện hoặc cách hệ điều hành cơ bản lên lịch cho chúng.
- Mô hình cơ sở dữ liệu phi Oracle-một bản đồ người dùng duy nhất đến một luồng cấp ngôn ngữ Java; Bộ thu gom rác duy nhất tương tự quản lý tất cả rác từ tất cả người dùng. Các kỹ thuật khác nhau thường liên quan đến phân bổ và thu thập các đối tượng có thời gian và kích thước khác nhau. Kết quả trong một ứng dụng đa luồng nhiều, tốt nhất là phụ thuộc vào hỗ trợ hệ điều hành cho các luồng gốc, có thể không đáng tin cậy và hạn chế về khả năng mở rộng. Mức độ mở rộng cao cho các triển khai như vậy đã không được chứng minh một cách thuyết phục.
- Mô hình OracleJVM-ngay cả khi hàng ngàn người dùng kết nối với máy chủ và thực hiện cùng một mã Java, mỗi người dùng trải nghiệm nó như thể anh ta đang thực hiện mã Java của riêng mình trên máy ảo Java của riêng mình. Trách nhiệm của OracleJVM là sử dụng các quy trình và luồng hệ điều hành, sử dụng phương pháp có thể mở rộng của Oracle RDBMS. Kết quả của phương pháp này, Trình thu gom rác của JVM đáng tin cậy và hiệu quả hơn vì nó không bao giờ thu thập rác từ nhiều hơn một người dùng bất cứ lúc nào. Tham khảo “Chủ đề trong cơ sở dữ liệu Oracle” để biết thêm thông tin về việc triển khai mô hình luồng trong OracleJVM.
Quản lý lưu trữ tự động với bộ sưu tập rác
Bộ sưu tập rác là một tính năng chính của quản lý lưu trữ tự động của Java, loại bỏ sự cần thiết của các nhà phát triển Java để phân bổ và bộ nhớ miễn phí. Do đó, điều này giúp loại bỏ một nguồn rò rỉ bộ nhớ lớn thường xuyên gây ra các chương trình C và C ++. Có một mức giá cho một lợi ích như vậy: Bộ sưu tập rác đóng góp vào chi phí của tốc độ thực hiện chương trình và dấu chân. Mặc dù nhiều bài báo đã được viết đủ điều kiện và định lượng sự đánh đổi, nhưng chi phí tổng thể là hợp lý, xem xét các lựa chọn thay thế.
Bộ sưu tập rác áp đặt một thách thức đối với nhà phát triển JVM đang tìm cách cung cấp một nền tảng Java nhanh và có thể mở rộng. OracleJVM đáp ứng những thách thức này theo những cách sau:
- OracleJVM sử dụng các cơ sở lập lịch cơ sở dữ liệu Oracle, có thể quản lý nhiều người dùng một cách hiệu quả.
- Bộ sưu tập rác được thực hiện một cách nhất quán cho nhiều người dùng vì bộ sưu tập rác tập trung vào một người dùng trong một phiên. OracleJVM được hưởng một lợi thế rất lớn vì gánh nặng và sự phức tạp của công việc của người quản lý bộ nhớ không tăng khi số lượng người dùng tăng. Trình quản lý bộ nhớ thực hiện phân bổ và thu thập các đối tượng trong một phiên duy nhất-thường chuyển thành hoạt động của một người dùng.
- OracleJVM sử dụng các kỹ thuật thu thập rác khác nhau tùy thuộc vào loại bộ nhớ được sử dụng. Những kỹ thuật này cung cấp hiệu quả cao và chi phí thấp.
Dấu chân
Dấu chân của chương trình Java thực thi bị ảnh hưởng bởi nhiều yếu tố:
- Kích thước của chương trình-bao nhiêu lớp và phương pháp và số lượng mã chúng chứa.
- Sự phức tạp của chương trình-số lượng thư viện lớp cốt lõi mà OracleJVM sử dụng khi chương trình thực hiện, trái ngược với chính chương trình.
- Lượng trạng thái JVM sử dụng-làm thế nào nhiều đối tượng mà JVM phân bổ, chúng lớn đến mức nào và bao nhiêu phải được giữ lại qua các cuộc gọi.
- Khả năng của người thu gom rác và người quản lý bộ nhớ để giải quyết các yêu cầu của chương trình thực hiện, thường không xác định. Tốc độ mà các đối tượng được phân bổ và cách chúng được giữ bởi các đối tượng khác ảnh hưởng đến tầm quan trọng của yếu tố này.
Từ góc độ khả năng mở rộng, chìa khóa để hỗ trợ nhiều khách hàng đồng thời là dấu chân phiên tối thiểu trên mỗi người dùng. OracleJVM giữ dấu chân phiên trên mỗi người dùng ở mức tối thiểu bằng cách đặt tất cả dữ liệu chỉ đọc cho người dùng, chẳng hạn như mã byte Java, trong bộ nhớ chia sẻ. Thuật toán thu thập rác phù hợp được áp dụng đối với các ký ức về cuộc gọi và phiên để duy trì dấu chân nhỏ cho phiên của người dùng. OracleJVM sử dụng ba loại thuật toán thu gom rác để duy trì bộ nhớ phiên của người dùng:
- Quét thế hệ cho các đối tượng tồn tại trong thời gian ngắn
- Bộ sưu tập quét Mark và Lazy cho các đối tượng tồn tại cho cuộc sống của một cuộc gọi
- Sao chép bộ thu cho các đối tượng tồn tại lâu-các đối tượng sống qua các cuộc gọi trong một phiên
Hiệu suất
Hiệu suất của OracleJVM được tăng cường bằng cách triển khai trình biên dịch gốc.
Cách các trình biên dịch gốc cải thiện hiệu suất
Java thực thi các byte phụ thuộc nền tảng trên đầu JVM, từ đó tương tác với nền tảng phần cứng cụ thể. Bất cứ khi nào bạn thêm cấp độ trong phần mềm, hiệu suất của bạn đều bị suy giảm. Bởi vì Java yêu cầu trải qua một trung gian để giải thích các byte độc lập với nền tảng, một mức độ không hiệu quả tồn tại đối với các ứng dụng Java không tồn tại trong ngôn ngữ phụ thuộc vào nền tảng, chẳng hạn như C. Để giải quyết vấn đề này, một số nhà cung cấp JVM tạo trình biên dịch gốc. Trình biên dịch gốc Dịch mã byte Java thành mã gốc phụ thuộc vào nền tảng, giúp loại bỏ bước thông dịch viên và cải thiện hiệu suất.
Sau đây mô tả hai phương thức để biên dịch gốc:
Biên dịch chỉ trong thời gian (JIT)
Trình biên dịch JIT nhanh chóng biên dịch mã byte Java thành mã máy gốc (dành riêng cho nền tảng). Điều này không tạo ra một thực thi để được thực thi trên nền tảng; Thay vào đó, nó cung cấp mã phụ thuộc vào nền tảng từ các byte Java được thực thi trực tiếp sau khi nó được dịch. Điều này nên được sử dụng cho mã Java được chạy thường xuyên, sẽ được thực thi ở tốc độ gần hơn với các ngôn ngữ như C.
Biên dịch dịch các byte Java sang mã C độc lập với nền tảng trước khi chạy thời gian. Sau đó, một trình biên dịch C tiêu chuẩn biên dịch mã C thành một thực thi cho nền tảng đích. Cách tiếp cận này phù hợp hơn cho các ứng dụng Java được sửa đổi không thường xuyên. Cách tiếp cận này tận dụng công nghệ biên dịch dành riêng cho nền tảng trưởng thành và hiệu quả được tìm thấy trong các trình biên dịch hiện đại C.
Cơ sở dữ liệu Oracle sử dụng biên dịch trước thời gian để cung cấp các thư viện lớp Java cốt lõi của mình: Mã JDBC ở dạng được biên dịch tự nhiên. Nó được áp dụng trên tất cả các nền tảng hỗ trợ Oracle, trong khi phương pháp JIT yêu cầu mã phụ thuộc vào bộ xử lý cấp thấp để được viết và duy trì cho mỗi nền tảng. Bạn có thể sử dụng công nghệ biên dịch gốc này với mã Java của riêng bạn.
Như Hình 1-8 cho thấy, mã được biên dịch tự nhiên thực hiện nhanh hơn gấp mười lần so với mã được giải thích. Vì vậy, càng nhiều mã gốc mà chương trình của bạn sử dụng, nó càng thực thi nhanh.
Hình 1-8 phiên dịch so với máy gia tốc
Tham khảo “mã được biên dịch tự nhiên” để biết thêm thông tin.
Tải lớp động
Một tính năng mạnh mẽ khác của Java là tải lớp động. Trình tải lớp tải các lớp từ đĩa (và đặt chúng vào các cấu trúc bộ nhớ dành riêng cho JVM cần thiết để giải thích) chỉ vì chúng được sử dụng trong quá trình thực hiện chương trình. Trình tải lớp định vị các lớp trong đường dẫn lớp và tải chúng trong quá trình thực hiện chương trình. Cách tiếp cận này, hoạt động tốt cho các applet, đặt ra các vấn đề sau trong môi trường máy chủ:
Hoạt động tải lớp đặt ra một hình phạt nghiêm trọng khi thực hiện lần đầu tiên. Một chương trình đơn giản có thể khiến OracleJVM tải nhiều lớp lõi để hỗ trợ nhu cầu của nó. Một lập trình viên không thể dễ dàng dự đoán hoặc xác định số lượng lớp được tải.
OracleJVM tải các lớp một cách linh hoạt, giống như với bất kỳ máy ảo Java nào khác. Cùng một lần truy cập tốc độ tải lớp một lần. Tuy nhiên, vì các lớp được tải vào bộ nhớ chia sẻ, không có người dùng nào khác của các lớp đó sẽ khiến các lớp tải lại-chúng sẽ chỉ sử dụng cùng một lớp được tải sẵn.
Một lợi ích của việc tải lớp động là nó hỗ trợ cập nhật chương trình. Ví dụ: bạn sẽ cập nhật các lớp trên máy chủ và các máy khách tải xuống chương trình và tải nó tự động xem bản cập nhật bất cứ khi nào họ sử dụng chương trình tiếp theo. Các chương trình máy chủ có xu hướng nhấn mạnh độ tin cậy. Là nhà phát triển, bạn phải biết rằng mọi khách hàng thực hiện một cấu hình chương trình cụ thể. Bạn không muốn khách hàng vô tình tải một số lớp mà bạn không có ý định tải.
Cơ sở dữ liệu Oracle phân tách thao tác tải lên và giải quyết với hoạt động tải lớp khi chạy. Bạn tải lên mã Java bạn đã phát triển lên máy chủ bằng tiện ích LoadJava. Thay vì sử dụng ClassPath, bạn chỉ định một trình phân giải vào thời điểm cài đặt. Trình giải quyết tương tự như Classpath, nhưng cho phép bạn chỉ định các lược đồ mà các lớp cư trú. Sự phân tách độ phân giải từ tải lớp này có nghĩa là bạn luôn biết người dùng chương trình thực hiện. Tham khảo Chương 11, “Công cụ đối tượng Schema” để biết chi tiết về Loadjava và người giải quyết.
Có gì khác với Oraclejvm?
Phần này thảo luận về một số khác biệt quan trọng giữa OracleJVM và các máy khách điển hình JVMS.
Phương thức chính ()
Các ứng dụng Java dựa trên máy khách khai báo một phương thức cấp cao nhất (main ()). Cũng như các applet, các ứng dụng dựa trên máy chủ không có “vòng bên trong.”Thay vào đó, chúng được điều khiển bởi các máy khách độc lập về mặt logic.
Mỗi khách hàng bắt đầu một phiên, gọi các mô-đun logic phía máy chủ của nó thông qua các điểm nhập cấp cao nhất và cuối cùng kết thúc phiên. Môi trường máy chủ che giấu việc quản lý các phiên, mạng và các tài nguyên được chia sẻ khác từ các chương trình Java được lưu trữ.
GUI
Một máy chủ không thể cung cấp GUI, nhưng nó có thể cung cấp logic điều khiển chúng. OracleJVM chỉ hỗ trợ chế độ không đầu của bộ công cụ cửa sổ trừu tượng (AWT). Tất cả các lớp Java AWT đều có sẵn trong môi trường máy chủ và các chương trình của bạn có thể sử dụng chức năng AWT, miễn là chúng không cố gắng thực hiện GUI trên máy chủ. Để biết thêm thông tin, hãy xem “Giao diện người dùng trên máy chủ” .
IDE
OracleJVM được định hướng để triển khai ứng dụng Java, không phát triển. Bạn có thể viết và kiểm tra đơn vị các ứng dụng trong IDE yêu thích của bạn, chẳng hạn như Oracle JDeveloper, sau đó triển khai chúng để thực thi trong RDBMS.
Xem “Công cụ phát triển” để biết thêm thông tin.
Khả năng tương thích nhị phân của Java cho phép bạn làm việc trong bất kỳ IDE nào, sau đó tải các tệp lớp Java lên máy chủ. Bạn không cần di chuyển các tệp nguồn Java của mình sang cơ sở dữ liệu. Thay vào đó, bạn có thể sử dụng IDE phía máy khách mạnh mẽ để duy trì các ứng dụng Java được triển khai trên máy chủ.
Các thành phần chính của Oraclejvm
Phần này mô tả ngắn gọn các thành phần chính của OracleJVM và một số cơ sở mà họ cung cấp.
Cơ sở dữ liệu Oracle Java Machine (JVM) là một môi trường thực thi Java hoàn chỉnh, Java 2. Nó chạy trong cùng một không gian quy trình và không gian địa chỉ như kernel RDBMS, chia sẻ các đống bộ nhớ của nó và truy cập trực tiếp vào dữ liệu quan hệ của nó. Thiết kế này tối ưu hóa việc sử dụng bộ nhớ và tăng thông lượng.
OracleJVM cung cấp môi trường thời gian chạy cho các đối tượng Java. Nó hoàn toàn hỗ trợ cấu trúc dữ liệu Java, công văn phương pháp, xử lý ngoại lệ và các luồng cấp độ ngôn ngữ. Nó cũng hỗ trợ tất cả các thư viện lớp Java cốt lõi bao gồm cả Java.Lang, Java.io, java.Net, Java.toán học và java.sử dụng. Hình 1-9 cho thấy các thành phần chính của nó.
Hình 1-9 thành phần chính của OracleJVM
OracleJVM nhúng không gian tên Java tiêu chuẩn trong các lược đồ RDBMS. Tính năng này cho phép các chương trình Java truy cập các đối tượng Java được lưu trữ trong cơ sở dữ liệu Oracle và máy chủ ứng dụng trên toàn doanh nghiệp.
Ngoài ra, OracleJVM được tích hợp chặt chẽ với kiến trúc bộ nhớ được chia sẻ, có thể mở rộng của RDBMS. Các chương trình Java sử dụng cuộc gọi, phiên và tuổi thọ đối tượng một cách hiệu quả mà không cần sự can thiệp của bạn. Vì vậy, bạn có thể mở rộng các đối tượng kinh doanh Java trung cấp của Oraclejvmand, ngay cả khi chúng có trạng thái dài phiên.
Người thu gom rác được mô tả trong “Quản lý lưu trữ tự động với bộ sưu tập rác” . Trình biên dịch gốc được thảo luận trong “Hiệu suất” . Phần còn lại của các thành phần được mô tả trong các phần sau:
Ngoài ra, các phần sau đây cung cấp một cái nhìn tổng quan về trình điều khiển JDBC:
Trình quản lý thư viện
Để lưu trữ các lớp Java trong cơ sở dữ liệu Oracle, bạn sử dụng LOADJAVA Tiện ích dòng lệnh, sử dụng SQL tạo các câu lệnh Java để thực hiện công việc của mình. Khi được gọi bởi câu lệnh Creat Java, trình quản lý thư viện tải các tệp Java, lớp hoặc tài nguyên vào cơ sở dữ liệu. Bạn không bao giờ truy cập trực tiếp các đối tượng lược đồ Java này; Chỉ OracleJVM sử dụng chúng.
Trình biên dịch
OracleJVM bao gồm Java 2 tiêu chuẩn (còn được gọi là JDK 1.2) Trình biên dịch Java. Khi được gọi bởi câu lệnh Creat Java Nguồn, nó dịch các tệp nguồn Java thành các hướng dẫn trung tính kiến trúc, một byte được gọi là Bytecodes. Mỗi mã byte bao gồm một opcode theo sau là các toán hạng của nó. Các tệp lớp Java kết quả, phù hợp với tiêu chuẩn Java, được gửi cho trình thông dịch trong thời gian chạy.
Thông dịch viên
Để thực hiện các chương trình Java, OracleJVM bao gồm một trình thông dịch mã byte tiêu chuẩn Java 2. Trình thông dịch và hệ thống thời gian chạy Java liên quan thực hiện các tệp lớp Java tiêu chuẩn. Hệ thống thời gian chạy hỗ trợ các phương thức gốc và gọi/gọi ra khỏi môi trường máy chủ.
Bạn cũng có thể biên dịch mã của mình để thực hiện nhanh hơn. OracleJVM sử dụng các phiên bản được biên dịch tự nhiên của Thư viện lớp Java Core và trình điều khiển JDBC. Để biết thêm thông tin, hãy xem “Mã được biên dịch tự nhiên” .
Trình tải lớp
Đáp lại các yêu cầu từ hệ thống thời gian chạy, trình tải lớp Java định vị, tải và khởi tạo các lớp Java được lưu trữ trong cơ sở dữ liệu. Trình tải lớp đọc lớp, sau đó tạo các cấu trúc dữ liệu cần thiết để thực thi nó. Dữ liệu và siêu dữ liệu bất biến được tải vào bộ nhớ chia sẻ khởi tạo. Kết quả là, cần ít bộ nhớ hơn cho mỗi phiên. Trình tải lớp cố gắng giải quyết các tài liệu tham khảo bên ngoài khi cần thiết. Ngoài ra, nó tự động gọi trình biên dịch Java khi các tệp lớp Java phải được biên dịch lại (và các tệp nguồn có sẵn).
Người xác minh
Tệp lớp Java hoàn toàn di động và phù hợp với định dạng được xác định rõ. Trình xác minh ngăn chặn việc sử dụng các tệp Java “giả mạo” vô tình, có thể thay đổi luồng chương trình hoặc vi phạm các hạn chế truy cập. Bảo mật Oracle và bảo mật Java hoạt động với trình xác minh để bảo vệ các ứng dụng và dữ liệu của bạn.
Trình điều khiển nội bộ JDBC phía máy chủ
JDBC là một tập hợp các lớp Java tiêu chuẩn cung cấp quyền truy cập độc lập với nhà cung cấp vào dữ liệu quan hệ. Được chỉ định bởi các hệ thống microsystem và mô hình hóa sau ODBC (kết nối cơ sở dữ liệu mở) và X/Mở SQL CLI (giao diện cấp cuộc gọi), các lớp JDBC cung cấp các tính năng tiêu chuẩn như kết nối đồng thời với một số cơ sở dữ liệu, quản lý giao dịch, truy vấn đơn giản, các cuộc gọi đến các quy trình được lưu trữ và truyền phát dữ liệu dài đến dữ liệu cột dài.
Sử dụng các điểm vào cấp thấp, trình điều khiển JDBC được điều chỉnh đặc biệt chạy trực tiếp bên trong RDBMS, do đó cung cấp quyền truy cập nhanh nhất vào dữ liệu Oracle từ các quy trình lưu trữ Java. Trình điều khiển JDBC bên trong phía máy chủ tuân thủ đầy đủ với đặc tả JDBC của Sun Microsystems. Được tích hợp chặt chẽ với RDBM, nó hỗ trợ các loại dữ liệu dành riêng cho Oracle, bộ ký tự toàn cầu hóa và các quy trình được lưu trữ. Ngoài ra, API JDBC phía máy khách và phía máy chủ giống nhau, giúp dễ dàng phân vùng các ứng dụng.
Chiến lược ứng dụng Java của Oracle
Một lời kêu gọi của Java là sự phổ biến của nó và số lượng lập trình viên ngày càng tăng có khả năng phát triển các ứng dụng bằng cách sử dụng nó. Oracle cung cấp cho các nhà phát triển ứng dụng doanh nghiệp một giải pháp Java từ đầu đến cuối để tạo, triển khai và quản lý các ứng dụng Java. Tổng giải pháp bao gồm các giao diện lập trình phía máy khách và phía máy chủ, các công cụ để hỗ trợ phát triển Java và máy ảo Java được tích hợp với máy chủ cơ sở dữ liệu Oracle. Tất cả các sản phẩm này tương thích 100 phần trăm với tiêu chuẩn Java.
Môi trường lập trình Java
Ngoài OracleJVM, môi trường lập trình Java còn có:
- Các thủ tục lưu trữ Java như tương đương Java và đồng hành cho PL/SQL. Các thủ tục lưu trữ Java được tích hợp chặt chẽ với PL/SQL. Bạn có thể gọi một thủ tục lưu trữ Java từ gói PL/SQL; Bạn có thể gọi các thủ tục PL/SQL từ quy trình lưu trữ Java.
- Dữ liệu SQL có thể được truy cập thông qua JDBC.
- Các công cụ và tập lệnh được sử dụng để hỗ trợ phát triển, tải lớp và quản lý lớp học.
Để giúp bạn quyết định sử dụng API Java nào, hãy kiểm tra bảng sau:
Để có một thủ tục Java được gọi từ SQL, chẳng hạn như trình kích hoạt.
Thủ tục lưu trữ Java
Để gọi các câu lệnh SQL động, phức tạp từ đối tượng Java.
Thủ tục lưu trữ Java
Nếu bạn là một lập trình viên PL/SQL khám phá Java, bạn sẽ quan tâm đến các thủ tục lưu trữ Java. Quy trình lưu trữ Java là một chương trình bạn viết trong Java để thực thi trong máy chủ, chính xác như một quy trình được lưu trữ PL/SQL. Bạn gọi nó trực tiếp với các sản phẩm như SQL*Plus, hoặc gián tiếp với bộ kích hoạt. Bạn có thể truy cập nó từ bất kỳ máy khách Oracle Net nào-OCI, PRO* hoặc JDBC. Chương 5, “Phát triển các thủ tục lưu trữ Java” giải thích cách viết các quy trình được lưu trữ trong Java, cách truy cập chúng từ PL/SQL và cách truy cập chức năng PL/SQL từ Java.
Ngoài ra, bạn có thể sử dụng Java để phát triển các chương trình mạnh mẽ độc lập với PL/SQL. Cơ sở dữ liệu Oracle cung cấp một triển khai hoàn toàn tuân thủ ngôn ngữ lập trình Java và JVM.
Tích hợp PL/SQL và chức năng Oracle RDBMS
Bạn có thể gọi các chương trình PL/SQL hiện có từ Java và gọi các chương trình Java từ PL/SQL. Giải pháp này bảo vệ và tận dụng khoản đầu tư hiện tại của bạn trong khi mở ra những lợi thế và cơ hội của máy tính Internet dựa trên Java.
Oracle cung cấp hai giao diện lập trình ứng dụng khác nhau (API) cho các nhà phát triển Java truy cập dữ liệu SQL-JDBC. Cả hai API đều có sẵn trên máy khách và máy chủ, vì vậy bạn có thể triển khai cùng một mã ở một trong hai nơi.
Trình điều khiển JDBC
JDBC là giao thức truy cập cơ sở dữ liệu cho phép bạn kết nối với cơ sở dữ liệu và sau đó chuẩn bị và thực hiện các câu lệnh SQL đối với cơ sở dữ liệu. Thư viện lớp Java Core chỉ cung cấp một API JDBC. JDBC được thiết kế, tuy nhiên, cho phép các nhà cung cấp cung cấp cho các trình điều khiển cung cấp chuyên môn cần thiết cho một cơ sở dữ liệu cụ thể. Oracle cung cấp ba trình điều khiển JDBC khác biệt sau đây.
Trình điều khiển mỏng JDBC
Bạn có thể sử dụng trình điều khiển mỏng JDBC để viết các ứng dụng và ứng dụng Java thuần túy 100%. Trình điều khiển mỏng JDBC đặc biệt phù hợp với các ứng dụng và applet dựa trên trình duyệt web, bởi vì bạn có thể tải xuống động từ một trang web giống như bất kỳ applet Java nào khác.
Trình điều khiển giao diện cuộc gọi JDBC Oracle
Trình điều khiển Trình điều khiển giao diện Call Oracle (OCI) của JDBC truy cập vào các thư viện mã gốc dành riêng cho Oracle (nghĩa là không phải JAVA) trên máy khách hoặc cấp giữa, cung cấp một số tăng hiệu suất so với trình điều khiển mỏng JDBC, với chi phí lớn hơn đáng kể và cài đặt phía máy khách.
Trình điều khiển bên trong phía máy chủ JDBC
Cơ sở dữ liệu Oracle sử dụng trình điều khiển bên trong phía máy chủ khi mã Java thực thi trên máy chủ. Nó cho phép các ứng dụng Java thực thi trong máy ảo Java của máy chủ truy cập dữ liệu được xác định cục bộ (nghĩa là trên cùng một máy và trong cùng một quy trình) với JDBC. Nó cung cấp hiệu suất tăng thêm vì khả năng sử dụng trực tiếp các thư viện Oracle RDBMS cơ bản của nó, mà không có chi phí của kết nối mạng can thiệp giữa mã Java và dữ liệu SQL của bạn. Bằng cách hỗ trợ cùng một giao diện Java-SQL trên máy chủ, cơ sở dữ liệu Oracle không yêu cầu bạn phải làm lại mã khi triển khai nó.
Jpublisher
Jpublisher cung cấp một công cụ đơn giản và thuận tiện để tạo các chương trình Java truy cập các bảng cơ sở dữ liệu quan hệ Oracle hiện có. Xem Hướng dẫn sử dụng JPublisher cơ sở dữ liệu Oracle để biết thêm thông tin.
Công cụ phát triển
Việc giới thiệu Java vào máy chủ cơ sở dữ liệu Oracle cho phép bạn sử dụng một số môi trường phát triển tích hợp Java. Sự tuân thủ của cơ sở dữ liệu Oracle với khả năng tương thích Java và các tiêu chuẩn và giao thức mở trên Internet đảm bảo rằng các chương trình Java thuần túy 100% của bạn hoạt động khi bạn triển khai chúng trên cơ sở dữ liệu Oracle. Oracle cung cấp nhiều công cụ hoặc tiện ích, tất cả được viết bằng Java, giúp phát triển và triển khai các ứng dụng máy chủ Java dễ dàng hơn. Nhà phát triển của Oracle có nhiều tính năng được thiết kế đặc biệt để triển khai các thủ tục lưu trữ Java và Javabeans doanh nghiệp dễ dàng hơn. Bạn có thể tải xuống JDeveloper tại trang web sau: http: // otn.Oracle.com/phần mềm/sản phẩm/jdev/nội dung.HTML.
Desupport của J2EE Technologies trong cơ sở dữ liệu Oracle
Với việc giới thiệu các thùng chứa máy chủ ứng dụng Oracle cho J2EE (OC4J)-một thùng chứa J2EE mới, nhẹ hơn, dễ sử dụng hơn, nhanh hơn và được chứng nhận-Oracle bắt đầu chuyển đổi của Java 2 Enterprise Edition (J2EE) và Corba Stacks từ cơ sở dữ liệu, bắt đầu với Oracle9Tôi Phát hành cơ sở dữ liệu 2. Tuy nhiên, Java VM được nhúng cơ sở dữ liệu (OracleJVM) vẫn còn.
Kể từ Oracle9Tôi Phát hành cơ sở dữ liệu 2 (9.2.0), Oracle không còn hỗ trợ các công nghệ sau trong cơ sở dữ liệu:
- ngăn xếp J2EE, bao gồm:
- Container Beans Pean (EJB)
- Container Javaserver Pages (JSP)
- Oracle9Tôi Động cơ servlet (OSE)
Khách hàng sẽ không còn có thể triển khai các đối tượng Servlets, JSP, EJB và Corba trong cơ sở dữ liệu Oracle. Oracle9Tôi Phát hành cơ sở dữ liệu 1 (9.0.1) Sẽ là bản phát hành cơ sở dữ liệu cuối cùng để hỗ trợ ngăn xếp J2EE và Corba. Oracle đang khuyến khích khách hàng di chuyển các ứng dụng J2EE hiện có trong cơ sở dữ liệu sang OC4J ngay bây giờ.
Java
Oracle Java là nền tảng phát triển và ngôn ngữ lập trình số 1. Nó làm giảm chi phí, rút ngắn các khung thời gian phát triển, thúc đẩy sự đổi mới và cải thiện các dịch vụ ứng dụng. Với hàng triệu nhà phát triển chạy hơn 60 tỷ máy ảo Java trên toàn thế giới, Java tiếp tục là nền tảng phát triển được lựa chọn cho các doanh nghiệp và nhà phát triển.
Java 20 hiện có sẵn
Bản phát hành tiếp theo trong Cadence sáu tháng, Java 20, cải thiện hiệu suất, sự ổn định và bảo mật của phát triển ứng dụng Java.
Graalvm Enterprise miễn phí trên OCI
Xây dựng các tệp thực thi bản địa giúp các ứng dụng Java khởi động nhanh, giảm sử dụng bộ nhớ và tiết kiệm chi phí lưu trữ.
Dịch vụ quản lý Java
JMS Advance có tính năng giúp quản trị viên có được những hiểu biết bổ sung về khối lượng công việc của Java. Phân tích việc sử dụng, lỗ hổng và tác động từ các bản cập nhật lộ trình mật mã.
Ngày phát triển Java tại Oracle DevLive 2023
Xem Keynote ở DevLive Lemon Up và tìm hiểu về các cải tiến phát hành của Java 20 cho AppDev, đổi mới ngôn ngữ hiện đại và hỗ trợ cho các khung phát triển Java.
Báo cáo phân tích Java
Java và nghệ thuật lái xe chuyển đổi kỹ thuật số
Nhận hiểu biết về cách tận dụng Java để hỗ trợ các nỗ lực hiện đại hóa và chuyển đổi của bạn. Tìm hiểu làm thế nào để tận dụng tối đa các khả năng dịch vụ và nguồn mở của đám mây và các khả năng dịch vụ hỗ trợ trong bản tóm tắt kỹ thuật OMDIA này.
Java: Hiện đại hóa phát triển cho các ứng dụng dựa trên đám mây, an toàn
Tìm hiểu cách Java giúp các tổ chức tăng tốc chuyển đổi kỹ thuật số trong khi giảm thiểu các lỗ hổng cho ngày hôm nay’nhu cầu ứng dụng s.
Các điểm đau và bảo mật CNTT hàng đầu trong phát triển ứng dụng
Bảo mật vẫn là ưu tiên quan trọng nhất đối với các giám đốc điều hành CNTT, theo một báo cáo gần đây từ 451 nghiên cứu. Đọc tóm tắt để tìm hiểu các mối quan tâm bảo mật hàng đầu cho các nhà phát triển và cách bạn có thể đạt được các mục tiêu bảo mật và tuân thủ CNTT của mình với Java.
Kiến thức Aberdeen Tóm tắt
Tìm hiểu lý do tại sao các nhà lãnh đạo trong phát triển ứng dụng sử dụng Java để xây dựng các ứng dụng đẳng cấp thế giới hiệu quả hơn là chất lượng cao nhất và bảo mật mạnh nhất.