Η βιβλιοθήκη κλάσεων της Java

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Συλλογές, Στοίβες και Ουρές Σε πολλές εφαρμογές μας αρκεί η αναπαράσταση ενός δυναμικού συνόλου με μια δομή δεδομένων η οποία δεν υποστηρίζει την αναζήτηση.
Advertisements

Στοιχειώδεις Δομές Δεδομένων TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Τύποι δεδομένων στη Java • Ακέραιοι.
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα.
Κεφάλαιο 6 Threads. 2 Στον παραδοσιακό προγραμματισμό όταν ένα πρόγραμμα εκτελείται ονομάζεται process (διεργασία) και οι εντολές του εκτελούνται σειριακά.
ΜΑΘ 3122 (106) Γλώσσα προγραμματισμού
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Η βιβλιοθήκη κλάσεων της Java
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πίνακες Κλάσεις και Αντικείμενα.
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος γ
Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 1 Εβδομάδα 7: Συμβολοσειρές.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Στατικές μέθοδοι και μεταβλητές Εσωτερικές κλάσεις.
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Σύγκριση Java και C++ Μεταπτυχιακό Εφαρμοσμένης Πληροφορικής - Αλέξανδρος Χατζηγεωργίου, Νοέμβριος 2004.
Η ΓΛΩΣΣΑ C ΜΑΘΗΜΑ 2.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java II.
Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 1 Εβδομάδα 11: Εκτέλεση Java χωρίς το BlueJ.
Εισαγωγή στον αντικειμενοστραφή προγραμματισμό Κλάσεις και αντικείμενα Κλάσεις και αντικείμενα Κατασκευαστές κλάσεων (constructors) Κατασκευαστές κλάσεων.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αντικείμενα ως ορίσματα Εισαγωγή στις αναφορές.
1 Εισαγωγή στη Java Χρήσιμες Διευθύνσεις Χαρακτηριστικά της Java Εργαλεία της Java Εργαλεία της Java Μεταγλώττιση στοιχειωδών εφαρμογών.
Επικοινωνία Ανθρώπου Μηχανής HTML CGI JAVASCRIPT Κουμπούλης Χρήστος Α.Μ. 921 Χαλαβαζής Βασίλης Α.Μ. 988.
Εισαγωγή στη JAVΑ (μέρος Α’)
Templates Standard Template Library (STL) Exceptions Μεταπτυχιακό Πρόγραμμα Σπουδών, Τμήμα Εφαρμοσμένης Πληροφορικής.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πολυμορφισμός – Αφηρημένες κλάσεις Interfaces (διεπαφές)
ΟΣΣ Δεκεμβρίου 2004 Σχεδιασμός Λογισμικού Γλώσσες Προγραμματισμού ΙΙ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ.
Τμήμα Πληροφορικής και Τηλεπικοινωνιών
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Αναφορές.
Threads Στον παραδοσιακό προγραμματισμό όταν ένα πρόγραμμα εκτελείται ονομάζεται process (διεργασία) και οι εντολές του εκτελούνται σειριακά η μία μετά.
Επιστημονικός Υπολογισμός Ι Πρώτο Εργαστήριο Εισαγωγή στο matlab 15 Οκτωβρίου 2010 Γιώργος Δρακόπουλος ΤΜΗΥΠ.
1 Κεφάλαιο 2 Εισαγωγή στον αντικειμενοστραφή προγραμματισμό.
Κεφάλαιο 4 Εξαιρέσεις. Όταν σε ένα πρόγραμμα συμβεί κάποιο λάθος, ο κώδικας εγείρει (throw) μία εξαίρεση. Στη Java oι εξαιρέσεις εκπροσωπούνται από αντικείμενα.
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αντικειμενοστραφής Προγραμματισμός Ι Ενότητα 4: Συμβολοσειρές και Δομές Ελέγχου. Διδάσκων: Νικόλαος Θ Λιόλιος,
Βασικά στοιχεία της Java
Κεφάλαιο 3 Τύποι Δεδομένων - Τελεστές. Πρωτογενείς τύποι δεδομένων: int, float, double, chars ΤύποςΌνομαΜέγεθος byte 8-bit signed, short 16-bit.
Εισαγωγή στη JAVΑ (μέρος Β’) Βασίλης Παπαταξιάρχης Μάθημα: Αντικειμενοστραφής Προγραμματισμός Διδάσκουσα: Ιζαμπώ Καράλη Τμήμα Πληροφορικής.
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος.
Εισαγωγή στη Java (Μέρος B’) Για όσους γνωρίζουν C++ Βασίλης Στούμπος
ΚΕΦΑΛΑΙΟ Το αλφάβητο της ΓΛΩΣΣΑΣ
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αντικειμενοστραφής Προγραμματισμός Ι Ενότητα 2: Μεταβλητές και Τύποι Δεδομένων. Διδάσκων: Νικόλαος Θ Λιόλιος,
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα.
Αντικειμενοστραφής Προγραμματισμός Ι
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ «Εισαγωγή στον οντοκεντρικό προγραμματισμό (βασική εισαγωγή στο περιβάλλον εργασίας)» Ρουσσάκης Ιωάννης, ΤΕΙ Κρήτης,
Πληροφορική 2 Γλώσσες Προγραμματισμού 1. Γλώσσες προγραμματσιμού  Επιτρέπουν την κωδικοποίηση των αλγορίθμων  Η εκτέλεση ενός προγράμματος θα πρέπει.
Εισαγωγή στη C# Μαρίνος Θεμιστοκλέους Ανδρούτσου 150 Γραφείο 206 Τηλ Ώρες Γραφείου: Τετάρτη 5-6 μμ.
ΜΕΤΑΒΛΗΤΕΣ-ΣΤΑΘΕΡΕΣ -ΕΚΦΡΑΣΕΙΣ
Εισαγωγή στον Προγ/μό Η/Υ
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
Κατανεμημένα Συστήματα
Κλάσεις και αντικείμενα
Wrapper Classes, Abstract Classes and Interfaces
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΔΟΜΕΣ ΕΛΕΓΧΟΥ(if-else, switch) και Λογικοί τελεστές / παραστάσεις
ΔΟΜΕΣ ΕΛΕΓΧΟΥ(if-else, switch) και Λογικοί τελεστές / παραστάσεις
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος
Ειδικά Θέματα στον Προγραμματισμό Υπολογιστών
Εισαγωγή στον Προγ/μό Υπολογιστών
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Κεφάλαιο 10 Streams.
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Εισαγωγή στον Προγραμματισμό με Python, ΑΠΘ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ Εισαγωγή στον Προγραμματισμό με Python Εβδομάδα 1: Βασικά στοιχεία.
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Εισαγωγή στη Java (Μέρος Α’)
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Διάλεξη #7: Συμβολοσειρές.
Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό (στη γλώσσα Java)
Μεταγράφημα παρουσίασης:

Η βιβλιοθήκη κλάσεων της Java Διάλεξη #6: Η βιβλιοθήκη κλάσεων της Java

Εκμάθηση αντικειμενοστραφή προγρ/σμού Εκμάθηση αντικειμενοστραφή προγρ/σμού Η εκμάθηση μίας γλώσσας προγραμματισμού μπορεί να χωρισθεί σε δύο μέρη Εκμάθηση της γλώσσας Σύνταξη, εντολές επιλογής, βρόγχοι, … Εκμάθηση των βιβλιοθηκών (API) Συχνά χρησιμοποιούμενες δομές δεδομένων Διαπροσωπείες ανθρώπου-μηχανής (GUI), είσοδος/έξοδος, αποθήκευση δεδομένων, δικτύωση, …

Εκμάθηση της γλώσσας abstract assert Boolean break byte case catch char class const* continue default do double else enum extends final finally float for goto* if implements import instanceof int interface long native new package private protected public return short static strictfp super switch synchronized this throw throws transient try void volatile while *: δεν χρησιμοποιούνται

Εκμάθηση των βιβλιοθηκών (API) API = Application Programming Interface Η διαπροσωπεία (συμβάσεις κλήσεως) [interface (calling conventions)] μέσω της οποίας ένας προγραμματιστής εφαρμογών προσπελαύνει την βιβλιοθήκη κλάσεων της Java Java 2 Standard Edition, v 1.3. 1,840 κλάσεις και διαπροσωπείες [interfaces] Κατανεμημένες σε 75 πακέτα [packages] Java SE 8 (LTS, 2014) 4240 κλάσεις και διαπροσωπείες [Interfaces] Κατανεμημένες σε 217 πακέτα [packages] Java SE 11 (18.9 LTS) https://docs.oracle.com/en/java/javase/11/docs/api/

