중화사전망 - 구한말 사전 - JAVA 학습 방법 또는 지름길 - 조언 구하기
JAVA 학습 방법 또는 지름길 - 조언 구하기
다른 프로그래밍 언어와 마찬가지로 JAVA는 얕은 것부터 깊은 것까지의 과정입니다. 이 언어를 즐겁게 배우고 싶다면 여기 기사를 참고하세요. JAVA를 배우려면 인내심이 필요합니다. 다음 글은 여러분에게 도움이 될 것입니다
1. 자바 언어 기초
자바 언어의 기초를 배우기 위한 책이라면 누구나 "Thinking in Java"를 추천할 것입니다. 브루스 에켈. 이 책은 기본적으로 Java 언어의 기초에 있어서 다른 어떤 책도 이 책을 능가할 수 없는 매우 심오한 기술 서적입니다. 이 책의 저자 브루스 에켈(Bruce Eckel)은 인터넷에서 천재 투기꾼으로 알려져 있다. 저자의 『Thinking in C』는 1995년 소프트웨어 개발 졸트상(Software Development Jolt Award) 최우수 도서상을 수상했으며, 『Thinking in Java』는 『자바 세계(Java World)』로 명명됐다. "1999년. 가장 좋아하는 독자 환영 도서"로 Editors' Choice Book Award를 수상했습니다. 1986년부터 저자는 150편 이상의 컴퓨터 기술 관련 기사와 6권의 책(그 중 4권은 C에 관한 책)을 출판했으며 전 세계에서 수백 건의 강의를 했습니다. 그는 "Thinking in Java", "Thinking in C", "C Inside & Out", "Using C" 및 "Thinking in Patterns"의 저자이며 선집 "Black Belt C"의 편집자입니다. 그의 책은 "최고의 Java 참고서...완전히 충격적이다", "Java 참고서 구입을 위한 가장 현명한 선택", "내가 본 최고의 프로그래밍 가이드"로 평가됩니다. 저자의 남다른 재능과 다양한 언어를 다루는 능력 덕분에 저자는 지난 10년간의 Java 개발 중 Java와 가장 밀접한 관계를 맺은 10인 중 한 명으로 선정되었습니다.
'자바로 생각하기'는 자바 언어의 모든 측면을 이야기한다. 많은 자바 언어 베테랑들은 "이 책은 자바 언어에 대해 다소 추악한 방식으로 이야기하는 책이다"라고 평했다. 이 책은 Java 언어의 많은 세부 사항에 대해 설명하며 모든 측면이 매우 심오합니다. 이 책을 통해 당신은 "추악한" 자바 언어를 볼 수 있다.
인터넷에는 자바 언어 설명에 대한 동영상이 많이 있는데 그 중 일부는 쓰레기입니다. "Weng Kai - JAVA Language"는 Java 언어의 기본을 배울 수 있는 유일한 선택일 수 있습니다. 이 강의는 기본적으로 "Thinking in Java"라는 책을 기반으로 하며 Weng 선생님의 흥미로운 농담이 많이 포함되어 있습니다. 이 영상을 통해 학습이 시작되었다는 것은 정말 행운입니다. 내용은 30강으로 구성되어 있으며, 총 3번 읽었습니다.
그러나 초보자에게는 "Thinking in Java"를 사용하는 것을 권장하지 않습니다. 중국에서는 "Java 2 Core Technology"라고 불리며 현재 7번째인 Prentice Hall PTR의 "Core Java 2"를 선호합니다. 에디션. 인터넷상의 모든 사람이 전자 버전을 다운로드할 수 있습니다. Oreilly의 "Java in a nutshell"도 좋은 선택입니다. 위의 두 권의 책을 읽은 후 Weng Kai 선생님의 영상을 시청하신 후 "Thinking in Java"를 공부하실 수 있습니다.
2. 자바 데이터 구조
자바 데이터 구조에 관한 책은 시중에 거의 없습니다.
대략적으로 APress의 "Java Collections", Jones 및 Bartlett의 "Java의 데이터 구조", "Java를 사용한 객체 지향 데이터 구조", Prentice Hall이 출판한 "Java의 데이터 구조 및 알고리즘"(2005년 12월 19일)이 있습니다. . "Java의 객체 지향 디자인 패턴을 사용한 데이터 구조 및 알고리즘"도 있습니다. 제 첫 번째 영어 책이 APress의 "Java Collections"라는 점은 매우 행운입니다. (이 책은 중국에서는 중국어 버전이 전혀 없을 수도 있습니다. 영어 버전만 다운로드할 수 있습니다.) 매우 논리적이고 간단합니다. API 확장에 대한 많은 예제와 함께 Java 컬렉션 API에 대한 전체 소개입니다. 이 책은 자바 데이터 구조를 배우기 위해 제가 추천하는 유일한 좋은 책입니다. 중국에는 Jones와 Bartlett의 다른 두 권의 책에 대한 중국어판이 있는 것 같으니, 원하시면 한번 보시면 됩니다.
API를 학습한 후 java.util 패키지에서 해당 클래스를 살펴볼 수 있습니다. 그러나 디자인 패턴을 학습한 후에만 전체 Java 컬렉션 프레임워크를 완전히 이해할 수 있습니다. Java Collections Framework는 반복자(Iterator) 패턴, 팩토리 메소드 패턴, 데코레이터 패턴, 어댑터 패턴 등과 같은 잘 알려진 많은 디자인 패턴을 사용합니다. java.util 패키지에 포함된 데이터 구조의 소스 코드를 연구하면 악명 높은 Properties 클래스의 설계를 알 수 있으며, 동시에 간단한 데이터 구조를 설계하는 능력도 기본적으로 갖추게 될 수 있습니다.
소위 학습은 무궁무진합니다. Sun에서 제공하는 Java Collections Framework를 공부하고 나면 Apche의 또 다른 Java Collections Framework를 공부할 수 있다는 점이 매우 흥미롭습니다. 서로를 보완하는 두 가지 프레임워크.
모든 사람이 Java 컬렉션을 배우고 연구하기 전에 Java 컬렉션은 주로 인터페이스(Interface), 구현(Implemention), 알고리즘(Algorithm)의 세 부분으로 구성된다는 점을 상기시켜 드리겠습니다.
1. 주요 인터페이스는 List, Set, Queue 및 Map입니다. List, Set 및 Queue는 Collection 인터페이스의 하위 인터페이스입니다.
2. 구현은 주로 이러한 인터페이스를 구현하는 구체적인 클래스입니다. 예를 들어 List 인터페이스를 구현하는 ArrayList, LinkedList, Stack 및 Vector; Set 인터페이스를 구현하는 PriorityQueue, SynchronousQueue 등; HashMap, TreeMap, Hashtable, Properties, WeakHashMap 등을 구현합니다. . Map 인터페이스를 구현합니다.
3. 알고리즘은 주로 Java Collection Framework 알고리즘 전체의 핵심인 Arrays 클래스와 Collections 클래스에 의해 제공됩니다. 정렬, 검색 등 다양한 유형의 일반적인 작업을 지원합니다.
Java 컬렉션에는 두 가지 버전의 데이터 구조가 포함되어 있습니다. 주로 동기화를 지원하는 원본 데이터 구조와 동기화를 지원하지 않는 최신 데이터 구조입니다.
Java 컬렉션 프레임워크는 Comparator 및 Comparable 인터페이스를 사용한 정렬을 지원합니다. Iterator 및 Enumeraton의 이전 버전과 새 버전이 모두 제공되며 변환 방법도 제공됩니다.
java.util 패키지의 Observable 인터페이스와 Observer 클래스는 관찰자 패턴의 핵심입니다.
......
3. Java IO
Oreilly Publishing House에서 시중에 나와 있는 IO에 관한 책은 두 권뿐입니다. Elliotte Rusty Harold가 작성했습니다. 두 책의 스타일은 기본적으로 동일합니다. 추천 도서는 "Jvava I/O"의 초판입니다. 설명은 비교적 간단하고 내용은 비교적 집중되어 있으며 예가 많습니다. 2권은 올해 5월에 해외에서 출간됐는데, 다행히 인터넷에서 다운받았는데, 726페이지(2주 동안 메이크업을 했어요)로, 이번에는 NIO와 IO도 포함되어 있어요. J2ME 부분은 그런데 직렬포트와 병렬포트 통신 부분은 클래스 라이브러리 지원이 부족한 것 같아 실제로 운영을 못 하고 있습니다.
오라일리는 'Jvava I/O' 초판과 함께 'Jvava NIO'라는 책도 내놨는데, 그것도 아주 좋은 책이다.
"Jvava I/O"와 "Jvava NIO"를 차례로 읽은 후 java.io 패키지의 소스 코드를 공부할 수 있습니다. 소스 코드를 연구하기 전에 몇 가지 팁을 알려드리겠습니다.
Java의 io 패키지에는 주로 다음이 포함됩니다.
1. 두 개의 스트림: 바이트 스트림(바이트 스트림)과 문자 스트림(문자) 스트림) 스트림), 누가 다른 것을 대체하거나 다른 것보다 우수하다는 것은 없습니다. 그들은 서로를 보완하지만 초점이 다릅니다.
2. 두 가지 종류의 대칭: 1. 바이트 스트림과 문자 스트림의 대칭 2. 입력 및 출력의 대칭.
3. 브리지: 바이트 스트림을 문자 스트림으로 변환하는 InputStreamReader 및 OutputStreamWriter.
주의해야 할 점:
1. PipedInputStream과 PipedOutputStrem은 두 가지 흥미로운 클래스입니다.
2. Buffered를 지원하는 스트림은 우리가 자주 사용하는 클래스입니다.
3. Java에서 Decorator 패턴의 가장 유명한 적용은 io 디자인입니다. 각 필터 흐름과 특정 흐름 사이의 관계를 주의 깊게 연구하고 디자인 패턴에 대한 더 많은 책을 읽어보세요. 나는 당신이 뭔가를 얻을 것이라고 믿습니다.
4. io패키지를 잘 배우는 것은 넷패키지, rmi패키지를 공부하는 기초가 됩니다...!
4. Java 데이터베이스
데이터베이스에 관한 책이 너무 많고 너무 나쁩니다! 나는 기본적으로 이 분야의 모든 책을 연구했습니다. Apress의 "JDBC Recipes A Problem Solution Approach"를 읽어 보시기 바랍니다. 그것은 2005년 말에야 해외에서 출간된 것 같습니다. 하지만 반드시 중국어 버전일 필요는 없습니다. 외국 서적의 국내 번역은 종종 지저분하고 읽을 수 없습니다.) 하지만 인터넷에 전자 버전이 있다는 것은 정말 행운입니다. 볼만한 가치가 있습니다. 처음 읽었는데 상당히 만족스러웠던 책인 Wiley에서 출판한 "Java Database Bible"을 추천합니다. 정말 좋습니다! JDBC API를 소개하는 Sun의 저서 "JDBC API Tutorial and Reference"도 좋습니다. 나의 두 번째 JDBC 책은 이 API 세트에 관한 것이었습니다.
그러나 이 책들은 현재 상대적으로 피상적인 API 애플리케이션에 관한 책입니다.
기회가 되면 JDBC API와 JDBC 구현 내부 내용을 소개하는 책도 들고오겠습니다! 최대한 빨리 열심히 노력해서 모두의 응원을 받을 수 있기를 바랍니다!
그나저나 JDBC를 배우는 친구들을 위한 팁:
JDBC의 학습과 사용은 주로 이 API 세트를 기반으로 하며 사용 과정도 매우 간단합니다. . 다음은 JDBC를 사용하는 일반적인 프로세스입니다.
1. 일반적으로 Class.forName("드라이버 클래스 이름")을 사용하여 특정 데이터베이스의 드라이버(드라이버 클래스)를 로드합니다. p>2. 데이터베이스에 연결 -
연결 con = DriverManager.getConnection(url, 사용자 이름, 비밀번호)
3 세션 가져오기 — 명령문 stmt = con.createStatement( );
4. 작업 수행 ――결과 rs = stmt.executeQuery(“SQL 쿼리문”)
5. while(rs.next()){
String col1 = rs.getString(1)
……
}
쉬운! JDBC 전체에서 변경될 수 있는 사항은 일반적으로 다음과 같습니다.
1. Connection 개체에서는 Statement,PreparedStatement 및 CallableStatement의 세 가지 유형의 Statement를 생성할 수 있습니다.
2. 다양한 유형의 ResultSet을 생성할 수 있습니다. 단방향 이동과 자유로운 이동을 지원하고, 다양한 수준의 트랜잭션을 지원합니다.
3. 배치 데이터 입력 처리.
4. 결과 집합의 특수 유형(Blob, Clob, Arrary, Ref, Struct) 열에 대한 작업입니다.
5. 이러한 특별한 유형의 항목이 데이터베이스에 입력됩니다.
6. javax.sql 패키지의 특수 결과 세트(CachedRowSet, JdbcRowSet, WebRowSet) 작업.
7. 또 다른 것은 역시 매우 간단한 DataSource입니다! J2EE의 관리 객체
간단해요! 나는 모두가 곧 JDBC를 정복할 것이라고 믿는다.
5. Java 네트워크 프로그래밍
네트워크 프로그래밍 - 신비롭고 도전적인 방향입니다. 그러나 Java 네트워크 프로그래밍에 대해 이야기하기 전에 먼저 Sun Company의 개발자에게 감사의 말씀을 전하고 싶습니다. 그들의 천재적인 아이디어와 지능적인 아키텍처 덕분에 대부분의 Java 프로그래머가 Java 네트워크 프로그래밍을 매우 쉽게 배울 수 있었기 때문입니다.
Java 네트워크 프로그래밍에 관한 책으로는 현재 제3판이 나와 있는 O'Reilly의 "Java Network 프로그래밍"을 추천합니다. 2004년에 해외에서 출판되었으며 706페이지에 달하는 3판의 전자 버전이 이미 인터넷에 나와 있습니다. 매우 포괄적이고 심도가 깊다면 Sun의 일부 내용이 완전히 공개되지 않았기 때문일 수 있으므로 관심이 있는 경우 다운로드하여 가져가실 수 있습니다. 바라보다! 두 번째 책은 오라일리가 1998년에 출간한 『자바 분산 컴퓨팅』이다. 기본적인 부분은 좀 더 자세하게 설명되어 있고, 다음 예시들은 지금도 연구할 가치가 있다.
이 책을 읽기 전에 몇 가지 팁을 알려드리겠습니다.
Java 네트워크 프로그래밍은 실제로 비교적 간단하며 시작하기가 매우 빠릅니다. Java 네트워크 프로그래밍은 주로 두 부분으로 구성됩니다. 1.소켓 부분; 하지만 두 번째 부분 역시 첫 번째 부분을 완전히 기반으로 하고 있습니다.
1. 소켓에는 클라이언트 측 소켓과 서버 측 ServerSocket이 포함됩니다. UDP 통신 프로토콜에 해당하는 DatagramSocket 및 DatagramPacket도 있습니다. 즉, 소켓 부분은 다른 고급 프로토콜을 설정하기 위한 기반입니다.
2. URL 클래스는 일반적으로 HTTP, FTP, Telnet과 같은 특정 네트워크 프로토콜과 관련된 네트워크 리소스 로케이터입니다. 이 클래스를 통해 네트워크의 리소스에 연결할 수 있습니다. OpenStream을 통해 OpenConnection 메서드를 통해 io 패키지의 스트림(InputStream) 형식으로 네트워크 리소스를 읽을 수 있습니다. 읽기 작업을 완료할 수 있을 뿐만 아니라 쓰기 작업도 완료할 수 있습니다.
Java 네트워크 프로그래밍은 일반적으로 위의 두 부분으로 구성됩니다. 네트워크 프로그래밍은 IO 및 멀티스레딩과 매우 밀접하게 관련되어 있습니다. 이 부분을 공부하기 전에 이 두 부분을 철저히 이해해야 합니다.
위 부분을 공부하신 후, java.net 패키지에서 관련 소스코드를 공부하시면 됩니다! 소스코드를 모두 공부하기에는 아직 이르다. 전체 넷 패키지에는 java.net 네트워크 프로그래밍의 프레임워크를 형성하는 ContentHandlerFactory, URLStreamHandlerFactory, URLStreamHandler, URLClassLoader 및 기타 보조 클래스가 포함되어 있습니다. 소스 코드를 연구하면 java.net 패키지를 빠르게 이해할 수 있을 뿐만 아니라 확장할 수도 있습니다. 이 패키지는 이러한 사고 방식을 자신의 프로젝트에 적용할 수 있는 기반을 마련합니다.
이 시점에서는 java.net 패키지의 60%만 이해하면 됩니다. 그 중 일부의 경우 JDecompiler와 같은 디컴파일 소프트웨어를 사용하여 JDK 설치에서 \jdkxxx\jre\lib 디렉토리를 열 수 있습니다. rt.jar 파일을 열고 WinRAR과 같은 소프트웨어로 sun.net 패키지를 열고 모든 파일을 디컴파일합니다. sun.net 패키지를 공부한 후에는 전체 네트워크 프로그래밍에 매우 익숙해질 것입니다.
우리는 이미 네트워크 프로그래밍에 능숙한 것 같습니다. 사실은 그렇지 않습니다. 더 깊이 들어가고 싶다면 시작에 불과합니다. 인터넷에는 우리에게 "힘을 더해줄" 수 있는 훌륭한 네트워크 프로그래밍 라이브러리와 심지어 소프트웨어도 많이 있습니다. 예를 들어, Apache의 HttpCore 및 HTTPConnection은 HTTP 프로토콜과 관련된 두 가지 라이브러리입니다. JGroups는 분산 통신 및 그룹 통신을 연구하기 위한 필수 라이브러리입니다. 그러면 Java 플랫폼일 수 있는 Sun의 JXTA와 같은 P2P 소프트웨어 패키지를 연구할 수 있습니다. Point-to-Point 통신의 미래 표준! 그렇다면 매우 성숙하고 널리 사용되는 P2P 소프트웨어 Azureus를 공부할 수 있습니다! www.sourceforge.net 다운로드 가능!
천리길도 한걸음부터 시작됩니다! 그냥 해! (현재는 net 패키지만 연구했으며 가까운 시일 내에 다른 패키지도 계속 연구할 예정입니다. Sun은 몇 가지 이유로 인해 net의 다른 구현 세부 사항을 공개하지 않았습니다. Sun은 소스 코드를 텍스트 형식으로 연구할 수 있도록 허용합니다. , 그리고 책에 출판되지 않은 구현을 작성할 때 일반 독자를 위해 Java 네트워크 프로그래밍에 관한 책을 출판하고 싶습니다!)
6. 서블릿 및 JSP
책 서블릿과 JSP도 어디에나 있습니다! 추천할 만한 책은 두세 권 정도밖에 없어요. 저는 Addison Wiley의 "Servlets and JavaServer Pages: The J2EE Technology Web Tier"를 정말 추천합니다. 이 책도 매우 두꺼운 책입니다! 2003년에 해외에서 출판되었으며 784페이지로 구성되어 있으며 비교적 완전한 설명과 많은 예를 제공합니다. 특히 몇 가지 좋은 예를 제공하는 8장 필터를 참조하세요.
내가 본 서블릿과 JSP에 관한 다른 모든 책은 그다지 깊이가 없습니다! (아마 제가 못 봤을 수도 있겠네요.) O'reilly의 "Java Servlet 프로그래밍"과 "Java Server Pages"는 비교적 이해하기 쉽고 읽을 수 있습니다!
모두가 서블릿과 Jsp를 배우기 전에 다음 사항을 상기시켜드리고 싶습니다.
기본적으로 서블릿은 서블릿 인터페이스를 구현하고 서버측에 배포되는 서버측 프로그램입니다! 이는 다른 Java 애플리케이션처럼 작성될 수 있으며 데이터베이스를 작동하고 로컬 EJB를 연결할 수 있습니다. Servlet 프로그램을 작성하는 일반적인 프로세스는 다음과 같습니다.
1. /p>
2. doGet 및 doPost 메서드를 재정의합니다.
3. 재정의된 메서드 내에서 메서드 매개변수 HttpServletRequest 및 HttpServletResponse를 작동합니다.
4. 읽기 요청은 HttpServletRequest를 사용합니다. HttpServletRequest를 사용하면 Http 프로토콜의 프로토콜 헤더를 조작하고, 요청의 작업 방법을 가져오고, 요청의 경로를 가져오고, 요청 문자열 및 요청하는 클라이언트와 관련된 정보를 가져올 수 있습니다. 쿠키 및 HttpSession 개체.
5. 쿠키를 사용하면 "sweetheart" 개체를 작동하거나 HttpServletResponse에 쓸 수 있습니다.
6. HttpServletResponse를 사용하여 클라이언트에 정보를 출력할 수 있습니다. HttpServletResponse를 사용하면 다양한 유형의 프로토콜 헤더를 작성하고, 쿠키를 추가하고, 다른 URL을 리디렉션하고, Http 프로토콜 상태 코드를 고객에게 보낼 수 있습니다.
7. HttpSession을 사용하여 세션 내에서 구현하려는 기능을 완료하세요.
동시에 서블릿은 일부 이벤트와 이벤트 리스너(간단한 관찰자 패턴)도 제공합니다. 필터와 래퍼(ServletRequestWrapper, ServletResponseWrapper)도 있습니다(간단한 스트림 사용 및 데코레이터 모드 사용).
Sevlet과 JSP를 서버에 배포해야 합니다. 일반적인 파일 배포 단계와 매개변수 설정 및 이를 프로그램에서 사용하는 방법만 기억하세요.
서블릿을 완전히 이해하고 나면 jsp를 배우는 것은 상대적으로 쉽습니다! Jsp는 완전히 Servlet을 기반으로 하며 HTML 문서(예: PHP와 같은 웹 프로그래밍 언어)에 스크립트를 삽입하려는 프로그래머의 요구를 충족하도록 설계되었습니다. 배우기도 매우 쉽습니다!
모든 것이 너무 차분하고 단순하며 배우기 쉬워 보입니다! 단순한 외관 뒤에는 복잡한 메커니즘이 숨어있습니다. Servlet과 Jsp를 철저하게 공부하려면 Tomcat과 같은 오픈 소스 소프트웨어의 구체적인 구현을 공부해야 합니다.
서버에 지나지 않습니다. 클라이언트가 웹 페이지를 사용하여 HTTP 프로토콜을 통해 서버에 요청을 보낸 후 서버는 HTTP 요청을 해당 HttpServletRequest 객체로 변환하고 작성한 Servlet을 호출해야 합니다. 서블릿의 HttpServletRequest. HttpServletResponse를 동시에 작동하면 서버는 HTTP 프로토콜의 요구 사항에 따라 HTTP 프로토콜을 사용하여 이 HttpServletResponse를 브라우저에 보냅니다. 클라이언트가 서버측 Jsp 웹페이지를 요청한 후 Tomcat은 컴파일 소프트웨어를 사용하고 javax.servlet.jsp 패키지의 템플릿을 사용하여 jsp 파일을 컴파일하면 서블릿이 됩니다. 후속 작업은 서블릿과 완전히 동일합니다!
Servlet과 Jsp를 기반으로 하는 소위 고급 기술인 JSTL, Struts...는 일부 태그와 MVC 패턴을 사용하는 것에 지나지 않습니다.
계속하세요! 승리가 코 앞에 놓여 있습니다! !
7. 멀티스레딩
신비해 보이지만 시작하기는 쉽지만 익히기는 어려운 방향!
좋은 느낌이 드는 책 두 권을 추천합니다. 우선 제가 이 분야에서 처음으로 읽을 수 있었던 책은 1998년에 Sams에서 출판한 "Java Thread 프로그래밍"이었습니다. 그 책은 매우 잘 쓰여졌고 읽기 쉬웠습니다. 시간을 가져라! 어떻게 하는지 알고 싶다면 직접 확인해 보세요! 두 번째 책 "Java Threads"는 OReilly에서 세 번 출판되었습니다. 최신판은 2004년판입니다. 중국에는 영어판도 있는 것 같습니다. 이 책에서는 IO, Swing, Collection 등 멀티스레딩과 관련된 N방향에 대해 이야기합니다.
몇 가지 팁을 알려드릴게요! Java 클래스 라이브러리에는 멀티스레딩과 관련된 클래스가 많지 않습니다. 여기에는 주로 Thread, ThreadGroup, ThreadLocal 및 InheritableThreadLocal 4개 클래스와 Runnable 인터페이스 키워드가 포함됩니다. 물체!
1 Thread는 멀티스레딩의 핵심 클래스이며 멀티스레드를 생성하고 운영하기 위한 일련의 메서드를 제공합니다.
2 ThreadGroup은 Thread를 관리하기 위한 도구 클래스입니다.
3 ThreadLocal과 InheritableThreadLocal은 Thread에 스레드 객체를 저장하는 안전한 기능을 제공합니다!
4 말할 필요도 없이 실행 가능합니다!
5 동기화는 동기화 방법과 동기화 블록의 핵심입니다! 여러 스레드가 이 메서드를 호출하면 하나의 스레드만 이 메서드를 사용할 수 있으며 다른 메서드는 차단되므로 작업 대상 개체의 내부 상태에 대한 무결성이 보장됩니다. 스레드가 동기화를 사용하여 메서드나 블록을 호출하면 해당 개체의 개체 잠금을 획득합니다. 블록에서 작업을 완료한 후 개체 잠금이 해제되어 다른 개체가 계속 작동할 수 있습니다.
6 wait, inform 및 informAll은 효과적인 대기/알림 메커니즘을 제공합니다. Java 언어의 모든 객체에는 휴게실이 있습니다. 작동하는 객체의 상태가 만족되지 않으면 모든 스레드는 해당 객체의 휴게실에 머물며 다른 스레드가 해당 객체를 작동할 때 객체 잠금을 해제합니다. 그러면 방 안의 스레드가 조건을 확인하고 조건이 충족되면 해당 작업을 수행합니다.
기본적으로 멀티스레딩에는 기본 사항이 너무 많습니다! 간단하지 않나요? 실제 프로그래머에게는 이것만으로는 충분하지 않을 수 있습니다. 멀티스레딩을 제대로 익히려면 java.util.concurrent 패키지를 연구하십시오! 마스터 Doug Lea의 작업은 원래 오픈 소스 일관성 있는 프로그래밍 라이브러리였으며 나중에 Sun에 의해 Java 클래스 라이브러리에 통합되었습니다. 저자의 웹사이트에는 이 라이브러리의 다른 버전도 있습니다! Hibernation 및 OpenJMS와 같은 오픈 소스 소프트웨어는 모두 이 패키지를 사용하므로 연구할 가치가 있습니다!
8. 디자인 패턴
디자인 패턴에 관해서 많은 사람들이 GOF 책을 추천할 것입니다. 이 책은 아마존에서 별 5개를 받은 책입니다. 그러나 오랫동안 자바를 배우지 않은 사람, 특히 자바 초보자에게는 이 책을 추천하지 않는다. 주된 이유는 책에 나오는 예제가 기본적으로 C이고, 많은 세부 사항이 충분히 명확하게 설명되지 않았기 때문입니다.
제가 모두에게 추천하는 첫 번째 책은 Yan Hong 박사의 "Java and Patterns"입니다. 중국인이 쓴 디자인 패턴에 관한 첫 번째 책입니다. 중화민족의 문화와 개념에는 많은 예와 계급 도표가 있으며 비교적 간단합니다! 아주 좋은 입문서이자 또 하나의 큰 책입니다!
두 번째로 와일리출판사에서 출간한 『Pattern In Java』라는 세 권의 책을 추천합니다. 첫 번째 책만 읽어봤는데, 세 번째 책은 별로인 것 같아요. 꽤 좋다!
세 번째 책은 2003년 China Railway Press에서 출판한 "Java Multithreading Design Patterns"의 중국어 번역판(희귀한 중국어 번역판)으로, 멀티스레딩 모드를 자세히 설명하고 있습니다. 많은 그림과 각 장의 연습문제, 마지막에는 답변이 포함되어 있습니다! 멀티스레딩 모드에 대한 연구가 시작되었습니다!
올해 출간된 헤드 퍼스트 시리즈 네 번째 책 '헤드 퍼스트 디자인 패턴'은 헤드 퍼스트 시리즈 책의 장점을 고수하며, 수많은 클래스 다이어그램과 풍부한 예제, 흥미로운 주석은 구매할 가치가 있습니다!
둘째, J2EE 방향에서는 Addison Wesley가 2002년에 출판한 "Patterns of Enterprise Application Architecture"를 공부하고 읽을 수 있습니다. 많은 유명 인사들의 작품이 기업 정보 통합에 대해 이야기합니다! Sun에서 제공하는 "J2EE PATTERNS SL500"도 매우 좋습니다! 아마존에서 별 4개 반을 받은 책 "Holub on Patterns"를 추천하기엔 너무 늦었습니다. 하지만 위의 네 권의 책에 대해 잘 모르는 독자들은 읽지 마세요! 오히려 더 피곤해질 수도 있어요!
매우 우여곡절 끝에 디자인 패턴을 배웠다. 20권 정도 책을 연달아 읽었다. 옌홍 박사의 '자바와 패턴'을 4번 읽었는데, 처음에는 기본적으로 이해가 되지 않았다. 시간. 이해가 된다면 보세요! 대학원 1학년 때 선생님께서 선택과목으로 컴퓨터과 석사, 박사과정 학생과 함께 마지막 수업에 40~50명 정도 수업을 주셨는데, 기억이 나네요. 그리고 3 명 이상이 그것을 이해하지 못했습니다. (기본이 좋지 않습니다. 주로 C 언어를 전혀 모릅니다.) 나는 Java 언어에 대한 이해가 부족하다고 생각했습니다. 좋아, 그래서 "Java and Patterns"를 빌렸는데, 아직도 전혀 이해가 안 됐어요. 다행히 대학원 3학년 때 상해 교통대학교 라오 루오난(Rao Ruonan) 교수님의 자바 OOP 언어 강의를 듣고 결합북 패턴 등 3가지 디자인 패턴을 이해하게 되었고 큰 관심을 갖게 되었습니다. 다른 패턴으로 그들을 정복하고 싶었습니다! 일을 마치고 처음 구입한 책은 『Java and Patterns』였습니다. 1,000페이지가 넘는 이 거대한 책을 처음 공부하는데 2개월이 걸렸고, 세 번째는 약 15일 만에 끝낼 수 있었고, 메모를 많이 했어요! 그때부터 통제불능이었다.
적절한 책을 선택해 공부에 푹 빠져보세요.
나는 당신이 곧 시작할 것이라고 믿습니다!
Java 언어의 간단한 8가지 부분을 배우세요. 이것은 Java 언어 학습의 시작일 뿐입니다! 이 모든 것을 이해한다면 당신은 기껏해야 Java 프로그래머에 불과하며 앞으로의 길은 멀고도 험할 것입니다! 데이터베이스 구현 소스 코드, 서블릿 서버 소스 코드, RMI, EJB, JNDI, 관점 지향 프로그래밍, 리팩토링, ANT 도구, Eclipse 도구, Spring 도구, JBoss, JOnAS, Apache Geronimo 및 기타 J2EE 서버에 대해 계속해서 연구할 수 있습니다! 이것들을 공부한 후에는 훌륭한 J2EE 아키텍처가 될 수 있습니다! 계속해서 파서, 컴파일러, JNODE(Java로 작성된 운영 체제)를 공부할 수 있습니다...
하루 종일 인내심을 갖고 제 장황한 이야기를 들어주셔서 감사합니다! 읽어주신 모든 분들께 감사드리며, 그룹 내 친구들에게도 감사드립니다! 이 기사는 주로 그룹 내 친구들의 목소리에 응답합니다. 책을 선택하는 방법을 모르고 어디서부터 시작해야할지 모르겠습니다! 이 글을 마치는데 오랜 시간이 걸렸습니다. 단어와 문장에 실수가 있을 수도 있고, 동시에 제 능력의 한계로 인해 실수도 있을 것입니다! 읽으신 후 비판과 정정 부탁드립니다!
위 내용은 기본적으로 제가 자바 언어를 공부하는 순서입니다. 위의 책은 모두 제가 읽는 것이며, 어떤 출판사에서도 홍보는 없습니다! 어떤 방법은 당신에게 적합하지 않을 수 있습니다. 조금이라도 얻을 수 있다면, 두 개 또는 그 이상을 얻을 수 있다면 인색하지 말고 친구에게 추천하십시오. 함께 공부하십시오!
읽어주신 모든 분들께 감사드립니다. 인터넷 디자이너분들께 감사드립니다. www.open-open.com 및 www.sourceforge.net 웹사이트에 감사드립니다.