Χρησιμοποιεί η Oracle Java
Οι βάσεις δεδομένων Oracle χρησιμοποιούν εσωτερικά Java
Κάθε πελάτης ξεκινά μια συνεδρία, καλεί τις ενότητες λογικής από την πλευρά του διακομιστή μέσω σημείων εισόδου ανώτατου επιπέδου και τελικά τελειώνει τη συνεδρίαση. Το περιβάλλον του διακομιστή κρύβει τη διαχείριση των συνεδριών, των δικτύων και άλλων κοινών πόρων από προγράμματα που φιλοξενούνται Java.
Περίληψη
Οι βάσεις δεδομένων Oracle χρησιμοποιούν εσωτερικά Java. Το Oracle παρέχει μια λύση Java από άκρο σε άκρο για προγραμματιστές εφαρμογών επιχειρήσεων. Αυτή η λύση περιλαμβάνει προγραμματικές διεπαφές από την πλευρά του πελάτη και την πλευρά του διακομιστή, τα εργαλεία για την ανάπτυξη της Java και το JVM ενσωματωμένο στη βάση δεδομένων Oracle. Η Java στην ανάπτυξη εφαρμογών βάσης δεδομένων προσφέρει χαρακτηριστικά όπως το σχεδιασμό διαδικασιών και λειτουργιών που συνδέονται με τα δεδομένα, την επέκταση των δυνατοτήτων της βάσης δεδομένων με τις βιβλιοθήκες Java και τη γεφύρωση του SQL και του Java2EE World. Το περιβάλλον προγραμματισμού Java παρέχει επίσης αποθηκευμένες διαδικασίες Java ως σύντροφος για διεπαφές προγραμματισμού PL/SQL, JDBC και SQLJ για πρόσβαση σε δεδομένα SQL και εργαλεία διαχείρισης τάξης. Επιπλέον, οι βάσεις δεδομένων Oracle προσφέρουν ενσωμάτωση και λειτουργικότητα PL/SQL, επιτρέποντας την κλήση υφιστάμενων προγραμμάτων PL/SQL από την Java και αντίστροφα. Τα προγράμματα οδήγησης JDBC που παρέχονται από την Oracle ενεργοποιούν τη συνδεσιμότητα στη βάση δεδομένων για εφαρμογές και μικροεφαρμογές Java.
Βασικά σημεία
1. Java στην ανάπτυξη εφαρμογών βάσης δεδομένων:
- Σχεδιασμός διαδικασιών και λειτουργιών που συνδέονται με δεδομένα χρησιμοποιώντας Java SE API και JDBC.
- Επέκταση της εμβέλειας και των δυνατοτήτων της βάσης δεδομένων με τυποποιημένες και τρίτες βιβλιοθήκες Java.
- Ευέλικτη κατανομή εφαρμογών J2SE για συμμετρική πρόσβαση δεδομένων σε επίπεδο JDBC.
- Γεφύρωση του SQL και του J2EE World καλώντας τα στοιχεία του ιστού και τη γεφύρωση SQL και Web Services.
2. Χρήση περιβάλλοντος προγραμματισμού Java:
- Οι αποθηκευμένες διαδικασίες Java ως ισοδύναμο Java και σύντροφοι για PL/SQL.
- Οι διεπαφές προγραμματισμού JDBC και SQLJ για πρόσβαση σε δεδομένα SQL.
- Εργαλεία και σενάρια για την ανάπτυξη, φόρτωση και διαχείριση τάξεων.
3. Java Αποθηκευμένες διαδικασίες:
Οι αποθηκευμένες διαδικασίες Java είναι προγράμματα Java που αναπτύσσονται σε διακομιστή και εκτελούνται από το διακομιστή, όπως και οι αποθηκευμένες διαδικασίες PL/SQL. Μπορούν να χρησιμοποιηθούν άμεσα ή έμμεσα μέσω ενεργοποιητών. Η βάση δεδομένων Oracle παρέχει πλήρη εφαρμογή της τυπικής γλώσσας προγραμματισμού Java και JVM.
4. PL/SQL Ενσωμάτωση και λειτουργικότητα Oracle RDBMS:
Οι βάσεις δεδομένων Oracle επιτρέπουν την κλήση των υφιστάμενων προγραμμάτων PL/SQL από προγράμματα Java και Java από το PL/SQL. Αυτό διευκολύνει την αξιοποίηση του PL/SQL και του κώδικα Java και εκμεταλλεύεται τις ευκαιρίες υπολογιστών στο Διαδίκτυο με βάση τη Java. Τα προγράμματα οδήγησης JDBC που παρέχονται από την Oracle περιλαμβάνουν το JDBC Thin Driver, το JDBC OCI Driver και το εσωτερικό πρόγραμμα οδήγησης JDBC Server Server.
Ερωτήσεις
1. Τι χαρακτηριστικά έχει προσφορά Java στην ανάπτυξη εφαρμογών βάσης δεδομένων?
Η Java στην ανάπτυξη εφαρμογών βάσης δεδομένων προσφέρει χαρακτηριστικά όπως το σχεδιασμό διαδικασιών και λειτουργιών που συνδέονται με τα δεδομένα, την επέκταση των δυνατοτήτων της βάσης δεδομένων με τις βιβλιοθήκες Java και τη γεφύρωση του SQL και του Java2EE World.
2. Ποια είναι η αποθηκευμένη διαδικασία Java ισοδύναμο του PL/SQL?
Οι αποθηκευμένες διαδικασίες Java χρησιμεύουν ως ισοδύναμο Java και σύντροφος για το PL/SQL.
3. Ποιες είναι οι διεπαφές προγραμματισμού για την πρόσβαση σε δεδομένα SQL στη Java?
Οι διεπαφές προγραμματισμού JDBC και SQLJ χρησιμοποιούνται για την πρόσβαση σε δεδομένα SQL στη Java.
4. Ποια εργαλεία είναι διαθέσιμα στο περιβάλλον προγραμματισμού Java?
Το περιβάλλον προγραμματισμού Java παρέχει εργαλεία και σενάρια για την ανάπτυξη, φόρτωση και διαχείριση τάξεων.
5. Πώς μπορούν να χρησιμοποιηθούν οι αποθηκευμένες διαδικασίες Java?
Οι αποθηκευμένες διαδικασίες Java μπορούν να χρησιμοποιηθούν άμεσα ή έμμεσα μέσω ενεργοποιητών.
6. Μπορεί οι βάσεις δεδομένων της Oracle να καλέσουν τα υπάρχοντα προγράμματα PL/SQL από την Java?
Ναι, οι βάσεις δεδομένων Oracle υποστηρίζουν τα υπάρχοντα προγράμματα PL/SQL από την Java.
7. Πώς μπορούν οι εφαρμογές Java να έχουν πρόσβαση σε δεδομένα Oracle SQL?
Οι εφαρμογές Java μπορούν να έχουν πρόσβαση σε δεδομένα Oracle SQL μέσω προγραμμάτων οδήγησης JDBC που παρέχονται από την Oracle.
8. Ποιος είναι ο σκοπός του λεπτού οδηγού JDBC?
Ο λεπτός οδηγός JDBC επιτρέπει τη σύνταξη καθαρών εφαρμογών και μικροεφαρμογών Java που έχουν πρόσβαση σε δεδομένα Oracle SQL. Είναι κατάλληλο για εφαρμογές και εφαρμογές μέσω διαδικτύου.
9. Πώς διαφέρει ο οδηγός JDBC OCI από τον λεπτό οδηγό JDBC?
Ο οδηγός JDBC OCI έχει πρόσβαση στον εγγενή κώδικα και τις βιβλιοθήκες του Oracle για τον πελάτη ή τη μεσαία βαθμίδα, παρέχοντας ώθηση απόδοσης σε σύγκριση με τον λεπτό οδηγό JDBC με κόστος μεγαλύτερου μεγέθους και εγκατάστασης από την πλευρά του πελάτη.
10. Ποιο είναι το εσωτερικό πρόγραμμα οδήγησης του διακομιστή JDBC Server που χρησιμοποιείται?
Το εσωτερικό πρόγραμμα οδήγησης JDBC Server Server επιτρέπει στις εφαρμογές Java που εκτελούνται στο Oracle JVM στον διακομιστή για πρόσβαση σε τοπικά καθορισμένα δεδομένα χρησιμοποιώντας JDBC, παρέχοντας μια ώθηση απόδοσης χρησιμοποιώντας απευθείας τις υποκείμενες βιβλιοθήκες Oracle RDBMS απευθείας.
Οι βάσεις δεδομένων Oracle χρησιμοποιούν εσωτερικά Java
Κάθε πελάτης ξεκινά μια συνεδρία, καλεί τις ενότητες λογικής από την πλευρά του διακομιστή μέσω σημείων εισόδου ανώτατου επιπέδου και τελικά τελειώνει τη συνεδρίαση. Το περιβάλλον του διακομιστή κρύβει τη διαχείριση των συνεδριών, των δικτύων και άλλων κοινών πόρων από προγράμματα που φιλοξενούνται Java.
Χρησιμοποιεί η Oracle Java
Η Oracle παρέχει στους προγραμματιστές εφαρμογών Enterprise μια λύση Java από άκρο σε άκρο για τη δημιουργία, την ανάπτυξη και τη διαχείριση εφαρμογών Java. Η συνολική λύση αποτελείται από προγραμματικές διεπαφές από την πλευρά του πελάτη και τον διακομιστή, τα εργαλεία για την υποστήριξη της ανάπτυξης της Java και ένα JVM ενσωματωμένο στη βάση δεδομένων Oracle. Όλα αυτά τα προϊόντα είναι πλήρως συμβατά με τα πρότυπα Java. Αυτή η ενότητα καλύπτει τα ακόλουθα θέματα:
- Java στην ανάπτυξη εφαρμογών βάσης δεδομένων
- Χρήση περιβάλλοντος προγραμματισμού Java
- Αποθηκευμένες διαδικασίες Java
- Λειτουργία ενσωμάτωσης PL/SQL και Oracle RDBMS
- Εργαλεία ανάπτυξης
- Έκδοση πρωτοκόλλου Internet 6 Υποστήριξη
1.6.1 Java στην ανάπτυξη εφαρμογών βάσης δεδομένων
Τα πιο σημαντικά χαρακτηριστικά της Java στην ανάπτυξη εφαρμογών βάσης δεδομένων είναι:
- Σχεδιασμός διαδικασιών και λειτουργιών που συνδέονται με δεδομένα χρησιμοποιώντας Java SE API και JDBC.
- Επέκταση της εμβέλειας και των δυνατοτήτων της βάσης δεδομένων με τυποποιημένες και τρίτες βιβλιοθήκες Java. Για παράδειγμα, η πρόσβαση σε βάσεις δεδομένων τρίτων χρησιμοποιώντας τους οδηγούς τους στη βάση δεδομένων και την πρόσβαση στο Hadoop/HDFS.
- Παροχή ευέλικτης κατανομής της πλατφόρμας Java2, Standard Edition (J2SE) Εφαρμογές για συμμετρική πρόσβαση δεδομένων σε επίπεδο JDBC.
- Γεφύρωση SQL και την πλατφόρμα Java2, Enterprise Edition (J2EE) World από:
- Καλώντας τα στοιχεία του ιστού, όπως το JSP και το Servlet
- Γεφύρωση SQL και υπηρεσίες ιστού χρησιμοποιώντας τις κλήσεις υπηρεσιών ιστού
1.6.2 Χρήση περιβάλλοντος προγραμματισμού Java
Εκτός από το Oracle JVM, το περιβάλλον προγραμματισμού Java παρέχει:
- Οι αποθηκευμένες διαδικασίες Java ως ισοδύναμο Java και σύντροφοι για PL/SQL. Οι αποθηκευμένες διαδικασίες Java είναι αυστηρά ενσωματωμένες στο PL/SQL. Μπορείτε να καλέσετε τις αποθηκευμένες διαδικασίες Java από πακέτα PL/SQL και διαδικασίες PL/SQL από αποθηκευμένες διαδικασίες Java.
- Οι διεπαφές προγραμματισμού JDBC και SQLJ για πρόσβαση σε δεδομένα SQL.
- Εργαλεία και σενάρια που βοηθούν στην ανάπτυξη, φόρτωση και διαχείριση τάξεων.
Ο παρακάτω πίνακας σας βοηθά να αποφασίσετε πότε να χρησιμοποιήσετε ποιο API Java:
Να έχει μια διαδικασία Java που καλείται από το SQL, όπως μια σκανδάλη.
Αποθηκευμένες διαδικασίες Java
Για να καλέσετε μια στατική, απλή δήλωση SQL από έναν γνωστό πίνακα με γνωστά ονόματα στηλών από ένα αντικείμενο Java.
Για να καλέσετε δυναμικές, σύνθετες δηλώσεις SQL από ένα αντικείμενο Java.
1.6.3 αποθηκευμένες διαδικασίες Java
Οι αποθηκευμένες διαδικασίες Java είναι προγράμματα Java που γράφονται και αναπτύσσονται σε διακομιστή και εκτελούνται από το διακομιστή, ακριβώς όπως μια αποθηκευμένη διαδικασία PL/SQL. Το καλείτε απευθείας με προϊόντα όπως το SQL*Plus, ή έμμεσα με μια σκανδάλη. Μπορείτε να το έχετε πρόσβαση από οποιονδήποτε πελάτη Oracle Net, όπως OCI και Pro*, ή JDBC ή SQLJ.
Επιπλέον, μπορείτε να χρησιμοποιήσετε το Java για να αναπτύξετε ισχυρά προγράμματα από την πλευρά του διακομιστή, τα οποία μπορεί να είναι ανεξάρτητα από το PL/SQL. Η βάση δεδομένων Oracle παρέχει μια πλήρη εφαρμογή της τυπικής γλώσσας προγραμματισμού Java και ενός πλήρως συμβατή JVM.
Σχετικά θέματα
1.6.4 PL/SQL Ενσωμάτωση και λειτουργικότητα Oracle RDBMS
Μπορείτε να καλέσετε τα υπάρχοντα προγράμματα PL/SQL από προγράμματα Java και Java από το PL/SQL. Αυτή η λύση προστατεύει και αξιοποιεί τον κώδικα PL/SQL και Java και ανοίγει τα πλεονεκτήματα και τις ευκαιρίες του Internet Computing με βάση τη Java.
Το Oracle Database προσφέρει δύο διαφορετικά API Java για πρόσβαση σε δεδομένα SQL, JDBC και SQLJ. Και τα δύο αυτά API είναι διαθέσιμα στον πελάτη και το JDBC API είναι επίσης διαθέσιμο στον διακομιστή. Ως αποτέλεσμα, μπορείτε να αναπτύξετε τις εφαρμογές σας στον πελάτη και τον διακομιστή.
Τα ακόλουθα θέματα εισάγουν τα API Java που παρέχονται από τη βάση δεδομένων Oracle:
1.6.4.1 οδηγοί JDBC
Το JDBC είναι ένα πρωτόκολλο πρόσβασης βάσης δεδομένων που σας επιτρέπει να συνδεθείτε σε μια βάση δεδομένων και να εκτελέσετε δηλώσεις και ερωτήματα SQL στη βάση δεδομένων. Οι βασικές βιβλιοθήκες κλάσης Java παρέχουν τα ακόλουθα API JDBC: Java.SQL και Javax.SQL . Ωστόσο, το JDBC έχει σχεδιαστεί για να επιτρέπει στους προμηθευτές να παρέχουν στους οδηγούς που προσφέρουν την απαραίτητη εξειδίκευση για μια συγκεκριμένη βάση δεδομένων. Το Oracle παρέχει τα ακόλουθα ξεχωριστά προγράμματα οδήγησης JDBC:
JDBC λεπτό πρόγραμμα οδήγησης
Μπορείτε να χρησιμοποιήσετε το λεπτό πρόγραμμα οδήγησης JDBC για να γράψετε καθαρές εφαρμογές Java και Applets που έχουν πρόσβαση σε δεδομένα Oracle SQL. Ο λεπτός οδηγός JDBC είναι ιδιαίτερα κατάλληλος για εφαρμογές και εφαρμογές που βασίζονται στο διαδίκτυο.
Οδηγός JDBC OCI
Ο οδηγός JDBC OCI έχει πρόσβαση στον εγγενή κώδικα του Oracle, δηλαδή στον κώδικα μη Java και βιβλιοθήκες στον πελάτη ή στο μεσαίο επίπεδο, παρέχοντας ώθηση απόδοσης σε σύγκριση με τον λεπτό οδηγό JDBC, με κόστος σημαντικά μεγαλύτερο μέγεθος και εγκατάσταση από την πλευρά του πελάτη.
Εσωτερικό πρόγραμμα οδήγησης διακομιστή JDBC Server
Το Oracle Database χρησιμοποιεί το εσωτερικό πρόγραμμα οδήγησης του διακομιστή όταν ο κωδικός Java εκτελείται στον διακομιστή. Επιτρέπει στις εφαρμογές Java που εκτελούνται στο Oracle JVM στον διακομιστή να έχουν πρόσβαση σε τοπικά καθορισμένα δεδομένα, δηλαδή δεδομένα για το ίδιο σύστημα και στην ίδια διαδικασία, με το JDBC. Παρέχει ώθηση απόδοσης, λόγω της ικανότητάς της να χρησιμοποιεί απευθείας τις υποκείμενες βιβλιοθήκες Oracle RDBMS, χωρίς τα γενικά έξοδα μιας παρέμβασης σύνδεσης δικτύου μεταξύ του κώδικα Java και των δεδομένων SQL. Υποστηρίζοντας την ίδια διασύνδεση Java-SQL στο διακομιστή, η βάση δεδομένων Oracle δεν απαιτεί να επαναπροσδιορίσετε τον κωδικό εργασίας κατά την ανάπτυξη του.
Σχετικά θέματα
Οι βάσεις δεδομένων Oracle χρησιμοποιούν εσωτερικά Java?
Επεξεργασία:
Το Oracle περιλαμβάνει ένα JVM που εκτελείται στο ίδιο μηχάνημα με την ίδια τη βάση δεδομένων, αλλά αυτό δεν χρησιμοποιείται για την εκτέλεση οποιουδήποτε κώδικα “DBMS”.Είναι μόνο εκεί για να τρέξετε αποθηκευμένες διαδικασίες/λειτουργίες γραμμένες στο Java.
Απαντήθηκε στις 13 Σεπτεμβρίου 2011 στις 6:43
a_horse_with_no_name a_horse_with_no_name
78K 14 14 χρυσά κονκάρδες 157 157 ασημένια κονκάρδες 194 194 χάλκινα κονκάρδες
Ουάου, δεν γνώριζε για το μέρος C. +1.
13 Σεπτεμβρίου 2011 στις 10:17
Ελέγξτε το “χρονοδιάγραμμα ιστορίας”: Oracle.com/us/corporate/timeline/index.HTML: 1983: “Oracle Releases Έκδοση 3 της βάσης δεδομένων της, με κωδικό διακομιστή γραμμένο στη γλώσσα προγραμματισμού C”
13 Σεπτεμβρίου 2011 στις 10:24
Η εικασία μου είναι ότι η Java δεν υπάρχει τότε. Νομίζω ότι η πρώτη Java ήρθε στο Oracle 8i.
13 Σεπτεμβρίου 2011 στις 16:59
Το εσωτερικό JVM δεν χρησιμοποιείται για την εκτέλεση οποιουδήποτε κώδικα “DBMS”. Είναι μόνο εκεί για να τρέξετε αποθηκευμένες διαδικασίες/λειτουργίες γραμμένες στο Java.
13 Σεπτεμβρίου 2011 στις 18:27
@A_HORSE_WITH_NO_NAME – Υποθέτω ότι εξαρτάται από το τι εννοείς με “τυποποιημένα” πακέτα. Η Oracle μεταφέρει μια σειρά από πακέτα που είναι χτισμένα σε Java (οτιδήποτε χρησιμοποιεί το XDB, για παράδειγμα, συμπεριλαμβανομένων πολλών από τα πακέτα XMLQuery, εξαρτάται από την εσωτερική JVM). Αυτά δεν είναι “τυπικά” με την έννοια των πακέτων που χρησιμοποιούν συχνά οι περισσότεροι προγραμματιστές. Αλλά είναι “πρότυπα” με την έννοια ότι εγκαθίστανται όταν κάνετε μια προεπιλεγμένη εγκατάσταση της βάσης δεδομένων Oracle.
1
Εισαγωγή στην Java στη βάση δεδομένων OracleΑυτό το βιβλίο παρέχει μια επισκόπηση σχετικά με τον τρόπο ανάπτυξης, φόρτωσης και εκτέλεσης των εφαρμογών σας Java στη βάση δεδομένων Oracle.
Αυτό το κεφάλαιο περιέχει τις ακόλουθες πληροφορίες:
- Περιεχόμενα κεφαλαίων
- Τι νέο υπάρχει σε αυτήν την έκδοση?
- Επισκόπηση της Java
- Γιατί να χρησιμοποιήσετε Java στη βάση δεδομένων Oracle?
- Τι είναι διαφορετικό με το oraclejvm?
- Τα κύρια συστατικά του oraclejvm
- Στρατηγική εφαρμογής Java της Oracle
- Desupport της J2EE Technologies στη βάση δεδομένων Oracle
Περιεχόμενα κεφαλαίων
- Εισάγει τη γλώσσα Java για προγραμματιστές βάσεων δεδομένων Oracle. Οι προγραμματιστές Oracle PL/SQL έχουν συνηθίσει να αναπτύσσουν εφαρμογές από την πλευρά του διακομιστή που έχουν στενή ενσωμάτωση με δεδομένα SQL. Μπορείτε να αναπτύξετε εφαρμογές από την πλευρά του διακομιστή Java που εκμεταλλεύονται την επεκτασιμότητα και την απόδοση της βάσης δεδομένων Oracle. Εάν δεν είστε εξοικειωμένοι με την Java, ανατρέξτε στην ενότητα “Επισκόπηση της Java” .
- Εξετάζει γιατί μπορεί να εξετάσει τη χρήση Java εντός της βάσης δεδομένων Oracle. Δείτε “Γιατί να χρησιμοποιήσετε το Java στη βάση δεδομένων Oracle?« . Επιπλέον, δίνεται μια σύντομη περιγραφή για κάθε ένα από τα API Java που υποστηρίζονται εντός της βάσης δεδομένων Oracle. Ο κατάλογος των API περιλαμβάνει τις αποθηκευμένες διαδικασίες JDBC και Java. Ανατρέξτε στην ενότητα “Στρατηγική εφαρμογής Java της Oracle” .
Τι νέο υπάρχει σε αυτήν την έκδοση?
Οι ακόλουθες ενότητες περιγράφουν τις προσθήκες σε αυτήν την έκδοση:
- Αναβάθμιση στο J2SE 1.4.1
- Νέο μοντέλο μνήμης για ειδικές συνεδρίες λειτουργίας
- Υπηρεσίες υπηρεσιών Web Database
- Ιθαγενή διεπαφή Java
- Ejb call-out
Αναβάθμιση στο J2SE 1.4.1
Σε αυτή την έκδοση, οι κλάσεις του συστήματος αναβαθμίζονται από το J2SE 1.3 έως J2SE 1.4.1. J2SE 1.4.1 είναι συμβατό με το J2SE 1.3. Το Sun Microsystems δημοσιεύει τον κατάλογο των ασυμβίβαστων μεταξύ του J2SE 1.4.1 και προηγούμενες εκδόσεις στην ακόλουθη ιστοσελίδα:
http: // java.ήλιος.com/products/j2se/1.4.1/συμβατότητα.HTML
Ως μέρος της αναβάθμισης των κλάσεων του συστήματος στο J2SE 1.4.1, το oraclejvm υποστηρίζει ακέφαλο AWT. Το ακέφαλο AWT επιτρέπει τον υπολογισμό του AWT, ο οποίος δεν βασίζεται στην προβολή των εγγενών συσκευών οθόνης και εισόδου της πλατφόρμας, αλλά, αντίθετα, οι προσπαθεί να αποκτήσουν πρόσβαση σε αυτούς τους εγγενείς πόρους. Μέθοδοι που προσπαθούν να εμφανίσουν ένα γραφικό περιβάλλον χρήστη ή να διαβάσετε από το πληκτρολόγιο ή την είσοδο του ποντικιού αντί να ρίξετε τη νέα Java εξαίρεσης χρόνου εκτέλεσης.ερεθισμένος.Κεφαλής. Ομοίως, το OracleJVM δεν επιχειρεί να παίξει ή να καταγράψει ήχο χρησιμοποιώντας τις εγγενείς συσκευές ήχου του διακομιστή, αλλά επιτρέπει ακόμα στις εφαρμογές να διαβάζουν, να γράφουν και να χειρίζονται υποστηριζόμενα αρχεία ήχου. Για περισσότερες πληροφορίες, ανατρέξτε στην ενότητα “Διεπαφές χρήστη στον διακομιστή” .
Νέο μοντέλο μνήμης για ειδικές συνεδρίες λειτουργίας
Στη βάση δεδομένων Oracle, το OracleJVM έχει ένα νέο μοντέλο μνήμης για περιόδους σύνδεσης που συνδέονται με τη βάση δεδομένων μέσω ειδικού διακομιστή. Δεδομένου ότι μια συνεδρία που χρησιμοποιεί έναν ειδικό διακομιστή είναι εγγυημένη για να χρησιμοποιήσει την ίδια διαδικασία για κάθε κλήση βάσης δεδομένων, η διαδικασία Process Global Area χρησιμοποιείται για συγκεκριμένη μνήμη και κατανομές αντικειμένων σε συνεδρίες. Αυτό σημαίνει ότι ορισμένα από τα αντικείμενα και τους πόρους που χρησιμοποιούνται για την ανάκτηση στο τέλος κάθε κλήσης μπορούν τώρα να ζήσουν σε κλήσεις. Συγκεκριμένα, οι πόροι ειδικά για ένα συγκεκριμένο λειτουργικό σύστημα, όπως τα νήματα και τα ανοιχτά αρχεία, τώρα δεν καθαρίζονται πλέον στο τέλος κάθε κλήσης βάσης δεδομένων.
Για συνεδρίες που χρησιμοποιούν κοινόχρηστους διακομιστές, οι περιορισμοί σε κλήσεις που εφαρμόζονται σε προηγούμενες κυκλοφορίες εξακολουθούν να υπάρχουν. Ο λόγος είναι ότι μια συνεδρία που χρησιμοποιεί έναν κοινό διακομιστή δεν είναι εγγυημένη για να συνδεθεί με την ίδια διαδικασία σε μια επακόλουθη κλήση βάσης δεδομένων και επομένως η μνήμη και τα αντικείμενα που πρέπει να ζήσουν σε όλες τις κλήσεις αποθηκεύονται στην παγκόσμια περιοχή του συστήματος. Αυτό σημαίνει ότι οι ειδικοί πόροι, όπως τα θέματα, τα ανοιχτά αρχεία και οι υποδοχές πρέπει να καθαριστούν στο τέλος κάθε κλήσης και επομένως δεν θα είναι διαθέσιμα για την επόμενη κλήση. Για περισσότερες λεπτομέρειες σχετικά με τη συμπεριφορά του OracleJVM όταν χρησιμοποιείτε κοινόχρηστους διακομιστές, ανατρέξτε στην ενότητα “Ειδικές εκτιμήσεις για κοινόχρηστους διακομιστές” .
Υπηρεσίες υπηρεσιών Web Database
Στη βάση δεδομένων Oracle, μπορείτε να φορτώσετε μια στοίβα πελάτη Web Services στο OracleJVM για να υποστηρίξετε τις αναλύσεις σε εξωτερικές υπηρεσίες ιστού από Java καθώς και από PL/SQL. Μπορείτε να χρησιμοποιήσετε το εργαλείο jpublisher για να δημιουργήσετε στατικά Java-Proxies-Proxies καθώς και PL/SQL προδιαγραφές κλήσεων σε αυτά τα πληρεξούσια που φορτώνονται στο OracleJVM για να επιτρέψουν την πρόσβαση σε υπηρεσίες ιστού από Java, PL/SQL και SQL κώδικα.
Ιθαγενή διεπαφή Java
Στη βάση δεδομένων Oracle, μπορείτε τώρα να επικαλεστεί δημόσιες στατικές μεθόδους τάξεων Java στο OracleJVM απευθείας από τους πελάτες της Java χωρίς να καθορίσετε τις προδιαγραφές κλήσεων PL/SQL και να τις καλέσετε μέσω JDBC. Αντ ‘αυτού, μπορείτε να χρησιμοποιήσετε το βοηθητικό πρόγραμμα JPublisher για να δημιουργήσετε μια κλάση-proxy πελάτη με την ίδια υπογραφή με την κλάση Java από την πλευρά του διακομιστή. Μόλις παρουσιάσετε μια παρουσία-παρασυγκέντρωση πελάτη με σύνδεση JDBC, μπορείτε να καλέσετε απευθείας τις μεθόδους πληρεξούσιου.
Το σχήμα 1-1 δείχνει ένα API stub-side client για άμεση επίκληση των μεθόδων Java static server. Η JPublisher φροντίζει διαφανώς τη γενιά των στελεχών.
Εικόνα 1-1 Εγκεφαλική διασύνδεση Java
Για παράδειγμα, για να καλέσετε την ακόλουθη μέθοδο στον διακομιστή
Δημόσια συμβολοσειρά Oracle.sqlj.ντάμα.Jdbcversion.to_string ();
jpub -java = oracle.sqlj.ντάμα.Jdbcversion
Ejb call-out
Σε ορισμένες εφαρμογές επιχειρήσεων καθίσταται απαραίτητη η πρόσβαση σε επιχειρήσεις Java Beans (EJB) που αναπτύσσονται σε απομακρυσμένο διακομιστή, από τη βάση δεδομένων. Το Oracle Database παρέχει ένα μέσο πρόσβασης στα εξ αποστάσεως αναπτυγμένα EJBs μέσω RMI.
Εικόνα 1-2 ejb call-out
Επισκόπηση της Java
Η Java έχει αναδειχθεί ως η αντικειμενοστραφή γλώσσα προγραμματισμού της επιλογής. Περιλαμβάνει τις ακόλουθες έννοιες:
- Μια εικονική μηχανή Java (JVM), η οποία παρέχει τη θεμελιώδη βάση για την ανεξαρτησία της πλατφόρμας
- Αυτοματοποιημένες τεχνικές διαχείρισης αποθήκευσης, οι πιο ορατές από τις οποίες είναι η συλλογή σκουπιδιών
- Σύνταξη γλώσσας που δανείζεται από το C και επιβάλλει ισχυρή πληκτρολόγηση
Το αποτέλεσμα είναι μια γλώσσα που είναι αντικειμενική και αποτελεσματική για προγράμματα σε επίπεδο εφαρμογής.
Java και αντικειμενοστραφή ορολογία προγραμματισμού
Αυτή η ενότητα καλύπτει κάποια βασική ορολογία της ανάπτυξης εφαρμογών Java στο περιβάλλον της βάσης δεδομένων Oracle. Οι όροι πρέπει να είναι εξοικειωμένοι με έμπειρους προγραμματιστές Java. Μια λεπτομερής συζήτηση σχετικά με τον αντικειμενοστραφή προγραμματισμό ή τη γλώσσα Java είναι πέρα από το πεδίο εφαρμογής αυτού του βιβλίου. Πολλά κείμενα, εκτός από τις πλήρεις προδιαγραφές γλώσσας, είναι διαθέσιμα στο βιβλιοπωλείο σας και στο διαδίκτυο. Ανατρέξτε στην ενότητα “Προτεινόμενη ανάγνωση” στον πρόλογο για τους δείκτες για τα υλικά αναφοράς και για τα μέρη για να βρείτε πληροφορίες που σχετίζονται με Java στο Διαδίκτυο.
Μαθήματα
Όλες οι αντικειμενικές γλώσσες προγραμματισμού υποστηρίζουν την έννοια μιας τάξης. Όπως και με τον ορισμό του πίνακα, μια κλάση παρέχει ένα πρότυπο για αντικείμενα που μοιράζονται κοινά χαρακτηριστικά. Κάθε τάξη μπορεί να περιέχει τα εξής:
- Χαρακτηριστικά-Στατικές ή μεταβλητές παρουσίας που διαθέτει κάθε αντικείμενο μιας συγκεκριμένης κλάσης.
- Μέθοδοι-μπορείτε να καλέσετε μεθόδους που ορίζονται από την τάξη ή να κληρονομηθεί από οποιεσδήποτε τάξεις που επεκτείνονται από την τάξη.
Όταν δημιουργείτε ένα αντικείμενο από μια τάξη, δημιουργείτε μια παρουσία αυτής της τάξης. Το παράδειγμα περιέχει τα πεδία ενός αντικειμένου, τα οποία είναι γνωστά ως δεδομένα του ή κατάσταση. Το σχήμα 1-3 δείχνει ένα παράδειγμα κατηγορίας εργαζομένων που ορίζεται με δύο χαρακτηριστικά: επώνυμο (LastName) και αναγνωριστικό εργαζομένων (ID).
Εικόνα 1-3 κατηγορίες και περιπτώσεις
Όταν δημιουργείτε μια παρουσία, τα χαρακτηριστικά αποθηκεύουν ατομικές και ιδιωτικές πληροφορίες σχετικά με τον υπάλληλο. Δηλαδή, οι πληροφορίες που περιέχονται σε ένα παράδειγμα υπαλλήλου είναι γνωστές μόνο για αυτόν τον ενιαίο εργαζόμενο. Το παράδειγμα στο σχήμα 1-3 δείχνει δύο περιπτώσεις υπαλλήλων–Smith και Jones. Κάθε παρουσία περιέχει πληροφορίες σχετικά με τον μεμονωμένο εργαζόμενο.
Γνωρίσματα
Τα χαρακτηριστικά μέσα σε μια περίπτωση είναι γνωστά ως πεδία. Τα πεδία των στιγμιότυπων είναι ανάλογα με τα πεδία μιας σχεσιακής σειράς πίνακα. Η κλάση ορίζει τα πεδία, καθώς και τον τύπο κάθε πεδίου. Μπορείτε να δηλώσετε πεδία στην Java για να είναι στατική, δημόσια, ιδιωτική, προστατευμένη ή προεπιλεγμένη πρόσβαση.
- Δημόσια, ιδιωτικά, προστατευμένα ή προεπιλεγμένα πεδία πρόσβασης δημιουργούνται σε κάθε περίπτωση.
- Τα στατικά πεδία είναι σαν παγκόσμιες μεταβλητές στο ότι οι πληροφορίες είναι διαθέσιμες σε όλες τις περιπτώσεις της τάξης των εργαζομένων.
Η προδιαγραφή γλώσσας καθορίζει τους κανόνες ορατότητας των δεδομένων για όλα τα πεδία. Κανόνες ορατότητας Καθορίζουν υπό ποιες συνθήκες μπορείτε να έχετε πρόσβαση στα δεδομένα σε αυτά τα πεδία.
Μέθοδος
Η τάξη ορίζει επίσης τις μεθόδους που μπορείτε να καλέσετε σε μια περίπτωση αυτής της τάξης. Οι μέθοδοι γράφονται σε java και καθορίζουν τη συμπεριφορά ενός αντικειμένου. Αυτή η δέσμευση του κράτους και της συμπεριφοράς είναι η ουσία της ενθυλάκωσης, η οποία αποτελεί χαρακτηριστικό όλων των αντικειμενικών γλωσσών προγραμματισμού. Εάν ορίσετε μια τάξη εργαζομένων, δηλώνοντας ότι το αναγνωριστικό κάθε εργαζομένου είναι ένα ιδιωτικό πεδίο, άλλα αντικείμενα μπορούν να έχουν πρόσβαση σε αυτό το ιδιωτικό πεδίο μόνο εάν μια μέθοδος επιστρέψει το πεδίο. Σε αυτό το παράδειγμα, ένα αντικείμενο θα μπορούσε να ανακτήσει το αναγνωριστικό του υπαλλήλου, επικαλούμενη τον υπάλληλο.μέθοδος getId ().
Επιπλέον, με ενθυλάκωση, μπορείτε να δηλώσετε ότι ο εργαζόμενος.Η μέθοδος GetId () είναι ιδιωτική ή μπορείτε να αποφασίσετε να μην γράψετε έναν υπάλληλο.μέθοδος getId (). Η ενθυλάκωση σας βοηθά να γράφετε προγράμματα που είναι επαναχρησιμοποιήσιμα και δεν χρησιμοποιούνται κατάχρηση. Η ενθυλάκωση δημοσιοποιεί μόνο εκείνα τα χαρακτηριστικά ενός αντικειμένου που δηλώνονται δημόσια. Όλα τα άλλα πεδία και μέθοδοι είναι ιδιωτικά. Τα ιδιωτικά πεδία και οι μέθοδοι μπορούν να χρησιμοποιηθούν για την επεξεργασία εσωτερικού αντικειμένου.
Ιεραρχία
Η Java ορίζει μαθήματα μέσα σε μια μεγάλη ιεραρχία των τάξεων. Στην κορυφή της ιεραρχίας είναι η κλάση αντικειμένων. Όλες οι τάξεις στο Java κληρονομούν από την τάξη αντικειμένων σε κάποιο επίπεδο, καθώς περπατάτε μέσα από την αλυσίδα κληρονομιάς των υπερκλάσεων. Όταν λέμε ότι η κατηγορία Β κληρονομεί από την κατηγορία Α, κάθε περίπτωση της κατηγορίας Β περιέχει όλα τα πεδία που ορίζονται στην κατηγορία Β, καθώς και όλα τα πεδία που ορίζονται στην κατηγορία Α. Για παράδειγμα, στο σχήμα 1-4, η κλάση FullTimeEmployee περιέχει τα πεδία ID και LastName που ορίζονται στην τάξη των εργαζομένων, επειδή κληρονομεί από την τάξη των εργαζομένων. Επιπλέον, η κλάση FullTimeEmployee προσθέτει ένα άλλο πεδίο, το μπόνους, το οποίο περιέχεται μόνο στο FullTimeEmployee.
Μπορείτε να καλέσετε οποιαδήποτε μέθοδο σε μια περίπτωση της κατηγορίας Β που ορίστηκε είτε στη κλάση Α ή Β. Στο παράδειγμα των εργαζομένων μας, η παρουσία FullTimeEmployee μπορεί να επικαλεστεί μεθόδους που ορίζονται μόνο μέσα στην τάξη του ή μεθόδους που ορίζονται στην τάξη των εργαζομένων.
Εικόνα 1-4 ιεραρχία κατηγορίας
Οι περιπτώσεις της κατηγορίας Β είναι υποκατεστημένοι για περιπτώσεις της κατηγορίας Α, οι οποίες καθιστούν την κληρονομικότητα μια άλλη ισχυρή κατασκευή αντικειμενοστραφών γλωσσών για τη βελτίωση της επαναχρησιμοποίησης κώδικα. Μπορείτε να δημιουργήσετε νέες κατηγορίες που καθορίζουν τη συμπεριφορά και δηλώνουν όπου έχει νόημα στην ιεραρχία, αλλά χρησιμοποιείτε την προϋπάρχουσα λειτουργικότητα στις βιβλιοθήκες τάξης.
Διεπαφές
Η Java υποστηρίζει μόνο ενιαία κληρονομιά. δηλαδή, κάθε τάξη έχει μία και μία μόνο τάξη από την οποία κληρονομεί. Εάν πρέπει να κληρονομήσετε από περισσότερες από μία πηγές, η Java παρέχει το ισοδύναμο πολλαπλής κληρονομιάς, χωρίς τις επιπλοκές και τη σύγχυση που συνήθως συνοδεύουν, μέσω διεπαφών. Οι διεπαφές είναι παρόμοιες με τις κατηγορίες. Ωστόσο, οι διεπαφές καθορίζουν υπογραφές μεθόδου, όχι υλοποιήσεις. Οι μέθοδοι εφαρμόζονται σε κλάσεις που δηλώνονται για την υλοποίηση μιας διεπαφής. Η πολλαπλή κληρονομιά εμφανίζεται όταν μια κατηγορία υποστηρίζει ταυτόχρονα πολλές διεπαφές.
Πολυμορφισμός
Υποθέστε στο παράδειγμα του εργαζομένου ότι οι διάφοροι τύποι εργαζομένων πρέπει να είναι σε θέση να ανταποκριθούν με την αποζημίωσή τους μέχρι σήμερα. Η αποζημίωση υπολογίζεται διαφορετικά για διαφορετικά είδη εργαζομένων.
- Οι FullTimeEmployees είναι επιλέξιμοι για μπόνους
- Οι μη εκμεταλλεύσεις παίρνουν υπερωριακές αμοιβές
Στις παραδοσιακές διαδικαστικές γλώσσες, θα γράψετε μια μακρά δήλωση διακόπτη, με τις διαφορετικές πιθανές περιπτώσεις.
διακόπτης: (υπάλληλος.Τύπος) Περίπτωση: υπάλληλος επιστροφής εργαζομένων.μισθό. Περίπτωση: υπάλληλος επιστροφής FullTimeEmployee.μισθός + υπάλληλος.βόμβα .
Εάν προσθέσετε ένα νέο είδος υπαλλήλου, πρέπει να ενημερώσετε τη δήλωση διακόπτη σας. Εάν τροποποιήσετε τη δομή δεδομένων σας, πρέπει να τροποποιήσετε όλες τις δηλώσεις διακόπτη που το χρησιμοποιούν. Σε μια αντικειμενοστραφή γλώσσα όπως η Java, εφαρμόζετε μια μέθοδο, αντιστάθμιση (), για κάθε υποκατηγορία της τάξης των εργαζομένων που απαιτεί οποιαδήποτε ειδική μεταχείριση πέρα από αυτό που έχει ήδη οριστεί στην τάξη των εργαζομένων. Για παράδειγμα, θα μπορούσατε να εφαρμόσετε τη μέθοδο αντιστάθμισηςTODATE () του Nonvemptemployee, ως εξής:
ιδιωτική αντιστάθμιση float ()
Εφαρμόζετε τη μέθοδο του FullTimeEmployee ως εξής:
ιδιωτική αντιστάθμιση float ()
Η κοινή χρήση του ονόματος της μεθόδου αντιστάθμιση του ονόματος () σας επιτρέπει να καλέσετε την ίδια μέθοδο σε διαφορετικές κατηγορίες και να λαμβάνετε διαφορετικά αποτελέσματα, χωρίς να γνωρίζετε τον τύπο του υπαλλήλου που χρησιμοποιείτε. Δεν χρειάζεται να γράψετε μια ειδική μέθοδο για να χειριστείτε τους FullTimeEmployees και τους PartTimeEmployees. Αυτή η ικανότητα για τα διαφορετικά αντικείμενα να ανταποκρίνονται στο ίδιο μήνυμα με διαφορετικούς τρόπους είναι γνωστή ως πολυμορφισμός.
Επιπλέον, θα μπορούσατε να δημιουργήσετε μια εντελώς νέα κλάση που δεν κληρονομεί από τον υπάλληλο σε όλους τους συμβούλους-και εφαρμόστε μια μέθοδο αντιστάθμισηςTodate () σε αυτό. Ένα πρόγραμμα που υπολογίζει τη συνολική μισθοδοσία μέχρι σήμερα θα επαναλάμβανε σε όλους τους ανθρώπους σε μισθοδοσία, ανεξάρτητα από το αν ήταν πλήρους απασχόλησης, μερικής απασχόλησης ή εργολάβοι και προσθέτουν τις τιμές που επέστρεψαν από την επίκληση της μεθόδου αντιστάθμισηςTodate (). Μπορείτε να κάνετε ασφαλή αλλαγές στις μεμονωμένες μεθόδους αντιστάθμισηςTodate () με τη γνώση ότι οι καλούντες των μεθόδων θα λειτουργούν σωστά. Για παράδειγμα, μπορείτε να προσθέσετε με ασφάλεια νέα πεδία σε υπάρχουσες τάξεις.
Το Java Virtual Machine (JVM)
Όπως και με άλλες γλώσσες υπολογιστών υψηλού επιπέδου, η πηγή σας Java μεταγλωττίζεται με οδηγίες μηχανής χαμηλού επιπέδου. Στη Java, αυτές οι οδηγίες είναι γνωστές ως bytecodes (επειδή το μέγεθός τους είναι ομοιόμορφα ένα byte αποθήκευσης). Οι περισσότερες άλλες γλώσσες-όπως το C-Crage με τις οδηγίες για συγκεκριμένες μηχανές–όπως οι οδηγίες που αφορούν συγκεκριμένες για έναν επεξεργαστή Intel ή HP. Η πηγή σας Java μεταγλωττίζεται σε ένα πρότυπο, ανεξάρτητο από πλατφόρμα σετ bytecodes, το οποίο αλληλεπιδρά με μια εικονική μηχανή Java (JVM). Το JVM είναι ένα ξεχωριστό πρόγραμμα που βελτιστοποιείται για τη συγκεκριμένη πλατφόρμα στην οποία εκτελείτε τον κωδικό Java σας. Το σχήμα 1-5 απεικονίζει τον τρόπο με τον οποίο η Java μπορεί να διατηρήσει την ανεξαρτησία της πλατφόρμας. Η πηγή Java σας καταρτίζεται σε bytecodes, τα οποία είναι ανεξάρτητα από την πλατφόρμα. Κάθε πλατφόρμα έχει εγκαταστήσει ένα JVM που είναι συγκεκριμένο για το λειτουργικό της σύστημα. Τα bytecodes Java από την πηγή σας ερμηνεύονται μέσω του JVM σε κατάλληλες ενέργειες που εξαρτώνται από την πλατφόρμα.
Εικόνα 1-5 δομή συστατικών Java
Όταν αναπτύξετε ένα πρόγραμμα Java, χρησιμοποιείτε προκαθορισμένες βασικές βιβλιοθήκες τάξης γραμμένες στη γλώσσα Java. Οι βιβλιοθήκες κλάσης Java Core χωρίζονται λογικά σε πακέτα που παρέχουν συνήθως χρησιμοποιούμενες λειτουργίες, όπως βασική υποστήριξη γλώσσας (Java.lang), είσοδος/έξοδος (java.IO) και πρόσβαση στο δίκτυο (Java.καθαρά). Μαζί, οι βιβλιοθήκες JVM και βασικών τάξεων παρέχουν μια πλατφόρμα στην οποία οι προγραμματιστές Java μπορούν να αναπτύξουν με την εμπιστοσύνη ότι οποιοδήποτε υλικό και λειτουργικό σύστημα που υποστηρίζει την Java θα εκτελέσει το πρόγραμμά τους. Αυτή η ιδέα είναι αυτό που οδηγεί την ιδέα της Java “Write Once, Run anywhere”.
Το σχήμα 1-6 απεικονίζει τον τρόπο με τον οποίο οι εφαρμογές της Oracle Java κάθονται στην κορυφή των βιβλιοθηκών κλάσης Java Core, οι οποίες με τη σειρά τους κάθονται στην κορυφή του JVM. Επειδή το σύστημα υποστήριξης της Oracle Java βρίσκεται στη βάση δεδομένων, το JVM αλληλεπιδρά με τις βιβλιοθήκες βάσης δεδομένων Oracle, αντί άμεσα με το λειτουργικό σύστημα.
Εικόνα 1-6 Δομή στοιχείων Java Oracle
Το Sun Microsystems παρέχει διαθέσιμες στο κοινό προδιαγραφές τόσο για τη γλώσσα Java όσο και για το JVM. Η προδιαγραφή γλώσσας Java (JLS) ορίζει πράγματα όπως η σύνταξη και η σημασιολογία. Η προδιαγραφή JVM καθορίζει την απαραίτητη συμπεριφορά χαμηλού επιπέδου για το “μηχάνημα” που εκτελεί τα bytecodes. Επιπλέον, το Sun Microsystems παρέχει μια δοκιμαστική σουίτα συμβατότητας για τους υλοποιητές JVM για να διαπιστωθεί εάν έχουν συμμορφωθεί με τις προδιαγραφές. Αυτή η δοκιμαστική σουίτα είναι γνωστή ως Java Kit Compatibility Kit (JCK). Η υλοποίηση του OracleJVM συμμορφώνεται πλήρως με το JCK. Μέρος της συνολικής στρατηγικής Java είναι ότι ένα ανοιχτά καθορισμένο πρότυπο, μαζί με έναν απλό τρόπο επαλήθευσης της συμμόρφωσης με αυτό το πρότυπο, επιτρέπει στους πωλητές να προσφέρουν ομοιόμορφη υποστήριξη για Java σε όλες τις πλατφόρμες.
Βασικά χαρακτηριστικά της γλώσσας Java
Η γλώσσα Java έχει βασικά χαρακτηριστικά που την καθιστούν ιδανική για την ανάπτυξη εφαρμογών διακομιστή. Αυτά τα χαρακτηριστικά περιλαμβάνουν:
- Απλότητα-Το Java είναι μια απλούστερη γλώσσα από ό, τι οι περισσότεροι άλλοι που χρησιμοποιούνται σε εφαρμογές διακομιστή λόγω της συνεπούς επιβολής του μοντέλου αντικειμένων. Το μεγάλο, τυποποιημένο σύνολο βιβλιοθηκών κλάσης φέρνει ισχυρά εργαλεία στους προγραμματιστές Java σε όλες τις πλατφόρμες.
- Φορητότητα-Το Java είναι φορητό σε πλατφόρμες. Είναι δυνατόν να γράψετε τον εξαρτώμενο από την πλατφόρμα κώδικα στη Java, αλλά είναι επίσης απλό να γράφετε προγράμματα που κινούνται άψογα σε μηχανήματα. Οι εφαρμογές Oracle Server, οι οποίες δεν υποστηρίζουν γραφικές διεπαφές χρήστη απευθείας στην πλατφόρμα που τους φιλοξενούν, τείνουν επίσης να αποφεύγουν τα λίγα ζητήματα φορητότητας πλατφόρμας που έχει η Java.
- Η αυτόματη διαχείριση αποθήκευσης-Η εικονική μηχανή Java εκτελεί αυτόματα όλη την κατανομή και την κατανομή της μνήμης κατά την εκτέλεση του προγράμματος. Οι προγραμματιστές Java δεν μπορούν να διαθέσει ούτε να ελευθερώσουν τη μνήμη ρητά. Αντ ‘αυτού, εξαρτώνται από την JVM για να εκτελέσουν αυτές τις εργασίες λογιστικής, κατανέμοντας τη μνήμη καθώς δημιουργούν νέα αντικείμενα και παρακωλύουν τη μνήμη όταν τα αντικείμενα δεν αναφέρονται πλέον. Η τελευταία λειτουργία είναι γνωστή ως συλλογή σκουπιδιών.
- Ισχυρή πληκτρολόγηση-πριν χρησιμοποιήσετε μια μεταβλητή Java, πρέπει να δηλώσετε την τάξη του αντικειμένου που θα κρατήσει. Η ισχυρή πληκτρολόγηση της Java καθιστά δυνατή την παροχή λογικής και ασφαλούς λύσης στις κλήσεις μεταξύ των γλωσσών μεταξύ των εφαρμογών Java και PL/SQL και την ενσωμάτωση κλήσεων Java και SQL εντός της ίδιας εφαρμογής.
- Δεν υπάρχουν δείκτες-αν και η Java διατηρεί μεγάλο μέρος της γεύσης του C στη σύνταξή του, δεν υποστηρίζει άμεσους δείκτες ή χειρισμό δείκτη. Μπορείτε να περάσετε όλες τις παραμέτρους, εκτός από τους πρωτόγονους τύπους, με παραπομπή (δηλαδή, η ταυτότητα αντικειμένου διατηρείται), όχι με αξία. Η Java δεν παρέχει χαμηλό επίπεδο C, άμεση πρόσβαση σε δείκτες, η οποία εξαλείφει τη διαφθορά και τις διαρροές της μνήμης.
- Χειρισμός εξαίρεσης-Οι εξαιρέσεις Java είναι αντικείμενα. Η Java απαιτεί από τους προγραμματιστές να δηλώνουν ποιες εξαιρέσεις μπορούν να ρίχνονται με μεθόδους σε οποιαδήποτε συγκεκριμένη τάξη.
- Ευέλικτο χώρο ονομάτων-Ο Java ορίζει τις τάξεις και τις κρατά σε μια ιεραρχική δομή που αντικατοπτρίζει το χώρο ονομάτων τομέα του Διαδικτύου. Μπορείτε να διανείμετε εφαρμογές Java και να αποφύγετε τις συγκρούσεις ονόματος. Οι επεκτάσεις Java όπως η διεπαφή ονομασίας Java και Directory (JNDI) παρέχουν ένα πλαίσιο για τις υπηρεσίες πολλαπλών ονόματος. Η προσέγγιση ονομάτων της Java είναι αρκετά ευέλικτη ώστε η Oracle να ενσωματώσει την έννοια ενός σχήματος για την επίλυση ονομάτων τάξεων, ενώ συμμορφώνεται πλήρως με τις προδιαγραφές γλώσσας.
- Ασφάλεια-Ο σχεδιασμός των Java Bytecodes και του JVM επιτρέπει στους ενσωματωμένους μηχανισμούς να επαληθεύσουν ότι ο δυαδικός κώδικας Java δεν είχε παραβιαστεί. Το Oracle Database είναι εγκατεστημένη με μια παρουσία του SecurityManager, η οποία, όταν συνδυάζεται με την ασφάλεια της βάσης δεδομένων Oracle, καθορίζει ποιος μπορεί να επικαλεστεί οποιεσδήποτε μεθόδους Java.
- Πρότυπα για συνδεσιμότητα σε σχεσιακές βάσεις δεδομένων-JDBC Ενεργοποίηση του κώδικα Java για πρόσβαση και χειρισμό δεδομένων που κατοικούνται σε σχεσιακές βάσεις δεδομένων. Το Oracle παρέχει στους οδηγούς που επιτρέπουν τον ανεξάρτητο από τον προμηθευτή, φορητό κώδικα Java για πρόσβαση στη σχεσιακή βάση δεδομένων.
Γιατί να χρησιμοποιήσετε Java στη βάση δεδομένων Oracle?
Ο μόνος λόγος για τον οποίο επιτρέπεται να γράφετε και να φορτώνετε εφαρμογές Java στη βάση δεδομένων είναι επειδή είναι μια ασφαλής γλώσσα. Η Java έχει αναπτυχθεί για να εμποδίσει οποιονδήποτε να παραβιάσει το λειτουργικό σύστημα στο οποίο βρίσκεται ο κώδικας Java. Ορισμένες γλώσσες, όπως το C, μπορούν να εισαγάγουν προβλήματα ασφαλείας στη βάση δεδομένων. Η Java, λόγω του σχεδιασμού της, είναι μια ασφαλής γλώσσα που επιτρέπει στη βάση δεδομένων.
Παρόλο που η γλώσσα Java παρουσιάζει πολλά πλεονεκτήματα στους προγραμματιστές, η παροχή εφαρμογής ενός JVM που υποστηρίζει τις εφαρμογές διακομιστή Java με κλιμακωτό τρόπο είναι μια πρόκληση. Αυτή η ενότητα εξετάζει μερικές από αυτές τις προκλήσεις.
- Java και The RDBMS: Ένας ισχυρός συνδυασμός
- Πολυεπίπεδα
- Αυτοματοποιημένη διαχείριση αποθήκευσης με συλλογή σκουπιδιών
- Ιχνος
- Εκτέλεση
- Δυναμική φόρτωση κλάσης
Java και The RDBMS: Ένας ισχυρός συνδυασμός
Το Oracle RDBMS παρέχει εφαρμογές Java με δυναμική μηχανή επεξεργασίας δεδομένων που υποστηρίζει σύνθετα ερωτήματα και διαφορετικές απόψεις των ίδιων δεδομένων. Όλα τα αιτήματα πελατών συναρμολογούνται ως ερωτήματα δεδομένων για άμεση επεξεργασία και τα αποτελέσματα των ερωτημάτων παράγονται εν πτήσει.
Αρκετά χαρακτηριστικά κάνουν το Java ιδανικό για προγραμματισμό διακομιστών. Η Java σας επιτρέπει να συναρμολογείτε εφαρμογές χρησιμοποιώντας στοιχεία λογισμικού εκτός του ράφι (Javabeans). Η διαχείριση της ασφάλειας και της αυτόματης μνήμης τύπου επιτρέπει τη στενή ενσωμάτωση με το RDBMS. Επιπλέον, η Java υποστηρίζει τη διαφανή κατανομή των εξαρτημάτων εφαρμογής σε ένα δίκτυο.
Έτσι, η Java και τα RDBMs υποστηρίζουν την ταχεία συναρμολόγηση των εφαρμογών που βασίζονται σε συστατικά, που μπορούν να εξελιχθούν με χαρά, καθώς οι επιχειρηματικές ανάγκες αλλαγές. Επιπλέον, μπορείτε να μετακινήσετε εφαρμογές και αποθήκες δεδομένων από την επιφάνεια εργασίας και σε έξυπνα δίκτυα και διακομιστές με επίκεντρο το δίκτυο. Πιο σημαντικό, μπορείτε να έχετε πρόσβαση σε αυτές τις εφαρμογές και τα καταστήματα δεδομένων από οποιαδήποτε συσκευή πελάτη.
Το σχήμα 1-7 δείχνει μια παραδοσιακή διαμόρφωση δύο επιπέδων, πελάτη/διακομιστή στην οποία οι πελάτες καλούν τις αποθηκευμένες διαδικασίες Java με τον ίδιο τρόπο που ονομάζουν PL/SQL αποθηκευμένες διαδικασίες. (Το PL/SQL είναι ένα προηγμένο 4GL ενσωματωμένο με βάση δεδομένων Oracle.) Ο αριθμός δείχνει επίσης πώς ο διαχειριστής σύνδεσης του Oracle Net Services μπορεί να διοχετεύσει πολλές συνδέσεις δικτύου σε μία σύνδεση βάσης δεδομένων. Αυτό επιτρέπει στο RDBMS να υποστηρίζει μεγάλο αριθμό ταυτόχρονων χρηστών.
Εικόνα 1-7 Διαμόρφωση πελάτη/διακομιστή δύο επιπέδων
Πολυεπίπεδα
Η υποστήριξη MultithReading αναφέρεται συχνά ως ένα από τα βασικά χαρακτηριστικά κλιμάκωσης της γλώσσας Java. Βεβαίως, οι βιβλιοθήκες γλώσσας και τάξης Java καθιστούν απλούστερη τη σύνταξη εφαρμογών πολλαπλών διαμερισμάτων στη Java από πολλές άλλες γλώσσες, αλλά εξακολουθεί να είναι ένα αποθαρρυντικό έργο σε οποιαδήποτε γλώσσα για να γράψει αξιόπιστο, κλιμακωτό κώδικα.
Ως διακομιστής βάσης δεδομένων, τα προγράμματα βάσης δεδομένων Oracle λειτουργούν αποτελεσματικά για χιλιάδες χρήστες. Το OracleJVM χρησιμοποιεί τις εγκαταστάσεις του διακομιστή RDBMS για να προγραμματίσει ταυτόχρονα την εκτέλεση Java για χιλιάδες χρήστες. Παρόλο που η βάση δεδομένων Oracle υποστηρίζει τα νήματα της γλώσσας Java που απαιτούνται από το JLS και το JCK, η χρήση νημάτων στο πλαίσιο της βάσης δεδομένων δεν θα αυξήσει την επεκτασιμότητα σας. Η χρήση της ενσωματωμένης επεκτασιμότητας της βάσης δεδομένων εξαλείφει την ανάγκη για τη σύνταξη πολλαπλών διακομιστών Java. Θα πρέπει να χρησιμοποιήσετε τις εγκαταστάσεις της βάσης δεδομένων για τον προγραμματισμό των χρηστών, γράφοντας εφαρμογές Java με μονή στήριξη. Η βάση δεδομένων θα φροντίσει τον προγραμματισμό μεταξύ κάθε εφαρμογής. Έτσι, επιτυγχάνετε την επεκτασιμότητα χωρίς να χρειάζεται να διαχειριστείτε τα νήματα. Μπορείτε ακόμα να γράψετε πολλαπλές εφαρμογές Java, αλλά πολλά νήματα Java δεν θα αυξήσουν την απόδοση του διακομιστή σας.
Μία δυσκολία που επιβάλλει πολλαπλές ανάγκες στη Java είναι η αλληλεπίδραση των νημάτων και της αυτοματοποιημένης διαχείρισης αποθήκευσης ή της συλλογής σκουπιδιών. Ο συλλέκτης σκουπιδιών που εκτελείται σε μια γενική JVM δεν έχει καμία γνώση για το ποια νήματα γλωσσών Java εκτελούν ή πώς τα προγραμματίζει το υποκείμενο λειτουργικό σύστημα.
- Μοντέλο βάσης δεδομένων εκτός Oracle-Χάρτες μεμονωμένων χρηστών σε ένα μόνο νήμα Java Language Level. Ο ίδιος συλλέκτης σκουπιδιών διαχειρίζεται όλα τα σκουπίδια από όλους τους χρήστες. Διαφορετικές τεχνικές συνήθως ασχολούνται με την κατανομή και τη συλλογή αντικειμένων διαφορετικών ζωών και μεγεθών. Το αποτέλεσμα σε μια βαριά πολυεπίπεδη εφαρμογή είναι, στην καλύτερη περίπτωση, εξαρτάται από την υποστήριξη του λειτουργικού συστήματος για τα εγγενή σπειρώματα, τα οποία μπορεί να είναι αναξιόπιστα και περιορισμένα στην επεκτασιμότητα. Τα υψηλά επίπεδα κλιμάκωσης για τέτοιες εφαρμογές δεν έχουν αποδειχθεί πειστικά.
- OracleJVM μοντέλο-ακόμη και όταν χιλιάδες χρήστες συνδέονται με το διακομιστή και εκτελούν τον ίδιο κωδικό Java, κάθε χρήστης το βιώνει σαν να εκτελεί τον δικό του κώδικα Java στη δική του Java Virtual Machine. Η ευθύνη του OracleJVM είναι να χρησιμοποιήσει τις διαδικασίες και τα νήματα του λειτουργικού συστήματος, χρησιμοποιώντας την κλιμακωτή προσέγγιση του Oracle RDBMS. Ως αποτέλεσμα αυτής της προσέγγισης, ο συλλέκτης σκουπιδιών της JVM είναι πιο αξιόπιστος και αποτελεσματικός επειδή ποτέ δεν συλλέγει σκουπίδια από περισσότερους από έναν χρήστες ανά πάσα στιγμή. Ανατρέξτε στο “Threading in Oracle Database” για περισσότερες πληροφορίες σχετικά με την εφαρμογή του μοντέλου νήματος στο OracleJVM.
Αυτοματοποιημένη διαχείριση αποθήκευσης με συλλογή σκουπιδιών
Η συλλογή σκουπιδιών είναι ένα σημαντικό χαρακτηριστικό της αυτοματοποιημένης διαχείρισης αποθήκευσης της Java, εξαλείφοντας την ανάγκη για προγραμματιστές Java να διαθέτουν και να δωρεάν μνήμη ρητά. Κατά συνέπεια, αυτό εξαλείφει μια μεγάλη πηγή διαρροών μνήμης που συνήθως πλήττουν προγράμματα C και C ++. Υπάρχει μια τιμή για ένα τέτοιο όφελος: η συλλογή σκουπιδιών συμβάλλει στην γενική έξοδο της ταχύτητας εκτέλεσης του προγράμματος και του αποτυπώματος. Παρόλο που πολλά έγγραφα έχουν γραφτεί και ποσοτικοποιώντας το συμβιβασμό, το συνολικό κόστος είναι λογικό, λαμβάνοντας υπόψη τις εναλλακτικές λύσεις.
Η συλλογή σκουπιδιών επιβάλλει μια πρόκληση στον προγραμματιστή JVM που επιδιώκει να προμηθεύσει μια εξαιρετικά κλιμακωτή και γρήγορη πλατφόρμα Java. Το OracleJVM αντιμετωπίζει αυτές τις προκλήσεις με τους ακόλουθους τρόπους:
- Το OracleJVM χρησιμοποιεί τις εγκαταστάσεις προγραμματισμού βάσης δεδομένων Oracle, οι οποίες μπορούν να διαχειριστούν αποτελεσματικά πολλούς χρήστες.
- Η συλλογή σκουπιδιών εκτελείται σταθερά για πολλούς χρήστες, επειδή η συλλογή σκουπιδιών επικεντρώνεται σε έναν μόνο χρήστη μέσα σε μία συνεδρίαση. Το OracleJVM απολαμβάνει ένα τεράστιο πλεονέκτημα επειδή το βάρος και η πολυπλοκότητα της δουλειάς του διαχειριστή μνήμης δεν αυξάνεται καθώς ο αριθμός των χρηστών αυξάνεται. Ο διαχειριστής μνήμης εκτελεί την κατανομή και τη συλλογή αντικειμένων σε μία μόνο συνεδρία-η οποία συνήθως μεταφράζεται στη δραστηριότητα ενός μόνο χρήστη.
- Το OracleJVM χρησιμοποιεί διαφορετικές τεχνικές συλλογής σκουπιδιών ανάλογα με τον τύπο της μνήμης που χρησιμοποιείται. Αυτές οι τεχνικές παρέχουν υψηλή απόδοση και χαμηλή επιβάρυνση.
Ιχνος
Το αποτύπωμα ενός προγράμματος εκτέλεσης Java επηρεάζεται από πολλούς παράγοντες:
- Μέγεθος του ίδιου του προγράμματος-Πώς πολλές τάξεις και μεθόδους και πόσο κώδικας περιέχουν.
- Πολυπλοκότητα του προγράμματος-το ποσό των βασικών βιβλιοθηκών τάξης που χρησιμοποιεί το oraclejvm ως το πρόγραμμα, σε αντίθεση με το ίδιο το πρόγραμμα.
- Ποσότητα κατάστασης που χρησιμοποιεί η JVM-πώς πολλά αντικείμενα που διαθέτει η JVM, πόσο μεγάλα είναι και πόσοι πρέπει να διατηρηθούν σε όλες τις κλήσεις.
- Ικανότητα του συλλέκτη σκουπιδιών και του διαχειριστή μνήμης να αντιμετωπίσει τις απαιτήσεις του προγράμματος εκτέλεσης, το οποίο είναι συχνά μη καθοριστικό. Η ταχύτητα με την οποία κατανέμονται τα αντικείμενα και ο τρόπος με τον οποίο κρατούνται από άλλα αντικείμενα επηρεάζει τη σημασία αυτού του παράγοντα.
Από την άποψη της επεκτασιμότητας, το κλειδί για την υποστήριξη πολλών ταυτόχρονων πελατών είναι ένα ελάχιστο αποτύπωμα συνεδρίας ανά χρήστη. Το OracleJVM διατηρεί το αποτύπωμα συνεδρίας ανά χρήστη στο ελάχιστο, τοποθετώντας όλα τα δεδομένα μόνο για ανάγνωση για χρήστες, όπως Java Bytecodes, σε κοινή μνήμη. Οι κατάλληλοι αλγόριθμοι συλλογής απορριμμάτων εφαρμόζονται έναντι αναμνήσεων κλήσεων και συνεδριών για τη διατήρηση ενός μικρού αποτυπώματος για τη συνεδρία του χρήστη. Το OracleJVM χρησιμοποιεί τρεις τύπους αλγορίθμων συλλογής σκουπιδιών για να διατηρήσει τη μνήμη περιόδου λειτουργίας του χρήστη:
- Γενετική καθαρισμός για βραχύβια αντικείμενα
- Συλλογή Mark και Lazy Sweep για αντικείμενα που υπάρχουν για τη ζωή μιας μόνο κλήσης
- Αντιγραφή συλλέκτη για αντικείμενα μακράς διάρκειας ζωής-αντικείμενα που ζουν σε κλήσεις μέσα σε μια συνεδρία
Εκτέλεση
Η απόδοση του OracleJVM ενισχύεται με την εφαρμογή ενός εγγενούς μεταγλωττιστή.
Πώς οι εγγενείς μεταγλωττιστές βελτιώνουν την απόδοση
Η Java εκτελεί ανεξάρτητη από την πλατφόρμα bytecodes πάνω από ένα JVM, το οποίο με τη σειρά του αλληλεπιδρά με την συγκεκριμένη πλατφόρμα υλικού. Κάθε φορά που προσθέτετε επίπεδα στο λογισμικό, η απόδοσή σας υποβαθμίζεται. Επειδή η Java απαιτεί να περάσει από έναν διαμεσολαβητή για την ερμηνεία ανεξάρτητων από την πλατφόρμα bytecodes, υπάρχει ένας βαθμός αναποτελεσματικότητας για εφαρμογές Java που δεν υπάρχει μέσα σε μια γλώσσα που εξαρτάται από την πλατφόρμα, όπως το C. Για την αντιμετώπιση αυτού του ζητήματος, αρκετοί προμηθευτές JVM δημιουργούν εγγενείς μεταγλωττιστές. Οι εγγενείς μεταγλωττιστές μεταφράζουν java bytecodes σε εξαρτώμενο από την πλατφόρμα κώδικα, ο οποίος εξαλείφει το βήμα του διερμηνέα και βελτιώνει την απόδοση.
Τα παρακάτω περιγράφουν δύο μεθόδους για τη φυσική συλλογή:
Μόνο στο χρόνο (JIT) συλλογή
Οι μεταγλωττιστές JIT καταρτίζουν γρήγορα Java Bytecodes σε εγγενή (συγκεκριμένη πλατφόρμα) κώδικα μηχανής κατά τη διάρκεια του χρόνου εκτέλεσης. Αυτό δεν παράγει ένα εκτελέσιμο εκτελέσιμο που θα εκτελεστεί στην πλατφόρμα. Αντ ‘αυτού, παρέχει εξαρτώμενο από την πλατφόρμα κώδικα από java bytecodes που εκτελείται αμέσως μετά τη μετάφραση του. Αυτό θα πρέπει να χρησιμοποιείται για τον κώδικα Java που εκτελείται συχνά, ο οποίος θα εκτελεστεί σε ταχύτητες πιο κοντά σε γλώσσες όπως το C.
Η σύνταξη μεταφράζει Java bytecodes σε ανεξάρτητο από την πλατφόρμα κώδικα C πριν από το Runtime. Στη συνέχεια, ένας τυπικός μεταγλωττιστής C μεταγλωττίζει τον κώδικα C σε ένα εκτελέσιμο για την πλατφόρμα προορισμού. Αυτή η προσέγγιση είναι πιο κατάλληλη για εφαρμογές Java που τροποποιούνται σπάνια. Αυτή η προσέγγιση εκμεταλλεύεται την ώριμη και αποτελεσματική τεχνολογία συλλογής πλατφόρμας που βρίσκεται στους σύγχρονους μεταγλωττιστές C.
Η Oracle Database χρησιμοποιεί τη συλλογή μπροστά για να παραδώσει τις βασικές βιβλιοθήκες Java Class: Κωδικός JDBC σε φυσιολογική φόρμα. Εφαρμόζεται σε όλες τις πλατφόρμες υποστηρίξεις Oracle, ενώ μια προσέγγιση JIT απαιτεί χαμηλού επιπέδου κώδικα που εξαρτάται από τον επεξεργαστή για κάθε πλατφόρμα. Μπορείτε να χρησιμοποιήσετε αυτήν την τεχνολογία φυσικής συλλογής με τον δικό σας κωδικό Java.
Όπως δείχνει το σχήμα 1-8, ο εγγενώς καταρτισμένος κώδικας εκτελεί έως και δέκα φορές ταχύτερα από τον ερμηνευμένο κώδικα. Έτσι, όσο πιο εγγενής κώδικας χρησιμοποιεί το πρόγραμμά σας, τόσο πιο γρήγορα εκτελεί.
Εικόνα 1-8 Διερμηνέας έναντι επιταχυντής
Ανατρέξτε στο “Εγκεκριμένο κωδικό” για περισσότερες πληροφορίες.
Δυναμική φόρτωση κλάσης
Ένα άλλο ισχυρό χαρακτηριστικό της Java είναι η δυναμική φόρτωση κλάσης. Οι κλάσεις φορτίου φορτίου κλάσης από το δίσκο (και τις τοποθετούν στις δομές μνήμης ειδικών για την JVM που είναι απαραίτητες για ερμηνεία) μόνο καθώς χρησιμοποιούνται κατά την εκτέλεση του προγράμματος. Ο φορτωτής κλάσης εντοπίζει τις κλάσεις στο Path Path και τις φορτώνει κατά την εκτέλεση του προγράμματος. Αυτή η προσέγγιση, η οποία λειτουργεί καλά για τις εφαρμογές, δημιουργεί τα ακόλουθα προβλήματα σε περιβάλλον διακομιστή:
Η λειτουργία φόρτωσης κλάσης θέτει σοβαρή ποινή για την πρώτη εκτέλεση. Ένα απλό πρόγραμμα μπορεί να αναγκάσει το OracleJVM να φορτώσει πολλές κατηγορίες πυρήνα για να υποστηρίξει τις ανάγκες του. Ένας προγραμματιστής δεν μπορεί εύκολα να προβλέψει ή να καθορίσει τον αριθμό των κατηγοριών που έχουν φορτωθεί.
Το OracleJVM φορτώνει τις κατηγορίες δυναμικά, όπως και με οποιαδήποτε άλλη εικονική μηχανή Java. Αντιμετωπίζεται το ίδιο χτύπημα της ταχύτητας φόρτωσης μιας ώρας κατηγορίας. Ωστόσο, επειδή οι κλάσεις φορτώνονται σε κοινή μνήμη, κανένας άλλος χρήστες αυτών των τάξεων δεν θα προκαλέσει ξανά τις κατηγορίες-θα χρησιμοποιούν απλώς τις ίδιες προ-φορτωμένες κατηγορίες.
Ένα πλεονέκτημα της δυναμικής φόρτωσης κλάσης είναι ότι υποστηρίζει την ενημέρωση του προγράμματος. Για παράδειγμα, θα ενημερώσατε τις τάξεις σε ένα διακομιστή και τους πελάτες που κατεβάζουν το πρόγραμμα και το φορτώνουν δυναμικά την ενημέρωση κάθε φορά που χρησιμοποιούν το πρόγραμμα στη συνέχεια το πρόγραμμα. Τα προγράμματα διακομιστών τείνουν να δίνουν έμφαση στην αξιοπιστία. Ως προγραμματιστής, πρέπει να γνωρίζετε ότι κάθε πελάτης εκτελεί μια συγκεκριμένη διαμόρφωση προγράμματος. Δεν θέλετε οι πελάτες να φορτώνουν ακούσια ορισμένες κατηγορίες που δεν τους σκοπεύατε να φορτώσουν.
Η βάση δεδομένων Oracle διαχωρίζει τη λειτουργία μεταφόρτωσης και επίλυσης από τη λειτουργία φόρτωσης κλάσης κατά το χρόνο εκτέλεσης. Μπορείτε να ανεβάσετε τον κωδικό Java που αναπτύξατε στο διακομιστή χρησιμοποιώντας το βοηθητικό πρόγραμμα LoadJava. Αντί να χρησιμοποιείτε το ClassPath, καθορίζετε έναν διαλυτή κατά τη διάρκεια της εγκατάστασης. Ο διαλυτής είναι ανάλογος με το Classpath, αλλά σας επιτρέπει να καθορίσετε τα σχήματα στα οποία κατοικούν οι τάξεις. Αυτός ο διαχωρισμός της ανάλυσης από τη φόρτωση της κλάσης σημαίνει ότι γνωρίζετε πάντα τι εκτελούν οι χρήστες του προγράμματος. Ανατρέξτε στο Κεφάλαιο 11, “Εργαλεία αντικειμένων σχήματος” για λεπτομέρειες σχετικά με το LoadJava και τους Resolvers.
Τι είναι διαφορετικό με το oraclejvm?
Αυτή η ενότητα εξετάζει ορισμένες σημαντικές διαφορές μεταξύ του OracleJVM και του τυπικού πελάτη JVMS.
Μέθοδος main ()
Οι εφαρμογές Java που βασίζονται σε πελάτες δηλώνουν μια ενιαία μέθοδο ανώτατου επιπέδου (main ()) που ορίζει το προφίλ μιας εφαρμογής. Όπως και με τις εφαρμογές, οι εφαρμογές που βασίζονται σε διακομιστές δεν έχουν τέτοιο “εσωτερικό βρόχο.”Αντ ‘αυτού, οδηγούνται από λογικά ανεξάρτητους πελάτες.
Κάθε πελάτης ξεκινά μια συνεδρία, καλεί τις ενότητες λογικής από την πλευρά του διακομιστή μέσω σημείων εισόδου ανώτατου επιπέδου και τελικά τελειώνει τη συνεδρίαση. Το περιβάλλον του διακομιστή κρύβει τη διαχείριση των συνεδριών, των δικτύων και άλλων κοινών πόρων από προγράμματα που φιλοξενούνται Java.
Το GUI
Ένας διακομιστής δεν μπορεί να παράσχει GUI, αλλά μπορεί να παρέχει τη λογική που τους οδηγεί. Το OracleJVM υποστηρίζει μόνο τον τρόπο ακέφαλο του Tomkit Abstract Windowing Toolkit (AWT). Όλες οι κλάσεις AWT Java είναι διαθέσιμες στο περιβάλλον του διακομιστή και τα προγράμματά σας μπορούν να χρησιμοποιήσουν τη λειτουργικότητα AWT, εφόσον δεν προσπαθούν να υλοποιήσουν ένα GUI στο διακομιστή. Για περισσότερες πληροφορίες, ανατρέξτε στην ενότητα “Διεπαφές χρήστη στον διακομιστή” .
Το IDE
Το OracleJVM είναι προσανατολισμένο στην ανάπτυξη εφαρμογών Java, όχι στην ανάπτυξη. Μπορείτε να γράψετε και να δοκιμάσετε τις εφαρμογές στο αγαπημένο σας IDE, όπως το Oracle JDeveloper, στη συνέχεια να τις αναπτύξετε για εκτέλεση εντός του RDBMS.
Ανατρέξτε στην ενότητα “Εργαλεία ανάπτυξης” για περισσότερες πληροφορίες.
Η δυαδική συμβατότητα της Java σάς επιτρέπει να εργάζεστε σε οποιοδήποτε IDE και στη συνέχεια να ανεβάσετε αρχεία κλάσης Java στον διακομιστή. Δεν χρειάζεται να μετακινήσετε τα αρχεία προέλευσης Java στη βάση δεδομένων. Αντ ‘αυτού, μπορείτε να χρησιμοποιήσετε ισχυρές IDEs από την πλευρά του πελάτη για να διατηρήσετε εφαρμογές Java που αναπτύσσονται στον διακομιστή.
Τα κύρια συστατικά του oraclejvm
Αυτή η ενότητα περιγράφει συνοπτικά τα κύρια συστατικά του OracleJVM και μερικές από τις εγκαταστάσεις που παρέχουν.
Το Oracle Database Java Virtual Machine (JVM) είναι ένα πλήρες περιβάλλον εκτέλεσης Java Java 2. Τρέχει στον ίδιο χώρο διαδικασίας και στον χώρο διευθύνσεων με τον πυρήνα RDBMS, μοιράζοντας τους σωρούς μνήμης και πρόσβαση άμεσα στα σχεσιακά δεδομένα του. Αυτός ο σχεδιασμός βελτιστοποιεί τη χρήση μνήμης και αυξάνει την απόδοση.
Το OracleJVM παρέχει ένα περιβάλλον χρόνου εκτέλεσης για αντικείμενα Java. Υποστηρίζει πλήρως δομές δεδομένων Java, αποστολή μεθόδου, χειρισμό εξαιρέσεων και νήματα σε επίπεδο γλώσσας. Υποστηρίζει επίσης όλες τις βασικές βιβλιοθήκες Java Class, συμπεριλαμβανομένης της Java.Lang, Java.io, java.Net, Java.Μαθηματικά και Java.χρησιμοποιώ. Το σχήμα 1-9 δείχνει τα κύρια συστατικά του.
Εικόνα 1-9 Κύρια συστατικά του oraclejvm
Το OracleJVM ενσωματώνει το τυπικό χώρο ονομάτων Java σε σχήματα RDBMS. Αυτή η λειτουργία επιτρέπει στα προγράμματα Java να έχουν πρόσβαση σε αντικείμενα Java που είναι αποθηκευμένα σε βάσεις δεδομένων Oracle και διακομιστές εφαρμογών σε όλη την επιχείρηση.
Επιπλέον, το oraclejvm είναι στενά ενσωματωμένο στην κλιμακωτή, κοινή αρχιτεκτονική μνήμης του RDBMS. Τα προγράμματα Java χρησιμοποιούν αποτελεσματικά την κλήση κλήσης, συνεδρίασης και αντικειμένων χωρίς την παρέμβασή σας. Έτσι, μπορείτε να κλιμακώσετε τα επιχειρηματικά αντικείμενα oraclejvmand μεσαίας βαθμίδας Java, ακόμη και όταν έχουν κρατική συνάντηση.
Ο συλλέκτης σκουπιδιών περιγράφεται στη “Αυτοματοποιημένη Διαχείριση Αποθήκευσης με Συλλογή Σκουρδίων” . Ο εγγενής μεταγλωττιστής συζητείται στο “Performance” . Τα υπόλοιπα εξαρτήματα περιγράφονται στα ακόλουθα τμήματα:
Επιπλέον, τα ακόλουθα τμήματα δίνουν μια επισκόπηση του προγράμματος οδήγησης JDBC:
Διευθυντής βιβλιοθήκης
Για να αποθηκεύσετε τα μαθήματα Java σε μια βάση δεδομένων Oracle, χρησιμοποιείτε το Utility Loadjava της γραμμής εντολών, η οποία χρησιμοποιεί τις δηλώσεις SQL Create Java για να κάνει τη δουλειά του. Όταν επικαλείται από τη δήλωση Create Java, ο διαχειριστής βιβλιοθήκης φορτώνει τα αρχεία πηγής, κλάσης ή πόρων Java στη βάση δεδομένων. Ποτέ δεν έχετε πρόσβαση σε αυτά τα σχήματα Java αντικείμενα άμεσα. Μόνο το oraclejvm τα χρησιμοποιεί.
Μεταγλωττιστής
Το OracleJVM περιλαμβάνει ένα πρότυπο Java 2 (επίσης γνωστό ως JDK 1.2) μεταγλωττιστής Java. Όταν επικαλείται από τη δήλωση προέλευσης Java, μεταφράζει τα αρχεία προέλευσης Java σε οδηγίες που είναι ουδέτερες από την αρχιτεκτονική, γνωστές ως οδηγίες ενός byte κώδικες. Κάθε bytecode αποτελείται από ένα opcode που ακολουθείται από τους τελεστές του. Τα προκύπτοντα αρχεία κλάσης Java, τα οποία συμμορφώνονται πλήρως με το πρότυπο Java, υποβάλλονται στον διερμηνέα κατά το χρόνο εκτέλεσης.
Διερμηνέας
Για την εκτέλεση προγραμμάτων Java, το OracleJVM περιλαμβάνει έναν τυπικό διερμηνέα Java 2 ByTecode. Ο διερμηνέας και το σχετικό σύστημα Java run-time εκτελούν πρότυπα αρχεία κλάσης Java. Το σύστημα χρόνου εκτέλεσης υποστηρίζει τις εγγενείς μεθόδους και το call-in/call-out από το περιβάλλον υποδοχής.
Μπορείτε επίσης να συντάξετε τον κωδικό σας για ταχύτερη εκτέλεση. Το OracleJVM χρησιμοποιεί εγγενώς καταρτισμένες εκδόσεις των βασικών βιβλιοθηκών Java και των οδηγών JDBC. Για περισσότερες πληροφορίες, ανατρέξτε στην ενότητα “Εξυπηρέτηση κώδικα” .
Κατηγορίας φορτωτή
Σε απάντηση σε αιτήματα από το σύστημα εκτέλεσης, ο φορτωτής κλάσης Java εντοπίζει, φορτώνει και αρχικοποιεί τις κλάσεις Java που αποθηκεύονται στη βάση δεδομένων. Ο φορτωτής κλάσης διαβάζει την κλάση και στη συνέχεια δημιουργεί τις δομές δεδομένων που απαιτούνται για την εκτέλεση του. Τα αμετάβλητα δεδομένα και τα μεταδεδομένα φορτώνονται σε κοινόχρηστη μνήμη αρχικοποίησης κατά τη διάρκεια της κοινής μνήμης. Ως αποτέλεσμα, απαιτείται λιγότερη μνήμη για κάθε συνεδρία. Ο φορτωτής κλάσης προσπαθεί να επιλύσει εξωτερικές αναφορές όταν είναι απαραίτητο. Επίσης, επικαλείται τον μεταγλωττιστή Java αυτόματα όταν τα αρχεία κλάσης Java πρέπει να ανακατασκευαστούν (και τα αρχεία προέλευσης είναι διαθέσιμα).
Επιβεβαιωτής
Τα αρχεία κλάσης Java είναι πλήρως φορητά και συμμορφώνονται με μια σαφώς καθορισμένη μορφή. Ο επαληθευτής εμποδίζει την ακούσια χρήση αρχείων κατηγορίας Java, τα οποία ενδέχεται να μεταβάλλουν τη ροή του προγράμματος ή να παραβιάσουν τους περιορισμούς πρόσβασης. Η Security Oracle και η Java Security συνεργάζονται με τον επαληθευτή για την προστασία των εφαρμογών και των δεδομένων σας.
Εσωτερικό πρόγραμμα οδήγησης διακομιστή JDBC
Το JDBC είναι ένα τυπικό σύνολο τάξεων Java που παρέχουν ανεξάρτητη από τον προμηθευτή πρόσβαση σε σχεσιακά δεδομένα. Που καθορίζονται από το Sun Microsystems και διαμορφώθηκαν μετά από ODBC (Open Database Connectivity) και το X/Open SQL CLI (διεπαφή επιπέδου κλήσεων), τα πρότυπα χαρακτηριστικά των κλάσεων JDBC, όπως ταυτόχρονες συνδέσεις σε διάφορες βάσεις δεδομένων, διαχείριση συναλλαγών, απλές ερωτήσεις, κλήσεις αποθηκευμένων διαδικασιών και πρόσβαση σε μακρά στήλη.
Χρησιμοποιώντας σημεία εισόδου χαμηλού επιπέδου, ένα ειδικά συντονισμένο πρόγραμμα οδήγησης JDBC τρέχει απευθείας μέσα στα RDBMS, παρέχοντας έτσι την ταχύτερη πρόσβαση σε δεδομένα Oracle από αποθηκευμένες διαδικασίες Java. Το εσωτερικό πρόγραμμα οδήγησης JDBC από την πλευρά του διακομιστή συμμορφώνεται πλήρως με τις προδιαγραφές JDBC Sun Microsystems. Στερεά ενσωματωμένο με το RDBMS, υποστηρίζει ειδικούς τύπους δεδομένων Oracle, σύνολα χαρακτήρων παγκοσμιοποίησης και αποθηκευμένες διαδικασίες. Επιπλέον, τα API JDBC από την πλευρά του πελάτη και το διακομιστή είναι τα ίδια, γεγονός που καθιστά εύκολη την κατανομή των εφαρμογών διαχωρισμού.
Στρατηγική εφαρμογής Java της Oracle
Μια έκκληση της Java είναι η πανταχού παρούσα. Η Oracle παρέχει προγραμματιστές εφαρμογών Enterprise με λύση Java από άκρο σε άκρο για τη δημιουργία, την ανάπτυξη και τη διαχείριση εφαρμογών Java. Η συνολική λύση αποτελείται από προγραμματικές διεπαφές από την πλευρά του πελάτη και τον διακομιστή, τα εργαλεία για την υποστήριξη της ανάπτυξης Java και ενός εικονικού μηχανήματος Java ενσωματωμένο στον διακομιστή βάσης δεδομένων Oracle. Όλα αυτά τα προϊόντα είναι 100 τοις εκατό συμβατά με τα πρότυπα Java.
Περιβάλλον προγραμματισμού Java
Εκτός από το OracleJVM, το περιβάλλον προγραμματισμού Java αποτελείται από:
- Οι αποθηκευμένες διαδικασίες Java ως ισοδύναμο Java και σύντροφοι για PL/SQL. Οι αποθηκευμένες διαδικασίες Java είναι αυστηρά ενσωματωμένες στο PL/SQL. Μπορείτε να καλέσετε μια αποθηκευμένη διαδικασία Java από ένα πακέτο PL/SQL. Μπορείτε να καλέσετε τις διαδικασίες PL/SQL από μια αποθηκευμένη διαδικασία Java.
- Τα δεδομένα SQL είναι προσβάσιμα μέσω του JDBC.
- Εργαλεία και σενάρια που χρησιμοποιούνται για την παροχή βοήθειας στην ανάπτυξη, τη φόρτωση της τάξης και τη διαχείριση της τάξης.
Για να σας βοηθήσουμε να αποφασίσετε ποια APIs Java θα χρησιμοποιήσετε, εξετάστε τον ακόλουθο πίνακα:
Να έχει μια διαδικασία Java που επικαλείται από το SQL, όπως μια σκανδάλη.
Αποθηκευμένες διαδικασίες Java
Για να καλέσετε δυναμικές, σύνθετες δηλώσεις SQL από ένα αντικείμενο Java.
Αποθηκευμένες διαδικασίες Java
Εάν είστε προγραμματιστής PL/SQL που εξερευνά την Java, θα σας ενδιαφέρει για αποθηκευμένες διαδικασίες Java. Μια αποθηκευμένη διαδικασία Java είναι ένα πρόγραμμα που γράφετε στην Java για να εκτελέσετε στο διακομιστή, ακριβώς όπως μια αποθηκευμένη διαδικασία PL/SQL. Το καλείτε απευθείας με προϊόντα όπως το SQL*Plus, ή έμμεσα με μια σκανδάλη. Μπορείτε να το έχετε πρόσβαση από οποιοδήποτε πελάτη Oracle Net-Oci, Pro* ή JDBC. Το κεφάλαιο 5, “Ανάπτυξη αποθηκευμένων διαδικασιών Java” εξηγεί πώς να γράφετε αποθηκευμένες διαδικασίες στην Java, πώς να τις έχετε πρόσβαση από το PL/SQL και πώς να αποκτήσετε πρόσβαση στη λειτουργικότητα PL/SQL από την Java.
Επιπλέον, μπορείτε να χρησιμοποιήσετε Java για να αναπτύξετε ισχυρά προγράμματα ανεξάρτητα από το PL/SQL. Το Oracle Database παρέχει μια πλήρως συμβατή εφαρμογή της γλώσσας προγραμματισμού Java και JVM.
Λειτουργία ενσωμάτωσης PL/SQL και Oracle RDBMS
Μπορείτε να καλέσετε τα υπάρχοντα προγράμματα PL/SQL από την Java και να καλέσετε προγράμματα Java από το PL/SQL. Αυτή η λύση προστατεύει και αξιοποιεί την υπάρχουσα επένδυσή σας ενώ ανοίγει τα πλεονεκτήματα και τις ευκαιρίες του Internet Computing με έδρα τη Java.
Η Oracle προσφέρει δύο διαφορετικές διεπαφές προγραμματισμού εφαρμογών (APIs) για τους προγραμματιστές Java για πρόσβαση σε δεδομένα SQL-JDBC. Και τα δύο API είναι διαθέσιμα σε πελάτη και διακομιστή, ώστε να μπορείτε να αναπτύξετε τον ίδιο κωδικό σε κάθε τόπο.
Οδηγοί JDBC
Το JDBC είναι ένα πρωτόκολλο πρόσβασης βάσης δεδομένων που σας επιτρέπει να συνδεθείτε σε μια βάση δεδομένων και στη συνέχεια να προετοιμάσετε και να εκτελέσετε δηλώσεις SQL έναντι της βάσης δεδομένων. Οι βασικές βιβλιοθήκες κλάσης Java παρέχουν μόνο ένα API JDBC. Ωστόσο, το JDBC έχει σχεδιαστεί για να επιτρέψει στους πωλητές να παρέχουν στους οδηγούς που προσφέρουν την απαραίτητη εξειδίκευση για μια συγκεκριμένη βάση δεδομένων. Η Oracle παραδίδει τους ακόλουθους τρεις ξεχωριστούς οδηγούς JDBC.
JDBC λεπτό πρόγραμμα οδήγησης
Μπορείτε να χρησιμοποιήσετε το JDBC λεπτό πρόγραμμα οδήγησης για να γράψετε 100% καθαρές εφαρμογές Java και Applets που έχουν πρόσβαση σε δεδομένα Oracle SQL. Ο λεπτός οδηγός JDBC είναι ιδιαίτερα κατάλληλο για εφαρμογές και εφαρμογές που βασίζονται σε πρόγραμμα περιήγησης στο Web, επειδή μπορείτε να το κατεβάσετε δυναμικά από μια ιστοσελίδα ακριβώς όπως κάθε άλλη applet Java.
JDBC Oracle Call Interface Driver
Ο οδηγός JDBC Oracle Call Call (OCI) έχει πρόσβαση σε βιβλιοθήκες ειδικού για το Oracle (δηλαδή, μη-Java) βιβλιοθήκες στον πελάτη ή στη μεσαία βαθμίδα, παρέχοντας κάποια ώθηση απόδοσης σε σύγκριση με τον λεπτό οδηγό JDBC, με το κόστος σημαντικά μεγαλύτερο μέγεθος και εγκατάσταση από την πλευρά του πελάτη.
Εσωτερικό πρόγραμμα οδήγησης διακομιστή JDBC Server
Το Oracle Database χρησιμοποιεί το εσωτερικό πρόγραμμα οδήγησης του διακομιστή όταν εκτελεί ο κώδικας Java στον διακομιστή. Επιτρέπει την εκτέλεση εφαρμογών Java στο εικονικό μηχάνημα Java του διακομιστή να έχει πρόσβαση σε τοπικά καθορισμένα δεδομένα (δηλαδή στο ίδιο μηχάνημα και στην ίδια διαδικασία) με το JDBC. Παρέχει μια περαιτέρω ώθηση απόδοσης λόγω της ικανότητάς της να χρησιμοποιεί απευθείας τις υποκείμενες βιβλιοθήκες Oracle RDBMS, χωρίς τα γενικά έξοδα μιας παρεμβαλλόμενης σύνδεσης δικτύου μεταξύ του κώδικα Java και των δεδομένων SQL σας. Υποστηρίζοντας την ίδια διασύνδεση Java-SQL στο διακομιστή, η βάση δεδομένων Oracle δεν απαιτεί να επαναπροσδιορίσετε τον κωδικό εργασίας κατά την ανάπτυξη του.
Jpublisher
Το JPublisher παρέχει ένα απλό και βολικό εργαλείο για τη δημιουργία προγραμμάτων Java που έχουν πρόσβαση σε υπάρχοντες πίνακες σχεσιακής βάσης δεδομένων Oracle. Ανατρέξτε στον Οδηγό χρήσης της βάσης δεδομένων Oracle JPublisher για περισσότερες πληροφορίες.
Εργαλεία ανάπτυξης
Η εισαγωγή της Java στον διακομιστή βάσης δεδομένων Oracle σάς επιτρέπει να χρησιμοποιείτε αρκετά ολοκληρωμένα περιβάλλοντα ανάπτυξης Java. Η προσκόλληση της βάσης δεδομένων της Oracle με τη συμβατότητα Java και τα ανοιχτά πρότυπα και τα πρωτόκολλα του Διαδικτύου εξασφαλίζει ότι τα 100% καθαρά προγράμματα Java λειτουργούν όταν τα αναπτύξετε στη βάση δεδομένων Oracle. Η Oracle παραδίδει πολλά εργαλεία ή επιχειρήσεις κοινής ωφέλειας, όλα γραμμένα στην Java, που διευκολύνουν την ανάπτυξη και την ανάπτυξη εφαρμογών διακομιστή Java. Η JDeveloper της Oracle έχει πολλά χαρακτηριστικά σχεδιασμένα ειδικά για να διευκολύνει την ανάπτυξη των αποθηκευμένων διαδικασιών Java και των επιχειρήσεων Javabeans ευκολότερη. Μπορείτε να κατεβάσετε το JDeveloper στον ακόλουθο ιστότοπο: http: // otn.μαντείο.com/λογισμικό/προϊόντα/jdev/περιεχόμενο.HTML.
Desupport της J2EE Technologies στη βάση δεδομένων Oracle
Με την εισαγωγή των εμπορευματοκιβωτίων διακομιστή εφαρμογών Oracle για το J2EE (OC4J)-ένα νέο, ελαφρύτερο βάρος, ευκολότερο στη χρήση, ταχύτερη και πιστοποιημένη δοχεία J2EE-το Oracle ξεκίνησε την Desupport of Java 2 Enterprise Edition (J2EE) και στο CORBA Stacks από τη βάση δεδομένων, ξεκινώντας από το Oracle9Εγώ Έκδοση βάσης δεδομένων 2. Ωστόσο, η Java VM (OracleJVM) που έχει ενσωματωθεί σε βάση δεδομένων (OracleJVM) και θα συνεχίσει να ενισχύεται για να προσφέρει χαρακτηριστικά Java 2 Standard Edition (J2SE), Java αποθηκευμένες διαδικασίες και JDBC στη βάση δεδομένων.
Από το Oracle9Εγώ Έκδοση βάσης δεδομένων 2 (9.2.0), η Oracle δεν υποστηρίζει πλέον τις ακόλουθες τεχνολογίες στη βάση δεδομένων:
- Η στοίβα J2EE, που αποτελείται από:
- Δοχείο επιχειρηματικών φασολιών (EJB)
- Δοχείο Javaserver Pages (JSP)
- Oracle9Εγώ Servlet Engine (OSE)
Οι πελάτες δεν θα είναι πλέον σε θέση να αναπτύξουν servlets, σελίδες JSP, EJBs και CORBA αντικείμενα στις βάσεις δεδομένων Oracle. Oracle9Εγώ Έκδοση βάσης δεδομένων 1 (9.0.1) θα είναι η τελευταία έκδοση βάσης δεδομένων για την υποστήριξη της στοίβας J2EE και CORBA. Η Oracle ενθαρρύνει τους πελάτες να μεταναστεύσουν τις υπάρχουσες εφαρμογές J2EE που εκτελούνται στη βάση δεδομένων στο OC4J τώρα.
Ιάβα
Η Oracle Java είναι η #1 πλατφόρμα γλώσσας προγραμματισμού και ανάπτυξης. Μειώνει το κόστος, μειώνει τα χρονικά πλαίσια ανάπτυξης, οδηγεί την καινοτομία και βελτιώνει τις υπηρεσίες εφαρμογών. Με εκατομμύρια προγραμματιστές που εκτελούν περισσότερα από 60 δισεκατομμύρια εικονικές μηχανές Java παγκοσμίως, η Java εξακολουθεί να είναι η αναπτυξιακή πλατφόρμα επιλογής για επιχειρήσεις και προγραμματιστές.
Το Java 20 είναι τώρα διαθέσιμο
Η επόμενη απελευθέρωση στο εξαμηνιαίο ρυθμό, Java 20, βελτιώνει την απόδοση, τη σταθερότητα και την ασφάλεια της ανάπτυξης εφαρμογών Java.
Graalvm Enterprise δωρεάν στο OCI
Δημιουργήστε εγγενή εκτελέσιμα που βοηθούν τις εφαρμογές Java να ξεκινήσουν γρήγορα, να μειώσουν τη χρήση μνήμης και να αποθηκεύσετε το κόστος φιλοξενίας.
Υπηρεσία διαχείρισης Java
Τα χαρακτηριστικά Advance JMS βοηθούν τους διαχειριστές να αποκτήσουν πρόσθετες γνώσεις στο φόρτο εργασίας Java. Αναλύστε τη χρήση, τα τρωτά σημεία και τις επιπτώσεις από τις ενημερώσεις κρυπτογραφικών οδικών χαρτών.
Ημέρα προγραμματιστή Java στο Oracle Devlive 2023
Παρακολουθήστε το Keynote σε επίπεδο Devlive και μάθετε για τις βελτιώσεις κυκλοφορίας Java 20 για το AppDEV, τις σύγχρονες καινοτομίες γλωσσών και την υποστήριξη για τα πλαίσια προγραμματιστών Java Developer.
Αναφορές αναλυτών Java
Java και η τέχνη της οδήγησης ψηφιακού μετασχηματισμού
Λάβετε ιδέες για το πώς να αξιοποιήσετε τη Java για να υποστηρίξετε τις προσπάθειες εκσυγχρονισμού και μετασχηματισμού σας. Μάθετε πώς μπορείτε να αξιοποιήσετε στο έπακρο τις δυνατότητες ανοικτού κώδικα, cloud native και υποστήριξης σε αυτήν την τεχνική σύντομη Omdia.
Java: Εκσυγχρονισμός ανάπτυξης για ασφαλείς εφαρμογές που βασίζονται σε σύννεφο
Μάθετε πώς η Java βοηθά τους οργανισμούς να επιταχύνουν τον ψηφιακό μετασχηματισμό ενώ ελαχιστοποιούν τα τρωτά σημεία για σήμερα’ανάμεινες εφαρμογές.
Κορυφή σημεία ασφάλειας και συμμόρφωσης στην ανάπτυξη εφαρμογών
Η ασφάλεια παραμένει η πιο σημαντική προτεραιότητα για τα στελέχη πληροφορικής, σύμφωνα με πρόσφατη έκθεση από την έρευνα 451. Διαβάστε το σύντομο για να μάθετε τις κορυφαίες ανησυχίες για την ασφάλεια για τους προγραμματιστές και τον τρόπο με τον οποίο μπορείτε να επιτύχετε τους στόχους ασφάλειας και συμμόρφωσης της πληροφορικής σας με την Java.
Aberdeen γνώση σύντομη
Μάθετε γιατί οι ηγέτες στην ανάπτυξη εφαρμογών χρησιμοποιούν την Java για να δημιουργήσουν πιο αποτελεσματικά εφαρμογές παγκόσμιας κλάσης την υψηλότερη ποιότητα και την ισχυρότερη ασφάλεια.