J2SE new feature
http://java.sun.com/j2se/1.5.0/docs/relnotes/features.html
Performance Enhancements
- Garbage collection ergonomics
- StringBuilder class
StringBuffer와의 차이점 : 메소드가 Syncronized로 되어 있다. 따라서, 동기화를 목적으로 하지 않는 프로그램에 쓰이는데 용이하지만, 멀티 쓰레드상태에서는 써서는 안된다. 그 때는 StringBuffer를 사용해야 한다. - Java 2DTM technology
- Image I/O
JavaTM Language Features
static import 소스
import static A.Manual.*; public class Test { public static void main(String[] args) { int sum = sum(5); } public static int sum(int... intList) { int sum = 0; return sum; } }
디컴팔된 소스
public class Test { public Test() { } public static void main(String args[]) { int sum = sum(new int[] { 5 }); } public static transient int sum(int intList[]) { int sum = 0; return sum; } }
vararg 소스
import static A.Manual.*; public class Test { public static void main(String[] args) { int sum = sum(5); } public static int sum(int... intList) { int sum = 0; return sum; } }
디컴팔된 소스
public class Test { public Test() { } public static void main(String args[]) { int sum = sum(new int[] { 5 }); } public static transient int sum(int intList[]) { int sum = 0; return sum; } }
enum
public class Test { enum STATE {INIT, PAUSED, STARTED, ENDED}; }
디컴팔된 소스
public class Test { static final class STATE extends Enum { public static STATE[] values() { STATE astate[]; int i; STATE astate1[]; System.arraycopy(astate = ENUM$VALUES, 0, astate1 = new STATE[i = astate.length], 0, i); return astate1; } public static STATE valueOf(String s) { return (STATE)Enum.valueOf(Test$STATE, s); } public static final STATE INIT; public static final STATE PAUSED; public static final STATE STARTED; public static final STATE ENDED; private static final STATE ENUM$VALUES[]; static { INIT = new STATE("INIT", 0); PAUSED = new STATE("PAUSED", 1); STARTED = new STATE("STARTED", 2); ENDED = new STATE("ENDED", 3); ENUM$VALUES = (new STATE[] { INIT, PAUSED, STARTED, ENDED }); } private STATE(String s, int i) { super(s, i); } } public Test() { } }
autoboxing/unboxing
import java.util.ArrayList; import java.util.List; public class Test { public static void main(String[] args) { List<Integer> list = new ArrayList<Integer>(); list.add(1); } }
디컴팔된 소스
import java.util.ArrayList; import java.util.List; public class Test { public Test() { } public static void main(String args[]) { List list = new ArrayList(); list.add(Integer.valueOf(1)); } }
Generic
import java.util.ArrayList; import java.util.List; import A.Manual; public class Test { public static void main(String[] args) { List<Manual> list = new ArrayList<Manual>(); list.add(new Manual()); } }
package A; public class Manual { private int operation; //setter, getter }
디컴팔된 소스
import A.Manual; import java.util.ArrayList; import java.util.List; public class Test { public Test() { } public static void main(String args[]) { List list = new ArrayList(); list.add(new Manual()); } }
'java core' 카테고리의 다른 글
jconsole 사용하기 (0) | 2007.10.01 |
---|---|
jconsole (0) | 2007.09.28 |
ZipInputStream으로 압축시 한글 디렉토리가 안에 있을때.. (0) | 2007.09.04 |
[윈도우즈 용] 스레드 덤프 채취하는 툴 (0) | 2007.08.21 |
메모리 덤프 (0) | 2007.08.21 |