하위페이지

 

이 글은 스프링노트에서 작성되었습니다.

'Java > Language' 카테고리의 다른 글

2010, 한국 자바 개발자 페스티벌  (0) 2010.06.22
리팩토링(Refactoring) 고려사항  (0) 2010.06.19
Java Decomplier  (0) 2010.02.26
실행가능한 .jar 실행하기  (0) 2010.02.20
JDBC 설치 및 적용하기  (0) 2010.01.23

The second small change from coin project, new numeric litterals has been integrated to jdk7/tl workspace and will be soon promoted into jdk7 main workspace.

The patch introduces two new notations for numeric litterals:

  1. Binary litteral
    Litteral coded in binary starting with prefix 0b. This prefix can be prefixed by minus for negative number.
         0b11 == 3

    -0b11 == -3
    More examples here.

  2. Underscores in litterals
    Allow to use underscore ('_') to separate digits in litterals. Underscore can be used anywhere between two digits.
         long aBankAccountBalance = 1_000_000_000;

    long aVisaCardNumber = 1234_1234_1234_1234;

    long aFrenchPhoneNumber = 01_60_95_77_33;
Of course, these two new syntax can be mixed:
    int value = 0b11111111_00000000_11111111_00000000;


JDK7 에는 기본 자료형 중 숫자와 관련된 표현식이 두개가 추가가 될 것으로 보여집니다.
첫번째로는, 접두사 '0b'입니다. 접두사 '0b'는 2진수를 표현하기 위한 접두사입니다. 접두사 '0b'앞에 '-'를 붙여서 '-0b'를 접두사로 붙이면 음수를 표현할 수도 있다고 합니다.

두번째로, '_'를 이용하여 각기다른 숫자를 표현할 수 있게 된다고 합니다. 예제는 위에서 보시는 2번 항목과 같습니다. 그렇다면, 언더바의 차이를 이용해서 각기다른 값에 대한 표현이 가능해지겠습니다. 그런데 왜 그렇게 할까요? ㅡ_-)?

전화번호 같은 경우
01099998888 로 객체를 표현할 경우 이를 010_9999_8888 로 해서 구분할 수 있도록 만들려는 것일까요?
개발하여 사용하는 국가들의 양식에 맞춰서 쓸 수 있도록 유연성을 높인 표현방식일 수도 있겠다라는 생각을 해봅니다.

당연히, 두가지의 표현식을 합쳐서 사용할 수도 있다고 합니다.
  1. cannot find symbol 또는 cannot resolve symbol
    지정된 변수나 메서드를 찾을 수 없다는 뜻으로 선언되지 않은 변수나 메서드를 사용하거나, 변수 또는 메서드의 이름을 잘못 사용한 경우에 발생한다. 자바에서는 대소문자 구분을 하기 때문에 철자 뿐 아니라 대소문자의 일치여부도 꼼꼼하게 확인해야 한다.
  2. ';' expected
    세미콜론';'이 필요한 곳에 없다는 뜻이다. 자바의 모든 문장의 끝에는 ';'을 붙여주어야 하는데 가끔 이를 잊고 실수하기 쉽다.
  3. Exception in thread "main" java.lang.NosuchMethodError : main
    'main 메서드를 찾을 수 없다.'는 뜻인데 실제로 클래스 내에 main 메서드가 존재하지 않거나 메서드의 선언부 'public static void main(String[] args)'에 오타가 존재하는 경우에 발생한다.
      이 에러의 해결방법은 main 메서드가 클래스에 정의되어 있는지 확인하고, 정의되어 있다면 main 메서드의 선언부에 오타가 없는지 확인한다. 자바는 대소문자를 구별하므로 대소문자의 일치여부까지 정확히 확인해야 한다.
      - args 는 매개변수의 이름이므로 args 대신 arg와 같은 다른 이름을 사용할 수 있다.
  4. Exception in thread 'main' java.lang.NoClassDefFoundError : Help
    'Hello라는 클래스를 찾을 수 없다.'는 뜻이다. 클래스의 'Hello'의 철자, 특히 대소문자를 확인해보고 이상이 없으면 클래스파일(*.class)이 생성되었는지 확인한다.
      예를 들어 'Hello.java'가 정상적으로 컴파일 되었다면 클래스파일 'Hello.class'가 있어야 한다. 클래스파일이 존재하는데도 동일한 메시지가 반복해서 나타난다면, 클래스패스(classpath)의 설정이 바르게 되었는지 다시 확인해보자.
  5. illegal start of expression
    직역하면 문장(또는 수식, expression)의 앞부분이 문법에 맞지 않는다는 의미인데, 간단히 말해서 문장에 문법적 오류가 있다는 뜻이다. 괄호'(' 나 '{'를 열고서 닫지 않거나, 수식이나 if문, for문 등에 문법적 오류가 있을 때 또는 public 이나 static 과 같은 키워드를 잘못 사용한 경우에도 발생한다. 에러가 발생한 곳이 문법적으로 옳은지 확인하라.
  6. class, interface or enum expected
    이 메시지의 의미는 '키워드 class 나 interface 또는 enum가 없다.' 이지만, 보통 괄호 '{' 또는 '}'의 개수가 일치하지 않는 경우에 발생한다. 열린 괄호 '{'와 닫힌 괄호 '}'의 개수가 같은지 확인하자.

