Angelika Langer - Training & Consulting

 
HOME | SEMINARS | TALKS | ARTICLES | BOOKS | LINKS | IOSTREAMS | GENERICS | ABOUT | NEWSLETTER | CONTACT | SITEMAP
Effective Java - A column by Angelika Langer & Klaus Kreft

 
HOME 
SEMINARS 
TALKS 

ARTICLES 
  OVERVIEW

  BY TOPIC
    JAVA
    C++

  BY COLUMN
    EFFECTIVE JAVA
    EFFECTIVE STDLIB

  BY MAGAZINE
    JAVA MAGAZIN
    JAVA SPEKTRUM
    JAVA WORLD
    JAVA SOLUTIONS
    JAVA PRO
    C++ REPORT
    CUJ
    OBJEKT SPEKTRUM
    OTHER
 

BOOKS 
LINKS 
IOSTREAMS 
GENERICS 
ABOUT 
NEWSLETTER 
CONTACT 
SITEMAP 
Effective Java - A column by Angelika Langer & Klaus Kreft
 
 

Klaus Kreft

Angelika Langer
 
Klaus Kreft is Senior Software Engineer at Siemens Enterprise Communications in Germany. He can be contacted at klaus.kreft@siemens.com .
Angelika Langer works as an independent instructor and mentor. She can be contacted via www.AngelikaLanger.com .
 
 
EFFECTIVE JAVA

since January 2002
Since January 2002 we write a column about best practice  Java programming.  It appeared in JavaSpektrum until March 2008 and has been published in JavaMagazin since then. This column is available in German only. Pre-copyedit versions of the articles are made available below.
 
  2002-2008
Fundamentals - Object Comparison in Java - Principles of Implementing equals() January 2002
Fundamentals - Comparing Apples and Pears - Type Check in equals() March 2002
Fundamentals - Hash Code in Java - Consistency between equals() and hashCode() May 2002
Fundamentals - Comparators in Java - Principles of Implementing compareTo() July 2002
Fundamentals - Copies and Clones - Purpose of clone() September 2002
Fundamentals - Copies and Clones - Principles of Implementing clone() November 2002
Fundamentals - CloneNotSupported - clone() and Its Exception January 2003
Fundamentals - Implementing Immutable Types March 2003
Fundamentals - Immutability Adapters for Collections and the Meaning of final July 2003
Fundamentals - final Classes and final Methods September 2003
Fundamentals - Polymorphic Method Calls in Constructors November 2003
Concurrency - Multithreading Basics January 2004
Concurrency - Synchonization in Detail March 2004
Concurrency - Explicit Locks (a new feature in JDK 5.0) May 2004
Concurrency - wait() and notify() in Detail July 2004
Concurrency - The Nested Monitor Problem September 2004
Concurrency - Stopping and Suspending Threads November 2004
Concurrency - Thread-Safe Collections and Synchronizers January 2005
Concurrency - Asynchronous Tasks (Callable and Future) March 2005
Concurrency - Thread Pools May 2005
Performance - Micro-Benchmarking July 2005
Performance - Micro-Benchmarking & JIT Compilation September 2005
Performance - Profiler Tools November 2005
Performance - Functional Performance Hot Spots January 2006
Performance - Memory Hot Spots March 2006
Performance - Garbage Collection Algorithms May 2006 & July 2006
Performance - Tuning the Garbage Collector September 2006
Enums - The Language Feature of Enumeration Types November 2006
Enums - A Common Pitfall January 2007
Generics - Introduction to Generics and Parameterized Types March 2007
Generics - Wildcards May 2007
Generics - Raw Types and Type Erasure July 2007
Generics - Type Erasure - The Dark Side September 2007
Generics - Generic Creation November 2007
Generics - Implementing a Generic Pair Class (Part 1) January 2008
Generics - Implementing a Generic Pair Class (Part 2) March 2008
 
since 2008
JMM - Introduction to Memory Model Issues in Java July 2008
JMM - Overview of the Java Memory Model  August 2008
JMM - The Cost of Lock-Based Synchronisation September 2008
JMM - Volatile Variables October 2008
JMM - Double-Check Locking November 2008
JMM - Final Variables December 2008
JMM - Immutable Types January 2009
JMM - Atomic Variables February 2009
JMM - Reordering  March 2009
 


 
© Copyright 1995-2008 by Angelika Langer.  All Rights Reserved.    URL: < http://www.AngelikaLanger.com/Articles/EffectiveJava.html  last update: 15 Jul 2008