.class bytecode, enabling Java's write once, run anywhere portability.javac, debugger, etc.) โ everything needed to both DEVELOP and run Java applications.Thread and override run(), or (2) implement the Runnable interface and pass it to a Thread constructor โ the latter is generally preferred since Java permits only single class inheritance.interrupt() sets a thread's interrupt flag to signal it should stop or respond, without forcibly terminating it.MIN_PRIORITY (1) to MAX_PRIORITY (10), with NORM_PRIORITY (5) as the default; priorities only hint to the scheduler and do NOT guarantee execution order.synchronized keyword ensures only ONE thread can execute a critical section (method/block) on a given object at a time, preventing race conditions on shared data.Object class's wait(), notify(), and notifyAll() methods to let threads coordinate access to shared state.suspend(), resume(), and stop() methods are deprecated because they are deadlock-prone; modern code uses flags combined with wait()/notify() or interrupt() instead.String objects are immutable; `StringBuilder` (not thread-safe, faster) and `StringBuffer` (synchronized/thread-safe) provide mutable character sequences. Calendar manipulates date/time fields, SimpleDateFormat formats/parses dates by pattern (e.g. "dd-MM-yyyy"); String.format(), NumberFormat, and DecimalFormat format numbers/currency; Random generates pseudo-random numbers.Frame, Panel, Button, Label, TextField, and Checkbox.Container using its add() and remove() methods.Panel).Frame).ActionEvent (button click/menu selection), MouseEvent (mouse actions), KeyEvent (keyboard actions), WindowEvent (window state changes), ItemEvent (selection changes).ActionListener, MouseListener, KeyListener, WindowListener.MouseListener/MouseMotionListener and KeyListener; action events from any component are handled by implementing ActionListener's actionPerformed() method.J (JButton, JLabel, JTextField, JCheckBox); common containers include JFrame, JPanel, and JScrollPane, used to hold and organize other components.web.xml) is the configuration file describing how a web application should be deployed: servlet mappings, URL patterns, initialization parameters, and session configuration.HttpServlet โ override doGet()/doPost() โ compile โ configure (via web.xml or annotations, mapping to a URL pattern) โ deploy to the web container โ access via mapped URL.HttpSession object (the most common approach).RequestDispatcher interface: forward() transfers control internally to another resource (client is unaware), while include() includes the output of another resource within the current response.<% ... %>); on first request, the container compiles the JSP page into an ordinary servlet.<jsp:useBean>, <jsp:setProperty>, and <jsp:getProperty>.<header>, <footer>, <article>, <section>, <nav>, as well as <canvas>, <video>, and <audio> for rich media without plugins.$() function.("#id"), (".class")) to locate elements..click(), .hide()/.show(), .fadeIn()/.fadeOut(), and .animate().preg_match()), plus exception handling (try/catch); it also supports full OOP: classes, objects, inheritance, and polymorphism.session_start() and the $_SESSION superglobal to persist data across requests for a given user.mysqli or PDO) allows PHP to perform CRUD operations (Create, Read, Update, Delete) against a database using SQL.fopen(), fread(), fwrite(), and fclose(), and manages memory automatically through built-in garbage collection.DriverManager manages the list of database drivers and establishes a connection via getConnection().Connection represents an active connection/session with a specific database; SQLException is the exception thrown to report database access errors.Statement / PreparedStatement / CallableStatement are used to send SQL statements to the database; ResultSet represents the table of results returned by executing a SQL query; ResultSetMetaData provides metadata about a ResultSet's columns (count, names, types).?), is faster for repeated execution, and helps prevent SQL injection.CallableStatement is used to call a stored procedure in the database.ResultSet provides methods such as next() (advance to the next row) and typed getters like getString()/getInt() to retrieve column values; it can be forward-only or scrollable depending on how it was created.INSERT), Read (SQL SELECT), Update (SQL UPDATE), Delete (SQL DELETE) โ are performed via executeUpdate() (for INSERT/UPDATE/DELETE) or executeQuery() (for SELECT, which returns a ResultSet).DriverManager.getConnection() โ create a Statement/PreparedStatement โ execute the SQL โ process the ResultSet (if any) โ close the connection.