>  기사  >  Java  >  Java 프로그래머들 사이에서 가장 일반적으로 사용되는 20% 기술은 무엇입니까?

Java 프로그래머들 사이에서 가장 일반적으로 사용되는 20% 기술은 무엇입니까?

大家讲道理
大家讲道理원래의
2017-01-24 09:57:24904검색

프로그래밍 언어에 대해 들었는데, 거기에 담긴 기술의 20%가 자주 사용됩니다. Java 언어에서 이 20%에는 무엇이 포함됩니까? 교육을 받은 지 두 달이 지났고, 아직 두 달이 남았습니다. 두 달 안에 주니어 자바 프로그래머로 취업하려면, 내가 마스터해야 할 것은 무엇이며, 무엇을 할 수 있습니까? 지금 배우고 판매하시나요? 전체 Javaweb 프로젝트의 특정 모듈은 무엇이며, 각 모듈에는 어떤 기술이 사용됩니까?

자주 사용하는 API(String, StringBuffer/StringBuilder 등)

1. Collection 클래스, Thread 클래스

2. 순수 서블릿 작성이지만 많은 프레임워크가 서블릿 캡슐화를 기반으로 하기 때문에 이해해야 합니다.

3.json, xml 읽기 및 쓰기

4. 데이터베이스 액세스(CRUD, 트랜잭션, 연결 풀) )

5.http 요청(HttpClient)

6 기타, 공통 프레임워크, 디자인 패턴, 객체 지향


주니어 프로그래머 이것을 알고 나면 프로젝트를 작성할 수 있습니다. 나중에 직면하는 문제는 훨씬 더 복잡할 것이며 다양한 경험과 지식의 축적에 달려 있을 것입니다.

통합해야 할 20% 외에, 쉽게 할 수 있으려면 어떤 지식을 익혀야 하나요? 제가 접한(사용한) 물건에 대해 이야기하겠습니다.


Java는 풍부한 분산 애플리케이션 생태계로 유명하며 분산 시스템에서 CAP 결정을 피할 수 없습니다. 일부 분산 일관성 프로토콜인 paxos, raft 등에 대해 일찍 알아보세요. Zookeeper(메타데이터, 분산 잠금, LeaderEletion... 등)의 원리와 사용 시나리오를 알아보세요.

RPC 프레임워크는 SOA 아키텍처에서 중요한 역할을 하며, Alibaba의 것을 주의 깊게 연구하는 것이 좋습니다. 여기에는 dubbo 프레임워크와 netty 및 mina와 같은 네트워크 라이브러리

Hadoop 시리즈 Storm Spark 및 기타 오프라인 실시간 컴퓨팅 프레임워크

ElasticSearchSolrCloud 분산 검색 ELK 로그 관련 항목이 이에 더 민감합니다. 물론 ES가 사용되는 시나리오는 더 많습니다

메시지 큐 kafkaMetaQ RabbitMQ 글쎄, 어제 ZeroMQ의 저자(MQ로 완전히 계산되지 않음)는 천국에 고통이 없기를 바랍니다

.

그 다음에는 다양한 기본 지식, 프로그래밍 언어, 네트워킹 측면, 데이터베이스, 데이터 구조 및 알고리즘이 있습니다. 당신이 그 중 어느 하나에 능숙하다고 생각하지 마십시오. 나는 그것에 능숙한 Zhihu가 몇 명 있다고 감히 말합니다.


프로그래머 Xiaobai는 2015년 7월에 입사했습니다. 현재 성장 과정만 공유하므로 정확하지 않을 수 있습니다.

2015년 5월 Bai (C 배경)는 대학 전공에 관심이 없었기 때문에 한 달 넘게 Java를 공부했습니다. JavaWEB 개발에 합류한 후 두 개의 큰 프로젝트에 참여하고 n개의 기능을 독립적으로 개발했습니다. 농담이군요) 질문자가 언급한 20% 진술을 아직 듣지 못했습니다.


처음 일을 시작할 때 새로운 프로젝트를 독립적으로 시작하는 것이 아니라 개발 중인 프로젝트를 따라갈 수 있도록 허용해야 합니다.


1. eclipse, svn 및 기타 IDE 및 도구 사용법을 배웁니다. (물론 말할 필요도 없이 주로 작업 위치에 따라 다릅니다. 예를 들어 eclipse를 사용하는 경우 IntelliJ IDEA를 사용할 수 있지만 반드시 처음 작업을 시작할 때 많이 이해하지 마세요. 궁금한 점이 있으면 물어보세요. 물론 IDE 마스터이므로 무시하세요.)


2. 막 입사해서 아직 핵심업무에 들어가지 못했기 때문에 먼저 페이지를 바꾸거나 할 필요는 없습니다. HTML, CSS, JavaScript에 능숙해야 합니다. 최소한 사용법과 구문을 이해해야 합니다. 프론트 엔드 엔지니어가 있지만 이를 이해해야 합니다. (저희 회사의 소규모 프로젝트 팀에서는 모두 풀 스택입니다.) JavaScript는 실제로 매우 강력하지만 처음부터 아주 깊게 작성할 필요는 없습니다. easyui와 같이 사용할 수 있는 휠이 많이 있습니다. @王大 Fat이 말했듯이 그는 공식 문서를 확인할 것입니다. 사용법, 웹 페이지에 삽입한 다음 백그라운드에서 데이터를 포맷하고 프런트 데스크에 전달하기만 하면 됩니다.


