Herong's Notes on JDK
Version 4.31
Dr. Herong Yang
Copyright © 1997-2005 by Dr. Herong Yang. All rights reserved.
Table of Contents
About This Book
Installing J2SE 1.3.1 on Windows 2000
- Download
- First Java Program
Installing J2SE 1.4.1 on Windows 2000
- Download
- First Java Program
- Upgrade to J2SDK 1.4.1_01
Time and Calendar
- Time or Date
- Calendar and Time Zone
- Calendar Manipulations
Formatting and Parsing Dates
- Formatting Dates to Strings
- Parsing Strings for Dates
Formatting and Parsing Numbers
- Formatting Numbers to Strings
- Parsing Strings for Numbers
Internationalization
- Locale
- Internationalization on Predefined Classes
- Internationalization with Resource Bundles
Unnamed Packages
- What is Unnamed Package
- One Class in an Unnamed Package - Hello.java
- Two Classes in Unnamed Packages - Hello.java and CallingHello.java
- Importing Classes Defined in Unnamed Packages
- Importing Classes Defined in Unnamed Packages Using JDK 1.4.1
- Importing Classes Defined in Unnamed Packages to Named Packages
- Importing Classes Defined in Unnamed Packages to Named Packages Using JDK 1.4.1
Collections
- Types of Collections
- Data Structures of Collection Implementations
- Collection Implementations in J2SDK
- Search Operation Performance
- Data Elements with Natural Order
Character Set and Encoding
- What is a Character Encoding
- Supported Character Encodings
- Methods to Encode Characters
- Methods to Decode Byte Sequences
Encoding Maps
- Encoding Map Analyzer
- US-ASCII
- ISO-8859-1 - Latin 1
- CP1252 - Windows-1252
- UTF-8
- UTF-16
- UTF-16LE
- UTF-16BE
Encoding Map Counts
- Encoding Map Counter
- Comparison of Encoding Maps
Encoding Conversion
- Unicode Data Entry
- Unicode Encoding Conversion
- Viewing Unicode Text
- Unicode Signs in Different Encodings
Socket Communication
- What Is a Socket
- Establishing a Socket Communication
- ReverseEchoer - A Simple Server Socket Application
- SocketClient - A Simple Client Socket Application
- ReverseEchoServer - A Simple Multi-Connection Socket Server
- Binding Sockets to Local Ports
Datagram Communication
- What Is a Datagram
- Establishing a Datagram Communication
- Datagram Socket CLient And Server Programs
Document Object Model (DOM)
- What is Document Object Model (DOM)
- Parsing XML Files with DOM
- The DOM Tree Structure
- Building a New DOM Document
- Converting DOM Documents to XML Files
Simple API for XML (SAX)
- What is Simple API for XML (SAX)
- SAX Implementations in J2SDK
- SAX Content Handler Interface
- My SAX Based XML Browser
DTD Validation in Java
- Validation with DOM
- Validation with SAX
XSD Validation in Java
- Validation with XMLReader
- Using SAXParserFactory to Load Parsers
XSL - Transformer in Java
- XSL Implementations in J2SDK
- A Simple XSL Transformer Program
JCA - Message Digest
- What Is Message Digest
- The MessageDigest Class
- Message Digest Sample Program - JcaMessageDigest.java
JCA - Private and Public Key Pairs
- What Are Private and Public Key Pairs?
- The Key Interfaces
- The KeyPair Class
- The KeyPairGenerator Class
- Key Pair Sample Program - JcaKeyPair.java
JCA - Key Factory - Encoding Tool
- What is Key Encoding?
- java.security.spec.PKCS8EncodedKeySpec Class
- java.security.spec.X509EncodedKeySpec Class
- java.security.KeyFactory Class
- Key Factory Sample Program - JcaKeyFactoryTest.java
JCA - Digital Signature
- What is Digital Signature?
- The Signing Process and the Verification Process
- The Signature Class
- Signature Sample Program - JcaSignatureTest.java
- Signature Generation Program - JcaSign.java
- Signature Verification Program - JcaVerify.java
JCA - Certificates, 'keytool' and 'keystore'
- Certificates and Certificate Chains
- What is "keystore"?
- "keytool" - Key and Certificate Management Tool
- "keytool" Example - Generating Key Pairs and Self-Signed Certificates
- "keytool" Example - Exporting and Import Certificates
- "keytool" Example - Cloning Certificates with New Identities
JCA - KeyStore and Related Classes
- Certificate Class
- CertificateFactory Class
- JcaCertificateTest.java - Sample Program
- KeyStore Class
- JcaKeyStoreTest.java - Sample Program
JCE - Secret Key
- What Is a Secret Key?
- The SecretKey Interface
- The KeyGenerator Class
- Converting Secret Keys to and from Byte Arrays
- JceSecretKeyTest.java - Sample Program
JCE - Cipher for Encryption and Decryption
- The Cipher Class
- JceSecretCipher.java - Cipher with Secret Key
- JcePublicCipher.java - Cipher with Private and Public Key Pair
Installing J2SE 1.5.0 on Windows 2000
- Download
- First Java Program
SSL (Secure Socket Layer)
- What is SSL?
- SSL Specification Overview
- How Can SSL Ensure Privacy?
- JSSE - Java Implementation of SSL and TLS
- Default SSL Socket Factories - SslSocketTest.java
- SSL Socket Factories with SSLContext - SslContextTest.java
SSL - Socket Communication
- SSL Server Socket Example - SslReverseEchoer.java
- SSL Client Socket Example - SslSocketClient.java
- JSSE Debug Option
SSL - HTTPS
- What is HTTPS?
- My First HTTPS Server - HttpsHello.java
- Connecting HttpsHello.java with Internet Explorer
- A Better HTTPS Server - HttpsEchoer.java
SSL - Client Authentication
- What is SSL Client Authentication
- Server Program for Client Authentication - SslReverseEchoerRevised
- Client Program for Client Authentication - SslSocketClientRevised
- Running Client Authentication Programs
References
Key Words:
Blowfish, book, Calendar, certificate, character set, cipher,
client authentication, collections, datagram, Date, decryption, DES,
digital signature, encryption, DOM, DSA, DTD, example, HTTP, HTTPS,
J2SDK, Java, JCA,
JDK, JDK 1.3.1, JDK 1.4.1, JDK 1.5.0, key store, keytool, Locale, notes,
message digests, MD5,
online, private key, public key, RSA, sample, SAX, secret key, SHA, socket,
SSL, TLS, tutorial, unnamed package,
Unicode, UTF-8, X.509, XML, XSD, XSL
|