달력

5

« 2024/5 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
2008. 10. 15. 15:29

이클립스 속도 빠르게 설정 Enjoy/JAVA2008. 10. 15. 15:29

인터넷 검색하다 찾은건데...

실행 명령어 뒤에 실행 옵션 주기~!

C:\eclipse\eclipse.exe 뒤에 아래 내용 붙여넣기

-vmargs -Xverify:none -XX:+UseParallelGC -XX:PermSize=20m -XX:MaxNewSize=32m -XX:NewSize=32M -Xms256m -Xmx256m -XX:ParallelGCThreads=4 -verbosegc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps




eclipse.ini 수정


  1) Before


-startup

plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar

--launcher.library

plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.1.R36x_v20100810

-product

org.eclipse.epp.package.jee.product

--launcher.defaultAction

openFile

--launcher.XXMaxPermSize

256M

-showsplash

org.eclipse.platform

--launcher.XXMaxPermSize

256m

--launcher.defaultAction

openFile

-vmargs

-Dosgi.requiredJavaVersion=1.5

-Xms40m

-Xmx512m



  2) After


-vmargs

-Dosgi.requiredJavaVersion=1.6

-Xverify:none

-XX:+UseParallelGC

-XX:-UseConcMarkSweepGC

-XX:PermSize=128M

-XX:MaxPermSize=128M

-XX:MaxNewSize=128M

-XX:NewSize=128M

-Xms512m

-Xmx512m


  3) 설명

-Dosgi.requiredJavaVersion=1.6 => JDK 1.6 이상을 설치했을 경우에 1.6으로 설정하면 속도가 빨라진다.

-Xverify:none => 클래스의 유효성을 검사 생략. (시작 시간이 줄어 빨라진다.)
-XX:+UseParallelGC => 병렬 가비지 컬렉션 사용. (병렬 처리로 속도 향상)
-XX:+AggressiveOpts => 컴파일러의 소수점 최적화 기능을 작동시켜 빨라진다.
-XX:-UseConcMarkSweepGC => 병행 mark-sweep GC 수행하여 이클립스 GUI의 응답을 빠르게한다.
-XX:+CMSIncrementalMode=true => 점진적인 GC

-XX:PermSize=128M        => Permanent Generation(영구 영역) 크기(Out Of Memory 에러시 크기 조절)

-XX:MaxPermSize=128M  => 최대 Permanent Generation 크기

-XX:NewSize=128M         => New Generation(새 영역) 크기

-XX:MaxNewSize=128M   => New Generation(새 영역) 의 최대 크기


-Xms512m : 이클립스가 사용하는 최소 Heap 메모리
-Xmx512m : 이클립스가 사용하는 최대 Heap 메모리
                     최소와 최대를 같은 값으로 설정하면 오르락 내리락 하지않아 빨라진다.

혹시, 오류로 이클립스가 죽는다면 설정값을 한줄씩 지우거나 숫자를 변경해서 테스트 후 사용하기바람.

[메모리 정의 예]
1 기가 이하 메모리인 컴퓨터인 경우 => -Xms256m -Xmx256m
2 기가 ~ 3 기가 메모리인 컴퓨터    => -Xms512m -Xmx512m
4기가 이상 메모리인 컴퓨터            => -Xms1024m -Xmx1024m

[ 참고 ]
JVM 은 3가지 메모리 영역을 관리합니다.
 1. Permanent(영구) 영역 : JVM 클래스와 메소드를 위한 공간. = PermSize 설정
 2. New/Young 영역 : 새로 생성된 개체들을 위한 공간. = NewSize 설정
 3. Old 영역 : 만들어진지 오래된 객체들의 공간.(New 영역에서 이동해 온다)


:
Posted by 라면스프
2008. 10. 9. 16:14

java Date 관련 Quick reference Enjoy/JAVA2008. 10. 9. 16:14


* 오늘 날짜 구하기
 new Date();
 Calendar now = Calendar.getInstance();
 now.getTime();

* 어제 날짜 구하기
 Calendar now = Calendar.getInstance();
 now.add(Calendar.DAY_OF_MONTH, -1);
 now.getTime();

* 날짜 포맷을 원하는 형태로 바꾸기
   Calendar now = Calendar.getInstance();
   SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
   sdf.format(now.getTime());  // 결과는 String

 

* 지 맘데로의 날짜를 담은 문자열을 다른 형태로 convert
 

    String dateStr = "200707211541122";
    SimpleDateFormat oldFormat = new SimpleDateFormat("yyyyMMddHHmmss");
    SimpleDateFormat newFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
   
    try {
      System.out.println(newFormat.format(oldFormat.parse(dateStr)));
    } catch (ParseException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
 

* yyyy-MMM-dd 형태 parse 시 주의 할 점
   String regDt = "27/Jul/2006:00:00:00";
   SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MMM/dd:hh:mm:ss",
       Locale.US);

   try {
     System.out.println(sdf.parse(regDt).toString());
   } catch (ParseException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
   }

