>Java >java지도 시간 >Java 학습 단계 및 프로세스

Java 학습 단계 및 프로세스

巴扎黑
巴扎黑원래의
2017-06-26 11:49:451677검색

돌이켜 보면 저는 거의 15년 동안 Java 분야에 종사해 왔습니다. 제 지식은 평균적이지만 제 경험을 공유하면 모든 사람이 우회를 피하는 데 도움이 될 수 있습니다.

[시작하기]

저는 2001년 이전에 C/C++ 캠프에 있었고 이후에 Java로 전환했는데 포인터가 없는 Java가 정말 간단하다는 것을 알게 되었습니다. 클래스 라이브러리는 사용하기 쉽습니다.

나중에 "Java로 생각하기"와 "Java Core Technology"를 읽었는데 어렵다는 느낌은 없었습니다.

내가 이전에 다른 언어를 배운 적이 없거나 중도에 승려가 되어 컴퓨터 업계로 전환했다면 위의 두 책을 먼저 읽지 않고 대신 "Head First Java"를 선택했을 것입니다. 이 책은 기초가 전혀 없는 초보자에게 매우 적합합니다. 읽기 쉽고 재미있습니다. 믿을 수 없다면 첫 페이지를 살펴보세요

책을 읽는 것만으로도 꽤 지루합니다. 영상과 함께 보시는 것도 좋을 것 같아요. Chuanzhi Podcast의 Java 기본 영상이 아주 좋은 것 같아요(아아, Chuanzhi 광고). 찾을 수 없다면 제 블로그로 오세요. QQ 그룹 (그룹 번호: 299541275)

참고: 코드를 입력하는 과정을 볼 수 있다는 것이 영상의 장점입니다. 살아있다는 점이 멋지네요. 영상이 PPT 기반의 프로그래밍만 이야기한다면 단호하게 버려주세요.

책도 책의 장점이 있어요. 책으로 쓸 수 있는 건 작가가 체계적으로 생각하고 정리해서 만들어낼 수 있는 것이어야 하기 때문에 상대적으로 체계적이에요.

책에는 부담 없이 넘겨볼 수 있고 핵심 포인트를 찾아 반복해서 읽을 수 있다는 등의 다른 장점도 있습니다.

그러므로 고전 책 읽기와 훌륭한 비디오를 혼합하는 것이 시작하는 가장 좋은 방법이 될 것입니다.

Java를 시작하면 교육 수업에 참석하지 않고 독학만으로 충분합니다.

자습 과정에서 경험이 풍부한 전문가가 지도해 주고, 경로 지도를 그려주고, 등반 방향을 알려주고, 함정이 있는 곳은 어디인지, 시간을 낭비해서는 안 되는 곳은 어디인지 알려주면 자율 학습이 가능합니다. 덜 헤매고, 덜 걷고,

아쉽게도 그 당시에는 그들을 만나지 못했습니다. 시간을 되돌릴 수 있다면 나를 안내해 줄 사람을 찾으려고 노력할 것입니다.

[연습]

소프트웨어 산업의 특징 중 하나는 10만 줄을 코딩하지 않으면 나가서 말하기가 창피하다는 것입니다. 안녕하세요.

그러니 연습하고, 연습하고, 연습하세요!

학교에 있는 동안에도 할 프로젝트를 찾기 위해 최선을 다할 것입니다(제 다른 기사 "지금부터 이력서를 풍성하게 하세요"를 참조하고 "이력서"에 답장하여 확인하세요). 정말 찾을 수 없다면 기초부터 시작도 가능해요 잘했어요

대학시절 Yan Weimin의 "데이터 구조"를 사용했어요.

나중에 알고리즘에 대한 더 나은 입문서인 "알고리즘"에 대해 배웠습니다. 시간을 되돌릴 수 있다면 이 책에 언급된 모든 데이터 구조와 알고리즘을 구현하기 위해 여전히 Java를 사용할 것이며 또한 그렇게 하려고 노력할 것입니다. 방과 후 숙제를 다시 해라.

이것은 매우 중요한 교육입니다. 실제로 그렇게 하면 알고리즘을 설계하지 않는 한 기본 데이터 구조가 나를 당황하게 할 수 없다는 것을 알기 때문입니다.

【Java SE】

Java 컬렉션 프레임워크는 사용법을 배워야 할 뿐만 아니라 List, ArrayList, Set, HashSet, Map, HashSet 등을 구현해 보도록 하겠습니다. 어떻게 쓰는지 모르신다면 JDK 소스코드만 보시면 거기에 최고의 선생님들이 계십니다.

한 번 구현해 보면 객체지향 디자인, 인터페이스, 추상 클래스, 콘크리트 클래스의 관계, 책임 분리 방법을 더 잘 이해할 수 있고, 디자인 패턴, Iterator 등의 템플릿 방법을 배우게 됩니다.

