Java程序员需要了解哪些技术?

Java程序员需要了解哪些技术?Java程序员常用的技术有哪些?在学习Java的时候,可能需要学习的知识点有很多,但在工作当中,实际经常用到的可能只有20%。下面就帮大家罗列一下Java程序员需要了解的主要的技术知识有哪些。

Java程序员需要了解哪些技术?_第1张图片

Java程序员常用的技术:

1.一些Java最常用的包、类:例如String、collections(List/Map/Set)、IO、网络;

2.常用的库:common库、guava库;这些都值得研究源码;(guava库是有一次我在做接口调用的限流时找到的,大名鼎鼎,只是我孤落寡闻)

3.多线程:synchronized、lock、volatile、线程池;

4.JVM:内存模型、内存管理、堆和栈、垃圾回收;

5.常用的设计模式:工厂、单例、代理、策略、门面、观察者等;不要为了用而用;熟悉设计模式方便阅读其他框架的源码;

6.JDBC、异常处理、反射、序列化、Annotation、Cache;

7.熟悉每个Java版本的新特性。

8.Spring的大多数框架,都值得一学。我就把它们放在一类里面了Spring、Spring MVC、Spring boot;

9.ORM框架:Hibernate、Mybatis、JPA;在此我向大家推荐一个架构学习交流圈。交流学习指导伪鑫:1253431195(里面有大量的面试题及答案)里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化、分布式架构等这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

10.各种常用的数据库连接池:DBCP、C3P0、HikariCP、Druid(我们现在用这个);

11.各种消息队列:我们用到的是RabbitMQ和Kafka;

12.关系型数据库:这个根据项目来吧,Mysql或Oracle或DB2

13.非关系型数据库:MongoDB、Redis(可以当做缓存用);

14.微服务框架:Dubbo或Spring Cloud,我们是用后者,里面的内容非常多;

15.接口:Restful

16.安全认证框架:Shiro、Spring Security;

17.项目构建工具:Maven;

18.版本控制工具:Git、SVN;

19.自动化部署:Jenkins;

20.容器:Docker;

21.负载均衡:Nginx、LVS;

22.Devops

Java程序员常用的技术有哪些?以上内容是Java程序员常用的技术,需要我们熟练的掌握和不断地提升才能成为一名优秀的Java程序员。

你可能感兴趣的:(java,面试,开发语言,架构,spring)