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
    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 SEN Group in Germany. 
Angelika Langer works as an independent instructor and mentor. 
Both 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.

Here are some comments by our  readers  (in German): 

"... wenn man sehen will, wie man so eine Reihe wirklich fundiert, fachlich richtig und gut geschrieben aufzieht, der werfe mal einen Blick in ... eine Reihe namens "Effective Java" von Angelika Langer und Klaus Kreft ..."  (quoted from Entwickler-Forum

"... Mir ist keine andere vergleichbare Serie bekannt, die sich über einen so langen Zeitraum auf einem konstant hohen Niveau mit Grundlagen von Java beschäftigt und die notwendigen Zusammenhänge veranschaulicht...." (quoted from Software Engineering Blog )

 
  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 - Idioms for Use of Volatile December 2008
JMM - Initialization Safety February 2009
JMM - Immutable Types April 2009
JMM - The Danger of Aggressive Optimizations June 2009
JMM - Atomic Scalar Variables August 2009
JMM - Atomic Reference Variables October 2009
JMM - CopyOnWriteArrayList December 2009
GC - Generational Garbage Collection February 2010
GC - Young Generation Garbage Collection April 2010
GC - Old Generation Garbage Collection - Mark-and-Compact June 2010
GC - Old Generation Garbage Collection - Concurrent-Mark-and-Sweep August 2010
GC - Garbage Collection Tuning Goals October 2010
GC - Garbage Collection Tuning Strategies December 2010
GC - "Garbage First" (G1) Garbage Collection February 2011
GC - Tuning the "Garbage First" (G1) Garbage Collector April 2011
Java7 - New Features in Java 7 - Overview June 2011
 


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