가장 좋은 배움의 방법은 책을 읽는 것이다
"가장 좋은 배움의 방법은 책을 읽는 것이다", 이것이 제가 스스로 공부하고 경험을 쌓은 후 첫 경험입니다. 개인적으로 책을 읽는 것에는 두 가지 장점이 있다고 생각합니다.
1. 출판될 수 있는 책은 반복적인 고민과 다듬기, 검토를 거쳐야 하기 때문에 전문적인 관점에서 볼 때 좋은 책의 가치는 다른 책보다 훨씬 뛰어납니다. materials
2. 책에 있는 코드를 직접 입력할 때 편리해요
"책을 읽은 후 다시 실력을 향상하는 가장 좋은 방법은 관련 좋은 블로그 게시물을 읽는 것입니다." 책은 수백 페이지에 달하는 경우가 많습니다. 좋은 블로그 게시물은 책을 읽고 공부한 후 요약하고 정리하는 것입니다. 물론 이것은 자신의 공부 내용을 정리하는 데 매우 유용합니다. 학습 방법이 있으므로 자세히 설명하지 않겠습니다.
많은 프로그래머들은 종종 책을 읽고 싶은 충동을 느끼지만 어떤 책을 읽어야 할지 모릅니다. 아래에서는 Java 프로그래머에게 좋은 책을 추천할 것입니다(각 책의 저자는 굵은 글씨로 빨간색으로 표시됩니다). 평소 즐겨 읽는 책에 대한 간략한 요약과 성찰이라고 할 수도 있다.
시중에는 디자인 패턴을 설명하는 책이 많이 있습니다. 앞서 책을 읽는 것이 가장 좋다고 했지만, 디자인 패턴에 관심이 있는 친구들에게는 이 블로그를 추천합니다. 이 블로거의 디자인 패턴 설명은 매우 훌륭합니다. 내용의 90%는 문제가 없고 배울 가치가 있다고 생각합니다. 디자인 패턴에 대한 일반적인 설명 경로는 다음과 같습니다.
1.
2. 이 디자인 패턴의 구조를 그림과 텍스트로 설명하세요
3. 이 디자인 패턴의 구현을 자세한 코드 형식으로 작성하세요
4. 장점과 단점을 설명하세요. of this 디자인 패턴
For a 우리가 디자인 패턴에 대해 집중하고 배우는 지식 포인트는 바로 위와 같지 않나요?
그러나 동일한 디자인 패턴을 쓰는 방법은 여러 가지가 있다는 점을 네티즌들에게 상기시키고 싶습니다. 특정 방식으로만 쓴다고 해서 이 디자인 패턴이 되는 것은 아닙니다. 예를 들어 어댑터 패턴에 주의를 기울일 때 어댑터 패턴이 무엇인지에 주의해야 하며 어댑터 패턴을 어떻게 작성해야 하는지에 주의해야 합니다. 어댑터 패턴은 어댑터 패턴이 아닙니다. 이것을 기억하세요. 디자인 패턴을 배우면 코드에 사용되는 디자인 패턴에 대해 더 깊이 이해하게 될 것입니다.
"Java Virtual Machine에 대한 심층적인 이해: JVM 고급 기능 및 모범 사례"
if...else...만 쓸 수 있는 Java 프로그래머가 되는 것에 만족하지 못하신다면, 하지만 한 단계 더 나아가 몇 가지 예를 들어 보겠습니다.
1. Java 코드의 기본 작동 메커니즘 이해
2. 성능 문제 찾기
3. 다양한 이상한 문제 해결 문제 온라인 및 오프라인 문제
5. 더 높은 수준에서 자신의 프로젝트에 적합한 가상 머신을 맞춤화하세요
그렇다면 Java 가상 머신은 꼭 배워야 할 기술입니다. "Java Virtual Machine에 대한 심층적인 이해: JVM 고급 기능 및 모범 사례"의 저자는 Zhou Zhiming입니다. 이 책은 지난 6개월간 중국에서 출간된 Java 가상 머신에 관한 최고의 책이라고 할 수 있습니다. 적어도 이 책을 5번은 읽어라. 중국의 가상 머신에 관한 이 책 외에도 실제로 다른 책도 몇 권 구입했지만 얼핏 보면 "Java Virtual Machines에 대한 심층적 이해"라는 책에도 많은 내용이 들어 있습니다. JVM 고급 기능 및 모범 사례'를 참조하세요.
"Java Virtual Machine에 대한 심층적인 이해: JVM 고급 기능 및 모범 사례" 책이 전자 형식으로 제공되며 온라인 검색을 통해 다운로드할 수 있다는 점도 언급할 가치가 있습니다. 그러나 관심 있는 친구는 책을 구입하여 읽어보는 것이 좋습니다. 다운로드한 전자 버전은 "Java Virtual Machine에 대한 심층적인 이해: JVM 고급 기능 및 모범 사례"의 최신 개정판과 비교할 때 일반적으로 이전 버전입니다. , 저자가 새로 추가한 내용이 많이 있습니다. 지식 포인트가 없습니다.
"HotSpot in Action"모든 Java 가상 머신은 Java 가상 머신 사양을 따릅니다. "Java 가상 머신에 대한 심층적인 이해: JVM 고급 기능 및 『베스트 프랙티스』 책에서 다루고 있는 가상머신은 특정 가상머신을 대상으로 한 것이 아니라, 자바 가상머신 사양의 관점에서 자바 가상머신을 설명한다.
우리가 일반적으로 사용하고 심지어 상업적으로 사용하는 대부분의 Java 가상 머신은 Sun의 HotSpot입니다. cmd로 명령줄을 입력하고 "java -version" 명령을 사용하면 확인할 수 있습니다. JVM(Java Virtual Machine) 사양을 기반으로 가상 머신의 일부 세부 사항이 어떻게 구현되는지 더 깊이 이해하려면 Chen Tao가 쓴 "HotSpot Practice" 책을 읽어보세요. 하지만 HotSpot의 소스 코드는 C/C++로 작성되었기 때문에 독자는 C/C++에 대한 기초가 매우 탄탄해야 합니다. 이 두 언어에 익숙하지 않은 경우에는 이 책을 읽는 것이 큰 도움이 되지 않을 수 있습니다. 너.
마지막으로 관심이 있으시면 먼저 OpenJDK를 온라인으로 다운로드해 보세요. HotSpot의 소스 코드가 여기에 있습니다.
"Java 동시 프로그래밍 실습"1. 더 많은 텍스트와 적은 코드
2. 설명과 더 많은 연습 덜
이것이 외국인이 책을 쓰는 특징이 아닐까 생각합니다. Java는 북미 국가(캐나다, 미국)에서 개발 및 유지 관리되기 때문에 외국인은 Java의 모든 측면을 매우 명확하고 철저하게 파악하고 있습니다. 이론적 지식 시스템. 이 책을 펴서 읽어보세요. 멀티스레딩이 무엇인지, 교착상태가 무엇인지, 경쟁이 무엇인지, 스레드 안전성이 무엇인지 등을 읽어보세요. 지식 포인트의 모든 측면이 많은 텍스트로 설명되어 있어 사람들이 매우 지루하고 이해하기 어렵다고 느낍니다. 독자들은 상당한 진전을 이루었습니다. 나는 이 책을 두 번 읽었는데, 한 눈에 열 줄의 의미를 담고 있다. 내가 관심 있는 곳에 집중하겠다.
어쨌든 자바 프로그래머가 꼭 읽어야 할 책 10권에 자주 들어가는 책으로, 모든 사람에게 꼭 추천하고 싶습니다.
"Java 멀티스레드 프로그래밍 핵심 기술"
이 책은 "Java 동시 프로그래밍 실습"의 반대입니다. 이 책은 대규모 코드 + 소규모의 정확한 설명이 특징입니다. 이는 중국인이 쓴 책의 실용적인 스타일과 관련이 있을 수 있습니다. 이 책은 스레드 안전성, 동기화, 재진입, 타이머 등을 상세한 코드로 설명하고 있으며, 각 큰 지식 포인트 아래에 여러 개의 작은 지식 포인트가 자세히 설명되어 있어 매우 실용적인 가치가 있습니다.
관심 있는 분들은 이 책에 나오는 코드를 따라 입력하고, 실행하고, 3단계로 생각해보면 멀티스레딩에 대한 여러분의 활용과 이해가 분명 큰 진전을 이룰 것이라고 믿습니다.
그러나 이 책의 단점은 CountDownLatch, Semphore, CyclicBarrier, Future, Callable 등 Java 동시성 패키지의 일부 클래스를 언급하지 않는다는 것입니다. 핵심 CAS 및 AQS는 건드리지 않으며, 구현 원칙은 주요 클래스는 언급되지 않습니다. 물론 이 책을 공부한 후에도 이 지식을 계속 공부하고 연구한다면 당신은 천천히 매우 강력한 멀티스레딩 마스터로 성장할 수 있을 것이다.
"효과적인 자바 중국어판"
좋은 코드는 모든 Java 프로그래머가 추구해야 할 것입니다. 오늘 좋은 코드를 작성하면 나쁜 코드를 작성하는 것보다 성능이 향상된다는 의미는 아닙니다. 코드는 유연하며 많은 잠재적이고 알려지지 않은 문제를 방지할 수 있으며 코드가 온라인 상태가 된 후의 문제를 방지하고 유지 관리에 시간을 소비합니다. 이는 시간 비용, 인건비 및 위험 비용 측면에서 매우 높습니다.
"Java 웹 기술 내부자 심층 분석"
이 책을 한 단어로 요약하자면 '완성'입니다. HTTP, DNS, CDN, static, Jetty, Tomcat, Servlet, Spring, MyBatis 등 정말 포괄적입니다. 광범위한 지식을 다루고 있지만 특정 내용에 초점을 맞춘 책과는 다릅니다. 지식 포인트는 매우 깊이 있고, 이 책은 자바 웹에서 사용되는 기술의 내부 이야기를 간략하게 설명하여 독자들이 기술적 내용을 합리적으로 이해할 수 있도록 하려는 의도가 있다고 생각합니다. 이러한 지식 포인트의 내부 이야기.
하지만 각 지식 포인트에 대한 지면이 많지는 않지만 기본적으로 핵심 내용을 다루고 있어 정말 보람있는 책입니다. 이러한 기술의 기술적인 세부 사항에 대해 더 알고 싶다면 관련 서적을 구입하거나 온라인에서 직접 정보를 확인해야 합니다. 직접 연습해 보세요.
"대규모 웹사이트 기술 아키텍처 핵심 원칙 및 사례 분석"
대부분의 Java 애플리케이션은 웹에서 사용됩니다. 오늘날 더 큰 웹 애플리케이션은 분산 시스템이어야 합니다. 그렇다면 분산 시스템에서는 어떤 기술이 사용됩니까? 작은 웹사이트에서 대규모 웹사이트가 어떻게 성장하나요? 웹사이트를 안전하게 유지하는 방법은 무엇입니까? 분산 시스템에서는 캐시를 사용합니다. 어떤 캐시가 있나요? 캐시를 사용할 때 주의할 점은 무엇인가요?
분산 유통에 대한 모든 지식 포인트가 이 책에 반영되어 있습니다. 당신만 생각할 수 없고, 기본적으로 한두 번 읽고 메모하면 그것이 무엇인지 알 수 있습니다. 그것은 같은 것입니다. 몇 번 더 읽으면 배포에 대한 이해가 확실히 깊어질 것입니다. 그리고 분산된 지식을 담고 있을 뿐만 아니라, 좋은 건축가가 되는 방법을 매우 현실적으로 기술하고 있습니다. 사실 이것은 건축가가 되고 싶은 독자들만을 위한 것이 아니라, 독자들에게도 조금이나마 도움이 되는 글이라고 생각합니다. 좋은 건축가가 되는 방법, 자신의 의견을 더 잘 표현하는 방법, 다른 사람이 자신의 목소리에 더 주목하게 만드는 방법, 다른 사람의 장점을 보고 많은 것을 얻는 방법에 대한 제안입니다.
"대형 웹 사이트 시스템 및 Java 미들웨어 실습"
이 책의 내용 중 일부는 Li Zhihui의 전 저서 "대형 웹사이트 기술 아키텍처의 핵심 원리 및 사례 분석"에서 분산 시스템의 진화, CDN, CAP 이론, BASE 이론 등을 설명하는 내용과 중복됩니다. 또한 자세한 내용을 설명합니다. 이는 분산 시스템이나 대규모 웹 사이트의 초점이므로 다시 배우는 것이 좋습니다.
이 책에서 강조할 핵심은 미들웨어라는 단어입니다. 미들웨어는 분산 시스템에서 매우 중요한 것입니다. 모듈 간의 강한 의존성을 분리하고 줄이는 것이 가장 중요한 역할입니다. 모듈은 자신의 기능을 독립적으로 개발할 수 있다. 이는 소프트웨어 공학 개발의 목표이자 원동력이라고도 할 수 있다.
따라서 이 책의 내용 중 일부는 미들웨어를 기반으로 하여 미들웨어와 JMS에 대한 다양한 지식을 자세하게 설명하고 있으며, 분산 시스템에 익숙하고 미들웨어에 대해 연구하고 싶은 독자에게 적합합니다.
"Paxos에서 ZooKeeper까지의 분산 일관성 원칙 및 관행"
이 책은 제가 최근에 공부하고 있는 책입니다. 위의 "대형 웹사이트 시스템과 자바 미들웨어 실습"처럼 분산 컴포넌트 카테고리에 속하며, 물론 제가 쓴 책이기도 합니다. 개인적인 관심 . 물론, 훌륭한 대규모 웹 사이트 아키텍트, 기업의 기술 이사 등을 열망한다면 이러한 지식을 마스터해야 합니다.
이 책은 분산 시스템의 기본 이론부터 시작하여 팍소스 알고리즘에 대해 이야기하고 마지막으로 이를 Zookeeper에 단계별로 소개합니다. 물론, 이 책의 2장에 나오는 팩소스 알고리즘을 아직 이해하지 못했기 때문에 더 이상의 의견을 표현하는 것은 현재로서는 불편합니다. (팩소스 알고리즘은 사실 좀 이해하기 어렵고 이해하기 쉽지 않습니다.) , 다음 장은 아직 사용할 수 없습니다.
네티즌들이 일하는 회사가 Zookeeper를 사용하고 있고, Zookeeper에 관심이 있고 그 원리를 연구하고 싶다면 이 책이 최고의 선택이 될 것입니다.
"처음부터 MySQL 5.6 배우기"
Java 프로그래머로서 데이터베이스가 DBA의 문제라고 생각해서는 안 된다고 생각합니다. 데이터베이스도 Java 프로그래머가 마스터해야 하는 지식입니다. 데이터베이스 성능 최적화에 대한 풍부한 경험은 최고의 프로그래머에게 필수입니다. .
현재 주류 데이터베이스에는 Oracle과 MySQL이 포함됩니다. 물론 MySQL을 모든 사람에게 권장하는 이유는 두 가지입니다.
1. MySQL은 Oracle보다 가볍고 크기가 작으며 설치 및 제거가 더 편리합니다. SQL은 사실 다 똑같습니다. 데이터베이스를 배우고 싶다면 MySQL만 배우면 됩니다. 회사에서 Oracle을 사용한다면 비교 학습 방법을 이용하여 Oracle과 MySQL의 차이점에 주목하세요.
2, 2009년 Alibaba의 IOE로의 전환이 진행됨에 따라 이제 많은 국내 인터넷 기업들이 사용하는 데이터베이스로 MySQL을 선택하게 될 것입니다. MySQL은 무료이기 때문에 비용이 절약되고 문제가 발생하더라도 Oracle에 의존할 필요가 없습니다MySQL을 배울 때 추천하는 것은 제가 직접 공부하고 읽은 "MySQL 5.6 from Scratch"입니다. 책에 담긴 지식 포인트가 아주 자세하고 포괄적이어서 독자들이 책을 선택하는 기준이 되는 것 같아요. .. 대부분 이 두 가지 점 아닌가요?
"Spring 소스 코드 심층 분석"
Spring 프레임워크는 너무 잘 만들어졌고 그 기능도 너무 강력해서 많은 개발자들이 Spring만 알고 팩토리, 싱글톤, 에이전트가 무엇인지 모릅니다(다른 사람들과 인터뷰한 실제 경험). 이 강력한 프레임워크에는 내부에 매우 복잡한 구현이 있어야 하며, 이로 인해 프로그램이 Spring을 사용하면 오류, 예외가 발생하거나 프로그램 결과가 예상과 다를 수 있습니다. 온라인으로 정보를 확인하거나 다른 사람에게 물어보는 것 외에는 더 나은 해결책이 없는 것 같습니다.
Spring의 소스 코드를 공부하는 것은 좋은 학습 방법이라고 생각합니다.
1. 프레임워크의 내부 구현을 이해한 후에는 다른 사람에게 의존하지 않고 주도적으로 문제를 해결할 수 있습니다. Spring 프레임워크의 내부 구현은 많은 디자인 패턴과 좋은 코드 디자인 아이디어를 사용합니다. 이는 코드 작성과 디자인 패턴에 대한 이해를 크게 향상시킬 것입니다. 3. Spring 프레임워크를 공부하면 코드를 읽는 능력이 크게 향상될 것이라고 믿습니다. Spring이 내부적으로 어떻게 구현되는지 명확하게 공부할 수 있다면 다른 프레임워크의 소스 코드도 어렵지 않을 것입니다
요컨대, 코드를 읽는 능력은 일반 프로그래머와 좋은 프로그래머 중 하나라고 생각합니다. 이들 사이의 가장 큰 차이점은 전자는 다른 사람이 작성한 것만 사용하는 반면, 후자는 이를 잘 사용할 수 있을 뿐만 아니라 다른 사람이 작성한 기본 내용이 어떻게 구현되는지 명확하게 이해하고 문제가 발생할 때 쉽게 해결할 수 있다는 것입니다.
스프링 소스코드, 정말 철저하게 공부하고 스프링 소스코드를 명확하게 적고 싶다면 3~4권으로는 부족할 것 같아 개인적으로 "스프링 소스코드 심층 분석" 책을 추천합니다. 저자는 400페이지에 달하는 Spring 소스 코드를 설명하기 위해 최선을 다했다. 이를 구현하는 방법은 비록 완전히 설명할 수는 없지만, 독자의 연구와 결합된 저자의 설명은 분명 도움이 될 것이라고 믿는다. Spring 구현에 대한 더 깊은 이해.
Postscript위 내용은 제가 자바 개발자들에게 추천해볼만한 좋은 책들입니다. 하지만 이 책들에는 자바 기초나 자바 튜토리얼이 없다. 추천하지 않는다는 것은 아니지만, 자바 기초 기술을 직접 배운 지 몇 년이 지났기 때문에 공부할 때 읽은 것을 다 잊어버렸다. 내가 읽지 않은 책을 모든 사람에게 무책임하게 추천하는 것은 아닌가?
Java를 배우는 학생들 주목! ! !학습 과정에서 문제가 발생하거나 학습 리소스를 얻고 싶다면 Java 학습 교류 그룹인 299541275에 가입하세요. 함께 Java를 배우자!
위 내용은 최고의 Java 프로그래머가 되는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!