(1) 도구
1. JDK(자바 개발 키트)
JDK는 Java Runtime Environment(Java Runtime Envirnment), 다양한 Java 도구 및 기본 Java 클래스 라이브러리(rt.jar)를 포함한 전체 Java의 핵심입니다. Java 애플리케이션 서버가 무엇이든 기본적으로 특정 버전의 JDK가 내장되어 있습니다. 따라서 JDK를 마스터하는 것은 Java를 잘 배우기 위한 첫 번째 단계입니다. 가장 주류를 이루는 JDK는 Sun이 출시한 JDK이다. Sun 외에도 IBM이 개발한 JDK, BEA가 개발한 Jrocket, GNU 조직이 개발한 JDK 등 많은 기업과 조직이 자체 JDK를 개발했다. IBM JDK에 포함된 JVM(Java Virtual Machine)은 Sun JDK에 포함된 JVM보다 훨씬 효율적으로 실행됩니다. 특히 x86 플랫폼에서 실행되는 Jrocket은 Sun JDK보다 서버 측에서 훨씬 더 효율적입니다. 하지만 무슨 일이 있어도 먼저 Sun JDK를 마스터해야 합니다.
1. JDK 다운로드 및 설치
JDK는 J2SE(Java2 SDK Standard Edition)라고도 합니다. Sun의 Java 웹사이트( http://java.sun.com/j2se/downloads.html )에서 다운로드할 수 있습니다. JDK의 최신 버전은 J2SDK1.4.2입니다. 이 JDK 버전을 다운로드하려면 다운로드 페이지는 http://java.sun.com/j2se/1.4.2/download.html 입니다.
다운로드한 JDK는 실행 가능한 설치 프로그램으로, 기본 설치 후 JRE(브라우저용) 세트가 C:Program FilesJava 디렉토리에 설치되고, 세트는 C:j2sdk1에 설치됩니다. 4.2 JDK(JRE 세트도 포함). 그런 다음 환경 변수 PATH 앞에 Java 경로 C:j2sdk1.4.2bin을 추가해야 합니다. 이제 JDK가 설치되었습니다.
2. JDK 명령 도구
JDK의 가장 중요한 명령줄 도구:
java: JVM을 시작하여 클래스 실행
javac: 자바 컴파일러
jar: Java 패키징 도구
javadoc: Java 문서 생성기의 명령줄에 매우 익숙하고 각 매개변수에 능숙해야 합니다. 이러한 명령을 학습하려면 JDK 설명서에 대한 자세한 문서가 있습니다.
2. JDK 문서
설명서에는 JDK 다운로드 페이지에도 다운로드 링크가 있습니다. 동시에 설명서를 다운로드하는 것이 좋습니다. 문서는 Java의 모든 측면에 대한 설명을 다루는 가장 중요한 프로그래밍 매뉴얼입니다. Java 프로그래밍을 배울 때 대부분의 시간은 이 문서를 읽는 데 소비된다고 할 수 있습니다. Java 코드를 작성할 때 언제든지 확인하고 떠나지 않을 수 있도록 가지고 다닙니다.
3. 애플리케이션 서버(앱 서버)
App Server는 Java Enterprise 구성 요소를 실행하기 위한 플랫폼으로, 응용 소프트웨어의 주요 운영 환경을 구성합니다. 현재 주류 앱 서버는 BEA의 Weblogic Server, IBM의 Websphere 및 무료 Jboss 중 하나를 선택하여 학습할 수 있습니다. 저는 개인적으로 Weblogic의 아키텍처가 더 깔끔하고 개발 및 배포가 더 편리하기 때문에 선택하는 개발 플랫폼입니다. 엔터프라이즈 소프트웨어 개발자를 위한 것입니다. 다음은 일반적으로 사용되는 여러 앱 서버에 대한 간략한 소개입니다.
1. 톰캣
Tomcat은 엄밀한 의미에서 실제 앱 서버가 아니며 단지 Serlvet/JSP 실행을 지원할 수 있는 웹 컨테이너입니다. 그러나 Tomcat은 JNDI, 데이터베이스 연결 풀, 사용자 트랜잭션 처리 등과 같은 일부 앱 서버 기능도 확장합니다. Tomcat은 중소 규모의 Java 웹 애플리케이션에서 널리 사용되므로 이 기사에서는 Tomcat 다운로드, 설치 및 구성에 대해 소개합니다.
Tomcat은 Apache 조직에 속한 Jakarta 프로젝트의 하위 프로젝트입니다. 주요 웹사이트는 http://jakarta.apache.org/tomcat/ 입니다. Tomcat의 최신 버전은 Tomcat4.1.27입니다. http://www.apache.org/dist/jakarta/tomcat-4/binaries/ .
Tomcat을 다운로드하려면 zip 패키지를 직접 다운로드하거나 exe 설치 패키지를 다운로드할 수 있습니다(개인적으로는 zip을 더 깔끔하게 사용하는 것이 좋습니다). 두 경우 모두 다운로드 및 설치 후(zip을 직접 압축 해제하면 됩니다). 두 가지 환경 변수를 설정해야 합니다.
JAVA_HOME=C:j2sdk1.4.2
CATALINA_HOME=D:tomcat4(Tomcat 설치 디렉터리)
Tomcat을 시작하고 CATALINA_HOMEbinstartup.bat를 실행합니다. Tomcat을 닫고 shutdown.bat 스크립트를 실행합니다. Tomcat이 시작된 후에는 기본적으로 8080 포트가 사용되므로 브라우저를 이용하여 http://localhost:8080 에 접속하여 Tomcat이 정상적으로 시작되는지 테스트할 수 있습니다.
Tomcat은 두 가지 웹 인터페이스 관리 도구를 제공하며 URL은 다음과 같습니다.
http://localhost:8080/admin/index.jsp
http://localhost:8080/manager/html
이 두 가지 관리 도구를 활성화하기 전에 관리자 사용자 및 비밀번호를 수동으로 구성해야 합니다. 텍스트 도구를 사용하여 CATALINA_HOMEconftomcat-users.xml 파일을 열고 다음 줄을 추가합니다.
<역할 rolename="관리자"/>
<역할 rolename="admin"/>
<user username="robbin" 비밀번호="12345678" Role="admin,manager,tomcat"/>
이러한 방식으로 사용자 "robbin"은 최고 관리자 권한을 갖습니다. Tomcat을 다시 시작한 후 이 사용자를 사용하여 위의 두 가지 관리 도구에 로그인하고 웹을 통해 Tomcat을 구성 및 관리할 수 있습니다.
2. BEA 웹로직
Weblogic은 BEA 웹사이트에서 무료로 등록한 후 최신 Weblogic8.1 엔터프라이즈 버전을 다운로드하면 1년 동안 무료로 사용할 수 있습니다. Weblogic 다운로드 링크: http://commerce.bea.com/index.jsp , Weblogic 온라인 설명서: http://edocs.bea.com/ .
3. IBM 웹스피어
Websphere는 무료 평가판으로도 다운로드할 수 있습니다. IBM의 DeveloperWorks 웹사이트 링크는 http://www-900.ibm.com/ 입니다. DeveloperWorks /cn/wsdd/ , Websphere 다운로드 링크: http://www7b.software.ibm.com/wsdd/downloads/WASsupport.html .
4. 제이보스
Jboss는 Jboss 웹사이트( http://www.jboss.org/index.html) 에서 무료로 다운로드할 수 있는 무료 오픈 소스 앱 서버입니다. 그러나 Jboss 문서는 무료가 아니며 구입하려면 돈이 필요합니다. Jboss의 특정 장애물을 학습하도록 설정되어 있습니다. 참조용으로 사용할 수 있는 Jdon에 대한 몇 가지 좋은 Jboss 구성 문서가 있습니다: http://www.jdon.com/idea.html
4. Java 애플리케이션의 실행 환경
Java 애플리케이션은 간단히 다음과 같은 측면으로 나눌 수 있습니다.
1. Java 데스크톱 애플리케이션 데스크톱 애플리케이션에는 일반적으로 JRE 지원만 필요합니다.
2. 자바 웹 애플리케이션
Java 웹 애플리케이션에는 최소한 JDK, 웹 컨테이너(예: Tomcat) 및 다중 사용자 데이터베이스가 설치되어 있어야 합니다. 웹 애플리케이션은 최소한 세 가지 계층으로 구분됩니다.
브라우저 계층: 브라우저는 사용자 페이지를 표시합니다.
웹 계층: 서블릿/JSP 실행
DB 계층: 백엔드 데이터베이스, Java 프로그램에 데이터 액세스 서비스 제공
3. Java 기업 수준 애플리케이션 기업 수준 애플리케이션은 상대적으로 복잡하며 n개 계층으로 확장될 수 있습니다. 가장 간단한 경우에는 4개 계층으로 나뉩니다.
브라우저 계층: 브라우저는 사용자 페이지를 표시합니다.
클라이언트 계층: Java 클라이언트 그래픽 프로그램(또는 임베디드 장치 프로그램)은 웹 계층 또는 EJB 계층과 직접 상호 작용합니다.
웹 계층: 서블릿/JSP 실행
EJB 계층: EJB를 실행하고 비즈니스 로직 작업을 완료합니다.
DB 계층: 백엔드 데이터베이스, Java 프로그램에 데이터 액세스 서비스 제공
4. 자바 임베디드 애플리케이션
Java 임베디드 애플리케이션은 신흥 분야입니다. 임베디드 개발에 참여하려면 Sun에서 J2ME 개발 패키지를 다운로드해야 합니다. J2ME에는 일반 JDK에 포함된 JVM과 다른 임베디드 장치용 전용 가상 머신 KVM이 포함되어 있습니다. 또한 특정 임베디드 제조업체로부터 시뮬레이터를 다운로드해야 합니다.
Java 학습 경로(2), 서적
새로운 지식을 배울 때, 한두 권의 책만 읽는 것만으로는 그것을 완전히 익히기를 기대할 수 없습니다. 단계별 읽기 과정이 필요합니다. Oreilly에서 출판한 Java 시리즈 책을 추천합니다.
여기에 몇 가지 의견을 덧붙이고자 합니다. 많은 사람들이 "Thinking in Java"라는 책으로 자바를 배우기 시작하지만, 이 책은 초보자에게는 적합하지 않다고 생각합니다. 이 책을 활용하는 올바른 방법은 보충 독서라고 생각합니다. 《Thinking in Java》는 자바 시스템 전체에 대한 완전한 입문서가 아니라, 자바의 많은 지식 포인트를 심층적으로 분석하고 설명하는 팁 같은 방법인 점핑 글쓰기 방식이다.
초보자의 경우 Java의 구문, 객체 지향 기능, 핵심 클래스 라이브러리 등에 대해 비교적 완전하고 단계별로 소개하는 Java 입문 책을 찾는 것이 가장 좋습니다. 이 책을 읽는 동안 읽을 수 있습니다. 동시에 "Thinking in Java"를 읽으면 Java에 대한 이해와 원리 적용을 심화하는 동시에 Java 시스템 전체에 대한 완전한 이해를 얻을 수 있습니다.
Java 입문 서적의 경우 Cai Xueyong은 Oreilly의 "Exploring Java, 2nd Edition" 또는 "Java in a Nutshell, 2nd Edition(C++ 배경용)"을 권장합니다. 사실 저는 전자산업출판사의 "Java 2 프로그래밍 상세 설명"이나 "Java 2 초보에서 마스터까지"가 아주 좋다고 생각합니다.
모든 Java 책 중에서 가장 유용한 책은 O'reilly의 Java Serials가 아니라 JDK의 Documentation입니다! 얻고자 하는 거의 모든 지식은 문서에서 확인할 수 있습니다. 물론 가장 중요한 부분은 패키지별로 구성된 Java 기본 클래스 라이브러리의 API 문서입니다. 인터페이스가 구현되고 일반적으로 사용되는 상황, 모든 공용 속성 및 메소드, 각 속성의 설명 및 의미, 각 메소드의 목적, 호출 매개변수 및 의미도 확인할 수 있습니다. 매개변수 반환 값 유형, 메서드에서 발생할 수 있는 예외 등 Java 프로그래밍에 관한 모든 책은 실제로 문서의 패키지에 포함된 일부 클래스의 사용법을 소개하기 위해 상대적으로 이해하기 쉬운 언어와 좋은 구성을 사용하고 있다고 말할 수 있습니다. 따라서 모든 것이 동일하게 유지됩니다. 문서를 통해 직접 Java 클래스 라이브러리를 배울 수 있는 능력이 있으면 기본적으로 다른 책을 읽을 필요가 없습니다. 또한 Documentation은 프로그래밍에 필요한 매뉴얼이기도 합니다. 내 데스크탑에는 Documentation of J2SDK1.4.1, Documentation of Servlet2.3 및 Documentation of J2SDKEE1.3.1이라는 세 가지 Documentation 단축키가 있습니다. 이 세 가지 문서에는 다른 책이 필요하지 않습니다.
Java 웹 프로그래밍에서 가장 중요한 것은 HTTP 프로토콜을 숙지하고 마스터하는 것입니다. 이는 Java와 관련이 없습니다. HTTP 프로토콜을 숙지한 후에는 HTTP를 구현하는 Java의 클래스 라이브러리에 익숙해져야 합니다. 프로토콜은 Servlet API이므로 가장 좋습니다. 중요한 것은 Servlet API입니다. 물론, 초보자의 경우 Servlet API를 통해 직접 웹 프로그래밍을 배우기는 매우 어렵습니다. 웹 프로그래밍을 배우려면 O'reilly의 "Java Server Pages" 책을 추천합니다.
EJB 책 중에서는 "Enterprise JavaBeans, 2nd Edition"이 아주 좋은 책입니다. EJB의 학습 문턱이 상대적으로 높아서 시작하기가 어렵지만, 이 책이 학습의 난이도를 완전히 줄여준다는 점입니다. EJB 학습은 App Server의 특정 구현과 결합되어야 하므로 EJB를 배우면서 특정 App Server도 동시에 배워야 합니다. 이 책과 관련된 책은 Weblogic6.1, Websphere4.0 및 Implementing 세 권입니다. JBoss3.0에 배포된 책의 예제. 정말 이론과 실천이 모두 담겨있습니다. EJB를 배우면서 시청과 실습을 동시에 할 수 있어 EJB를 배우는 것이 매우 쉬워질 것입니다.
하지만 이 책에도 문제가 있습니다. 즉, 버전이 상대적으로 오래되었고 주로 EJB1.1 사양과 일부 EJB2.0 사양에 대해 이야기합니다. Ed Roman이 쓴 책 "Mastering EJB 2.0"은 EJB2.0 사양을 완전히 기반으로 하며 모든 것을 간단한 용어로 설명하고 있으며 프로그래밍 경험에 대한 많은 팁도 담고 있습니다. EJB 학습을 위한 추천 도서입니다.
Weblogic과 함께 J2EE를 배우고 있다면 "J2EE 응용 프로그램 및 BEA Weblogic 서버"가 확실히 첫 번째 선택입니다. Weblogic 6.0에 관한 것이지만 이 책은 BEA와 저자가 공식적으로 권장하는 교과서입니다. BEA의 엔지니어이기도 합니다. 이제 중국어 버전을 어디에서나 사용할 수 있습니다. 이 책은 Weblogic을 결합하여 Weblogic 플랫폼에서 J2EE 기술의 다양한 측면을 개발하고 배포하는 방법을 소개합니다. 이는 매우 실용적인 지침의 의미를 갖습니다.
Java 플랫폼과 J2EE에 대한 기본 지식을 습득한 후 다음 단계는 OO 방법을 사용하여 소프트웨어를 설계하는 방법을 배우는 것입니다. 그런 다음 "설계 패턴"을 배워야 합니다. Sun은 Java 엔터프라이즈 플랫폼 소프트웨어를 개발하는 모든 설계자에게 꼭 필요한 책인 "J2EE Core Patterns"라는 책을 출판했습니다. 이 책은 J2EE 아키텍처의 다양한 디자인 패턴을 포괄적으로 소개하며 디자이너라면 꼭 읽어야 할 필독서이다.
Java 학습 경로(3) 프로세스
사람마다 학습 방법이 다릅니다. 한 사람의 학습 방법이 다른 사람에게는 적합하지 않을 수 있습니다. Java를 완전히 혼자서 배웠고 다른 사람에게 물어본 적이 없었기 때문에 학습 과정은 기본적으로 혼자서 완전히 파악되었습니다. 이 방법이 더 나은 방법인지는 모르겠지만 몇 가지 참고 사항만 제공할 수 있습니다.
Java를 배우는 첫 번째 단계는 JDK를 설치하고 Hello World를 작성하는 것입니다. 실제로 JDK를 배우는 것은 Java 프로그래머에게 쉽게 문제가 되는 두 가지 문제가 있습니다. 실제로는 CLASSPATH 문제입니다. JRE의 ClassLoader가 클래스를 로드하는 방법을 파악해야 합니다. 또 다른 문제는 패키지 및 가져오기 문제와 클래스 경로를 찾는 방법입니다. 이 두 가지 문제가 명확해지면 Java를 배우고 JDK를 사용하는 데 가장 큰 장애물이 제거됩니다. 이 두 가지 문제에 대해 심도 있게 논의한 Wang Sen의 "Java Deep Adventure"를 읽어보는 것이 좋습니다.
두 번째 단계는 Java의 구문을 배우는 것입니다. Java의 구문은 C++과 유사합니다. 기본적으로 주류 프로그래밍 언어는 C와 유사하거나 C++과 유사합니다. 새로운 것은 없으므로 구문을 배우는 데는 반나절이면 충분합니다. 주의가 필요한 유일한 것은 public, protected, private, static 등 이해하기 쉽지 않은 여러 키워드가 있으며, 언제 사용해야 하는지, 왜 사용해야 하는지, 어떻게 사용해야 하는지입니다. 조언을 좀 해주세요. 당시 저는 그것을 알아내는 데 오랜 시간이 걸렸습니다. 그러다가 이러한 개념을 설명하는 "Thinking in Java"라는 책을 보았습니다.
세 번째 단계는 Java의 객체지향 프로그래밍 언어의 기능을 배우는 단계입니다. 예를 들어 상속, 생성자, 추상 클래스, 인터페이스, 메서드 다형성, 오버로드, 재정의 및 Java의 예외 처리 메커니즘이 있습니다. 객체지향 언어에 대한 배경 지식이 없는 사람에게는 이 과정이 매우 오랜 시간이 걸릴 것이라고 생각합니다. Java를 배우기 전에는 C++에 대한 경험이 없고 C에 대한 경험만 있기 때문입니다. 완료하는 데 약 한 달 정도 걸렸습니다. 이 모든 개념을 명확히 한 후, 나는 책에 나오는 예를 반복적으로 숙고하고 수정하고 시도해 보았습니다. 나는 그 장들의 내용을 완전히 이해하기 전까지 5번 이상 반복해서 읽었습니다. 하지만 C++ 경험이 있다면 하루나 이틀이면 충분할 것 같아요. 그래서 이 과정에서 객체지향을 아주 철저하게 설명하고 있는 "Thinking in Java"라는 책을 더 많이 읽어보실 수 있습니다. 공부할 때 이 책을 읽지 못한 것이 아쉽기 때문에 스스로의 시련과 추측을 통해 배우는 데 많은 시간을 보냈습니다.
네 번째 단계는 Java의 클래스 라이브러리에 익숙해지는 것입니다. Java의 기본 클래스 라이브러리는 실제로 JDK 설치 디렉터리에 있는 jrelibrt.jar 패키지입니다. 기본 클래스 라이브러리를 배우는 것이 rt.jar을 배우는 것입니다. 기본 클래스 라이브러리에는 수많은 클래스가 있습니다. 3,000개가 넘는다고 하는데, 세어보지는 못했습니다. 하지만 우리에게 정말 핵심적인 것은 4가지뿐입니다.
java.lang.*;
java.io.*;
java.util.*;
java.sql.*;
이 네 가지 패키지에 대한 연구는 두꺼운 교과서에 기록될 수 있으며 O'reilly는 이를 수행합니다. 시간이 촉박하면 네 권의 책을 읽어도 학습이 불가능하다고 생각합니다. 내 생각에 더 좋은 학습 방법은 다음과 같습니다.
우선 전체 패키지 프레임워크를 읽어보고 전체 패키지의 클래스, 인터페이스, 예외의 구성을 이해해야 합니다. 전체 패키지 프레임워크를 소개하는 기사를 찾는 것이 가장 좋습니다. 패키지에 관한 책의 처음 몇 장은 이러한 일반적인 프레임워크 내용에 대한 소개여야 합니다.
패키지의 전체 프레임워크를 파악한다는 것은 각 클래스의 사용법을 익히는 것이 아니라 해당 클래스가 어떤 속성과 메서드를 가지고 있는지 기억하는 것입니다. 기억하고 싶어도 기억이 나지 않습니다. 오히려 패키지가 어떤 클래스로 구성되어 있는지, 이들 클래스의 용도는 무엇인지, 핵심 클래스가 어떤 기능을 수행하는지 알아야 합니다. 저는 사람들을 훈련할 때 보통 한 번에 하나의 패키지를 가르치기 때문에 각 클래스의 사용법을 자세히 소개하는 것은 불가능하지만, 이러한 패키지에 대해 클래스를 호출하는 방법을 알려주는 것이 아니라는 점을 거듭 강조했습니다. 메소드를 사용하려면 클래스의 메소드 호출을 기억할 필요가 없지만 Java가 제공하는 클래스가 무엇인지, 각 클래스가 언제 사용되는지 이해해야 합니다. 여러 클래스를 조합하면 내 문제를 해결할 수 있습니다. 그게 전부입니다! , 구체적으로 프로그램을 작성할 때 작업을 완료하는 데 사용할 클래스를 아는 한 충분합니다. 코딩을 할 때 구체적인 메소드 호출은 코드를 작성하면서 Documentation을 확인하는 것인데, 실제로는 3,000개 이상의 클래스 호출에서 총 100,000개에 가까운 메소드를 기억할 수는 없습니다. . 따라서 각 패키지의 전체적인 프레임워크를 파악하는 것이 매우 중요합니다.
5단계: 위의 학습을 통해 좀 더 확실하게 학습했다면 Java의 기초를 다지게 된 것입니다. 남은 작업은 위의 4가지 패키지 외에 다른 유용한 패키지를 정리하는 것입니다. 나는 이 진전 시점에서 자바의 자기 학습 능력이 발달하여, 직접적으로 문서를 학습하는 수준에 도달했다고 믿는다. GUI 프로그래밍 외에도 JDK의 다른 유용한 패키지는 다음과 같습니다.
java.text.*;
java.net.*;
javax.naming.*;
실제로 이 패키지에는 일반적으로 사용되는 클래스가 거의 없으며 단지 몇 개만 있으므로 많은 시간을 소비할 필요가 없습니다.
6단계, Java 웹 프로그래밍
웹 프로그래밍의 핵심은 HTTP 프로토콜입니다. HTTP 프로토콜은 Java와 관련이 없습니다. HTTP 프로토콜에 익숙하지 않으면 Servlet/JSP 프로그래밍을 잘 배울 수 있지만 하나의 추론을 이끌어낼 수는 없습니다. 예를 들어 모든 것을 이해하십시오. 그러므로 HTTP 프로토콜을 배우는 것이 필요합니다. HTTP 프로토콜에 익숙하고 Java 프로그래밍에 대한 기초가 탄탄하다면 Servlet/JSP를 배우는 것은 쉽습니다. Servlet/JSP를 배우는 데는 일주일도 채 걸리지 않았고, JSP를 사용하여 프로젝트를 시작했습니다.
Servlet/JSP 연구에서 가장 중요한 것은 역시 Servlet Documentation입니다. Servlet API에는 가장 일반적으로 사용되는 클래스가 거의 없으며 상대적으로 짧은 시간에 이러한 클래스를 마스터할 수 있습니다. 이 카테고리를 읽고 몇 가지 예를 더 작성해 보세요. Servlet/JSP 프로그래밍의 핵심은 이러한 클래스를 반복적으로 호출하여 HTTP 프로토콜을 통해 웹 서버와 브라우저 간에 통신하는 것입니다. 또한 JSP의 경우 일반적으로 사용되는 여러 JSP 태그에 익숙해야 합니다. 구체적인 작성 방법이 기억나지 않으면 임시로 찾아보면 됩니다.
또한 Java 웹 프로그래밍 학습의 초점은 웹 애플리케이션의 디자인 패턴, 비즈니스 로직을 분석하고 합리적인 디자인을 수행하는 방법에 중점을 두어야 하며 MVC 디자인 패턴의 요구 사항에 따라 각각 다른 로직 레이어를 완성하기 위해 Servlet과 JSP를 사용합니다. , 프로세스 제어 방법, 서블릿과 JSP 간의 데이터 공유 방법, 웹 애플리케이션 구성 및 배포 방법을 마스터합니다.
7단계: J2EE 프로그래밍 이상의 학습 과정이 상대적으로 원활하다면 이 단계에서 난이도가 갑자기 높아질 것입니다. 위의 지식 내용은 한 가지 측면만을 포함하고 EJB, JMS, JTA와 같은 핵심 J2EE 사양은 종종 여러 Java 기술을 포괄적으로 적용한 결과이기 때문에 마스터하기가 상대적으로 어렵습니다.
우선 JNDI를 잘 배워야 합니다. JNDI는 App Server 위치 서버 리소스(EJB 컴포넌트, Datasouce, JMS) 검색 방법입니다. JNDI에 익숙하지 않으면 EJB와 JMS를 배우는 것이 거의 불가능합니다. JNDI는 실제로 사용이 매우 간단한 javax.naming.* 패키지입니다. 어려움은 서버 리소스 파일 구성에 있습니다. 서버 리소스 파일 구성을 위해서는 web.xml 작성 방법, ejb-jar.xml 작성 방법 등 특별한 문서 사양을 살펴봐야 합니다. 각기 다른 앱 서버마다 익숙해져야 하는 자체 서비스 리소스 구성 파일도 있습니다.
그런 다음 주로 JTA가 트랜잭션을 제어하는 방법과 JTA 사용 시기를 이해하기 위해 JTA를 배울 수 있습니다. 다음은 간단한 예입니다. 일반적으로 데이터베이스 연결(conn.setAutoCommit(false),...,conn.commit())에서 원자성 작업으로 트랜잭션 제어를 수행할 수 있지만 비즈니스 요구 사항이 있다고 가정합니다. 두 개의 서로 다른 데이터베이스에서 원자적 작업으로 작업을 수행하는 것입니다. 할 수 있습니까? 이때는 JTA만 사용할 수 있습니다. 연산 프로세스는 먼저 A 데이터베이스에 레코드를 삽입한 다음 B 데이터베이스에서 다른 레코드를 삭제하는 것이라고 가정합니다. 코드를 직접 작성하면 전체 연산을 원자 연산으로 제어할 수 없습니다. JTA를 사용하면 App Server에서 제어가 완료됩니다.
EJB를 배우기 전에 먼저 객체 직렬화를 배워야 하며 RMI는 EJB의 기초입니다. 다음으로 JMS와 EJB에 대해 알아본다. EJB의 경우 가장 중요한 것은 EJB가 RMI를 통해 원격 객체에 대한 호출을 어떻게 구현하는지, 어떤 상황에서 EJB를 사용하는지 이해하는 것이다.
EJB와 JMS를 배우고 나면 두 가지 영역, 즉 UML과 디자인 패턴에 대한 지식을 빨리 배울 수 있다는 것을 깨닫게 될 것입니다. Java 엔터프라이즈 소프트웨어의 디자인은 프레임워크 디자인에 큰 중요성을 부여합니다. 좋은 소프트웨어 프레임워크는 성공적인 소프트웨어 개발을 위한 필수 조건입니다. 이때부터 디자인 패턴과 프레임워크 학습에 집중해야 하며, 학습과 실무 프로그래밍 경험을 통해 EJB의 디자인 패턴과 J2EE의 핵심 패턴을 마스터해야 합니다.
J2EE 사양에는 EJB, JMS, JTA, Servlet/JSP, JDBC 외에도 수많은 기업용 기술이 있으므로 여기서는 하나씩 소개하지 않겠습니다.
최신 분야인 웹 서비스(Web Services)도 있습니다. 웹 서비스에는 전혀 새로운 것이 없습니다. 이는 통합된 호출 인터페이스를 제공하기 위해 서로 다른 서비스를 통합할 수 있는 접착제와 같습니다. 사용자는 서비스 공급자가 제공한 WSDL만 얻으면 됩니다(서비스 설명용). )이면 충분합니다. 서버 공급자가 제공하는 서비스가 EJB 구성 요소인지, .Net 구성 요소인지, CORBA 구성 요소인지, 아니면 다른 구현인지 전혀 알 수 없으며 알 필요도 없습니다. 웹 서비스의 가장 큰 장점은 통일된 서비스 제공 및 호출 방식을 통해 전체 인터넷 서비스의 공유를 실현한다는 점입니다. 웹 서비스에 관한 좋은 책은 아직 없는 것 같지만, 인터넷에서 정보를 찾아보면 배울 수 있습니다.
Java 학습 경로(4) 방법
프로그래밍 언어로서 Java를 배우는 가장 좋은 방법은 코드를 작성하는 것입니다. 클래스를 학습한 후 간단한 예제 프로그램을 작성하고 실행하여 결과를 확인할 수 있습니다. 그런 다음 몇 가지 클래스 메서드를 더 호출하여 실행 결과를 확인할 수 있습니다. 이렇게 하면 클래스와 메모리를 매우 직관적으로 학습할 수 있습니다. 매우 심오합니다. 그렇다면 코드를 조정하는 것으로 만족해서는 안 됩니다. 이렇게 작성하지 않았더라면 괜찮았을지, 다른 방법을 시도해보고 다시 시도해보세요. 프로그래밍을 배우는 것은 파괴의 과정이라고 전문가가 말한 기억이 납니다. 책에 나오는 예제를 살펴보고 문서 작성 방법을 배운 후에도 이를 달성하기 위해 계속해서 다른 방법을 사용하려고 노력했고, 코드의 구조를 계속 파괴하려고 했습니다. . 결과가 어떻게 될지 살펴보세요. 이런 방법으로 당신은 Java를 철저하고 능숙하게 마스터하게 될 것입니다.
예를 들어, 우리는 모두 Hello World를 프로그래밍했습니다.
공개 클래스 HelloWorld {
공개 정적 무효 메인(String[] args) {
System.out.println("안녕하세요 월드");
}
}
많은 초보자들은 왜 main 메소드가 다음과 같이 정의되어야 하는지 잘 이해하지 못합니다: public static void main(String[] args). 다르게 작성할 수 있습니까? 자바를 처음 배울 때도 그렇고, 그런 질문도 있었어요. 답을 알고 싶으십니까? 매우 간단합니다. main의 이름을 바꾸고 실행하여 어떤 오류가 보고되었는지 확인한 다음, main에서 공용을 제거하고 제거한 후에도 어떤 오류가 계속 실행되는지 확인할 수 있습니다. static인지 모르겠습니다. 메소드가 String[] 배열을 전달해야 합니까? String[]을 int[]로 변경하거나 args 매개변수 이름을 작성해야 하는지 모르겠습니다. args를 다른 이름으로 변경할 수도 있습니다. 결과가 무엇인지 확인하세요.
제가 처음 자바를 배울 때 했던 일인데, Hello World 프로그램을 7~8번씩 바꾸고 계속 실행하고 결과를 분석해보니 왜 메인메소드를 이렇게 정의했는지 완전히 이해가 되었습니다.
게다가 처음에는 staic, public, private, Exception, try{}catch {}finally{} 등에 대해 잘 몰랐습니다. 그냥 참고서에 있는 예제를 성공적으로 실행한 다음 파괴하기 시작했습니다. 프로그램이 실행될 수 있는지, 실행될 때 어떤 모습일지, 예상한 결과를 얻을 수 있는지 확인하기 위해 자신의 질문을 바탕으로 프로그램을 지속적으로 다시 작성하세요. 시간이 더 많이 걸리지만 샘플 프로그램이 이러한 방식으로 여러 번 반복적으로 파괴된 후입니다. 나는 이와 관련된 지식을 철저히 배웠습니다. 때로는 예상되는 실행 오류가 발생할 수 있는지 확인하기 위해 의도적으로 잘못된 코드를 작성하여 실행하기도 합니다. 프로그래밍에 대한 이러한 숙달은 매우 심오합니다.
특히 언급할 가치가 있는 점은 JDK에 훌륭한 디버깅 기능인 -verbose가 있다는 것입니다.
자바 -상세
javac –verbose 및 기타 여러 JDK 도구에는 이 옵션이 있습니다.
-verbose는 명령 실행 중에 JVM이 어떤 클래스를 순차적으로 로드하는지 표시할 수 있으며, 이 유용한 디버깅 정보를 통해 실행 중에 JVM이 수행한 작업을 분석하는 데 도움이 될 수 있습니다.
또한, 학습 과정에서 이런 파괴적인 루틴을 많이 작성했고, 이를 의식적으로 카테고리별로 저장해야 하며, 직장에서 쌓인 일반적인 루틴도 시간이 지나면서 정기적으로 정리되어야 합니다. 유사한 문제가 발생하면 코드 베이스로 이동하여 복사 및 붙여넣기, 검색 및 바꾸기를 수행하면 개발 속도가 크게 향상됩니다. 가장 이상적인 상황은 일부 공통 루틴 자체를 추상화하여 공통 클래스 라이브러리를 형성하고 이를 캡슐화하는 것입니다. 그러면 재사용성이 더 강해질 것입니다.
그래서 루틴은 특별히 필요하지 않다고 생각하는데, 직접 작성한 소멸 루틴이 가장 좋은 예입니다. 만약 자신이 작성한 코드가 정말 고민된다면 JDK 기본 클래스 라이브러리의 Java 소스 코드를 살펴보는 것을 적극 권장합니다. . JDK 설치 디렉토리 아래에 src.zip이 있을 것입니다. 압축을 풀면 rt.jar의 Java 소스 코드인 전체 JDK 기본 클래스 라이브러리를 볼 수 있습니다. Sun이 Java 프로그램 및 사양을 작성하는 방법을 참조할 수 있습니다. .그것은 어떻게 생겼나요? Java 클래스 라이브러리를 배울 때, 뭔가 잘 이해가 안 될 때, 동작의 세부 사항을 좀 더 명확하게 이해하고 싶을 때, 소스 코드를 보면서 해당 클래스의 소스 코드를 열어보는 경우가 많습니다. , 모든 문제가 해결됩니다.
Java 학습 경로(5) 리소스
1. http://java.sun.com/ (영어)
Sun의 Java 웹사이트는 자주 방문해야 하는 곳입니다. 말할 필요도 없습니다.
2. http://www-900.ibm.com/developerWorks/cn/
IBM의 DeveloperWorks 웹사이트, 영어에 능숙하다면 영어 메인 사이트로 바로 이동하세요. 이는 탁월한 객체 지향 분석 및 설계 웹사이트일 뿐만 아니라 웹 서비스, Java 및 Linux를 위한 탁월한 웹사이트이기도 합니다. 적극 추천합니다! ! !
3. http://www.javaworld.com/ (영어)
Java의 다양한 신기술에 대한 토론 및 뉴스입니다. Java 애플리케이션의 모든 측면에 대해 더 자세히 알고 싶다면 이곳이 더 좋은 곳입니다.
4. http://dev2dev.bea.com.cn/index.jsp
BEA의 개발자 포럼. BEA는 가장 중요한 App Server 제조업체로서 많은 고유한 기술을 보유하고 있습니다. Weblogic에서 개발하는 친구들은 놓치지 마세요.
5. http://www.huihoo.com/
Gray Fox Power 웹사이트는 전문적인 미들웨어 웹사이트입니다. 비록 전문적인 Java 웹사이트는 아니지만 J2EE 엔터프라이즈 애플리케이션 기술에 있어서 깊은 성취를 가지고 있습니다.
6. http://www.theserverside.com/home/ (영어)
TheServerSide는 Java 서버측 애플리케이션 전용으로 잘 알려진 웹사이트입니다.
7. http://www.javaresearch.org/
Java Research Organization에는 Java, 특히 JDO에 대한 훌륭한 기사와 튜토리얼이 많이 있습니다.
8. http://www.cnjsp.org/
JSP 기술 웹사이트에는 Java에 관한 꽤 많은 기사와 리소스가 있습니다.
9. http://www.jdon.com/
Jdon 포럼은 개인 중국어 J2EE 전문 기술 포럼입니다. 많은 중국어 Java 포럼 중에서 Jdon은 매우 높은 수준의 기술 콘텐츠와 매우 좋은 게시물을 보유한 포럼입니다.