Herong's Notes on JDK
Dr. Herong Yang, Version 4.31, 2005 [ Home | Help | PDF | TOC ]
Herong's Notes on JDK
Version 4.31
Dr. Herong Yang

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

Dr. Herong Yang, updated in 2005 [ Home | Help | PDF | TOC ]
Herong's Notes on JDK - Table of Contents
1