总结Java程序员最常用的20%技术

总结Java程序员最常用的20%技术

总结Java程序员最常用的20%技术

我听说编程语言,经常使用的是其中20%的技术。在Java这门语言中,这20%包括哪些内容?参加培训两个月了,还有两个月的时间,要 想在两个月后,找到一份Java初级程序员的工作,有哪些是必须掌握的,有哪些是可以现学现卖的?一个完整的Javaweb项目,有哪些具体模块,每个模 块用到的技术是哪些?

常用api(String,StringBuffer/StringBuilder等)

  1. 集合类线程类。

  2. Servlet(很少用纯粹的servlet写,但你要懂,因为很多框架都是基于servlet封装的)。

  3. json,xml读写

  4. 数据库访问(CRUD,事务,连接池

  5. http请求(HttpClient)

  6. 其他,包括常用框架,设计模式,面向对象

初级程序员会这些就可以写项目了。后期遇到的问题就会复杂得多,要靠各种经验和知识的积累。

除了要掌握的20%以外还要掌握些什么知识才能游刃有余。下面说说我接触(使用)过、的东西吧。

  1. java分布式应用丰富的生态闻名,在分布式系统中逃不过CAP的抉择。早早了解一些分布式一致性协议paxos、raft等。学习zookeeper的原理和使用场景(metadata、分布式锁、leaderEletion… etc)

  2. RPC框架在SOA架构中起着重要的作用,好好探究终是有好处的,在这里推荐阿里巴巴dubbo框架,同时会netty、mina等网络库

  3. Hadoop系列 Storm Spark 等离线实时计算框架

  4. ElasticSearchSolrCloud 分布式搜索 ELK 日志相关的东西对这些比较敏感,当然在更多的场景使用ES也是有很多的

  5. 消息队列 kafkaMetaQ RabbitMQ 恩,昨天ZeroMQ(不完全算作MQ)的作者选择安乐死了,愿天堂没有痛苦

  6. 然后就是各种基础知识,编程语言、网络方面、数据库数据结构和算法。不要觉得任何一项都精通了,敢说精通的知乎能有几个。

说说自己的感受吧,刚工作应该不会让你独立开始新项目,应该会让你跟正在开发中的项目

  1. 学会使用eclipse,svn等IDE和工具(不用说了吧,主要是看你工作的地方,比如大家用eclipse你想用IntelliJ IDEA也可以,但是刚工作肯定很多不懂,这时候暂时还不要标新立异的好,出了问题好问。当然你是ide大神请无视)

  2. 刚入职还接触不到核心工作,就让我先改改页面什么的,作为web开发html、css、和javascript不用精通,至少需要了解用法和语法吧,虽然 有前端工程师,但是这个肯定也是要了解的(自己公司小项目组,各个都被逼成全栈了)。javascript其实还是很强大的,但是刚开始不用写的很深,很 多*可以用,比如easyui,会查阅官方文档,知道用法往网页里嵌,然后后台按格式把数据传到前台就好。

  3. 然后开始逐步往后台写了,熟悉下设计模式,如果太多太难理解可以先理解工厂模式,写一个接口再用一个或若干个实现类实现这个接口,需要用的时候在根据需要 来确定用哪个实现类。(一开始不理解这么做这么繁琐有什么用,但是自从上次项目的数据库从oracle换成mysql就知道这么做其实大有用处)一般项目 开发都会用到设计模式,不了解可能会摸不清楚整个项目的架构,无从下手。

  4. 不同公司用的框架不一样,但struts,spring还是用 的比较多的,所以这两个东西还是比较熟悉的好,不然你可能连整个项目的架构都不清楚,不要说自己写,连改都很难入手。比如项目的跳转是怎么配的,哪个配置 文件代表了什么。(一开始我把项目本地跑起来以后我连主页在哪是哪个文件怎么进去的都不清楚T.T,一直在找index.jsp然后才知道项目用 freemarker做的,是一个ftl文件)

  5. web项目要操作数据库的工作是少不了的了,自己跟的项目没用hibernate,主要用的是StringBuffer拼接sql,如果从事web开发,sql还是要比较熟的。

  6. 自己感觉做web项目设计高深算法的可能做的比较深才会遇到,更多的是对字符串和数值格式的操作,比如后台从数据库抽出来到前台怎么展示,用户输入的数据 怎么怎么存到数据库里,所以最好熟悉下字符串的操作,分割呀合并呀,String转float、int什么的,日期格式呀什么的。

如果公司有专业运维,服务器部署什么的交给他们就好了,如果没有就最好还是了解下,远程连接呀,linux的一些简单的命令呀,tomcat呀什么的

20%我不知道从哪方面去理解,接下来我会将自己多年来工作中会经常使用到的技术列出来。

  1. html、css

  2. java工作原理(jvm)

  3. java语法、数据结构和算法

  4. java语言特性(封装、继承、多态、抽象)

  5. java设计模式(在开发中会经常用到)

  6. java反射机制(常用框架都会用到反射机制)

  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、properties、json

  24. 常用页面以及后台插件(tree、时间、poi等等)

  25. nosql数据库以及应用场景(mongoDB)

  26. 缓存数据库以及机制(redis、memcached)

  27. 第三方接口调用

  28. SDK

  29. web应用服务器(tomcat、weblogic)

  30. linux

  31. 日志

  32. 数据库连接池

  33. maven

  34. svn

  35. 建模工具(powerdesiner、axure)使用

  36. TCP/IP

就暂时先总结到这 , 后续会整理更多丰富、有条理性的知识清单列给大家 , 帮大家梳理和总结这些常用的技术点 , 使其形成一个完整的知识链 , 这样我们不管是使用还是回忆起来也更加得心应手 。

--完--

最近干货分享

推荐学习路线:

1、Java学习求职路线(资料、视频、源码、项目实战)
2 、java项目20套 +完整版java学习视频

推荐面试技巧:

1、面试时被质疑学历、年龄怎么办?

2、如何应对面试官问你职业规划问题

3、面试的时候问:你的期望薪资多少?怎么谈?

4、面试官问,你有什么问题需要问我的吗?

5、给培训出来的Java程序员的一点建议,教你如何找工作

推荐阅读:

注:加群要求 学习交流qq群:482670956

1、想学习JAVA这一门技术, 对JAVA感兴趣零基础,想从事JAVA工作的。
2、工作1-5年,感觉自己技术不行,想提升的
3、如果没有工作经验,但基础非常扎实,想提升自己技术的。
4、还有就是想一起交流学习的。

小编个人微信

总结Java程序员最常用的20%技术

(如果你有学习上不懂的问题、需要学习视频资源等;都可长按识别上方二维码添加小编为好友, 我将免费为你提供完整的学习路线和各种视频学习资源)

如果您觉得不错,请别忘了转发、分享、点赞让更多的人去学习, 您的举手之劳,就是对小编最好的支持,非常感谢!

如何您想进技术群交流,关注公众号在后台回复 “加群”,或者 “学习” 即可

著作权归作者所有,欢迎大家投稿 (投稿作者我会在公众号一一署名一 一并感谢

看完本文有收获?请转发分享给更多有需要的人

总结Java程序员最常用的20%技术

喜欢就点击下“好看”吧!