Iterator가 매우 흥미롭다는 점은 언급할 가치가 있습니다. 그해 컬렉션 프레임워크에서 Iterator를 구현했을 때의 흥분을 아직도 분명히 기억합니다.:-)

Java 컬렉션 프레임워크를 구현할 때 제네릭을 사용할 수 있다는 것도 배웠습니다. 하지만 배우지 않으면 불가능할 것이고, 그렇지 않으면 성취할 수 없을 것입니다.

Java 세계에서는 모든 것이 객체입니다. 캡슐화, 상속, 다형성에 대해서는 누구나 알고 있지만 이를 이해하는 것만으로는 단지 소개일 뿐 실제 객체지향 프로그램을 만드는 것은 불가능합니다.

월급 지급 사례를 자세히 설명하는 고전 책 "Agile Software Development, Principles, Patterns, Practices"가 있는데, 이는 지금까지의 객체 지향 설계의 가장 좋은 예입니다.

Java로 구현하겠습니다. OOD를 경험하고, 적절한 클래스에 적절한 책임을 할당하는 방법, 구현 지향 프로그래밍이 아닌 인터페이스 지향 프로그래밍이 무엇인지, 상속 대신 합성을 사용하는 데 우선 순위가 무엇인지 이해합니다.

Java 스레드의 경우 여전히 개념 이해에 중점을 둡니다. 왜냐하면 향후 작업에서(시스템 수준 프로그래밍에 참여하지 않는 한) 자체 스레드/스레드 풀을 작성할 기회가 매우 드물다는 것을 알고 있기 때문입니다. 그것들은 모두 클래스 라이브러리와 프레임워크에 의해 제공됩니다. 따라서 핵심은 이해하는 것입니다.

책을 읽고 싶다면 당연히 수많은 전문가들이 집필한 『Java 동시 프로그래밍 실습』입니다.

Java IO의 경우 아키텍처 디자인이 매우 우아하고 학원의 전형적인 것이라고 생각하지만 파일을 열고 읽으려면 데코레이터 모드로 래핑해야 합니다. 너무 피곤해요.

실제 프로젝트에서는 속성 파일과 xml 파일을 읽어오는 것입니다. 여전히 컨셉과 디자인을 이해하는 데 중점을 두고 있습니다.

하지만 간단한 XML 파서를 직접 작성해 보시는 것도 좋을 것 같습니다.

AWT와 Swing에 대해서는 자세히 다루지 않겠습니다. Java는 일반적인 서버 측 언어입니다. 생각해 보면 사용할 수 있습니다. Swing/AWT를 사용하여 데스크톱 프로그램을 작성하는데, 고객에게 JRE를 설치해 달라고 요청하는 것은 좀 과한가요? 내가 아는 한 일부 은행 애플리케이션에서는 Swing과 AWT를 사용하고 있습니다. 어떤 사람들은 애플릿이 한때 인기가 있었지만 지금은 아무도 사용하지 않는다고 말할 수도 있습니다.

그래서 저는 Swing과 AWT에 시간을 낭비하지 않겠습니다.

Java Reflection은 컬렉션 프레임워크, 스레드, OO 등과 같이 눈부시게 보이지는 않지만 많은 프레임워크(SSH)의 기초입니다. (관련 기사를 보려면 "Reflection"에 답글을 달아주세요.) 기본을 먼저 알아보세요. 나중에 Java EE를 사용해야 합니다.

진짜 자바를 잘 배우고 싶은데, 자바 가상 머신을 이해하지 못한다면 어떻게 가능할까요? "Java Virtual Machine에 대한 심층적인 이해"를 읽어야 합니다. 이 책을 읽은 후의 목표는 간단한 Java 디컴파일러를 작성하는 것입니다.

【자격을 갖춘 Java 코더 되기】

2008년에 IBM 관리자가 디자인 패턴은 필요한 기술이며 디자인 패턴을 이해하지 못하는 사람은 고용할 수 없다고 말했던 것을 기억합니다.

그래서 디자인 패턴은 꼭 배워야 합니다. 실제로 Java에서 많이 사용됩니다. 이는 단순히 디자인 패턴의 살아있는 교과서일 뿐입니다.

물론 『디자인 패턴』의 저자 중 한 명인 에릭 감마가 강력 추천하는 『헤드 퍼스트 디자인』을 먼저 읽어보도록 하겠습니다.

몇 년 후 IBM 관리자는 이제 모든 사람이 우리의 기본 디자인 패턴을 알고 있으며 민첩한 연습이 필요한 기술이라고 다시 말했습니다!

그래서 JUnit을 알아야 하고, 리팩토링도 알아야 하고, TDD, 지속적 통합 등 가장 기본적인 Agile Practice를 알아야 합니다. 그렇지 않으면 다른 사람들에게 무시당할 것입니다.

