나는 전에 당신을 위해 당신을 위해 Java Language 책을 읽는 것을 추천했습니다. 다음은 Java 언어를 배우기위한 측면을 소개하는 것입니다. 특정 내용은 다음과 같습니다
1. 자바 언어 기본
기본 Java 언어 학습에 관한 책에 관해서는 모두가 Bruce Eckel의 "Java in Java"를 추천 할 것입니다. 그것은 매우 심오한 기술 책이며 기본적으로 다른 책은 Java 언어의 기본에서 그것을 능가 할 수 없습니다. 이 책의 저자 인 Bruce Eckel은 인터넷의 천재 투기꾼으로 알려져 있습니다. 저자의 "C ++ 사고"는 1995 년 Best Book for Best Book의 소프트웨어 개발 Jolt Award를 수상했습니다. "Thinking in Java"는 1999 년 Java World에서 "Favorite Readers Welcome Book"으로 선정되었으며 편집자 선호하는 책 상을 수상했습니다. 1986 년 이래로 저자는 150 개가 넘는 컴퓨터 기술 기사를 출판했으며 6 권의 책 (4 권은 C ++ 약)을 출판했으며 전 세계 수백 개의 연설을했습니다. 그는 C ++, C ++ Inside & Out의 Thinking의 저자이며 C ++를 사용하고 패턴으로 생각하며 Black Belt C ++ Collection의 편집자이기도합니다. 그의 책은 독자들이 "최고의 자바 참조 북 ... 절대적으로 충격적이다"라고 불린다. "Java Reference Book을 구매하는 가장 현명한 선택"; "내가 본 최고의 프로그래밍 가이드". 저자의 특별한 재능과 극도로 초월적인 언어 능력은 저자를 지난 10 년간의 Java 개발에서 Java와 가장 가까운 관계를 가진 10 자 중 하나로 선정했습니다.
"Java in Java"는 Java 언어의 모든 측면을 알려줍니다. 많은 Java 언어 참전 용사들은 "이것은 Java 언어를 매우 못 생겼다고 말하는 책입니다."라고 말했습니다. 이 책은 Java 언어의 많은 세부 사항에 대해 이야기하며 각 측면은 상당히 심오합니다. 이 책을 통해 "못생긴"자바 언어를 볼 수 있습니다.
인터넷에는 Java 언어 설명에 관한 많은 비디오가 있으며, 그중에는 드문 일이 쓰레기입니다. "Weng Kai-Java Language"는 Java Language Basic을 배우기위한 유일한 선택 일 수 있습니다. 이 강의는 기본적으로 "Java in Java"라는 책에서 설명되어 있으며, 여기에는 Weng 교사의 많은 흥미로운 농담이 포함됩니다. 이 비디오에서 배우게되어 운이 좋았습니다. 내용에는 30 건의 강의가 포함되어 있으며 총 3 회 보았습니다.
그러나 초보자에게는 Java에서 Thinking을 사용하지 않는 것이 좋습니다. 중국에서 Prentice Hall PTR의 "Core Java 2"를“Java 2 Core Technology”라고 불렀습니다.이 판은 현재 7 판입니다. 모든 사람은 인터넷에서 전자 버전을 다운로드 할 수 있습니다. Oreilly의 "Java in a Nutshell"도 좋은 선택입니다. 위의 두 권의 책을 읽은 후 Weng Kai의 비디오를보고“Java에서 생각하는 것”을 연구 할 수 있습니다.
2. Java 데이터 구조
시장에는 Java 데이터 구조에 관한 책이 거의 없습니다. 대략 Apress의 "Java Collections", Jones 및 Bartlett의 "Java의 데이터 구조", "Java를 사용하는 객체 지향 데이터 구조"및 "Java의 데이터 구조 및 알고리즘"이 Prentice Hall (2005 년 12 월 19 일)에 게시 한 "Java의 데이터 구조 및 Algorithms"가 있습니다. 다행스럽게도 내 첫 번째 영어 책은 Apress의 "Java Collections"였습니다 (이 책에는 중국어 버전이 전혀 없을 수도 있지만 영어 버전 만 다운로드 할 수 있습니다). 매우 좋고 매우 규칙적이고 간단합니다. 확장 API의 가장 광범위한 예를 포함하여 Java Collections API를 소개하는 책입니다. 이것은 Java 데이터 구조를 배우는 것이 좋습니다. 중국의 Jones와 Bartlett의 다른 두 권의 책의 중국어 버전이있는 것 같습니다. 읽고 싶다면 읽을 수도 있습니다.
API를 학습 한 후 Java.util 패키지의 해당 클래스를 살펴볼 수 있습니다. 그러나 디자인 패턴을 배운 후에 만 Java Collections Framework 전체를 완전히 이해할 수 있습니다. Java Collections Framework는 반복자 모드, 공장 메서드 모드, 데코레이터 모드, 어댑터 모드 등과 같은 많은 유명한 디자인 패턴을 사용합니다.
소위 학습은 끝이 없습니다. Sun이 학습 후 Java Collections 프레임 워크를 제공 한 후에는 Apche의 다른 Java Collections 프레임 워크를 연구 할 수 있습니다. 서로를 보완하는 두 가지 프레임 워크.
Java 컬렉션을 배우고 공부하기 전에 Java 컬렉션에는 인터페이스, 구현 및 알고리즘의 다음 세 부분이 주로 포함되어 있음을 상기시켜 드리고자합니다.
1. 기본 인터페이스는 목록, 세트, 큐 및 맵입니다. 목록, SE T 및 큐는 컬렉션 인터페이스의 하위 인터페이스입니다.
2. 구현은 주로 이러한 인터페이스를 구현하는 특정 클래스를 구현합니다. ArrayList, LinkedList, Stack 및 Vector 구현 목록 인터페이스와 같은; 해시 세트, 트리 셋 및 링크드 하시 세트 구현 세트 인터페이스; PriorityQueue, Synchronousqueue 등. 큐 인터페이스 구현; 해시 맵, 트리 맵, 해시 가능, 속성, 약한 해쉬 맵 등 맵 인터페이스 구현.
3. 알고리즘은 주로 배열 클래스와 컬렉션 클래스에서 제공합니다. 전체 Java Collection Framework 알고리즘의 핵심입니다. 다양한 유형의 정렬 및 검색과 같은 일반적인 작업을 지원합니다.
Java 컬렉션에는 두 가지 버전의 데이터 구조가 포함되어 있습니다. 주로 동기화를 지원하는 원래 데이터 구조와 나중에 동기화를 지원하지 않는 데이터 구조가 포함되어 있습니다.
Java Collection Framework는 비교기 및 비교 가능한 인터페이스를 사용한 정렬을 지원합니다. 반복자와 Enumeraton은 새로운 버전과 이전 버전뿐만 아니라 변환 방법 등이 제공됩니다.
java.util 패키지의 관찰 가능한 인터페이스 및 관찰자 클래스는 시험관 패턴의 핵심입니다.
...
3. Java Io
시장에는 IO에는 두 권의 책이 있으며, 둘 다 Elliotte Rusty Harold의 작품입니다. 두 권의 책의 스타일은 기본적으로 동일합니다. 권장 판독 값은 "Jvava I/O"의 첫 번째 판입니다. 간단히 말해서 내용은 비교적 집중되어 있으며 많은 예가 있습니다. 두 번째 판은 올해 5 월 해외에 출판되었습니다. 인터넷에서 두 번째 에디션을 다운로드하게되어 매우 행운입니다. 그것은 매우 상세하고 726 페이지의 큰 사람 (2 주 동안 그것을 사용하고 있습니다). 이번에는 J2ME 부분을 포함하여 NIO와 IO를 함께 결합했습니다. 그러나 일련의 병렬 통신 부품은 클래스 라이브러리에 대한 지원이 충분하지 않으며 실제로 직접 작동 할 수는 없습니다.
Oreilly는 "Jvava I/O"의 첫 번째 버전과 함께 "jvava nio"도 가지고 있으며 매우 좋습니다.
"jvava i/o"와 "jvava nio"를 읽은 후에는 java.io 패키지에서 소스 코드를 연구 할 수 있습니다. 소스 코드를 공부하기 전에 몇 가지 팁을 제공합니다.
Java의 IO 패키지는 주로 다음을 포함합니다.
1. 두 스트림 : 바이트 스트림과 문자 스트림. 이 두 스트림에는 소위 "누가 더 나은 사람보다 더 나은 사람을 대체하는 소위"가 없습니다. 그들은 서로를 보완하지만 초점은 다릅니다.
2. 두 가지 유형의 대칭 : 1. 바이트 스트림과 문자 스트림의 대칭; 2. 입력 및 출력의 대칭.
3. 브리지 : 바이트 스트림을 문자 스트림으로 변환하는 입력 스트림 리더 및 outputStreamwriter.
그중에서도 다음에주의를 기울여야합니다.
1. PipedInputStream과 PipedOutputStrem은 두 가지 흥미로운 클래스입니다.
2. 버퍼링을 지원하는 흐름은 우리가 자주 사용하는 클래스입니다.
3. Java에서 데코레이터 패턴의 가장 유명한 적용은 IO의 디자인입니다. 각 필터 스트림과 특정 스트림 사이의 관계를주의 깊게 연구하고 디자인 패턴에 대한 더 많은 책을 읽으십시오. 나는 당신이 뭔가를 얻을 것이라고 믿습니다.
4. 좋은 IO 패키지를 배우는 것은 순 패키지, RMI 패키지를 연구하기위한 기초입니다 ...!
4. Java 데이터베이스
데이터베이스에는 책이 너무 많아서 너무 나쁩니다! 나는 기본적으로 이런 종류의 책을 연구했습니다. 권장하면 Apress의 "JDBC 레시피 A Problem Solution Approach"를 확인할 수 있습니다. 2005 년 말에 해외에 출판되었습니다 (중국에는 중국어 버전이 없지만 중국에서 출시 될 때 읽을 가치가있는 것은 아닙니다. 중국은 종종 외국 책을 엉망으로 번역하고보기 흉한 방식으로 번역합니다) 인터넷에 전자 버전이 있다는 사실에 정말 운이 좋다. 볼만한 가치가 있습니다. Wiley가 출판 한 첫 번째 책 "Java Database Bible"을 추천합니다. JDBC API에 대해 Sun 자체 회사가 소개 한 "JDBC API 튜토리얼 및 Refernece"도 좋습니다. 두 번째 JDBC 책은 내가 공부 한 API입니다.
그러나이 책들은 현재 비교적 피상적 인 API 응용 프로그램입니다. 기회가 있다면 JDBC API를 소개하는 책과 JDBC 구현의 내부 세부 사항을 소개합니다! 나는 가능한 한 빨리 열심히 일할 것이며 모든 사람의 지원을 받기를 바랍니다!
그건 그렇고, 나는 JDBC를 공부하는 친구들에게 몇 가지 팁을주고 싶습니다.
JDBC의 학습 및 사용은 주로이 API 세트를 기반으로하며 사용 프로세스도 매우 간단합니다. 다음은 JDBC를 사용하는 일반적인 과정입니다.
1. 일반적으로 클래스를 사용하여 데이터베이스의 드라이버 (드라이버 클래스)를로드합니다 ( "드라이버 클래스 이름");
2. 데이터베이스에 연결하십시오
Connection Con = DriverManager.getConnection (URL, 사용자 이름, 암호);
3. 세션 명세서 GET STMT = CON.CREATESTATEMENT ();
4. 작동 결과를 실행합니다 RS = stmt.executeQuery ( "SQL Query 문");
5. 처리 결과
while (rs.next ()) {
문자열 col1 = rs.getString (1);
...
}
간단합니다! 전체 JDBC에서 변경할 수있는 것은 일반적으로 다음과 같습니다.
1. 진술, 준비된 상태 및 호출 회의는 연결 객체에서 생성 될 수 있습니다.
2. 여러 유형의 결과 세트를 만들 수 있습니다. 단방향 이동 및 자유 운동 지원; 업데이트 가능하고 업데이트되지 않은; 다른 수준의 거래 지원 ...
3. 데이터 입력의 배치 처리.
4. 결과 세트에서 특수 유형 (Blob, Clob, Arrrary, Ref, Spruct)을 갖는 열 작업.
5.이 특수 유형의 항목 데이터베이스.
6. Javax.sql 패키지에서 특수 결과 세트 (캐시드 로우 세트, JDBCrowset, Webrowset)의 작동.
7. 다른 하나는 데이터 소스이며 매우 간단합니다! J2EE의 관리 대상
간단합니다! 나는 모두가 곧 JDBC를 정복 할 것이라고 믿는다.
5. Java 네트워크 프로그래밍
네트워크 프로그래밍은 신비 롭고 도전적인 방향입니다. 그러나 Java Network 프로그래밍에 대해 이야기하기 전에 먼저 Sun의 개발자에게 감사합니다. 천재 아이디어와 지능형 아키텍처가 Java 프로그래머가 Java 네트워크 프로그래밍을 배우는 것이 매우 간단하기 때문입니다.
Java Network 프로그래밍 서적의 경우 O'Reilly의 "Java Network 프로그래밍"을 추천합니다. 그것은 세 번째 판이었으며 이전 버전은 시장에서 사용할 수 있어야합니다! 인터넷에는 2004 년 706 페이지에 출판 된 세 번째 전자 버전이 있습니다! 매우 포괄적이고 심도 적입니다. 그것이 너무 심층적이라면, 태양의 일부가 완전히 공개되지 않았기 때문에 이야기하기가 어렵 기 때문일 수 있습니다. 관심이 있으시면 다운로드하고 살펴볼 수 있습니다! 두 번째 책은 1998 년 O'Reilly가 출판 한 "Java Distributed Computing"입니다. 기본 부분은 더 자세히 작성되었으며 후속 예는 여전히 공부할 가치가 있습니다.
이 책을 읽기 전에 몇 가지 팁을 드리고 싶습니다.
Java Network 프로그래밍은 실제로 비교적 간단하며 시작하는 것이 매우 빠릅니다. Java 네트워크 프로그래밍은 주로 두 부분을 포함합니다. 1. 소켓; 2. url 부분. 그러나 두 번째 부분은 첫 번째 부분을 기반으로합니다.
1. 소켓에는 클라이언트 소켓 및 서버 서버 소켓이 포함됩니다. UDP 통신 프로토콜에 해당하는 Datagramsocket 및 Datagrampacket도 있습니다. 요컨대, 소켓 부분은 다른 고급 프로토콜을 설정하기위한 기초입니다.
2. URL 클래스는 일반적으로 HTTP, FTP, Telnet과 같은 특정 네트워크 프로토콜과 관련된 네트워크 리소스 로케이터입니다.이 클래스는 네트워크에서 리소스를 연결할 수 있으며 OpenStream은 IO 패키지의 스트림 (InputStream) 형태로 네트워크 리소스를 읽을 수 있습니다. OpenConnection 방법을 통해 연결을 열 수 있으며 읽기 작업뿐만 아니라 쓰기 작업을 완료 할 수 있습니다.
Java의 네트워크 프로그래밍에는 일반적으로 위의 두 부분이 포함됩니다. 네트워크 프로그래밍은 IO 및 멀티 스레딩 부품에 매우 가깝습니다. 이 부분을 배우기 전에이 두 부분을 철저히 이해해야합니다.
위 섹션을 학습 한 후에는 Java.net 패키지에서 이와 관련된 소스 코드를 연구 할 수 있습니다! 모든 소스 코드를 연구하기에는 너무 이르다. 전체 그물 패키지에는 ContenthandLerfactory, urlstreamHandlerFactory, UrlStreamHandler, UrlClassLoader 및 기타 보조 클래스가 포함됩니다. Java.net 네트워크 프로그래밍의 프레임 워크를 형성합니다. 소스 코드를 연구함으로써 Java.net 패키지를 빠르게 이해할뿐만 아니라 향후 패키지를 확장하기위한 토대를 마련 할 수 있으며 이러한 사고 방식을 자신의 프로젝트에 적용 할 수도 있습니다.
지금까지 Java.net 패키지의 60% 만 알아야합니다. JdeCompiler와 같은 디 컴파일러 소프트웨어를 사용하여 JDK 설치 디렉토리에서/jdkxxx/jre/lib 디렉토리에서 rt.jar를 열 수있는 부분이 있습니다. Winrar와 같은 소프트웨어를 사용하여 Sun.net 패키지를 열고 모든 파일을 디 컴파일 할 수 있습니다. URL 클래스 작업의 세부 사항입니다. Sun.net 패키지를 공부 한 후에는 전체 네트워크 프로그래밍에 매우 익숙 할 것입니다.
네트워크 프로그래밍에서 모든 것이 잘 정통한 것 같습니다. 실제로는 그렇지 않습니다. 그것은 시작에 불과합니다. 더 깊이 가고 싶다면 계속하십시오! 많은 우수한 네트워크 프로그래밍 라이브러리와 인터넷의 소프트웨어조차도 우리에게 "기술을 추가"할 수 있습니다. 예를 들어, Apache의 HTTPCore 및 HTTPConnection은 HTTP 프로토콜과 관련된 두 개의 라이브러리입니다. Jgroups는 분산 커뮤니케이션 및 그룹 커뮤니케이션을 연구하기위한 필수 도서관입니다. 그런 다음 Java 플랫폼에서 포인트 간 통신의 미래 표준 일 수있는 Sun 's JXTA와 같은 P2P 소프트웨어 패키지를 연구 할 수 있습니다! 그런 다음 매우 성숙한 P2P 소프트웨어 Azureus를 연구하고 사용할 수 있습니다! www.sourceforge.net을 다운로드 할 수 있습니다!
천 마일의 여정은 한 단계로 시작됩니다! 그냥 해요! (현재, 나는 Net 패키지 만 연구했으며 다른 사람들은 가까운 시일 내에 계속 더 깊이 갈 것입니다. Sun은 어떤 이유로 네트의 다른 구현 세부 사항을 공개하지 않았습니다. 소스 코드를 텍스트 형식으로 연구 할 수있게하고 책에 미공개 구현을 작성할 수있게되면 실제로 Java Network 프로그램에 관한 책을 게시하기를 희망합니다!).
6. 서블릿과 JSP
서블릿과 JSP 책도 어디에나 있습니다! 추천할만한 책은 2 ~ 3 권 밖에 없습니다. 실제로 Addison Wiley의 "Servlets and Javaserver Pages : J2EE Technology Web Tier", 또 다른 매우 두꺼운 책을 추천합니다! 2003 년 784 페이지에 해외에서 출판 된이 책은 비교적 포괄적 인 방식으로 설명되며 많은 예제, 특히 8 장 필터가 있으며, 이는 몇 가지 좋은 예를 제공합니다. 내가 서블릿과 JSP에 대해 내가 본 다른 모든 책은 그렇게 심도 있지 않습니다! (내가 보지 못했을 수도 있습니다). O'Reilly의 "Java Servlet Programming"및 "Java Server Pages"는 상대적으로 이해하기 쉽습니다. 읽을 수 있습니다!
서블릿과 JSP를 배우기 전에도 여전히 상기시키고 싶습니다.
본질적으로 Servlet은 Servlet 인터페이스를 구현하고 서버 측에 배포되는 프로그램 일뿐입니다! 다른 Java 응용 프로그램을 작성하는 것처럼 쓸 수 있습니다. 데이터베이스를 작동하고 로컬 파일을 작동하며 로컬 EJB에 연결할 수 있습니다. 서블릿 프로그램 작성의 일반적인 프로세스는 다음과 같습니다.
1. httpservlet 클래스를 상속받습니다.
2. doget 및 dopost 방법을 덮어 쓰십시오.
3. 내부 작동 메소드 매개 변수 httpservletrequest 및 httpservletresponse는 재정의 메소드에서 수행됩니다.
4. httpservletrequest를 사용하여 요청을 읽으십시오. httpservletrequest를 사용하여 HTTP 프로토콜의 프로토콜 헤더를 작동하고 요청의 작업 방법을 가져오고 요청의 경로를 가져오고 요청 문자열을 가져오고 요청 클라이언트와 관련된 정보를 얻을 수 있습니다. 더 중요한 것은 쿠키와 httpsession의 두 개체를 얻을 수 있습니다.
5. 쿠키를 사용하면 "연인"객체를 작동 시키거나 httpservletresponse에 쓸 수 있습니다.
6. httpservletresponse를 사용하여 고객에게 정보를 출력 할 수 있습니다. httpservletresponse를 사용하여 다양한 유형의 프로토콜 헤더를 작성하고 쿠키를 추가하고 다른 URL을 리디렉션하며 HTTP 프로토콜의 상태 코드를 고객에게 보냅니다.
7. httpsession을 사용하여 세션 내에서 구현하려는 기능을 완료하십시오.
동시에 Servlet은 일부 이벤트 및 이벤트 리스너 (간단한 관찰자 모드)를 제공합니다. 필터 (필터) 및 포장지 (ServletRequestWrapper, ServletResponseWrapper)의 간단한 스트림 사용 및 데코레이터 모드 사용이 있습니다.
학습 Sevlets 및 JSP를 서버에 배포해야합니다. 일반적인 파일 배포의 단계와 매개 변수와 프로그램에서이를 사용하는 방법을 기억하십시오.
서블릿을 완전히 이해 한 후에는 JSP를 배우는 것이 비교적 쉽습니다! JSP는 전적으로 서블릿을 기반으로하며 HTML 문서 (예 : PHP와 같은 웹 프로그래밍 언어)에 스크립트를 포함시키려는 프로그래머에게 제공됩니다! 배우기가 매우 쉽습니다!
모든 것이 너무 차분하고 배우기 쉬운 것처럼 보입니다! 간단한 외관 뒤에 복잡한 메커니즘이 있습니다. 서블릿과 JSP를 철저히 연구하려면 Tomcat과 같은 오픈 소스 소프트웨어의 특정 구현을 연구해야합니다. 서버에 지나지 않습니다. 클라이언트가 웹 페이지를 사용하여 HTTP 프로토콜을 통해 서버에 요청을 보낸 후 서버는 HTTP 요청을 해당 HTTPSERVletRequest 객체로 변환하고 작성한 서틀을 호출합니다. 서블릿에서는이 httpservletrequest를 운영해야하며 동시에 httpservletresponse를 운영해야합니다. 서버는 HTTP 프로토콜을 사용하여 HTTP 프로토콜의 요구 사항에 따라이 httpservletResponse를 브라우저로 보냅니다! 클라이언트가 서버의 JSP 웹 페이지를 요청한 후 Tomcat은 컴파일 소프트웨어를 사용하여 javax.servlet.jsp 패키지의 템플릿을 사용 하여이 JSP 파일을 컴파일하고 컴파일 후에는 서블릿이됩니다! 미래의 운영은 서블릿의 운영과 정확히 동일합니다!
서블릿과 JSP를 기반으로하는 소위 고급 기술 : JSTL, Struts ...는 일부 태그와 MVC 패턴을 사용하는 것만 큼 지나지 않습니다.
앞으로 계속 나아가십시오! 승리가 앞서 있습니다! !
7. 멀티 스레딩
신비한 것처럼 보이지만 시작하기 쉽고 마스터하기 어려운 방향!
나는 내가 느끼는 두 권의 책을 추천합니다. 우선, 나는이 분야에서 읽을 수있는 첫 번째 책이었습니다. 1998 년 Sams에 의해 출판 된 "Java Thread Programming". 잘 쓰여지고 이해하기 쉽습니다. 나는 종종 시간이있을 때 그 당시의 메모를 읽습니다! 직접하는 방법을 알아야합니다! 오레일리 (Oreilly)가 세 번 출판 한 두 번째 책 "Java Threads"는 2004 년 최신 버전입니다. 중국에는 중국어 버전이있는 것 같습니다. 영어 버전을 읽는 것이 좋습니다! 이 책은 IO, 스윙, 컬렉션 등과 같은 멀티 스레딩과 관련된 N 방향에 대해 이야기합니다.
몇 가지 팁을 드리겠습니다! Java 클래스 라이브러리의 멀티 스레딩과 관련된 클래스는 많지 않습니다. 주로 스레드, 스레드 그룹, Threadlocal 및 inheritableThreadlocal 및 하나의 실행 가능한 인터페이스; 키워드 동기화 및 휘발성; 그리고 객체 객체의 메소드를 알리십시오!
1 스레드는 멀티 스레딩의 핵심 클래스이며 멀티 스레딩을 생성하고 작동하는 일련의 방법을 제공합니다.
2 ThreadGroup은 스레드를 관리하기위한 도구 클래스입니다.
3 ThreadLocal 및 inheritableThreadlocal은 STREAT를 제공하여 안전한 기능과 유사한 스레드 객체를 저장하는 클래스를 제공합니다!
4는 말할 필요가 없습니다!
5 Synchronize는 동기화 방법 및 동기화 블록의 핵심입니다! 다중 스레드 가이 메소드를 호출하면 하나의 스레드만이 방법을 사용할 수 있고 다른 메소드가 블록을 블록하여 작동중인 객체의 내부 상태의 무결성을 보장 할 수 있습니다. 스레드가 메소드를 호출하거나 동기화로 블록을 호출하면 객체의 객체 잠금이 발생합니다. 블록에서 작업을 완료하면 객체 잠금이 해제되므로 다른 객체가 계속 작동 할 수 있습니다.
6 대기, 알림, Notifyall은 효과적인 대기/알림 메커니즘을 제공합니다. 자바 언어의 각 객체에는 라운지가 있습니다. 작동하는 객체의 상태가 충족되지 않고 객체 잠금을 방출 할 때 모든 스레드는 물체 라운지에 놓여 있습니다. 다른 스레드가 객체를 작동하면 라운지의 실을 깨우고 조건을 확인한 다음 조건이 충족되면 해당 작업을 수행합니다.
멀티 스레딩에는 거의 많은 기본 사항이 있습니다! 간단합니까! 이것은 실제 프로그래머에게는 충분하지 않아야합니다. 멀티 스레딩에 대한 지식이 있어야합니다. java.util.concurrent 패키지를 연구하십시오! Mas 저자의 웹 사이트에는이 라이브러리의 다른 버전이 있습니다! 공부할 가치가있는 좋은 물건! 최대 절전 모드 및 OpenJMS와 같은 오픈 소스 소프트웨어는이 패키지를 사용했습니다!
8. 디자인 패턴
디자인 패턴과 관련하여 많은 사람들이 GOF 책을 추천합니다. 이 책은 아마존에서 5 성급 권장 책입니다. 그러나 오랫동안 Java를 배우지 않은 사람들, 특히 Java의 초보자 인 사람들에게는이 책을 추천하지 않습니다. 주된 이유는이 책의 예가 기본적으로 C ++이며 많은 세부 사항이 명확하게 설명되지 않기 때문입니다.
내가 당신에게 추천하는 첫 번째 책은 Yan Hong 박사의 "Java and Patterns"입니다. 중국인이 쓴 디자인 패턴에 관한 첫 번째 책입니다. 그것은 매우 흥미롭고 많은 중국 국가의 문화와 개념을 통합합니다. 많은 예와 그림이 있으며, 비교적 간단합니다! 아주 좋은 입문서와 큰 사람!
둘째, Wiley Publishing House가 출판 한 3 개의 "Java In Java"세트를 추천합니다. 방금 첫 번째를 읽었습니다. 두 번째는 좋지 않은 것 같습니다. 세 번째는 좋지 않습니다!
세 번째 책은 2003 년 China Railway Publishing House에서 출판 한 "Java Multi-Shreaded Design Pattern"의 중국어 번역 버전입니다. 다중 스레드 모델을 매우 간단히 설명하고 많은 수의 전설이 있으며 각 장에서 연습이 있으며 최종적으로 답이 있습니다! 멀티 스레딩 모드를 공부할 때 시작했습니다!
올해 출판 된 네 번째 책 "Head First Design Pattern"의 Head First 시리즈는 Head First Series of Books의 장점을 준수합니다.
둘째, J2EE 방향으로 2002 년 Addison Wesley가 발행 한 "Enterprise Application Architecture"패턴 "을 연구하고 읽을 수 있습니다. Big Names의 많은 작품이 있으며 엔터프라이즈 정보 통합에 대해 이야기합니다! Sun이 제공하는 "J2EE Patterns SL500"도 매우 좋습니다! 나는 마스터의 작품 인 아마존의 4 개와 반 스타 "패턴에 대한 Holub"을 추천하며 공부할 가치가있는 예를 제공합니다. 그러나 위의 4 권에 익숙하지 않은 독자들은 읽지 않는 것이 가장 좋습니다! 더 피곤해 질 수 있습니다!
나는 디자인 패턴을 배우기 위해 매우 구불 구불 한 길을 갔고 약 20 권의 책을 읽었습니다. 나는 Yan Hong 박사의 "Java and Patterns"를 4 번 읽었으며 기본적으로 처음으로 이해하지 못했다는 것을 배제했습니다! 나는 선생님이 대학 첫 해에 GOF 책을 가르쳐 준 것을 기억합니다. 선택 과정으로서 저는 컴퓨터 부서의 석사 및 박사 과정 학생들과 함께있었습니다. 마지막 학급에서는 40-50 명이 3 명을 이해하지 못했고 나는 아무것도 이해하지 못했습니다 (기초가 열악한 경우 C ++ 언어에 대해 아무것도 모른다). 지바로지는 성격으로, 나는 Java 언어에 대한 나의 이해가 괜찮다고 생각했기 때문에 "Java와 Patterns"를 빌렸지 만 여전히 기본적으로 그것을 이해하지 못했습니다. 다행히도 대학원 3 학년 때 상하이 Jiaotong University의 Rao Ruonan 씨의 Java OOP 언어 강의를 들었습니다. 조합 책 모델과 같은 세 가지 디자인 패턴을 이해 한 후, 나는 다른 모델에 관심을 갖게되었고 그것들을 정복하고자했습니다! 퇴근 후 첫 번째 책은 "Java and Patterns"였습니다. 나는 처음으로 1,000 페이지 이상 으로이 큰 사람을 공부하는 데 2 개월을 보냈습니다. 나중에, 나는 세 번째 후 약 15 일 후에 끝낼 수 있었고 많은 노트북을 가져갔습니다! 그때부터 통제 불능 상태였습니다.
올바른 책을 선택하고 연구에 집중하십시오. 나는 곧 시작할 것이라고 믿는다!
Java 언어 학습 8 간단한 부분은 자바 언어에 대한 우리의 연구의 시작일뿐입니다! 이 모든 것은 Java 프로그래머 인 기껏해야 이해되며 앞으로의 도로는 매우 길다! 우리는 데이터베이스 구현의 소스 코드, Servlet Server의 소스 코드, RMI, EJB, JNDI, Aspect-Oriented 프로그래밍, 재구성, 개미 도구, Eclipse Tools, Jboss, Jonas, Apache Geronimo 및 기타 J2EE 서버를 계속 연구 할 수 있습니다! 이것을 연구 한 후에는 훌륭한 J2EE 아키텍처가 될 수 있습니다! 분석기, 컴파일러, Jnode (Java가 작성한 운영 체제)를 계속 연구 할 수 있습니다.
더 신나는 책 목록을 보려면 프로그래밍 필수 책 목록을 클릭하십시오.
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.