Βιβλιοθήκη κλάσεων Java Η Java SE 11, παρέχει μια μεγάλη συλλογή από κλάσεις που υποστηρίζουν και απλουστεύουν πολλές συνήθεις προγραμματιστικές δραστηριότητες GUIs, TCP/IP sockets, CORBA, συμπίεση (ZIP), 2D Graphics, κρυπτογράφηση,… Java SE: Ο «πυρήνας» της βιβλιοθήκης JDK (Java Development Kit) Οργανωμένες σε Modules java.base java.desktop

Συχνά χρησιμοποιούμενα πακέτα java.lang Παρέχει κλάσεις που θεωρούνται θεμελιώδεις για το σχεδιασμό της γλώσσας προγραμματισμού Java (περιλαμβάνει την κλάση Math) java.math Παρέχει κλάσεις για την εκτέλεση αριθμητικών πράξεων μεγάλης ακρίβειας με ακέραιους (BigInteger) και πραγματικούς (BigDecimal) αριθμούς.

Το μέγεθος των πακέτων Με μια πρώτη ματιά ο μεγάλος αριθμός των κλάσεων καθιστά αδύνατη την εκμάθηση τους. Στις περισσότερες περιπτώσεις ο προγραμματιστής χρειάζεται να γνωρίζει μόνο ένα υποσύνολο των κλάσεων. Το υποσύνολο των κλάσεων που πρέπει να γνωρίζει ενας προγραμματιστής εξαρτάται από τις εφαρμογές που αναπτύσσει. Σημαντική είναι η ικανότητα εντοπισμού των αναγκαίων για τη σωστή ανάπτυξη προγραμμάτων κλάσεων στις βιβλιοθήκες.

Σύγκριση Το λεξικό «Macquarie» Περισσότεροι από 100,000 όροι Συχνότητα χρήσης λέξεων Οι 25 συχνότερα χρησιμοποιούμενες λέξεις αποτελούν περίπου το 1/3 του έντυπου υλικού (στην Αγγλική) Οι 100 συχνότερα χρησιμοποιούμενες λέξεις αποτελούν περίπου το 1/2 του έντυπου υλικού Οι 300 συχνότερα χρησιμοποιούμενες λέξεις αποτελούν περίπου το 65% του έντυπου υλικού www.duboislc.org/EducationWatch/First100Words.html

Στοιχεία πρώτου βαθμού Υπάρχουν τρία στοιχεία πρώτου βαθμού που μπορεί να αποτελούν μέρη ενός αρχείου πηγαίου κώδικα Κανένα από αυτά δεν είναι αναγκαίο Εάν ένα η περισσότερα είναι παρόντα πρέπει να εμφανίζονται με την παρακάτω σειρά: package declaration import statements class definition

Παράδειγμα Java package myPack; // This class will belong to myPack import javax.swing.*; public class SimpleGUIExample { public static void main(String s[]) // we do lots of windows stuff here ;-) }

Πακέτα (Packages) Στην Java μπορούμε να δημιουργήσουμε τα δικά μας πακέτα Τα πακέτα δημιουργούν μια ομαδοποίηση συναφών κλάσεων και διαπροσωπειών [interfaces] Ονόματα όπως “List” και “Account” μπορεί να χρησιμοποιηθούν στα πλαίσια ενός πακέτου χωρίς συγχέεται η λειτουργία τους με ομώνυμα άλλων πακέτων. Τα πακέτα μπορεί να περιέχουν κλάσεις που είναι προσπελάσιμες μόνο από άλλες κλάσεις του ίδιου πακέτου

import Οι εντολές Import εισάγουν ένα ολόκληρο πακέτο η μια συγκεκριμένη κλάση κλάση import java.awt.Button; ολόκληρο πακέτο import java.util.*;

