SlideShare une entreprise Scribd logo
1  sur  6
Télécharger pour lire hors ligne
Subscribe Now for FREE! refcardz.com
                                                                                                                                                                                           tech facts at your fingertips

                                         CONTENTS INCLUDE:




                                                                                                                                                                        Core Java
                                         n	
                                               Java Keywords
                                         	n	
                                               Standard Java Packages
                                         n	
                                               Character Escape Sequences
                                         n	
                                               Collections and Common Algorithms
                                         n	
                                               Regular Expressions
                                                                                                                                                                                    By Cay S. Horstmann
                                         n	
                                               JAR Files


                                                                                                                                               Java Keywords, continued
                                                  AbOUT CORE JAVA
                                                                                                                                               Keyword      Description                    Example
                                                                                                                                               finally      the part of a try block        see try
                                                 This refcard gives you an overview of key aspects of the Java                                              that is always executed
                                                 language and cheat sheets on the core library (formatted                                      float        the single-precision           float oneHalf = 0.5F;
                                                 output, collections, regular expressions, logging, properties)                                             floating-point type

                                                 as well as the most commonly used tools (javac, java, jar).                                   for          a loop type                    for (int i = 10; i >= 0; i--)
                                                                                                                                                                                             System.out.println(i);
                                                                                                                                                                                           for (String s : line.split(quot;s+quot;))
                                                                                                                                                                                             System.out.println(s);
                                                                                                                                                                                           Note: In the “generalized” for loop, the expression
                                                  JAVA KEywORDS                                                                                                                            after the : must be an array or an Iterable
                                                                                                                                               goto         not used
                                                 Keyword    Description                 Example                                                if           a conditional statement        if (input == 'Q')
                                                                                                                                                                                             System.exit(0);
                                                 abstract   an abstract class or        abstract class Writable {                                                                          else
                                                            method                          public abstract void write(Writer out);                                                          more = true;
                                                                                            public void save(String filename) { ... }
                                                                                                                                               implements   defines the interface(s)       class Student
                                                                                        }                                                                                                    implements Printable {
                                                                                                                                                            that a class implements
                                                                                                                                                                                             ...
                                                 assert     with assertions enabled,    assert param != null;                                                                              }
                                                            throws an error if          Note: Run with -ea to enable assertions
                                                            condition not fulfilled                                                            import       imports a package              import java.util.ArrayList;
                                                                                                                                                                                           import com.dzone.refcardz.*;
                                                 boolean    the Boolean type with       boolean more = false;
                                                                                                                                               instanceof   tests if an object is an       if (fred instanceof Student)
                                                            values true and false                                                                                                            value = ((Student) fred).getId();
                                                                                                                                                            instance of a class
                                                 break      breaks out of a switch      while ((ch = in.next()) != -1) {                                                                   Note: null instanceof T is always false
                                                            or loop                       if (ch == 'n') break;
                                                                                          process(ch);                                         int          the 32-bit integer type        int value = 0;
                                                                                        }
                                                                                                                                               interface    an abstract type with          interface Printable {
                                                                                        Note: Also see switch                                               methods that a class can          void print();
  www.dzone.com




                                                                                                                                                                                           }
                                                 byte       the 8-bit integer type      byte b = -1; // Not the same as 0xFF                                implement

                                                                                        Note: Be careful with bytes < 0                        long         the 64-bit long integer        long worldPopulation = 6710044745L;
                                                                                                                                                            type
                                                 case       a case of a switch          see switch
                                                                                                                                               native       a method implemented
                                                 catch      the clause of a try block   see try                                                             by the host system
                                                            catching an exception
                                                                                                                                               new          allocates a new object         Person fred = new Person(quot;Fredquot;);
                                                 char       the Unicode character       char input = 'Q';                                                   or array
                                                            type
                                                                                                                                               null         a null reference               Person optional = null;
                                                 class      defines a class type        class Person {
                                                                                                                                               package      a package of classes           package com.dzone.refcardz;
                                                                                            private String name;
                                                                                            public Person(String aName) {                      private      a feature that is              see class
                                                                                              name = aName;
                                                                                                                                                            accessible only by
                                                                                            }
                                                                                            public void print() {                                           methods of this class
                                                                                              System.out.println(name);
                                                                                            }
                                                                                                                                               protected    a feature that is accessible   class Student {
                                                                                                                                                            only by methods of this          protected int id;
                                                                                        }                                                                                                    ...
                                                                                                                                                            class, its children, and
                                                                                                                                                                                           }
                                                 const      not used                                                                                        other classes in the same
                                                                                                                                                            package                                                                        →
                                                 continue   continues at the end of     while ((ch = in.next()) != -1) {
                                                            a loop                        if (ch == ' ') continue;
                                                                                          process(ch);
                                                                                        }

                                                 default    the default clause of a
                                                            switch
                                                                                        see switch                                                                                     Get More Refcardz
                                                                                                                                                                                                  (They’re free!)
                                                 do         the top of a do/while       do {
                                                            loop                          ch = in.next();
                                                                                        } while (ch == ' ');                                                                           n   Authoritative content
                                                 double     the double-precision        double oneHalf = 0.5;                                                                          n   Designed for developers
                                                            floating-number type
                                                                                                                                                                                       n   Written by top experts
                                                 else       the else clause of an if    see if
                                                            statement                                                                                                                  n   Latest tools & technologies
Core Java




                                                 enum       an enumerated type          enum Mood { SAD, HAPPY };                                                                      n   Hot tips & examples
                                                 extends    defines the parent class    class Student extends Person {
                                                                                                                                                                                       n   Bonus content online
                                                                                          private int id;
                                                            of a class
                                                                                          public Student(String name, int anId) { ... }
                                                                                                                                                                                       n   New issue every 1-2 weeks
                                                                                          public void print() { ... }
                                                                                        }
                                                                                                                                                                 Subscribe Now for FREE!
                                                 final      a constant, or a class or   public static final int DEFAULT_ID = 0;
                                                            method that cannot be                                                                                     Refcardz.com
                                                            overridden



                                                                                                                            DZone, Inc.   |   www.dzone.com
2
                                                                                                                                                                                             Core Java
       tech facts at your fingertips




Java Keywords, continued
                                                                                                          OpERATOR pRECEDENCE
Keyword            Description                 Example
public             a feature that is           see class
                   accessible by methods                                                                 Operators with the                             Notes
                   of all classes                                                                        same precedence
return             returns from a method       int getId() { return id; }                                [] . ()   (method call)       Left to right
short              the 16-bit integer type     short skirtLength = 24;
                                                                                                         ! ~ ++ -- + (unary) –         Right to left    ~ flips each bit of a number
static             a feature that is           public class WriteUtil {                                  (unary) () (cast) new
                   unique to its class, not      public static void write(Writable[] ws,
                                                   String filename);                                     * / %                         Left to right    Be careful when using % with negative
                   to objects of its class
                                                 public static final String DEFAULT_EXT = quot;.datquot;;                                                       numbers. -a % b == -(a % b), but a
                                               }
                                                                                                                                                        % -b == a % b. For example, -7 % 4
strictfp           Use strict rules                                                                                                                     == -3, 7 % -4 == 3.
                   for floating-point
                   computations                                                                          + -                           Left to right

super              invoke a superclass         public Student(String name, int anId) {                   << >> >>>                     Left to right    >> is arithmetic shift (n >> 1 == n / 2 for
                   constructor or method         super(name); id = anId;                                                                                positive and negative numbers), >>> is logical
                                               }
                                                                                                                                                        shift (adding 0 to the highest bits). The right
                                               public void print() {                                                                                    hand side is reduced modulo 32 if the left hand
                                                 super.print();                                                                                         side is an int or modulo 64 if the left hand side
                                                 System.out.println(id);
                                               }
                                                                                                                                                        is a long. For example, 1 << 35 == 1 << 3.

switch             a selection statement       switch (ch) {                                             < <= > >= instanceof          Left to right    null instanceof T     is always false
                                                 case 'Q':
                                                 case 'q':                                               == !=                         Left to right    Checks for identity. Use equals to check for
                                                   more = false; break;
                                                                                                                                                        structural equality.
                                                 case ' ';
                                                   break;
                                                 default:
                                                                                                         &                             Left to right    Bitwise AND; no lazy evaluation with bool
                                                   process(ch); break;                                                                                  arguments
                                               }
                                               Note: If you omit a break, processing continues           ^                             Left to right    Bitwise XOR
                                               with the next case.
                                                                                                         |                             Left to right    Bitwise OR; no lazy evaluation with bool
synchronized       a method or code            public synchronized void addGrade(String gr) {                                                           arguments
                   block that is atomic to         grades.add(gr);
                   a thread                                                                              &&                            Left to right
                                               }

this               the implicit argument       public Student(String id) {this.id = id;}                 ||                            Left to right
                   of a method, or a           public Student() { this(quot;quot;); }
                   constructor of this class                                                             ?:                            Right to left
throw              throws an exception         if (param == null)                                        = += -= *= /= %= &=           Right to left
                                                 throw new IllegalArgumentException();                   |= ^= <<= >>= >>>=
throws             the exceptions that a       public void print()
                   method can throw              throws PrinterException, IOException

transient          marks data that should      class Student {
                                                 private transient Data cachedData;
                                                                                                             pRImITIVE TypES
                   not be persistent
                                                 ...
                                               }
                                                                                                         Type        Size          Range                                  Notes
try                a block of code that        try {
                   traps exceptions              try {
                                                    fred.print(out);
                                                                                                         int         4 bytes        –2,147,483,648 to 2,147,483, 647      The wrapper type is Integer.
                                                 } catch (PrinterException ex) {                                                   (just over 2 billion)                  Use BigInteger for arbitrary
                                                    ex.printStackTrace();                                                                                                 precision integers.
                                                 }
                                               } finally {                                               short       2 bytes       –32,768 to 32,767
                                                 out.close();
                                               }                                                         long        8 bytes       –9,223,372,036,854,775,808 to          Literals end with L (e.g. 1L).
void               denotes a method            public void print() { ... }                                                         9,223,372,036,854,775,807
                   that returns no value                                                                 byte        1 byte        –128 to 127                            Note that the range is not