이 글은 스프링노트에서 작성되었습니다.

JDK 7

The primary goal of this Project is to produce an open-source implementation of the next major revision of the Java SE Platform.

Detailed information on the approved features, as well as information on how to propose additional features, can be found on the features page. The JDK 7 development schedule is divided into a sequence of milestone cycles. Please see the builds and integrations page for detailed build and integration scheduling. A complete calendar of the entire development timeline is also available.

Status: Milestone 4 complete, work on Milestone 5 underway

No showstoppers were identified in build 66, so we declared that to be the final build for M4.

We'll start stabilizing Milestone 5 at build 72, which opens on 2009/8/28. M5 will be complete on or about 2009/9/10.

Comments and questions to: jdk7-dev@openjdk.java.net

Last update: 2009/7/30 23:09 -0700


Milestones

The JDK 7 development schedule is divided into a sequence of milestone cycles, each six to seven weeks in length. There will be no formal beta or early-access releases, as in the past. Major features and other potentially-destabilizing changes will targeted for integration early in a specific milestone. For more information, please see the current draft of the JDK 7 Development Process.

Here is the current high-level milestone schedule, with the features targeted to each cycle:

M1 2009/01/02 – 2009/02/19 (b48) 7 builds
Compressed 64-bit object pointers
Garbage-First GC (G1)
M2 2009/02/20 – 2009/04/02 (b53) 5 builds
JSR 203: More new I/O APIs for the Java platform (NIO.2)
Method to close a URLClassLoader
M3 2009/04/03 – 2009/05/14 (b59) 6 builds JavaOne Preview
Create new platform APIs for forward-ported 6u10 features
JSR 292: VM support for non-Java languages (InvokeDynamic)
SCTP (Stream Control Transmission Protocol)
SDP (Sockets Direct Protocol)
Unicode 5.1
Upgrade class-loader architecture
M4 2009/06/05 – 2009/07/23 (b66) 7 builds
Forward-port 6u10 features
JSR 308: Annotations on Java types
M5 2009/07/24 – 2009/09/10 (b73) 7 builds
Elliptic-curve cryptography (ECC)
JSR 296: Swing application framework
Update the XML stack
M6 2009/09/11 – 2009/10/29 (b80) 7 builds Stabilization begins
JSR TBD: Small language enhancements (Project Coin)
M7 2009/10/30 – 2009/12/24 (b87) 7 builds
M8 2010/01/01 – 2010/02/18 (b94) 7 builds Final milestone

The final milestone cycle, M8, will be followed by a release-candidate period of indeterminate length, but most likely four to eight weeks, after which the final release will be declared.

Some features have been approved for the release but are not yet targeted to a specific milestone. When they are targeted then they'll be added to the above table.

Last update: 2009/7/30 23:09 -0700

진행되는 과정으로 보면 M5의 단계로 들어선 것으로 봐도 되겠습니다. 내년 초면 JDK 7 최종판을 확인해볼 수도 있겠네요. ^^ 이미 http://java.sun.com 에서는 JDK 7에 대한 이야기를 슬며시 내놓고 있습니다. 올해 Java 진영은 JavaFX 1.2(http://www.javafx.com/) 와 이를 기반으로 한 WareHouse(http://java.sun.com/warehouse/), 넷빈즈 6.7(http://www.netbeans.org/) 등의 다양한 라인업을 제공하면서 자신들의 영역을 더욱 확장하려는 것처럼 보입니다. 이제 프로그래머의 길에 발을 들여놓아야만 하는 저로서는 부담되기 그지없는 상황입니다. 넷빈즈는 그저 간단한 자바코드를 작성하여 맛만 보고 있는 중이고, WareHouse(Java Software Store)는 아직 구경도 제대로 못했으며, JavaFX는 배울 엄두를 내지도 못하고 있는 그런 상황입니다. OTL... 배울 것들만 산더미처럼 늘어 가는군요.


우선... 취업 먼저 되었으면 좋겠습니다. ㅠㅅ-) 흑!!
다행인 것은 아직 우리나라에서는 JDK 5 버전으로 개발들이 진행된다는 것이죠. 가만히 보면 우리나라는 새로운 신기술을 적용하기 보다는 조금은 오래된 기술들로 안정된 기술들을 추구하는 모습을 보입니다. 한편으로 좋지만, 한편으로는 씁쓸한 모습입니다. IT 강국(물론 자칭이며 HW에 국한되었던)으로서의 개척정신은 어디로 갔는지... 쯥...

+ Recent posts