-> 위와 같이 Locale을 지정하지 않으면 한글 OS에서는 parse 오류가 난다.

* 특정날짜가 무슨 요일인지 알아보기
   String regDt1 = "2006-11-14";
   SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd", Locale.US);
 

   Calendar cal = Calendar.getInstance();
 

   try {
     cal.setTime(sdf.parse(regDt1));
     System.out.println(cal.get(Calendar.DAY_OF_WEEK));
   } catch (ParseException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
   }

주의: cal.DAY_OF_WEEK라고 하면 처음 생성했던 instance의 값을 리턴한다.

* 날짜 간의 비교
 
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
    Calendar now = Calendar.getInstance();
    now.add(Calendar.HOUR, -3);
    Date before3hour = now.getTime();
   
    try {
      if (before3hour.before(sdf.parse(regdttm))) {
        return true;
      } else {
        return false;
      }
    } catch (ParseException e) {
      return false;
    }

:
Posted by 라면스프
2008. 10. 7. 11:17

HashMap에 있는 값 모두 가져오기 Enjoy/JSP2008. 10. 7. 11:17

 
HashMap에 있는 값 모두 가져오기
IT 관련/Java 2005/11/10 19:28 posted by 러브누노

HashMap에서 값을 꺼내기 위해서 보통 get 매소드를 이용하여 key값에 해당하는 value를 얻는다.
 
key값을 모르는 상태에서 HashMap에 저장된 모든 key와 그에 대응되는 value를 얻고자 할 때 다음과 같이 하면 된다.
 
 
[ HashMap 예제 ]
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map.Entry;
public class HashMapTest {
  public static void main(String[] args) {
    HashMap map = new HashMap();
    map.put("first", "First String");
    map.put("second", "Second String");
    Iterator iterator = map.entrySet().iterator();
    while (iterator.hasNext()) {
      Entry entry = (Entry) iterator.next();
      System.out.println("key : " + entry.getKey() + "    value : " + entry.getValue());
    }
  }
}

결과 )
key : first    value : First String
key : second    value : Second String
HashMap에 값이 저장될
:
Posted by 라면스프
2008. 9. 29. 09:21

Flex 만들어쓰는 Hashtable 입니다. Enjoy/FLEX2008. 9. 29. 09:21

본문 : 

http://cafe.naver.com/flexcomponent/5679


플렉스에서는 동적 프라퍼티가 있어서 따로 맵 API 를 제공하지 않더라구요.

그래서 하나 만들었습니다. 저도 자바 개발자라서, 가장 자주 쓰는 게 없으니까 불편하더군요. 

Object 의 동적 프라퍼티 기능을 이용해서 자바의 Hashtable 과 동일한 API 를

구현했습니다.


 

:
Posted by 라면스프
by  나비나


TitleWindow를 띄우기 좀 귀찮기도하고 창의 크기를 작게 만들 때!
Alert을 확장해 사용하면 편리하다.
extends까지 해서 Class로 만들어도 상관 없고
나는 귀찮으므로 Alert을 하나 생성해서 편집해 사용하였다.
밑의 소스를 보면 알겠지만 Alert.show() 메소드는 보여주는 Alert의 인스턴스를 리턴해준다.
그래서 그 메소드를 이용해 보여주고 편집하면 된다.

사용자 삽입 이미지


var alert :Alert = Alert.show( "", "부서 정보 입력", Alert.OK | Alert.CANCEL, null,
              eventBtnAddDeptClick, null, Alert.OK );
alert.height = 120;
( alert.getChildAt( 0 ) as DisplayObjectContainer ).removeChildAt( 0 );

var vBox :VBox = new VBox();
vBox.setStyle( "horizontalAlign", "center" );
vBox.width = 144;
vBox.height = 50;

latxName = new TextInput()();
latxName.label = "Name"

latxName.width = 142;
latxName.height = 20;
latxName.setStyle( "backgroundColor", 0x869CA7 );
latxName.setStyle( "textAlign", "center" );
latxName.setStyle( "letterSpacing", 1 );

vBox.addChildAt( latxName, 0 );


latxDescription = new TextInput()();
latxDescription.label = "Description";

latxDescription.width = 142;
latxDescription.height = 20;
latxDescription.setStyle( "backgroundColor", 0x869CA7 );
latxDescription.setStyle( "textAlign", "center" );
latxDescription.setStyle( "letterSpacing", 1 );

vBox.addChildAt( latxDescription, 1 );
( alert.getChildAt( 0 ) as DisplayObjectContainer ).addChildAt( vBox, 0 );



:
Posted by 라면스프
2008. 9. 18. 14:31

Flash Player 9의 보안 변경 사항 Enjoy/FLEX2008. 9. 18. 14:31


참고: 본 기술문서에서 의미하는 Flash Player는 Flash Player 9 Update 3(9,0,115,0)입니다.



:
Posted by 라면스프
2008. 9. 17. 09:42

Flex Style Explorer Enjoy/FLEX2008. 9. 17. 09:42

:
Posted by 라면스프