import Εάν κλάση με το ίδιο όνομα υπάρχει σε δυο διαφορετικά πακέτα, τότε αναφορές στην κλάση αυτή πρέπει να περιέχουν και το όνομα του πακέτου GP.Point point = new GP.Point(area, 20, 20); java.awt.Point point = new awt.Point (30, 3); Εάν δεν προσδιοριστεί το πακέτο ο μεταφραστής της java θα παράγει το διαγνωστικό μήνυμα: Ambiguous class: GP.Point and java.awt.Point

Συχνά χρησιμοποιούμενες κλάσεις String Math Κλάσεις συσκευαστές [Wrapper classes] System

Η κλάση String Η κλάση String είναι ίσως η πιο συχνά χρησιμοποιούμενη κλάση Αντικείμενα τύπου String δεν μπορεί να μεταλλαχθούν [immutable] Η τιμή τους δεν μπορεί να αλλαχθεί μετά τη δημιουργία τους Η Java υποστηρίζει τον ειδικό τελεστή συνένωσης αλφαριθμητικών ( + ) String cde = "cde"; System.out.println("abc" + cde); String stringOne = “Hello World”; String stringTwo = “Hello World”; // Compare 1 if (stringOne.equals(stringTwo)) { // do something } // Compare 2 if (stringOne == stringTwo)) { // both will succeed but a programmer expect “Compare 2” to fail

Η κλάση String Η κλάση String περιλαμβάνει μεθόδους οι οποίες υποστηρίζουν: Ατομική εξέταση χαρακτήρων της συμβολοσειράς Σύγκριση συμβολοσειρών Αναζήτηση «Εξαγωγή» τμημάτων συμβολοσειρών [substrings] Δημιουργία αντιγράφων συμβολοσειρών όπου όλα τα γράμματα έχουν μετατραπεί σε πεζά ή κεφαλαία

Η κλάση Math Περιέχει μεγάλο αριθμό στατικών [static] μεθόδων για μαθηματικους υπολογισμους abs, max, min, sin, cos, tan, sqrt etc. random (επιστρεφει τυχαιο αριθμο αναμμεσα στο 0 και το 1) Εάν χρειάζεστε έναν τυχαίο αριθμό (τύπου double) από το διάστημα [0.0, 1.0) double myRandom = Math.random(); // [0,1)

Η κλάση Math Δεν μπορούμε να κατασκευάσουμε αντικείμενα της κλάσης Math Περιέχει 2 σταθερές Math.PI Math.E (βάση του φυσικού λογάριθμου)

Κλάσεις συσκευαστές (Wrapper Classes) Κάθε βασικός τύπος της Java έχει μια αντίστοιχη κλάση συσκευαστή [wrapper class] Η κλάση Διακρίνεται από το κεφαλαίο αρχικό της γράμμα Εξαίρεση είναι οι τύποι char και int στους οποίους αντιστοιχούν οι Character και Integer «Ενθυλακώνει» μια απλή τιμή Η τιμή δεν μπορεί να μεταβληθεί Αντικείμενα των κλάσεων συσκευαστών μπορεί να κατασκευαστούν δίνοντας ως παράμετρο την τιμή που θα ενθυλακωθεί

Βασικοί τύποι και συσκευαστές Βασικός τύπος Συσκευαστής byte Byte short Short int Integer* long Long float Float double Double char Character* boolean Boolean

Συνήθη σφάλματα Οι βασικοί τύποι και τα αντικείμενα είναι πολύ διαφορετικές οντότητες Μέθοδοι δεν μπορούν να κληθούν για βασικούς τύπους Τελεστές όπως οι +, -, * και / δεν μπορεί να εφαρμοστούν στα περισσότερα αντικείμενα Σημείωση: Η χρήση του τελεστή + με αντικείμενα τύπου String είναι η μόνη εξαίρεση Υπάρχουν και άλλες διάφορες που δεν έχουν αναφερθεί

Συνήθη σφάλματα public class SimpleExample { public static void main(String s[]) int myIntA = 56; Integer myIntB = new Integer(56); int valueA = myIntB + myIntA; int valueB = myIntA.intValue() + myIntB.intValue(); int valueC = myIntA + myIntB.intValue(); }

Συνήθη σφάλματα D:\t>javac SimpleExample.java SimpleExample.java:8: Incompatible type for +. Can't convert java.lang.Integer to int. int valueA = myIntB + myIntA; ^ SimpleExample.java:9: Can't invoke a method on a int. int valueB = myIntA.intValue() + myIntB.intValue(); 2 errors