volatile           ensures that a field is     class Student {                                                                                                            0 ... 255.
                   coherently accessed         private volatile int nextId;
                   by multiple threads         ...                                                       float       4 bytes       approximately                          Literals end with F (e.g. 0.5F)
                                               }                                                                                   ±3.40282347E+38F (6–7
while              a loop                      while (in.hasNext())                                                                significant decimal digits)
                                                   process(in.next());                                   double      8 bytes       approximately                          Use BigDecimal for arbitrary
                                                                                                                                   ±1.79769313486231570E+308              precision floating-point
                                                                                                                                   (15 significant decimal digits)        numbers.
 STANDARD JAVA pACKAgES                                                                                  char        2 bytes       u0000   to uFFFF                     The wrapper type is
                                                                                                                                                                          Character. Unicode
java.applet           Applets (Java programs that run inside a web page)                                                                                                  characters > U+FFFF require
                                                                                                                                                                          two char values.
java.awt              Graphics and graphical user interfaces
                                                                                                         boolean                   true   or false
java.beans            Support for JavaBeans components (classes with properties and
                      event listeners)
java.io               Input and output
                                                                                                         Legal conversions between primitive types
                                                                                                         Dotted arrows denote conversions that may lose precision.
java.lang             Language support
java.math             Arbitrary-precision numbers
java.net              Networking
java.nio              “New” (memory-mapped) I/O
java.rmi              Remote method invocations
java.security         Security support
java.sql              Database support
java.text             Internationalized formatting of text and numbers
java.util             Utilities (including data structures, concurrency, regular expressions,
                      and logging)



                                                                                    DZone, Inc.     |   www.dzone.com
3
                                                                                                                                                                                    Core Java
     tech facts at your fingertips




  COLLECTIONS AND COmmON ALgORIThmS                                                                      FORmATTED OUTpUT wITh printf

ArrayList             An indexed sequence that grows and shrinks dynamically                         Typical usage
LinkedList            An ordered sequence that allows efficient insertions and removal at
                      any location                                                                   System.out.printf(quot;%4d %8.2fquot;, quantity, price);
ArrayDeque            A double-ended queue that is implemented as a circular array                   String str = String.format(quot;%4d %8.2fquot;, quantity, price);
HashSet               An unordered collection that rejects duplicates                                Each format specifier has the following form. See the tables for
TreeSet               A sorted set                                                                   flags and conversion characters.
EnumSet               A set of enumerated type values
LinkedHashSet         A set that remembers the order in which elements were inserted
PriorityQueue         A collection that allows efficient removal of the smallest element
HashMap               A data structure that stores key/value associations
TreeMap               A map in which the keys are sorted
EnumMap               A map in which the keys belong to an enumerated type
LinkedHashMap         A map that remembers the order in which entries were added
WeakHashMap           A map with values that can be reclaimed by the garbage collector if
                      they are not used elsewhere                                                    Flags
IdentityHashMap       A map with keys that are compared by ==, not equals
                                                                                                     Flag            Description                                                  Example
                                                                                                     +               Prints sign for positive and negative numbers                +3333.33
Common Tasks
                                                                                                     space           Adds a space before positive numbers                         | 3333.33|
List<String> strs = new ArrayList<String>();            Collect strings
                                                                                                     0               Adds leading zeroes                                          003333.33
strs.add(quot;Helloquot;); strs.add(quot;World!quot;);                  Add strings
                                                                                                     -               Left-justifies field                                         |3333.33 |
for (String str : strs) System.out.println(str);        Do something with all elements
                                                        in the collection
                                                                                                     (               Encloses negative number in parentheses                      (3333.33)

Iterator<String> iter = strs.iterator();                Remove elements that match a
                                                                                                     ,               Adds group separators                                        3,333.33
while (iter.hasNext()) {                                condition. The remove method
   String str = iter.next();
                                                                                                     # (for f format) Always includes a decimal point                             3,333.
   if (someCondition(str)) iter.remove();
                                                        removes the element returned by
                                                        the preceding call to next.                  # (for x or o   Adds 0x or 0 prefix                                          0xcafe
}
                                                                                                     format)
strs.addAll(strColl);                                   Add all strings from another
                                                        collection of strings
                                                                                                     $               Specifies the index of the argument to be formatted;         159 9F
                                                                                                                     for example, %1$d %1$x prints the first argument in
strs.addAll(Arrays.asList(args))                        Add all strings from an array of                             decimal and hexadecimal
                                                        strings. Arrays.asList makes a
                                                        List wrapper for an array
                                                                                                     <               Formats the same value as the previous specification;        159 9F
                                                                                                                     for example, %d %<x prints the same number in decimal
strs.removeAll(coll);                                   Remove all elements of another                               and hexadecimal
                                                        collection. Uses equals for
                                                        comparison
                                                                                                     Conversion characters
if (0 <= i && i < strs.size()) {                        Get or set an element at a
  str = strs.get(i);                                    specified index
  strs.set(i, quot;Helloquot;);                                                                              Conversion      Description                                       Example
}                                                                                                    Character
strs.insert(i, quot;Helloquot;);                                Insert or remove an element at               d               Decimal integer                                   159
str = strs.remove(i);                                   a specified index, shifting the              x               Hexadecimal integer                               9f
                                                        elements with higher index values
                                                                                                     o               Octal integer                                     237
String[] arr = new String[strs.size()];                 Convert from collection to array
strs.toArray(arr);                                                                                   f               Fixed-point floating-point                        15.9
String[] arr = ...;                                     Convert from array to list. Use              e               Exponential floating-point                        1.59e+01
List<String> lst = Arrays.asList(arr);                  the varargs form to make a small
lst = Arrays.asList(quot;fooquot;, quot;barquot;, quot;bazquot;);                                                            g               General floating-point (the shorter of e and f)
                                                        collection.
