分享

符合82定律的Java,最常用的知识点都有哪些?

 _王文波 2017-03-08

符合82定律的Java,最常用的知识点都有哪些?

众所周知,IT技术在实际应用中符合82定律,也就是在实际工作中,20%的知识点被应用了80%,有80%的知识点并不常用,更多的是停留在理论。当然Java也不例外,完全符合82定律,所以最常用的只有那20%的知识点。那么这20%最常用的知识点都有哪些呢?小编采访了卓越老师们。也参考了一些网友的建议,得出了下面的结论。

一、网友小巨蛋给出的建议是:

常用api(String,StringBuffer/StringBuilder等)

1. 集合类,线程类

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

3. json,xml读写

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

5. http请求(HttpClient)

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

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

二、还有网友Chao LI给出了更好的建议,全部来自自身的实战经验,都是精华:

作为一个提供分布式服务接口的java工程师,需要熟练具备以下技能点:

1、java基本语法:最好能偶尔使用java8 lambda简化代码逻辑,google的guava库等等

2、docker基本使用:如今越来越多的公司选择将服务部署在docker上,构成独立的服务云平台,而且docker操作和资源调度分配很爽的。

3、消息队列:kafka、rabbitmq、notify、metamq等等,消息队列作为处理高吞吐量,不计较及时结果的应用场景的工具非常受欢迎。所采用的实际应用手法就是消息队列+补偿机制。

4、zookeeper或Etcd:这俩种都是分布式服务提供服务的注册中心,通过它们可以实现多服务多机器部署且实现负载均衡。

5、RPC:远程调用的场景使用越来越广泛,特别在分布式服务中更加离不开它。它能使多个服务间的调用如同调用本地方法一样简便。针对RPC的实现使用较为广泛的有Thrift、protobuffer等。

6、Netty:是一个高性能、异步事件驱动的NIO框架。能为RPC提供高性能的调用

7、git和maven等项目管理及依赖包管理的工具,这是协作开发的基础。

8、Redis:差点忘了这个必知必会的技能...Redis作为高性能的内存数据库,基本覆盖了访问量大的服务缓存。当然memcached前几年用的也居多,不过功能可被Redis替代。除了缓存也可以提供分布式锁机制。

9、Spring系列:我不说Spring MVC 还是Spring Boot等具体名词,因为spring真的是个庞大的生态圈额(Cloud、NoSql、Redis等等)。虽然Spring Mvc比较火,但是对于微服务的开发我建议使用Spring Boot,而且Spring Boot势头确实猛啊...能够把开发效率之少提升一个档次...

10、Jersey:Spring Boot +Jersey 这俩个构成完美的服务接口Resultful开发组合。Jersey是Resultful开发框架,这个也是微服务开发的基础,使用也很简单方便,尤其是可以在其上自己封装请求的过滤层。

11、zuul: 应用层上的网关实现,通过Spring Boot组合使用,构成微服务体系的基本架构,原理图如下:

12、掌握一款开源的分析和搜索引擎 Elasticsearch or Solr

13、数据库也忘了,mysql作为java工程师的高频面试考点居然也忘了...嗯,mysql在java中还是王道,所以对mysql的理解也不能仅仅停留在简单的使用上。InnoDB作为使用率最高的存储引擎,应该对其进行深入的探索。推荐书籍:《Mysql技术内幕 InnoDB存储引擎》

三、还有网友申**直接列出了知识点:

html、css;java工作原理(jvm);java语法、数据结构和算法;java语言特性(封装、继承、多态、抽象);java设计模式(在开发中会经常用到);java反射机制(常用框架都会用到反射机制)http://(文件读写);多线程;网络编程;javascript;jquery;数据库(oracle、mysql等等);servlet;JDBC;javabean;WEB项目分层架构;前后台交互;ajax;过滤器及过滤器原理;常用框架(Struts、hibernate、spring、springMVC、i/mybatis);框架整合;工作流(流程引擎工作机制);xml、properties、json;常用页面以及后台插件(tree、时间、poi等等);nosql数据库以及应用场景(mongoDB);缓存数据库以及机制(redismemcached);第三方接口调用;SDK;web应用服务器(tomcat、weblogic);linux;日志;数据库连接池;maven;svn;建模工具(powerdesiner、axure)使用;TCP/IP

以上就是小编为大家总结的Java最常用的20%的知识点,希望能够对大家有所帮助,如果你是大神还有不同的见解,欢迎留言补充!

欢迎关注微信公众号【中软卓越北京EEC

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多