Κλάσεις συσκευαστές Αντικείμενα όλων των κλάσεων συσκευαστών, εκτός της Character, μπορεί να δημιουργηθούν δίνοντας ως παράμετρο την τιμή για ενθυλάκωση σε μορφή String Η τιμή ενός ενθυλακωμένου αριθμού μπορεί να ανακτηθεί ως οποιουδήποτε βασικού τύπου αριθμητικό δεδομένο Οι κλάσεις συσκευαστές περιέχουν στατικές μεθόδους για την «μετάφραση» συμβολοσειρών Integer.parseInt(inputString)

Παράδειγμα Java public class SimpleExample { public static void main(String s[]) { String myStringA = "123"; String myStringB = "456"; int myInt = Integer.parseInt(myStringA) + Integer.parseInt(myStringB); System.out.println("Addition 1 " + myStringA + myStringB); System.out.println("Addition 2 " + myInt); } D:\>java SimpleExample Addition 1 123456 Addition 2 579

Κλάσεις συσκευαστές Τα αντικείμενα κλάσεων συσκευαστών είναι «πλήρη» αντικείμενα που μπορεί να αποθηκευθούν σε διανύσματα αντικειμένων τύπου Object Αντιμετωπίζονται ως αναφορές κατά την κλήση μεθόδων (όπως όλα τα αλλά αντικείμενα) Η μέθοδος equals() χρησιμοποιείται για σύγκριση των ενθυλακωμένων τιμών Οι κλάσεις συσκευαστές παρέχουν και άλλες λειτουργίες που δεν εξετάστηκαν

Η κλάση System Χρησιμοποιείται για προσπέλαση ιδιοτήτων του συστήματος, του συλλέκτη άσκοπα δεσμευμένης μνήμης [garbage collector], της τρέχουσας ώρας, και επιτρέπει την αλλαγή της κύριας εισόδου, εξόδου και εξόδου λαθών. Όπως συμβαίνει και με την κλάση Math, όλες οι μέθοδοι και μεταβλητές της κλάσης System είναι μέθοδοι και μεταβλητές κλάσης (στατικές) Περιέχει τη μέθοδο exit() η οποία τερματίζει την εκτέλεση της εικονικής μηχανής Java (JVM)

Η κλάση System Η κλήση της μεθόδου gc() «προτείνει» στην ιδεατή μηχανή Java (JVM) να ασχοληθεί με την ανάκτηση άσκοπα δεσμευμένης μνήμης System.gc() Σημείωση: πρόκειται απλώς για «πρόταση». Δεν δίνεται καμία εγγύηση ότι το πρόγραμμα ανάκτησης μνήμης θα εκτελεστεί

Η κλάση System Η στατική μέθοδος System.currentTimeMilliseconds() επιστρέφει την τρέχουσα ώρα Στην Java η ώρα είναι ένας αριθμός τύπου long που αναπαριστά χιλιοστά του δευτερολέπτου (milliseconds) Αρχή μέτρησης χρόνου: GMT 1η Ιανουαρίου 1970 Πεδίο 64 bits: έως 292,280,995 μ.Χ. Οι αριθμοί τύπου long στην Java έχουν πρόσημο. Αρνητικές τιμές ερμηνεύονται ως χρονικές στιγμές πριν την αρχή της «νέας χρονικής περιόδου»

Αποδοκιμασία/απαξίωση (Deprecation) Οι επίσημες βιβλιοθήκες της Java (API) αλλάζουν μεταξύ διαδοχικών εκδόσεων Ορισμένοι τρόποι επίλυσης προγραμματιστικών προβλημάτων παύουν να ενδείκνυνται και η χρήση τους ίσως παύσει να υποστηρίζεται σε μελλοντικές εκδόσεις της βιβλιοθήκης Για να διευκολύνει την έγκαιρη μετατροπή των προγραμμάτων, ο μεταφραστής της Java προειδοποιεί όποτε επιχειρούμε να μεταφράσουμε ένα πρόγραμμα που χρησιμοποιεί μια αποδοκιμασμένη κλάση ή μέθοδο