3. 그러다가 점차 배경에 글을 쓰기 시작했고, 디자인 패턴이 너무 많아 이해하기 어렵다면 먼저 이해하시면 됩니다. 팩토리 패턴을 작성하고 인터페이스를 하나 이상 사용합니다. 각 구현 클래스는 이 인터페이스를 구현합니다. 필요한 경우 필요에 따라 사용할 구현 클래스를 결정합니다. (처음에는 이렇게 복잡한 방식으로 이렇게 한다는 게 이해가 안 됐는데, 지난 프로젝트의 데이터베이스를 Oracle에서 MySQL로 변경한 이후로 실제로는 매우 유용하다는 것을 알았습니다.) 디자인 패턴은 일반적으로 다음과 같은 프로젝트에서 사용됩니다. 프로젝트 개발을 이해하지 못하면 전체 프로젝트의 구조를 파악하지 못할 수도 있습니다.


4. 회사마다 다른 프레임워크를 사용하지만 여전히 Struts와 Spring을 더 자주 사용하므로 이 두 가지를 알아두는 것이 좋습니다. 전체 프로젝트의 구조도 모르고 직접 작성하는 것은커녕 수정조차 어렵습니다. 예를 들어 프로젝트 점프를 구성하는 방법과 어떤 구성 파일이 무엇을 나타내는지 등이 있습니다. (로컬에서 프로젝트를 실행하기 시작한 이후에는 홈페이지가 어디에 있는지, 어떤 파일이 입력되어 있는지조차 몰랐습니다. 계속 index.jsp를 찾아보니 프로젝트가 freemarker로 만들어졌고 ftl 파일이라는 것을 알게 되었습니다.)


5. 제가 작업하고 있는 프로젝트는 SQL을 접속하기 위해 주로 StringBuffer를 사용하지 않습니다. SQL은 여전히 ​​​​비교되어야합니다. 저를 지도해준 동생은 SQL이 너무 강력해서 SQL이 못하는 것이 없다고 말했습니다.


? 사용하면 할수록 SQL이 정말 샤프하다는 걸 느꼈어요) –>


6. 고급 알고리즘을 하시는 분들은 웹 프로젝트 디자인은 더 고급인 경우에만 접할 수 있으며, 이는 데이터베이스에서 백그라운드로 데이터를 추출하여 프런트 데스크에 표시하는 방법, 저장하는 방법과 같은 문자열 및 숫자 형식에 대한 작업에 관한 것입니다. 사용자가 데이터베이스에 입력한 데이터이므로 문자열 작업, 분할 및 병합, 문자열을 부동 소수점으로 변환, 정수 등, 날짜 형식 등에 대해 잘 아는 것이 가장 좋습니다.


회사에 전문적인 운영과 유지보수가 있다면 서버 배포는 그들에게 맡기세요. 그렇지 않다면 원격 연결과 Linux에 대한 몇 가지 간단한 사항을 알아두는 것이 가장 좋습니다. 명령어, 톰캣 등


우선 질문자가 언급한 20%를 어떻게 이해해야 할지 모르겠습니다. 다음으로, 지난 몇 년간 작업에 자주 사용했던 기술을 나열하겠습니다.


1.html, css

2.java 작동 원리(jvm)

3.java 구문, 데이터 구조 및 알고리즘

4.java 언어 기능(캡슐화, 상속, 다형성, 추상화)

5.java 디자인 패턴(개발에서 자주 사용됨)

6.java 반사 메커니즘(반사 메커니즘) 일반적인 프레임워크에서 사용됨)

http://7.io(파일 읽기 및 쓰기)

8. 멀티스레딩

9. 네트워크 프로그래밍

10.javascript

11.jquery

12. 데이터베이스(oracle, mysql 등)

13.servlet

14.JDBC

15.javabean

16. WEB 프로젝트 계층 아키텍처

17. 프론트엔드와 백엔드 상호작용

18.ajax

19. 필터 및 필터 원칙

20. 일반적으로 사용되는 프레임워크(Struts, hibernate, spring, springMVC, i/mybatis)

21. 프레임워크 통합

22. (프로세스 엔진 작동 메커니즘)

23.xml, 속성, json

24. 공통 페이지 및 배경 플러그인(트리, 시간, poi 등)

25.nosql 데이터베이스 및 애플리케이션 시나리오(mongoDB)

26. 캐시 데이터베이스 및 메커니즘(redis, memcached)

27. 타사 인터페이스 호출

28. 🎜>

29. 웹 애플리케이션 서버(tomcat, weblogic)

30.linux

31. 로그

32. 33.maven

34.svn

35. 모델링 도구 사용(powerdesiner, axure)

36.TCP/IP

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