List<String> lst = ...;                                 Sort a list by the natural order of          a               Hexadecimal floating-point                        0x1.fccdp3
lst.sort();                                             the elements, or with a custom
lst.sort(new Comparator<String>() {                                                                  s               String                                            Hello
  public int compare(String a, String b) {
                                                        comparator.
     return a.length() - b.length();                                                                 c               Character                                         H
  }
}
                                                                                                     b               boolean                                           true

Map<String, Person> map = new                           Make a map that is traversed in              h               Hash code                                         42628b2
 LinkedHashMap<String, Person>();                       insertion order (requires hashCode           tx              Date and time                                     See the next table
                                                        for key type). Use a TreeMap to
                                                        traverse in sort order (requires that        %               The percent symbol                                %
                                                        key type is comparable).                     n               The platform-dependent line separator
for (Map.Entry<String, Person> entry :                  Iterate through all entries of the
    map.entrySet()) {                                   map
  String key = entry.getKey();
  Person value = entry.getValue();
  ...                                                                                                    FORmATTED OUTpUT wITh MessageFormat
}
Person key = map.get(str); // null if not found         Get or set a value for a given key
map.put(key, value);                                                                                 Typical usage:
                                                                                                     String msg = MessageFormat.format(quot;On {1, date,
                                                                                                        long}, a {0} caused {2,number,currency} of damage.quot;,
 ChARACTER ESCApE SEqUENCES                                                                             quot;hurricanequot;, new GregorianCalendar(2009, 0, 15).
                                                                                                        getTime(), 1.0E8);
b                                                    backspace u0008
t                                                    tab u0009
                                                                                                     Yields quot;On January 1, 1999, a hurricane caused
n                                                    newline u000A                                 $100,000,000 of damagequot;
f                                                    form feed u000C                               	      n   The nth item is denoted by {n,format,subformat} with
r                                                    carriage return u000D
                                                                                                                optional formats and subformats shown below
quot;                                                    double quote
                                                                                                     	      n   {0} is the first item
'                                                    single quote
                                                    backslash
                                                                                                     	      n   The following table shows the available formats
uhhhh (hhhh is a hex number between 0000 and FFFF)   The UTF-16 code point with value hhhh          	      n   Use single quotes for quoting, for example '{' for a literal
ooo (ooo   is an octal number between 0 and 377)     The character with octal value ooo                        left curly brace
Note: Unlike in C/C++, xhh is not allowed                                                           	      n   Use '' for a literal single quote                           →

                                                                                DZone, Inc.     |   www.dzone.com
4
                                                                                                                                                                                               Core Java
     tech facts at your fingertips




Formatted Output with MessageFormat, continued                                                                 Regular Expression Syntax, continued
Format         Subformat                                                    Example                            Boundary Matchers
number         none                                                         1,234.567                          ^ $                   Beginning, end of input (or beginning, end of line in multiline mode)

               integer                                                      1,235                              b                    A word boundary

               currency                                                     $1,234.57
                                                                                                               B                    A nonword boundary

               percent                                                      123,457%
                                                                                                               A                    Beginning of input
                                                                                                               z                    End of input
date           none or medium                                               Jan 15, 2009
                                                                                                               Z                    End of input except final line terminator
               short                                                        1/15/09
                                                                                                               G                    End of previous match
               long                                                         January 15, 2009
                                                                                                               Quantifiers
               full                                                         Thursday, January 15, 2009
                                                                                                               X?                    Optional X
time           none or medium                                               3:45:00 PM
                                                                                                               X*                    X, 0 or more times
               short                                                        3:45 PM
                                                                                                               X+                    X, 1 or more times
               long                                                         3:45:00 PM PST
                                                                                                               X{n} X{n,} X{n,m}     X n times, at least n times, between n and m times
               full                                                         3:45:00 PM PST
                                                                                                               Quantifier Suffixes
choice         List of choices, separated by |. Each choice has             no house
                                                                                                               ?                     Turn default (greedy) match into reluctant match
               									n a lower bound (use -u221E for -∞)


                        n		a relational operator: < for “less than”, # or
                                                                            one house                          +                     Turn default (greedy) match into reluctant match
                           u2264 for ≤                                                                        Set Operations
                                                                            5 houses
                        n a message format string
                                                                                                               XY                    Any string from X, followed by any string from Y
               For example, {1,choice,0#no houses|1#one
                                                                                                               X |Y                  Any string from X or Y
               house|2#{1} houses}
                                                                                                               Grouping
                                                                                                               (X)                   Capture the string matching X as a group
    REgULAR ExpRESSIONS                                                                                        g                    The match of the gth group
                                                                                                               Escapes
Common Tasks                                                                                                   c                    The character c (must not be an alphabetic character)
                                                                                                               Q . . . E           Quote . . . verbatim
String[] words = str.split(quot;s+quot;);                                          Split a string along white
                                                                             space boundaries                  (? . . . )            Special construct— see API notes of Pattern class
Pattern pattern = Pattern.compile(quot;[0-9]+quot;);                                 Replace all matches.
Matcher matcher = pattern.matcher(str);                                      Here we replace all digit         Predefined Character Class Names
String result = matcher.replaceAll(quot;#quot;);                                     sequences with a #.
                                                                                                               Lower                       ASCII lower case [a-z]
Pattern pattern = Pattern.compile(quot;[0-9]+quot;);                                 Find all matches.
Matcher matcher = pattern.matcher(str);                                                                        Upper                       ASCII upper case [A-Z]
while (matcher.find()) {                                                                                       Alpha                       ASCII alphabetic [A-Za-z]
    process(str.substring(matcher.start(), matcher.end()));
}
                                                                                                               Digit                       ASCII digits [0-9]
                                                                                                               Alnum                       ASCII alphabetic or digit [A-Za-z0-9]
Pattern pattern = Pattern.compile(                                           Find all groups (indicated
 quot;(1?[0-9]):([0-5][0-9])[ap]mquot;);                                             by parentheses in the             XDigit                      Hex digits [0-9A-Fa-f]
Matcher matcher = pattern.matcher(str);                                      pattern). Here we find
                                                                             the hours and minutes             Print    or Graph           Printable ASCII character [x21-x7E]
for (int i = 1; i <= matcher.groupCount(); i++) {
                                                                             in a date.                        Punct                       ASCII nonalpha or digit [p{Print}&&P{Alnum}]
     process(matcher.group(i));
}
                                                                                                               ASCII                       All ASCII [x00-x7F]
                                                                                                               Cntrl                       ASCII Control character [x00-x1F]
Regular Expression Syntax                                                                                      Blank                       Space or tab [ t]
                                                                                                               Space                       Whitespace [ tnrf0x0B]
Characters
                                                                                                               javaLowerCase               Lower case, as determined by Character.isLowerCase()
c                        The character c
                                                                                                               javaUpperCase               Upper case, as determined by Character.isUpperCase()
unnnn, xnn,            The code unit with the given hex or octal value
0n, 0nn,                                                                                                     javaWhitespace              White space, as determined by Character.isWhiteSpace()
0nnn
                                                                                                               javaMirrored                Mirrored, as determined by Character.isMirrored()
t, n, r,              The control characters tab, newline, return, form feed, alert, and escape
                                                                                                               InBlock                     Block is the name of a Unicode character block, with spaces
f, a, e
                                                                                                                                           removed, such as BasicLatin or Mongolian.
cc                      The control character corresponding to the character c
                                                                                                               Category or InCategory      Category is the name of a Unicode character category such
Character Classes                                                                                                                          as L (letter) or Sc (currency symbol).
[C1C2 . . .]             Union: Any of the characters represented by C1C 2 , . . .
                         The Ci are characters, character ranges c1-c 2, or character classes.                 Flags for matching
                         Example: [a-zA-Z0-9_]
                                                                                                               The pattern matching can be adjusted with flags, for example:
[^C1C2 . . .]            Complement: Characters not represented by any of C1C 2 , . . .
                         Example: [^0-9]                                                                       Pattern pattern = Pattern.compile(patternString,
[C1&& C2 && . . .]       Intersection: Characters represented by all of C1C 2 , . . .                            Pattern.CASE_INSENSITIVE + Pattern.UNICODE_CASE)
                         Example: [A-f&&[^G-`]]
                                                                                                               Flag                     Description
Predefined Character Classes
                                                                                                               CASE_INSENSITIVE         Match characters independently of the letter case. By default,
.                        Any character except line terminators (or any character if the DOTALL                                          this flag takes only US ASCII characters into account.
                         flag is set)
                                                                                                               UNICODE_CASE             When used in combination with CASE_INSENSITIVE, use Unicode
d                       A digit [0-9]                                                                                                  letter case for matching.
D                       A nondigit [^0-9]                                                                     MULTILINE                ^ and $ match the beginning and end of a line, not the entire input.

s                       A whitespace character [ tnrfx0B]                                                UNIX_LINES               Only 'n' is recognized as a line terminator when matching ^
                                                                                                                                        and $ in multiline mode.
S                       A nonwhitespace character
                                                                                                               DOTALL                   When using this flag, the . symbol matches all characters,
w                       A word character [a-zA-Z0-9_]                                                                                  including line terminators.
W                       A nonword character                                                                   CANON_EQ                 Takes canonical equivalence of Unicode characters into account.
                                                                                                                                        For example, u followed by ¨ (diaeresis) matches ü.
p{name}                 A named character class—see table below
                                                                                                               LITERAL                  The input string that specifies the pattern is treated as a sequence
P{name}                 The complement of a named character class                                                                      of literal characters, without special meanings for . [ ] etc.



                                                                                           DZone, Inc.    |   www.dzone.com
5
                                                                                                                                                                                                     Core Java
    tech facts at your fingertips




 LOggINg                                                                                                             pROpERTy FILES

Common Tasks                                                                                                 	        n   Contain name/value pairs, separated by =, :, or whitespace
Logger logger =                                                  Get a logger for a category                 	        n   Whitespace around the name or before the start of the
Logger.getLogger(quot;com.mycompany.myprog.mycategoryquot;);
logger.info(quot;Connection successful.quot;);                           Logs a message of level FINE.
                                                                                                                          value is ignored
                                                                 Available levels are SEVERE,                	        n   Lines can be continued by placing an  as the last character;
                                                                 WARNING,INFO,CONFIG,FINE,
                                                                 FINER, FINEST, with                                      leading whitespace on the continuation line is ignored
                                                                 corresponding methods severe,
                                                                 warning, and so on.                                      button1.tooltip = This is a long 
logger.log(Level.SEVERE, quot;Unexpected exceptionquot;,                 Logs the stack trace of a                                                  tooltip text.
 throwable);                                                     Throwable
logger.setLevel(Level.FINE);                                     Sets the logging level to FINE.                      n   t n f r  uxxxx escapes are recognized (but not b
                                                                 By default, the logging level is
                                                                 INFO, and less severe logging
                                                                                                                          or octal escapes)
                                                                 messages are not logged.                    	        n   Files are assumed to be encoded in ISO 8859-1; use
Handler handler = new FileHandler(quot;%h/myapp.logquot;,                Adds a file handler for saving the
  SIZE_LIMIT, LOG_ROTATION_COUNT);
                                                                                                                          native2ascii to encode non-ASCII characters into
                                                                 log records in a file. See the table
handler.setFormatter(new SimpleFormatter());                     below for the naming pattern. This                       Unicode escapes
logger.addHandler(handler);                                      handler uses a simple formatter
                                                                 instead of the XML formatter that           	        n   Blank lines and lines starting with # or ! are ignored
                                                                 is the default for file handlers.
                                                                                                             Typical usage:
Logging Configuration Files
                                                                                                             Properties props = new Properties();
The logging configuration can be configured through a logging
                                                                                                             props.load(new FileInputStream(quot;prog.propertiesquot;));
configuration file, by default jre/lib/logging.properties.                                                   String value = props.getProperty(quot;button1.tooltipquot;);
Another file can be specified with the system property java.                                                 // null if not present
util.logging.config.file when starting the virtual machine.
(Note that the LogManager runs before main.)                                                                 Also used for resource bundles:
                                                                                                             ResourceBundle bundle = ResourceBundle.getBundle(quot;progquot;);
Configuration Property        Description                                      Default
                                                                                                                // Searches for prog_en_US.properties,
loggerName.level              The logging level of the logger by the           None; the logger
                              given name                                       inherits the handler             // prog_en.properties, etc.
                                                                               from its parent               String value = bundle.getString(quot;button1.tooltipquot;);
handlers                      A whitespace or comma-separated list             java.util.logging.
                              of class names for the root logger. An           ConsoleHandler
                              instance is created for each class name,
                              using the default constructor.
                                                                                                                     JAR FILES
loggerName.handlers           A whitespace or comma-separated list             None
                              of class names for the given logger                                            	        n   Used for storing applications, code libraries
loggerName.                   false if the parent logger's handlers            true
useParenthandlers             (and ultimately the root logger's
                                                                                                             	        n   By default, class files and other resources are stored in
                              handlers) should not be used                                                                ZIP file format
config                        A whitespace or comma-separated list             None
                              of class names for initialization.
                                                                                                             	        n   META-INF/MANIFEST.MF contains JAR metadata
java.util.logging.            The default handler level                        Level.ALL for                          n   META-INF/services can contain service provider
FileHandler.level                                                              FileHandler,
                                                                               Level.INFO for
                                                                                                                          configuration
java.util.logging.
ConsoleHandler.level                                                           ConsoleHandler                	        n   Use the jar utility to make JAR files
java.util.logging.            The class name of the default filter             None
FileHandler.formatter
java.util.logging.
                                                                                                             jar Utility Options
ConsoleHandler.formatter
                                                                                                                 Option     Description
java.util.logging.            The class name of the default formatter          java.util.logging.
FileHandler.formatter                                                          XMLFormatter for                  c          Creates a new or empty archive and adds files to it. If any of the specified file
java.util.logging.                                                             FileHandler,                                 names are directories, the jar program processes them recursively.
ConsoleHandler.formatter                                                       java.util.logging.
                                                                                                                 C          Temporarily changes the directory. For example,
                                                                               SimpleFormatter for
                                                                               ConsoleHandler                               jar cvfC myprog.jar classes *.class
                                                                                                                            changes to the classes subdirectory to add class files.
java.util.logging.            The default encoding                             default platform
FileHandler.encoding                                                           encoding                          e          Creates a Main-Class entry in the manifest
java.util.logging.                                                                                                          jar cvfe myprog.jar com.mycom.mypkg.MainClass files
ConsoleHandler.encoding
                                                                                                                 f          Specifies the JAR file name as the second command-line argument. If this
java.util.logging.            The default limit for rotating log files,        0 (No limit), but set                        parameter is missing, jar will write the result to standard output (when creating a
FileHandler.limit             in bytes                                         to 50000 in jre/lib/                         JAR file) or read it from standard input (when extracting or tabulating a JAR file).
                                                                               logging.properties
                                                                                                                 i          Creates an index file (for speeding up lookups in a large archive)
java.util.logging.            The default number of rotated log files          1
FileHandler.count                                                                                                m          Adds a manifest to the JAR file.
java.util.logging.            The default naming pattern for log files.        %h/java%u.log                                jar cvfm myprog.jar mymanifest.mf files
FileHandler.pattern           The following tokens are replaced when
                              the file is created:
                                                                                                                 M          Does not create a manifest file for the entries.

                               Token   Description                                                               t          Displays the table of contents.
                               /       Path separator                                                                       jar tvf myprog.jar

                               %t      System temporary directory                                                u          Updates an existing JAR file
                               %h      Value of user.home system property                                                   jar uf myprog.jar com/mycom/mypkg/SomeClass.class
                               %g      The generation number of rotated logs                                     v          Generates verbose output.
                               %u      A unique number for resolving
                                       naming conflicts                                                          x          Extracts files. If you supply one or more file names, only those files are
                               %%      The % character                                                                      extracted. Otherwise, all files are extracted.
                                                                                                                            jar xf myprog.jar
java.util.logging.            The default append mode for file loggers; false
FileHandler.append            true to append to an existing log file                                             O          Stores without ZIP compression



                                                                                         DZone, Inc.    |   www.dzone.com
6
                                                                                                                                                                                                                        Core Java
                 tech facts at your fingertips




            COmmON javac OpTIONS                                                                                                   COmmON java OpTIONS

           Option                   Purpose                                                                                       Option                     Purpose
           -cp   or -classpath      Sets the class path, used to search for class files. The class path is a                      -cp   or -classpath        Sets the class path, used to search for class files. See the previous
                                    list of directories, JAR files, or expressions of the form directory/'*'                                                 table for details. Note that javac can succeed when java fails if the
                                    (Unix) or directory* (Windows). The latter refers to all JAR files
                                                                                                                                                             current directory is on the source path but not the class path.
                                    in the given directory. Class path items are separated by : (Unix)
                                    or ; (Windows). If no class path is specified, it is set to the current                       -ea or                     Enable assertions. By default, assertions are disabled.
                                    directory. If a class path is specified, the current directory is not                         -enableassertions
                                    automatically included—add a . item if you want to include it.
                                                                                                                                  -Dproperty=value           Sets a system property that can be retrieved by System.
           -sourcepath              Sets the path used to search for source files. If source and class files
                                    are present for a given file, the source is compiled if it is newer. If no                                               getProperty(String)
                                    source path is specified, it is set to the current directory.
                                                                                                                                  -jar                       Runs a program contained in a JAR file whose manifest has a
           -d                       Sets the path used to place the class files. Use this option to separate                                                 Main-Class entry. When this option is used, the class path is ignored.
                                    .java and .class files.
                                                                                                                                  -verbose                   Shows the classes that are loaded. This option may be useful to
           -source                  Sets the source level. Valid values are 1.3, 1.4, 1.5, 1.6, 5, 6                                                         debug class loading problems.
           -deprecation             Gives detail information about the use of deprecated features
                                                                                                                                  -Xmssize                   Sets the initial or maximum heap size. The size is a value in bytes.
           -Xlint:unchecked         Gives detail information about unchecked type conversion warnings                             -Xmxsize                   Add a suffix k or m for kilobytes or megabytes, for example, -Xmx10m




     AbOUT ThE AUThOR                                                                                                                             RECOmmENDED bOOKS

                                 Cay S. Horstmann                                                                                                                                                              Core Java, now in
                                 Cay S. Horstmann has written many books on C++, Java and object-
                                                                                                                                                                                                               its 8th edition, is a
                                 oriented development, is the series editor for Core Books at Prentice-Hall
                                 and a frequent speaker at computer industry conferences. For four years,                                                                                                      no-nonsense tutorial
                                 Cay was VP and CTO of an Internet startup that went from 3 people in a                                                                                                        and reliable reference
                                 tiny office to a public company. He is now a computer science professor                                                                                                       into all aspects of
                                 at San Jose State University. He was elected Java Champion in 2005.
                                                                                                                                                                                                               Java SE 6.
     Publications
     n	   Core Java, with Gary Cornell (Sun Microsystems Press 1996–2007)
     n	   Core JavaServer Faces, with David Geary (Sun Microsystems Press 2004–2006)
     n	   Big Java (John Wiley & Sons 2001–2007)
                                                                                                                                                                                        bUy NOw
     Web Site                                       Blog                                                                                                         books.dzone.com/books/corejava1
     http://horstmann.com                           http://weblogs.java.net/blog/cayhorstmann                                                                    books.dzone.com/books/corejava2


 Want More? Download Now. Subscribe at refcardz.com
 Upcoming Refcardz:                                              Available:                                         Published July 2008
     		Agile Methodologies:                                                                                         n   		NetBeans IDE 6.1 Java Editor
 n
                                                                Published September 2008
                                                                                                                        		RSS and Atom
       Best Practices                                               		Getting Started with JPA
                                                                                                                    n
                                                                n

                                                                                                                        		GlassFish Application Server
     		Core CSS: Part II
                                                                                                                    n
 n                                                              n   		JavaServer Faces
                                                                                                                    n   		Silverlight 2
     		Spring Annotations                                           		Struts2
                                                                                                                                                                                   FREE
                                                                n

                                                                                                                        		IntelliJ IDEA
 n
                                                                                                                    n


 n   		PHP                                                      n   		Core CSS: Part I
                                                                                                                    Published June 2008
 n   		JUnit                                                    Published August 2008                               n   	 jQuerySelectors
 n   		SOA Patterns                                             n   		Core .NET                                     n   	 Flexible Rails: Flex 3 on Rails 2
     		Core CSS: Part III                                       n   		Very First Steps in Flex
 n
                                                                                                                    Published May 2008
     		Scalability and High Availability                        n   	 C#                                            n   	 Windows PowerShell
                                                                                                                                                                                                                 Design Patterns
 n


                                                                    	 Groovy                                        n   	 Dependency Injection in EJB 3
     		MySQL
                                                                n
 n
                                                                                                                                                                                                               Published June 2008
 n   		Seam                                                      Visit http://refcardz.dzone.com for a complete listing of available Refcardz.


                                                                                                                            DZone, Inc.
                                                                                                                            1251 NW Maynard
                                                                                                                                                                                            ISBN-13: 978-1-934238-26-4
                                                                                                                            Cary, NC 27513
                                                                                                                                                                                            ISBN-10: 1-934238-26-0
                                                                                                                                                                                                                            50795
                                                                                                                            888.678.0399
DZone communities deliver over 3.5 million pages per month to                                                               919.678.0300
more than 1.5 million software developers, architects and designers.
                                                                                                                            Refcardz Feedback Welcome
DZone offers something for every developer, including news,                                                                 refcardz@dzone.com
                                                                                                                                                                                                                                          $7.95




tutorials, blogs, cheatsheets, feature articles, source code and more.                                                      Sponsorship Opportunities                                   9 781934 238264
“DZone is a developer’s dream,” says PC Magazine.                                                                           sales@dzone.com
Copyright © 2008 DZone, Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by means electronic, mechanical, photocopying,                Version 1.0
or otherwise, without prior written permission of the publisher. Reference: Core Java, Volume I and Core Java, Volume II, Cay S. Horstmann and Gary Cornell, Sun Microsystems Press, 1996-2007.

Contenu connexe

Tendances

Java Course 4: Exceptions & Collections
Java Course 4: Exceptions & CollectionsJava Course 4: Exceptions & Collections
Java Course 4: Exceptions & CollectionsAnton Keks
 
A Recommender System for Refining Ekeko/X Transformation
A Recommender System for Refining Ekeko/X TransformationA Recommender System for Refining Ekeko/X Transformation
A Recommender System for Refining Ekeko/X TransformationCoen De Roover
 
A Logic Meta-Programming Foundation for Example-Driven Pattern Detection in O...
A Logic Meta-Programming Foundation for Example-Driven Pattern Detection in O...A Logic Meta-Programming Foundation for Example-Driven Pattern Detection in O...
A Logic Meta-Programming Foundation for Example-Driven Pattern Detection in O...Coen De Roover
 
Xm Lquickref
Xm LquickrefXm Lquickref
Xm LquickrefLiquidHub
 
Xml Syntax Quick Reference
Xml Syntax Quick ReferenceXml Syntax Quick Reference
Xml Syntax Quick ReferenceLiquidHub
 
Java Course 5: Enums, Generics, Assertions
Java Course 5: Enums, Generics, AssertionsJava Course 5: Enums, Generics, Assertions
Java Course 5: Enums, Generics, AssertionsAnton Keks
 
Using Stratego/XT for generation of software connectors.
Using Stratego/XT for generation of software connectors.Using Stratego/XT for generation of software connectors.
Using Stratego/XT for generation of software connectors.Michal Malohlava
 
Turmeric SOA Cloud Mashups
Turmeric SOA Cloud MashupsTurmeric SOA Cloud Mashups
Turmeric SOA Cloud Mashupskingargyle
 
Java Course 7: Text processing, Charsets & Encodings
Java Course 7: Text processing, Charsets & EncodingsJava Course 7: Text processing, Charsets & Encodings
Java Course 7: Text processing, Charsets & EncodingsAnton Keks
 
Java Course 3: OOP
Java Course 3: OOPJava Course 3: OOP
Java Course 3: OOPAnton Keks
 
Dynamic Analysis - SCOTCH: Improving Test-to-Code Traceability using Slicing ...
Dynamic Analysis - SCOTCH: Improving Test-to-Code Traceability using Slicing ...Dynamic Analysis - SCOTCH: Improving Test-to-Code Traceability using Slicing ...
Dynamic Analysis - SCOTCH: Improving Test-to-Code Traceability using Slicing ...ICSM 2011
 
jQuery Visual Cheat Sheet (by WOORK)_1
jQuery Visual Cheat Sheet (by WOORK)_1jQuery Visual Cheat Sheet (by WOORK)_1
jQuery Visual Cheat Sheet (by WOORK)_1brecke
 

Tendances (14)

Java Course 4: Exceptions & Collections
Java Course 4: Exceptions & CollectionsJava Course 4: Exceptions & Collections
Java Course 4: Exceptions & Collections
 
A Recommender System for Refining Ekeko/X Transformation
A Recommender System for Refining Ekeko/X TransformationA Recommender System for Refining Ekeko/X Transformation
A Recommender System for Refining Ekeko/X Transformation
 
A Logic Meta-Programming Foundation for Example-Driven Pattern Detection in O...
A Logic Meta-Programming Foundation for Example-Driven Pattern Detection in O...A Logic Meta-Programming Foundation for Example-Driven Pattern Detection in O...
A Logic Meta-Programming Foundation for Example-Driven Pattern Detection in O...
 
Xm Lquickref
Xm LquickrefXm Lquickref
Xm Lquickref
 
Xml Syntax Quick Reference
Xml Syntax Quick ReferenceXml Syntax Quick Reference
Xml Syntax Quick Reference
 
Java Course 5: Enums, Generics, Assertions
Java Course 5: Enums, Generics, AssertionsJava Course 5: Enums, Generics, Assertions
Java Course 5: Enums, Generics, Assertions
 
Final Defense
Final DefenseFinal Defense
Final Defense
 
Using Stratego/XT for generation of software connectors.
Using Stratego/XT for generation of software connectors.Using Stratego/XT for generation of software connectors.
Using Stratego/XT for generation of software connectors.
 
Turmeric SOA Cloud Mashups
Turmeric SOA Cloud MashupsTurmeric SOA Cloud Mashups
Turmeric SOA Cloud Mashups
 
Java Course 7: Text processing, Charsets & Encodings
Java Course 7: Text processing, Charsets & EncodingsJava Course 7: Text processing, Charsets & Encodings
Java Course 7: Text processing, Charsets & Encodings
 
Java Course 3: OOP
Java Course 3: OOPJava Course 3: OOP
Java Course 3: OOP
 
Dynamic Analysis - SCOTCH: Improving Test-to-Code Traceability using Slicing ...
Dynamic Analysis - SCOTCH: Improving Test-to-Code Traceability using Slicing ...Dynamic Analysis - SCOTCH: Improving Test-to-Code Traceability using Slicing ...
Dynamic Analysis - SCOTCH: Improving Test-to-Code Traceability using Slicing ...
 
00 ruby tutorial
00 ruby tutorial00 ruby tutorial
00 ruby tutorial
 
jQuery Visual Cheat Sheet (by WOORK)_1
jQuery Visual Cheat Sheet (by WOORK)_1jQuery Visual Cheat Sheet (by WOORK)_1
jQuery Visual Cheat Sheet (by WOORK)_1
 

Similaire à Corejava Online 100

Java%20 programming%20guide%20 %20quick%20reference
Java%20 programming%20guide%20 %20quick%20referenceJava%20 programming%20guide%20 %20quick%20reference
Java%20 programming%20guide%20 %20quick%20referenceShalini Pillai
 
Java%20 programming%20guide%20 %20quick%20reference
Java%20 programming%20guide%20 %20quick%20referenceJava%20 programming%20guide%20 %20quick%20reference
Java%20 programming%20guide%20 %20quick%20referenceShalini Pillai
 
Java programming guide - quick reference
Java programming guide -  quick referenceJava programming guide -  quick reference
Java programming guide - quick referenceTutorials Tips Tricks
 
Java%20 programming%20guide%20 %20quick%20reference
Java%20 programming%20guide%20 %20quick%20referenceJava%20 programming%20guide%20 %20quick%20reference
Java%20 programming%20guide%20 %20quick%20referenceShalini Pillai
 
Programming Android Application in Scala.
Programming Android Application in Scala.Programming Android Application in Scala.
Programming Android Application in Scala.Brian Hsu
 
Java questions with answers
Java questions with answersJava questions with answers
Java questions with answersKuntal Bhowmick
 
Java常见疑惑和陷阱
Java常见疑惑和陷阱Java常见疑惑和陷阱
Java常见疑惑和陷阱Ady Liu
 
Core Java Tutorials by Mahika Tutorials
Core Java Tutorials by Mahika TutorialsCore Java Tutorials by Mahika Tutorials
Core Java Tutorials by Mahika TutorialsMahika Tutorials
 
imperative programming language, java, android
imperative programming language, java, androidimperative programming language, java, android
imperative programming language, java, androidi i
 
Getting Started With Scala
Getting Started With ScalaGetting Started With Scala
Getting Started With ScalaMeetu Maltiar
 
[A4]de view2012 scala-michinisougu
[A4]de view2012 scala-michinisougu[A4]de view2012 scala-michinisougu
[A4]de view2012 scala-michinisouguNAVER D2
 
Functional programming with Java 8
Functional programming with Java 8Functional programming with Java 8
Functional programming with Java 8Talha Ocakçı
 
DejaVOO: A Regression Testing Tool for Java Software
DejaVOO: A Regression Testing Tool for Java SoftwareDejaVOO: A Regression Testing Tool for Java Software
DejaVOO: A Regression Testing Tool for Java SoftwareManas Tungare
 
Terence Barr - jdk7+8 - 24mai2011
Terence Barr - jdk7+8 - 24mai2011Terence Barr - jdk7+8 - 24mai2011
Terence Barr - jdk7+8 - 24mai2011Agora Group
 
Session 38 - Core Java (New Features) - Part 1
Session 38 - Core Java (New Features) - Part 1Session 38 - Core Java (New Features) - Part 1
Session 38 - Core Java (New Features) - Part 1PawanMM
 

Similaire à Corejava Online 100 (20)

Java%20 programming%20guide%20 %20quick%20reference
Java%20 programming%20guide%20 %20quick%20referenceJava%20 programming%20guide%20 %20quick%20reference
Java%20 programming%20guide%20 %20quick%20reference
 
Java%20 programming%20guide%20 %20quick%20reference
Java%20 programming%20guide%20 %20quick%20referenceJava%20 programming%20guide%20 %20quick%20reference
Java%20 programming%20guide%20 %20quick%20reference
 
Java programming guide - quick reference
Java programming guide -  quick referenceJava programming guide -  quick reference
Java programming guide - quick reference
 
Java cheat sheet
Java cheat sheetJava cheat sheet
Java cheat sheet
 
Java%20 programming%20guide%20 %20quick%20reference
Java%20 programming%20guide%20 %20quick%20referenceJava%20 programming%20guide%20 %20quick%20reference
Java%20 programming%20guide%20 %20quick%20reference
 
Scala
ScalaScala
Scala
 
Programming Android Application in Scala.
Programming Android Application in Scala.Programming Android Application in Scala.
Programming Android Application in Scala.
 
Java questions with answers
Java questions with answersJava questions with answers
Java questions with answers
 
Java常见疑惑和陷阱
Java常见疑惑和陷阱Java常见疑惑和陷阱
Java常见疑惑和陷阱
 
Core Java Tutorials by Mahika Tutorials
Core Java Tutorials by Mahika TutorialsCore Java Tutorials by Mahika Tutorials
Core Java Tutorials by Mahika Tutorials
 
imperative programming language, java, android
imperative programming language, java, androidimperative programming language, java, android
imperative programming language, java, android
 
20070329 Tech Study
20070329 Tech Study 20070329 Tech Study
20070329 Tech Study
 
Getting Started With Scala
Getting Started With ScalaGetting Started With Scala
Getting Started With Scala
 
Getting Started With Scala
Getting Started With ScalaGetting Started With Scala
Getting Started With Scala
 
First fare 2010 java-introduction
First fare 2010 java-introductionFirst fare 2010 java-introduction
First fare 2010 java-introduction
 
[A4]de view2012 scala-michinisougu
[A4]de view2012 scala-michinisougu[A4]de view2012 scala-michinisougu
[A4]de view2012 scala-michinisougu
 
Functional programming with Java 8
Functional programming with Java 8Functional programming with Java 8
Functional programming with Java 8
 
DejaVOO: A Regression Testing Tool for Java Software
DejaVOO: A Regression Testing Tool for Java SoftwareDejaVOO: A Regression Testing Tool for Java Software
DejaVOO: A Regression Testing Tool for Java Software
 
Terence Barr - jdk7+8 - 24mai2011
Terence Barr - jdk7+8 - 24mai2011Terence Barr - jdk7+8 - 24mai2011
Terence Barr - jdk7+8 - 24mai2011
 
Session 38 - Core Java (New Features) - Part 1
Session 38 - Core Java (New Features) - Part 1Session 38 - Core Java (New Features) - Part 1
Session 38 - Core Java (New Features) - Part 1
 

Plus de reynolds

Three Thing In The Life
Three Thing In The LifeThree Thing In The Life
Three Thing In The Lifereynolds
 
Snake Catchers In Africa
Snake Catchers In AfricaSnake Catchers In Africa
Snake Catchers In Africareynolds
 
Tsunami Before & After
Tsunami Before & AfterTsunami Before & After
Tsunami Before & Afterreynolds
 
America chooses barack obama
America chooses barack obamaAmerica chooses barack obama
America chooses barack obamareynolds
 
Obama Biden
Obama BidenObama Biden
Obama Bidenreynolds
 
Vote For The Barack Obama
Vote For The Barack ObamaVote For The Barack Obama
Vote For The Barack Obamareynolds
 
Barack Obama
Barack ObamaBarack Obama
Barack Obamareynolds
 
Vote For Change
Vote For ChangeVote For Change
Vote For Changereynolds
 
Barack Obama
Barack ObamaBarack Obama
Barack Obamareynolds
 
ObamaShirts
ObamaShirtsObamaShirts
ObamaShirtsreynolds
 
Obama+Presidential+Seal
Obama+Presidential+SealObama+Presidential+Seal
Obama+Presidential+Sealreynolds
 
Barack Obama Phots Gallery
Barack Obama Phots GalleryBarack Obama Phots Gallery
Barack Obama Phots Galleryreynolds
 
Barack Obama
Barack ObamaBarack Obama
Barack Obamareynolds
 
Canstruction
CanstructionCanstruction
Canstructionreynolds
 
Some Of The Beautiful Temples Of The World
Some Of The Beautiful Temples Of The WorldSome Of The Beautiful Temples Of The World
Some Of The Beautiful Temples Of The Worldreynolds
 
Learn to live
Learn to liveLearn to live
Learn to livereynolds
 
MANAGING RISK IN INTERNATIONAL BUSINESS
MANAGING RISK IN INTERNATIONAL BUSINESSMANAGING RISK IN INTERNATIONAL BUSINESS
MANAGING RISK IN INTERNATIONAL BUSINESSreynolds
 
Artistic Airplanes
Artistic AirplanesArtistic Airplanes
Artistic Airplanesreynolds
 
America The Beautiful
America The BeautifulAmerica The Beautiful
America The Beautifulreynolds
 

Plus de reynolds (20)

Three Thing In The Life
Three Thing In The LifeThree Thing In The Life
Three Thing In The Life
 
Snake Catchers In Africa
Snake Catchers In AfricaSnake Catchers In Africa
Snake Catchers In Africa
 
Tsunami Before & After
Tsunami Before & AfterTsunami Before & After
Tsunami Before & After
 
America chooses barack obama
America chooses barack obamaAmerica chooses barack obama
America chooses barack obama
 
Obama Biden
Obama BidenObama Biden
Obama Biden
 
Vote For The Barack Obama
Vote For The Barack ObamaVote For The Barack Obama
Vote For The Barack Obama
 
Barack Obama
Barack ObamaBarack Obama
Barack Obama
 
Vote For Change
Vote For ChangeVote For Change
Vote For Change
 
Barack Obama
Barack ObamaBarack Obama
Barack Obama
 
ObamaShirts
ObamaShirtsObamaShirts
ObamaShirts
 
Obama+Presidential+Seal
Obama+Presidential+SealObama+Presidential+Seal
Obama+Presidential+Seal
 
Barack Obama Phots Gallery
Barack Obama Phots GalleryBarack Obama Phots Gallery
Barack Obama Phots Gallery
 
Barack Obama
Barack ObamaBarack Obama
Barack Obama
 
Canstruction
CanstructionCanstruction
Canstruction
 
Some Of The Beautiful Temples Of The World
Some Of The Beautiful Temples Of The WorldSome Of The Beautiful Temples Of The World
Some Of The Beautiful Temples Of The World
 
Learn to live
Learn to liveLearn to live
Learn to live
 
MANAGING RISK IN INTERNATIONAL BUSINESS
MANAGING RISK IN INTERNATIONAL BUSINESSMANAGING RISK IN INTERNATIONAL BUSINESS
MANAGING RISK IN INTERNATIONAL BUSINESS
 
Artistic Airplanes
Artistic AirplanesArtistic Airplanes
Artistic Airplanes
 
America The Beautiful
America The BeautifulAmerica The Beautiful
America The Beautiful
 
Good Life
Good LifeGood Life
Good Life
 

Dernier

FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfOverkill Security
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 

Dernier (20)

FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 

Corejava Online 100

  • 1. Subscribe Now for FREE! refcardz.com tech facts at your fingertips CONTENTS INCLUDE: Core Java n Java Keywords n Standard Java Packages n Character Escape Sequences n Collections and Common Algorithms n Regular Expressions By Cay S. Horstmann n JAR Files Java Keywords, continued AbOUT CORE JAVA Keyword Description Example finally the part of a try block see try This refcard gives you an overview of key aspects of the Java that is always executed language and cheat sheets on the core library (formatted float the single-precision float oneHalf = 0.5F; output, collections, regular expressions, logging, properties) floating-point type as well as the most commonly used tools (javac, java, jar). for a loop type for (int i = 10; i >= 0; i--) System.out.println(i); for (String s : line.split(quot;s+quot;)) System.out.println(s); Note: In the “generalized” for loop, the expression JAVA KEywORDS after the : must be an array or an Iterable goto not used Keyword Description Example if a conditional statement if (input == 'Q') System.exit(0); abstract an abstract class or abstract class Writable { else method public abstract void write(Writer out); more = true; public void save(String filename) { ... } implements defines the interface(s) class Student } implements Printable { that a class implements ... assert with assertions enabled, assert param != null; } throws an error if Note: Run with -ea to enable assertions condition not fulfilled import imports a package import java.util.ArrayList; import com.dzone.refcardz.*; boolean the Boolean type with boolean more = false; instanceof tests if an object is an if (fred instanceof Student) values true and false value = ((Student) fred).getId(); instance of a class break breaks out of a switch while ((ch = in.next()) != -1) { Note: null instanceof T is always false or loop if (ch == 'n') break; process(ch); int the 32-bit integer type int value = 0; } interface an abstract type with interface Printable { Note: Also see switch methods that a class can void print(); www.dzone.com } byte the 8-bit integer type byte b = -1; // Not the same as 0xFF implement Note: Be careful with bytes < 0 long the 64-bit long integer long worldPopulation = 6710044745L; type case a case of a switch see switch native a method implemented catch the clause of a try block see try by the host system catching an exception new allocates a new object Person fred = new Person(quot;Fredquot;); char the Unicode character char input = 'Q'; or array type null a null reference Person optional = null; class defines a class type class Person { package a package of classes package com.dzone.refcardz; private String name; public Person(String aName) { private a feature that is see class name = aName; accessible only by } public void print() { methods of this class System.out.println(name); } protected a feature that is accessible class Student { only by methods of this protected int id; } ... class, its children, and } const not used other classes in the same package → continue continues at the end of while ((ch = in.next()) != -1) { a loop if (ch == ' ') continue; process(ch); } default the default clause of a switch see switch Get More Refcardz (They’re free!) do the top of a do/while do { loop ch = in.next(); } while (ch == ' '); n Authoritative content double the double-precision double oneHalf = 0.5; n Designed for developers floating-number type n Written by top experts else the else clause of an if see if statement n Latest tools & technologies Core Java enum an enumerated type enum Mood { SAD, HAPPY }; n Hot tips & examples extends defines the parent class class Student extends Person { n Bonus content online private int id; of a class public Student(String name, int anId) { ... } n New issue every 1-2 weeks public void print() { ... } } Subscribe Now for FREE! final a constant, or a class or public static final int DEFAULT_ID = 0; method that cannot be Refcardz.com overridden DZone, Inc. | www.dzone.com
  • 2. 2 Core Java tech facts at your fingertips Java Keywords, continued OpERATOR pRECEDENCE Keyword Description Example public a feature that is see class accessible by methods Operators with the Notes of all classes same precedence return returns from a method int getId() { return id; } [] . () (method call) Left to right short the 16-bit integer type short skirtLength = 24; ! ~ ++ -- + (unary) – Right to left ~ flips each bit of a number static a feature that is public class WriteUtil { (unary) () (cast) new unique to its class, not public static void write(Writable[] ws, String filename); * / % Left to right Be careful when using % with negative to objects of its class public static final String DEFAULT_EXT = quot;.datquot;; numbers. -a % b == -(a % b), but a } % -b == a % b. For example, -7 % 4 strictfp Use strict rules == -3, 7 % -4 == 3. for floating-point computations + - Left to right super invoke a superclass public Student(String name, int anId) { << >> >>> Left to right >> is arithmetic shift (n >> 1 == n / 2 for constructor or method super(name); id = anId; positive and negative numbers), >>> is logical } shift (adding 0 to the highest bits). The right public void print() { hand side is reduced modulo 32 if the left hand super.print(); side is an int or modulo 64 if the left hand side System.out.println(id); } is a long. For example, 1 << 35 == 1 << 3. switch a selection statement switch (ch) { < <= > >= instanceof Left to right null instanceof T is always false case 'Q': case 'q': == != Left to right Checks for identity. Use equals to check for more = false; break; structural equality. case ' '; break; default: & Left to right Bitwise AND; no lazy evaluation with bool process(ch); break; arguments } Note: If you omit a break, processing continues ^ Left to right Bitwise XOR with the next case. | Left to right Bitwise OR; no lazy evaluation with bool synchronized a method or code public synchronized void addGrade(String gr) { arguments block that is atomic to grades.add(gr); a thread && Left to right } this the implicit argument public Student(String id) {this.id = id;} || Left to right of a method, or a public Student() { this(quot;quot;); } constructor of this class ?: Right to left throw throws an exception if (param == null) = += -= *= /= %= &= Right to left throw new IllegalArgumentException(); |= ^= <<= >>= >>>= throws the exceptions that a public void print() method can throw throws PrinterException, IOException transient marks data that should class Student { private transient Data cachedData; pRImITIVE TypES not be persistent ... } Type Size Range Notes try a block of code that try { traps exceptions try { fred.print(out); int 4 bytes –2,147,483,648 to 2,147,483, 647 The wrapper type is Integer. } catch (PrinterException ex) { (just over 2 billion) Use BigInteger for arbitrary ex.printStackTrace(); precision integers. } } finally { short 2 bytes –32,768 to 32,767 out.close(); } long 8 bytes –9,223,372,036,854,775,808 to Literals end with L (e.g. 1L). void denotes a method public void print() { ... } 9,223,372,036,854,775,807 that returns no value byte 1 byte –128 to 127 Note that the range is not volatile ensures that a field is class Student { 0 ... 255. coherently accessed private volatile int nextId; by multiple threads ... float 4 bytes approximately Literals end with F (e.g. 0.5F) } ±3.40282347E+38F (6–7 while a loop while (in.hasNext()) significant decimal digits) process(in.next()); double 8 bytes approximately Use BigDecimal for arbitrary ±1.79769313486231570E+308 precision floating-point (15 significant decimal digits) numbers. STANDARD JAVA pACKAgES char 2 bytes u0000 to uFFFF The wrapper type is Character. Unicode java.applet Applets (Java programs that run inside a web page) characters > U+FFFF require two char values. java.awt Graphics and graphical user interfaces boolean true or false java.beans Support for JavaBeans components (classes with properties and event listeners) java.io Input and output Legal conversions between primitive types Dotted arrows denote conversions that may lose precision. java.lang Language support java.math Arbitrary-precision numbers java.net Networking java.nio “New” (memory-mapped) I/O java.rmi Remote method invocations java.security Security support java.sql Database support java.text Internationalized formatting of text and numbers java.util Utilities (including data structures, concurrency, regular expressions, and logging) DZone, Inc. | www.dzone.com
  • 3. 3 Core Java tech facts at your fingertips COLLECTIONS AND COmmON ALgORIThmS FORmATTED OUTpUT wITh printf ArrayList An indexed sequence that grows and shrinks dynamically Typical usage LinkedList An ordered sequence that allows efficient insertions and removal at any location System.out.printf(quot;%4d %8.2fquot;, quantity, price); ArrayDeque A double-ended queue that is implemented as a circular array String str = String.format(quot;%4d %8.2fquot;, quantity, price); HashSet An unordered collection that rejects duplicates Each format specifier has the following form. See the tables for TreeSet A sorted set flags and conversion characters. EnumSet A set of enumerated type values LinkedHashSet A set that remembers the order in which elements were inserted PriorityQueue A collection that allows efficient removal of the smallest element HashMap A data structure that stores key/value associations TreeMap A map in which the keys are sorted EnumMap A map in which the keys belong to an enumerated type LinkedHashMap A map that remembers the order in which entries were added WeakHashMap A map with values that can be reclaimed by the garbage collector if they are not used elsewhere Flags IdentityHashMap A map with keys that are compared by ==, not equals Flag Description Example + Prints sign for positive and negative numbers +3333.33 Common Tasks space Adds a space before positive numbers | 3333.33| List<String> strs = new ArrayList<String>(); Collect strings 0 Adds leading zeroes 003333.33 strs.add(quot;Helloquot;); strs.add(quot;World!quot;); Add strings - Left-justifies field |3333.33 | for (String str : strs) System.out.println(str); Do something with all elements in the collection ( Encloses negative number in parentheses (3333.33) Iterator<String> iter = strs.iterator(); Remove elements that match a , Adds group separators 3,333.33 while (iter.hasNext()) { condition. The remove method String str = iter.next(); # (for f format) Always includes a decimal point 3,333. if (someCondition(str)) iter.remove(); removes the element returned by the preceding call to next. # (for x or o Adds 0x or 0 prefix 0xcafe } format) strs.addAll(strColl); Add all strings from another collection of strings $ Specifies the index of the argument to be formatted; 159 9F for example, %1$d %1$x prints the first argument in strs.addAll(Arrays.asList(args)) Add all strings from an array of decimal and hexadecimal strings. Arrays.asList makes a List wrapper for an array < Formats the same value as the previous specification; 159 9F for example, %d %<x prints the same number in decimal strs.removeAll(coll); Remove all elements of another and hexadecimal collection. Uses equals for comparison Conversion characters if (0 <= i && i < strs.size()) { Get or set an element at a str = strs.get(i); specified index strs.set(i, quot;Helloquot;); Conversion Description Example } Character strs.insert(i, quot;Helloquot;); Insert or remove an element at d Decimal integer 159 str = strs.remove(i); a specified index, shifting the x Hexadecimal integer 9f elements with higher index values o Octal integer 237 String[] arr = new String[strs.size()]; Convert from collection to array strs.toArray(arr); f Fixed-point floating-point 15.9 String[] arr = ...; Convert from array to list. Use e Exponential floating-point 1.59e+01 List<String> lst = Arrays.asList(arr); the varargs form to make a small lst = Arrays.asList(quot;fooquot;, quot;barquot;, quot;bazquot;); g General floating-point (the shorter of e and f) collection. List<String> lst = ...; Sort a list by the natural order of a Hexadecimal floating-point 0x1.fccdp3 lst.sort(); the elements, or with a custom lst.sort(new Comparator<String>() { s String Hello public int compare(String a, String b) { comparator. return a.length() - b.length(); c Character H } } b boolean true Map<String, Person> map = new Make a map that is traversed in h Hash code 42628b2 LinkedHashMap<String, Person>(); insertion order (requires hashCode tx Date and time See the next table for key type). Use a TreeMap to traverse in sort order (requires that % The percent symbol % key type is comparable). n The platform-dependent line separator for (Map.Entry<String, Person> entry : Iterate through all entries of the map.entrySet()) { map String key = entry.getKey(); Person value = entry.getValue(); ... FORmATTED OUTpUT wITh MessageFormat } Person key = map.get(str); // null if not found Get or set a value for a given key map.put(key, value); Typical usage: String msg = MessageFormat.format(quot;On {1, date, long}, a {0} caused {2,number,currency} of damage.quot;, ChARACTER ESCApE SEqUENCES quot;hurricanequot;, new GregorianCalendar(2009, 0, 15). getTime(), 1.0E8); b backspace u0008 t tab u0009 Yields quot;On January 1, 1999, a hurricane caused n newline u000A $100,000,000 of damagequot; f form feed u000C n The nth item is denoted by {n,format,subformat} with r carriage return u000D optional formats and subformats shown below quot; double quote n {0} is the first item ' single quote backslash n The following table shows the available formats uhhhh (hhhh is a hex number between 0000 and FFFF) The UTF-16 code point with value hhhh n Use single quotes for quoting, for example '{' for a literal ooo (ooo is an octal number between 0 and 377) The character with octal value ooo left curly brace Note: Unlike in C/C++, xhh is not allowed n Use '' for a literal single quote → DZone, Inc. | www.dzone.com
  • 4. 4 Core Java tech facts at your fingertips Formatted Output with MessageFormat, continued Regular Expression Syntax, continued Format Subformat Example Boundary Matchers number none 1,234.567 ^ $ Beginning, end of input (or beginning, end of line in multiline mode) integer 1,235 b A word boundary currency $1,234.57 B A nonword boundary percent 123,457% A Beginning of input z End of input date none or medium Jan 15, 2009 Z End of input except final line terminator short 1/15/09 G End of previous match long January 15, 2009 Quantifiers full Thursday, January 15, 2009 X? Optional X time none or medium 3:45:00 PM X* X, 0 or more times short 3:45 PM X+ X, 1 or more times long 3:45:00 PM PST X{n} X{n,} X{n,m} X n times, at least n times, between n and m times full 3:45:00 PM PST Quantifier Suffixes choice List of choices, separated by |. Each choice has no house ? Turn default (greedy) match into reluctant match n a lower bound (use -u221E for -∞) n a relational operator: < for “less than”, # or one house + Turn default (greedy) match into reluctant match u2264 for ≤ Set Operations 5 houses n a message format string XY Any string from X, followed by any string from Y For example, {1,choice,0#no houses|1#one X |Y Any string from X or Y house|2#{1} houses} Grouping (X) Capture the string matching X as a group REgULAR ExpRESSIONS g The match of the gth group Escapes Common Tasks c The character c (must not be an alphabetic character) Q . . . E Quote . . . verbatim String[] words = str.split(quot;s+quot;); Split a string along white space boundaries (? . . . ) Special construct— see API notes of Pattern class Pattern pattern = Pattern.compile(quot;[0-9]+quot;); Replace all matches. Matcher matcher = pattern.matcher(str); Here we replace all digit Predefined Character Class Names String result = matcher.replaceAll(quot;#quot;); sequences with a #. Lower ASCII lower case [a-z] Pattern pattern = Pattern.compile(quot;[0-9]+quot;); Find all matches. Matcher matcher = pattern.matcher(str); Upper ASCII upper case [A-Z] while (matcher.find()) { Alpha ASCII alphabetic [A-Za-z] process(str.substring(matcher.start(), matcher.end())); } Digit ASCII digits [0-9] Alnum ASCII alphabetic or digit [A-Za-z0-9] Pattern pattern = Pattern.compile( Find all groups (indicated quot;(1?[0-9]):([0-5][0-9])[ap]mquot;); by parentheses in the XDigit Hex digits [0-9A-Fa-f] Matcher matcher = pattern.matcher(str); pattern). Here we find the hours and minutes Print or Graph Printable ASCII character [x21-x7E] for (int i = 1; i <= matcher.groupCount(); i++) { in a date. Punct ASCII nonalpha or digit [p{Print}&&P{Alnum}] process(matcher.group(i)); } ASCII All ASCII [x00-x7F] Cntrl ASCII Control character [x00-x1F] Regular Expression Syntax Blank Space or tab [ t] Space Whitespace [ tnrf0x0B] Characters javaLowerCase Lower case, as determined by Character.isLowerCase() c The character c javaUpperCase Upper case, as determined by Character.isUpperCase() unnnn, xnn, The code unit with the given hex or octal value 0n, 0nn, javaWhitespace White space, as determined by Character.isWhiteSpace() 0nnn javaMirrored Mirrored, as determined by Character.isMirrored() t, n, r, The control characters tab, newline, return, form feed, alert, and escape InBlock Block is the name of a Unicode character block, with spaces f, a, e removed, such as BasicLatin or Mongolian. cc The control character corresponding to the character c Category or InCategory Category is the name of a Unicode character category such Character Classes as L (letter) or Sc (currency symbol). [C1C2 . . .] Union: Any of the characters represented by C1C 2 , . . . The Ci are characters, character ranges c1-c 2, or character classes. Flags for matching Example: [a-zA-Z0-9_] The pattern matching can be adjusted with flags, for example: [^C1C2 . . .] Complement: Characters not represented by any of C1C 2 , . . . Example: [^0-9] Pattern pattern = Pattern.compile(patternString, [C1&& C2 && . . .] Intersection: Characters represented by all of C1C 2 , . . . Pattern.CASE_INSENSITIVE + Pattern.UNICODE_CASE) Example: [A-f&&[^G-`]] Flag Description Predefined Character Classes CASE_INSENSITIVE Match characters independently of the letter case. By default, . Any character except line terminators (or any character if the DOTALL this flag takes only US ASCII characters into account. flag is set) UNICODE_CASE When used in combination with CASE_INSENSITIVE, use Unicode d A digit [0-9] letter case for matching. D A nondigit [^0-9] MULTILINE ^ and $ match the beginning and end of a line, not the entire input. s A whitespace character [ tnrfx0B] UNIX_LINES Only 'n' is recognized as a line terminator when matching ^ and $ in multiline mode. S A nonwhitespace character DOTALL When using this flag, the . symbol matches all characters, w A word character [a-zA-Z0-9_] including line terminators. W A nonword character CANON_EQ Takes canonical equivalence of Unicode characters into account. For example, u followed by ¨ (diaeresis) matches ü. p{name} A named character class—see table below LITERAL The input string that specifies the pattern is treated as a sequence P{name} The complement of a named character class of literal characters, without special meanings for . [ ] etc. DZone, Inc. | www.dzone.com
  • 5. 5 Core Java tech facts at your fingertips LOggINg pROpERTy FILES Common Tasks n Contain name/value pairs, separated by =, :, or whitespace Logger logger = Get a logger for a category n Whitespace around the name or before the start of the Logger.getLogger(quot;com.mycompany.myprog.mycategoryquot;); logger.info(quot;Connection successful.quot;); Logs a message of level FINE. value is ignored Available levels are SEVERE, n Lines can be continued by placing an as the last character; WARNING,INFO,CONFIG,FINE, FINER, FINEST, with leading whitespace on the continuation line is ignored corresponding methods severe, warning, and so on. button1.tooltip = This is a long logger.log(Level.SEVERE, quot;Unexpected exceptionquot;, Logs the stack trace of a tooltip text. throwable); Throwable logger.setLevel(Level.FINE); Sets the logging level to FINE. n t n f r uxxxx escapes are recognized (but not b By default, the logging level is INFO, and less severe logging or octal escapes) messages are not logged. n Files are assumed to be encoded in ISO 8859-1; use Handler handler = new FileHandler(quot;%h/myapp.logquot;, Adds a file handler for saving the SIZE_LIMIT, LOG_ROTATION_COUNT); native2ascii to encode non-ASCII characters into log records in a file. See the table handler.setFormatter(new SimpleFormatter()); below for the naming pattern. This Unicode escapes logger.addHandler(handler); handler uses a simple formatter instead of the XML formatter that n Blank lines and lines starting with # or ! are ignored is the default for file handlers. Typical usage: Logging Configuration Files Properties props = new Properties(); The logging configuration can be configured through a logging props.load(new FileInputStream(quot;prog.propertiesquot;)); configuration file, by default jre/lib/logging.properties. String value = props.getProperty(quot;button1.tooltipquot;); Another file can be specified with the system property java. // null if not present util.logging.config.file when starting the virtual machine. (Note that the LogManager runs before main.) Also used for resource bundles: ResourceBundle bundle = ResourceBundle.getBundle(quot;progquot;); Configuration Property Description Default // Searches for prog_en_US.properties, loggerName.level The logging level of the logger by the None; the logger given name inherits the handler // prog_en.properties, etc. from its parent String value = bundle.getString(quot;button1.tooltipquot;); handlers A whitespace or comma-separated list java.util.logging. of class names for the root logger. An ConsoleHandler instance is created for each class name, using the default constructor. JAR FILES loggerName.handlers A whitespace or comma-separated list None of class names for the given logger n Used for storing applications, code libraries loggerName. false if the parent logger's handlers true useParenthandlers (and ultimately the root logger's n By default, class files and other resources are stored in handlers) should not be used ZIP file format config A whitespace or comma-separated list None of class names for initialization. n META-INF/MANIFEST.MF contains JAR metadata java.util.logging. The default handler level Level.ALL for n META-INF/services can contain service provider FileHandler.level FileHandler, Level.INFO for configuration java.util.logging. ConsoleHandler.level ConsoleHandler n Use the jar utility to make JAR files java.util.logging. The class name of the default filter None FileHandler.formatter java.util.logging. jar Utility Options ConsoleHandler.formatter Option Description java.util.logging. The class name of the default formatter java.util.logging. FileHandler.formatter XMLFormatter for c Creates a new or empty archive and adds files to it. If any of the specified file java.util.logging. FileHandler, names are directories, the jar program processes them recursively. ConsoleHandler.formatter java.util.logging. C Temporarily changes the directory. For example, SimpleFormatter for ConsoleHandler jar cvfC myprog.jar classes *.class changes to the classes subdirectory to add class files. java.util.logging. The default encoding default platform FileHandler.encoding encoding e Creates a Main-Class entry in the manifest java.util.logging. jar cvfe myprog.jar com.mycom.mypkg.MainClass files ConsoleHandler.encoding f Specifies the JAR file name as the second command-line argument. If this java.util.logging. The default limit for rotating log files, 0 (No limit), but set parameter is missing, jar will write the result to standard output (when creating a FileHandler.limit in bytes to 50000 in jre/lib/ JAR file) or read it from standard input (when extracting or tabulating a JAR file). logging.properties i Creates an index file (for speeding up lookups in a large archive) java.util.logging. The default number of rotated log files 1 FileHandler.count m Adds a manifest to the JAR file. java.util.logging. The default naming pattern for log files. %h/java%u.log jar cvfm myprog.jar mymanifest.mf files FileHandler.pattern The following tokens are replaced when the file is created: M Does not create a manifest file for the entries. Token Description t Displays the table of contents. / Path separator jar tvf myprog.jar %t System temporary directory u Updates an existing JAR file %h Value of user.home system property jar uf myprog.jar com/mycom/mypkg/SomeClass.class %g The generation number of rotated logs v Generates verbose output. %u A unique number for resolving naming conflicts x Extracts files. If you supply one or more file names, only those files are %% The % character extracted. Otherwise, all files are extracted. jar xf myprog.jar java.util.logging. The default append mode for file loggers; false FileHandler.append true to append to an existing log file O Stores without ZIP compression DZone, Inc. | www.dzone.com
  • 6. 6 Core Java tech facts at your fingertips COmmON javac OpTIONS COmmON java OpTIONS Option Purpose Option Purpose -cp or -classpath Sets the class path, used to search for class files. The class path is a -cp or -classpath Sets the class path, used to search for class files. See the previous list of directories, JAR files, or expressions of the form directory/'*' table for details. Note that javac can succeed when java fails if the (Unix) or directory* (Windows). The latter refers to all JAR files current directory is on the source path but not the class path. in the given directory. Class path items are separated by : (Unix) or ; (Windows). If no class path is specified, it is set to the current -ea or Enable assertions. By default, assertions are disabled. directory. If a class path is specified, the current directory is not -enableassertions automatically included—add a . item if you want to include it. -Dproperty=value Sets a system property that can be retrieved by System. -sourcepath Sets the path used to search for source files. If source and class files are present for a given file, the source is compiled if it is newer. If no getProperty(String) source path is specified, it is set to the current directory. -jar Runs a program contained in a JAR file whose manifest has a -d Sets the path used to place the class files. Use this option to separate Main-Class entry. When this option is used, the class path is ignored. .java and .class files. -verbose Shows the classes that are loaded. This option may be useful to -source Sets the source level. Valid values are 1.3, 1.4, 1.5, 1.6, 5, 6 debug class loading problems. -deprecation Gives detail information about the use of deprecated features -Xmssize Sets the initial or maximum heap size. The size is a value in bytes. -Xlint:unchecked Gives detail information about unchecked type conversion warnings -Xmxsize Add a suffix k or m for kilobytes or megabytes, for example, -Xmx10m AbOUT ThE AUThOR RECOmmENDED bOOKS Cay S. Horstmann Core Java, now in Cay S. Horstmann has written many books on C++, Java and object- its 8th edition, is a oriented development, is the series editor for Core Books at Prentice-Hall and a frequent speaker at computer industry conferences. For four years, no-nonsense tutorial Cay was VP and CTO of an Internet startup that went from 3 people in a and reliable reference tiny office to a public company. He is now a computer science professor into all aspects of at San Jose State University. He was elected Java Champion in 2005. Java SE 6. Publications n Core Java, with Gary Cornell (Sun Microsystems Press 1996–2007) n Core JavaServer Faces, with David Geary (Sun Microsystems Press 2004–2006) n Big Java (John Wiley & Sons 2001–2007) bUy NOw Web Site Blog books.dzone.com/books/corejava1 http://horstmann.com http://weblogs.java.net/blog/cayhorstmann books.dzone.com/books/corejava2 Want More? Download Now. Subscribe at refcardz.com Upcoming Refcardz: Available: Published July 2008 Agile Methodologies: n NetBeans IDE 6.1 Java Editor n Published September 2008 RSS and Atom Best Practices Getting Started with JPA n n GlassFish Application Server Core CSS: Part II n n n JavaServer Faces n Silverlight 2 Spring Annotations Struts2 FREE n IntelliJ IDEA n n n PHP n Core CSS: Part I Published June 2008 n JUnit Published August 2008 n jQuerySelectors n SOA Patterns n Core .NET n Flexible Rails: Flex 3 on Rails 2 Core CSS: Part III n Very First Steps in Flex n Published May 2008 Scalability and High Availability n C# n Windows PowerShell Design Patterns n Groovy n Dependency Injection in EJB 3 MySQL n n Published June 2008 n Seam Visit http://refcardz.dzone.com for a complete listing of available Refcardz. DZone, Inc. 1251 NW Maynard ISBN-13: 978-1-934238-26-4 Cary, NC 27513 ISBN-10: 1-934238-26-0 50795 888.678.0399 DZone communities deliver over 3.5 million pages per month to 919.678.0300 more than 1.5 million software developers, architects and designers. Refcardz Feedback Welcome DZone offers something for every developer, including news, refcardz@dzone.com $7.95 tutorials, blogs, cheatsheets, feature articles, source code and more. Sponsorship Opportunities 9 781934 238264 “DZone is a developer’s dream,” says PC Magazine. sales@dzone.com Copyright © 2008 DZone, Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by means electronic, mechanical, photocopying, Version 1.0 or otherwise, without prior written permission of the publisher. Reference: Core Java, Volume I and Core Java, Volume II, Cay S. Horstmann and Gary Cornell, Sun Microsystems Press, 1996-2007.