Java 코더 지망생으로서 저는 코드를 작성할 때 클래스 이름의 첫 글자를 대문자로 표기, 소문자 등록, 메소드 이름을 소문자로 표기하는 등 Java 코딩 표준을 따라야 합니다.

저는 코드광으로서 지저분한 코드를 참을 수 없으며, 코드가 수공예품처럼 보일 때까지 계속 다듬을 것입니다.

JDK 작성자가 요약한 Java 프로그래밍의 최고의 사용법이 가득한 Java "효과적인 Java"의 모범 사례를 어떻게 놓칠 수 있습니까?

하지만 번역이 정말 좋지 않습니다. 많은 문장이 의미를 알기 위해서는 신중하게 고려되어야 하기 때문에 이를 설명하기 위해 일련의 비디오를 녹화할 예정이므로 계속 지켜봐 주시기 바랍니다.

【Java EE】

이제 드디어 Java EE에 이르렀습니다. Java는 단지 서버측 웹 애플리케이션을 작성하기 위한 것이 아닌가요?

가장 기본적인 기술인 Servlet/jsp/jdbc를 사용하여 위에서 언급한 고전적인 급여 지급 사례를 웹 버전으로 변환하는 것을 직접 웹 프로그램으로 작성해 보겠습니다.

그런 다음 struts를 연구하고 간단한 mvc 프레임워크를 직접 작성하고 이를 자신의 웹 프로그램에 사용하는 것을 자신만의 개밥 먹기라고 합니다.

그런 다음 Hibenete를 공부하고 간단한 OR 매핑 프레임워크를 직접 작성하고 다시 자신의 개밥을 먹어보세요.

그럼 고전 책 "EJB 없는 J2EE 개발"을 읽어보세요. 네, Spring의 저자인 Rod Johnson이 쓴 이 책은 헤비급 EJB에 대한 모든 사람의 이해를 뒤엎고 새로운 시대를 열었습니다.

이 책의 기초를 바탕으로 간단한 의존성 주입을 직접 작성하는 것은 어렵지 않습니다. 작성한 후에는 자신의 웹 프로그램에서 사용하고 마지막으로 자신의 개밥을 먹을 수 있습니다.

이 모든 것이 Java Reflection에 의존한다는 것을 알게 될 것입니다.

앞으로는 실제 작업할 프로젝트를 찾거나 인턴십을 찾아야 합니다. 그건 또 다른 주제입니다. 이에 대해서는 나중에 이야기하겠습니다.

【코드 읽기】

당시 300편을 외우면, 어떻게 짓는지 몰라도 낭송할 수 있습니다

모방이 최고의 학습 방법입니다! 전문가들이 코드를 어떻게 작성하는지 자세히 살펴보고, 이를 통해 당신의 무술 실력도 향상될 것입니다.

좋은 스승님이 옆에 계시고, 그를 따라다니며 그의 프로그램을 시청한다면 얼마나 빨리 실력이 향상될 수 있을까요?

Java SE 및 Java EE를 배우는 동안 다음 소스 코드를 읽습니다.

JDK의 Java 컬렉션 소스 코드: 조상의 내용은 완전히 고전적입니다.

JUnit 소스 코드: Eric Gamma와 Kent beck이 Pattern을 전달하여 어떻게 JDK를 생성했는지 확인하세요. 시스템(보려면 "JUnit"이라고 답장하세요)

SpringSide: Spring Framework를 핵심으로 하는 실용적인 스타일의 JavaEE 애플리케이션 참조 예제로, 주류 기술 선택과 JavaEE 세계의 모범 사례를 요약하고 시연합니다.

중국인이 개발했으며 강력 추천합니다.

또한 금세기 초에 유명한 Jive 포럼을 계속 연구할 예정입니다. 매우 오래되고 소스 코드도 매우 학문적이지만 단순히 디자인 패턴의 베이스캠프일 뿐입니다

.

프록시 패턴을 사용한 구현이 아직도 기억에 생생합니다.

또한, 여유가 있고 관심이 있다면 물론 Struts, Spring, hibernate의 소스 코드를 읽어보거나 개발에 참여할 수도 있습니다.

Java를 배우는 방법은 제가 수년간 느낀 바이며 가족끼리 나누는 이야기입니다. 나와 의사소통을 환영합니다.

프로그래밍을 배우는 것은 결코 쉬운 일이 아닙니다. 비디오를 보거나 책을 읽는 것으로 배우는 것은 불가능합니다. 프로그래밍은 정신적, 육체적으로 매우 힘든 작업이지만, 그 안에 담긴 창작의 즐거움 역시 비교할 수 없을 만큼 큽니다. 모두가 이 과정을 즐기고 즐길 수 있기를 바랍니다.

Java를 배우는 학생들 주목! ! !

학습 과정에서 문제가 발생하거나 학습 리소스를 얻고 싶다면 Java 학습 교류 그룹인 299541275에 가입하세요. 함께 Java를 배우자!

위 내용은 Java 학습 단계 및 프로세스의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.