[[Include(분류/java)]]
Contents
- 언어도 쉽고 깔끔하고 꽤 종합선물세트이군요.
왜 자바를 쓰면 메니아가 되는지 알 수 있을거 같습니다. 차후에 충분한 객체지향 확장언어로서 손색이 없을듯.
- java 1.5.0 출시! 다른건 모르겠는데 배포본(JRE) 사이즈가 14메가로 줄어든건 환영.
1 관련 링크 #
http://java.sun.com/j2se/1.5.0/download.html - JAVA2 1.5.0 JRE, SDK 링크.
http://java.sun.com/developer/technicalArticles/releases/j2se15langfeat/ - 1.5에서 추가된 기능. 개인적으로 generics(C++의 템플릿)이 가장 인상적이네요.
http://java.sun.com/docs/books/tutorial/java/index.html - java 기초.
http://www.ibm.com/developerworks/kr/java/ - IBM의 자바 사이트. 상당한 기술자료가 있다. 한글 자료도 상당수.
http://www.volano.com/report/index.html - 각 회사의 JVM에 대한 성능 비교 자료. 상당히 참고가 된다.
http://java.freehosting.co.kr/ - 유명한 자바 프로그래머 윤경구씨가 운영하는 자바전문 사이트. 대림에서 출판한 자바 1.4에 대한 책도 저술하셨네요. 왠만한 커뮤니티보다 낫습니다.
http://www.potatosoft.com/ - 자바에 대한 좋은 아티클들을 담고 있는 "한국" 사이트. JDK2 HTML Help 미러링도 하고 있습니다.
http://grexengine.com/sections/externalgames/ - 몇몇 읽어볼만한 자바 게임개발관련 아티클이 존재.
3 인코딩 #
http://java.sun.com/j2se/1.3/docs/tooldocs/win32/native2ascii.html - JRE를 깔면 실행할수 있는 native2ascii 명령어에 대한 설명. /uxxxx와 같이 표시된 문장을 해당 인코딩으로 변환해준다.
4 자바 스터디 #
- java/자바언어기초 - sun에 있는 공식 기초 부분을 편역해본 것입니다.
http://java.sun.com/docs/books/tutorial/jar/index.html - jar 튜토리얼.
6.1 역컴파일 도구 #
http://www.kpdus.com/jad.html - 유명한 역컴파일툴. 꽤 빠르고 자세히 번역한다.
http://members.fortunecity.com/neshkov/dj.html - jad의 GUI frontend.
http://www.brouhaha.com/~eric/computers/mocha.html - j빌더에 통합되어있는 역컴파일툴.
6.2 역컴파일 방지툴 #
http://proguard.sourceforge.net/ - 오픈소스.
http://www.retrologic.com/retroguard-main.html - freeware.
http://www.zelix.com/klassmaster/ (상용)
http://www.yworks.com/en/products_yguard_about.htm - 이클립스 ANT와 연동. freeware.
7 애플릿 제작관련 #
http://java.sun.com/docs/books/tutorial/applet/TOC.html - 애플릿 제작 튜토리얼.
http://java.sun.com/docs/books/tutorial/applet/overview/index.html - 애플릿 개요.
http://java.sun.com/docs/books/tutorial/applet/appletsonly/browser.html - 애플릿에서 특정 브라우져화면을 여는 부분을 설명한 곳. 다운로드 링크를 자동으로 쏴주고자 할 때 유용할 듯.
9 게임엔진 및 라이브러리 #
http://www.lwjgl.org/ - 자바 + opengl + openal + 기타 조이스틱 지원(dinput비슷). 자바로 3D 게임을 만드는 게임 회사나 팀에서 많이 사용하는 듯. 공개 오픈소스 프로젝트. BSD 라이센스. 성능은 괜찮다. JRE 의존성이 없다는 것이 특징.
http://www.odejava.org/ - 유명한 공개 물리엔진인 ODE를 자바로 포팅한 것입니다.
http://jogl.dev.java.net/ - 또다른 opengl 자바 포팅 라이브러리. JRE 의존성 존재.
http://joal.dev.java.net/ - openAL 자바 포팅 라이브러리. JRE 의존성 존재.
http://home.earthlink.net/~rzeh/YAJOGLB/doc/YAJOGLB.html - 또다른 GL 바인딩 라이브러.
9.1 OpenGL + Java #
http://www.jausoft.com/gl4java/ - 주로 리눅스쪽으로 테스팅이 많이 되는 라이브러리.
http://chman-area.tuxfamily.org/index.php?page=tutorials&lang=en - 위 3가지 라이브러리를 사용한 튜토리얼 사이트.
10 컴파일툴 #
http://www.excelsior-usa.com/jet.html - JET이라는 자바 컴파일툴. JAR가 아닌 인스톨가능한 독립 어플로 만들어주며 내부 최적화 및 역컴파일 방지기능. $600정도면 구입할만한 솔루션이라 생각함.
http://www-124.ibm.com/developerworks/oss/jikes/index.shtml - jike. IBM에서 관리하는 오픈소스 자파 컴파일러. 다중플랫폼 지원.
11 VM 프로젝트들 #
http://www.sablevm.org/ - LGPL라이센스의 C언어로 작성된 자바 인터프리터 프로젝트. 빠르고 작은 구현을 목표로하고 있음.
http://kissme.sourceforge.net/ - 공개 자바 VM 프로젝트. GNU classpath 지원.
http://jamvm.sourceforge.net/ - 공개 자바 VM. 작고 가벼운 VM을 지향. GNU classpath 지원. 별도의 extending API 제공.
13 gcj #
- gcc의 프론트앤드중 하나로 java소스를 컴파일해서 "완전한" 실행화일로 만들어줍니다.
즉, CNI, JNI를 사용하면 거의 루아와 같은 체계로 게임엔진을 구성할 수 있을 것 같습니다.
- 단점이라면 java1.2정도만 지원합니다. java1.3이상 버전과는 다소 호환이 되지 않습니다.
- mingw 3.3.3 후보버전이 발표되었군요! C++, gcj 잘 동작합니다! 괜찮은 장난감 출현!
http://gcc.gnu.org/java - 메인 링크.
http://www.thisiscool.com/gcc_mingw.htm#gcj34 - gcj 3.4버전 컴파일 번들 링크. very cool!
13.2 플러그인 사이트 #
http://eclipse-plugins.2y.net/eclipse/index.jsp - 이클립스 플러그인 검색 사이트.
http://renaud91.free.fr/Plugins/index_en.html - Aston 위저드. 애플릿 초기 템플릿 생성해주는 플러그인.
http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/jdt-core-home/plugins/org.eclipse.jdt.internal.appletlauncher/index.html - 애플릿 런쳐.
15 signed 애플릿 관련 #
- 보안상 "위험한" 애플릿을 구현하는 거지만 어쨌든 현재 IE에서는 JRE를 설치해야하는 압박이 있습니다.
(15메가정도 하죠... MS에서는 아예 .net으로 가면서 애플릿 서명기능과 MS JDK배포를 그만두어서 사실상 JRE를 깔지 않고 서명된 애플릿을 구동시키는 것은 불가능한 것 같습니다.
- 정책화일은 java.policy이란 이름으로 정해두면 자동으로 읽어들입니다.
http://java.sun.com/docs/books/tutorial/security1.2/index.html - signed 애플릿을 포함한 보안에 관련된 trail 문서.
http://java.sun.com/products/jdk/1.2/docs/guide/security/permissions.html - 정책화일 제작시 참조할만한 문서.
- java/java2 signed applet 제작 튜토리얼 - java.sun.com에 올려져있는 Advanced Programming for the Java 2 Platform이란 책의 10장을 번역한 것입니다.
http://developer.java.sun.com/developer/technicalArticles/Security/Signed/ - signed Applet을 사용하여 애플릿에서 클라이언트 화일제어를 하는 간단한 아티클.
http://mindprod.com/jgloss/signedapplets.html - 또다른 아티클 링크.
16 JXTA #
- java기반의 P2P 프로토콜 솔루션입니다. XML을 기반으로 하는 것이 특징이죠. 아직 발전단계인 듯.
http://www.jxta.org/ - jxta관련 문서 및 프로젝트, 링크, 아티클 다수 보유.
http://www.javaworld.com/javaworld/jw-10-2001/jw-1019-jxta_p.html - jxta 관련 아티클
17 JNI #
- 자바->C++, C++->자바 바인딩을 하기위한 JDK 인터페이스.
http://java.sun.com/j2se/1.4.2/docs/guide/jni/index.html - JNI 문서 스타트.
http://java.sun.com/docs/books/jni/index.html - JNI 책 pdf 받을 수 있는 곳.
18 Web Start #
- java 어플리케이션을 웹에서 바로 배포토록하는 기술이네요. JRE 1.4.1이상에서만 가능한 듯.
http://java.sun.com/products/javawebstart/ - 해당 기술 링크.
19 오픈소스 프로젝트들 #
http://www.enterprisedt.com/downloads/ftp.html - java용 ftp 클라이언트 라이브러리. LGPL.
http://jsmooth.sourceforge.net - jar화일을 exe화일로 만들어준다. 생성된 exe화일은 native 컴파일된 것은 아니며 JRE가 필요하다. 그냥 모양만 좋게 해주는 격.
http://www.rxtx.org/ - java에서 직렬/병렬포트 제어를 할수 있도록 하는 프로젝트. 멀티플렛폼가능. 오픈소스.
19.1 공개 애플릿 #
http://javaboutique.internet.com/ToonMenu/ - 간단한 세로 메뉴 애플릿. 그림안쓰고 만화처럼 보이게 해줍니다.
http://bepp.8m.com/english/java_applets/navigation_java_applet.htm - 팝업메뉴가 나타나게 하는 괜찮은 메뉴 애플릿.
http://javaboutique.internet.com/JAM/ - 마치 이미지 맵과 같은 효과를 주는 간단한 애플릿.
http://antimony69.tripod.com/gallery/readme.htm - 이미지 갤러리 애플릿.
http://www.freewarejava.com/applets/slideimage.shtml - 이미지 갤러리 관련 링크 모음.
http://www.ericharshbarger.org/cgi-bin/j.cgi?applets.html - 괜찮은 이미지 갤러리 모음. 효과가 다양하다.
21 경험담(기초) #
- JDK 인스톨한다음 PATH 환경변수에 JDK bin 디렉토리를 잡아줘야 편하군요.
- Runtime.exec()를 사용할 때에는 java.io.IOException으로 예외를 묶어줘야 컴파일됩니다.(JDK 1.4.2)
- Runtime.exec()를 Win32상에서 사용할 때에는 반드시 "c:/dir1/test.exe"와 같은 식으로 경로를 지정해야합니다.(JDK 1.4.2)
- Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorldApp : 경로에서 HelloWorldApp 클래스를 찾지 못한 경우.
- javac로 컴파일할때 CLASSPATH 환경변수를 맞춰주지 않은 경우에는 -classpath 옵션으로 추가 클래스 경로를 지정하면 된다. 예를 들어 다음은 lib.jar를 클래스경로에 포함하여 컴파일한다.
javac -classpath lib.jar Source.java








