做Java程序员常用的技术是什么?
匿名提问者2022-11-02
请问做Java程序员常用的技术是什么?包含哪些内容?
推荐答案
同学,你好!做Java程序员常用的技术是什么?Java程序员常用的技术有包和类、常用库、多线程、VM、常见的设计模式、JDBC、异常处理、反射、序列化、Annotation、Cache;Java 框架、软件、工具等内容。
1、Java 语言本身
Java中最常用的一些包和类:如String、集合(List/Map/Set)、IO、网络;
常用库:common library、guava library;这些都值得研究源码;(我在做接口调用的限流时发现了一次guava库,很有名)
多线程:synchronized、lock、volatile、thread pool;
JVM:内存模型、内存管理、堆和栈、垃圾回收;
常见的设计模式:工厂、单例、代理、策略、门面、观察者等;不要仅仅为了使用它们而使用它们;熟悉设计模式,方便阅读其他框架的源码;
JDBC、异常处理、反射、序列化、Annotation、Cache;
熟悉每个 Java 版本的新特性。
2、Java 框架、软件、工具
Spring的大部分框架都值得学习。我把它们放在一个类 Spring、Spring MVC、Spring boot 中;
ORM框架:Hibernate、Mybatis、JPA;
各种常用的数据库连接池:DBCP、C3P0、HikariCP、Druid(我们现在用这个);
各种消息队列:我们使用RabbitMQ和Kafka;
关系型数据库:这个要看项目,Mysql or Oracle or DB2;
非关系型数据库:MongoDB、Redis(可作为缓存);
微服务框架:Dubbo或者Spring Cloud,我们使用后者,里面包含很多内容;
接口:Restful
安全认证框架:Shiro、Spring Security;
项目构建工具:Maven
版本控制工具:Git、SVN
自动化部署:Jenkins
容器:Docker
负载均衡:Nginx、LVS、DevOps
以上是Java程序员常用的技术清单,作为具有竞争力的Java程序员需要掌握以上技术并不断提高,才能成为一名优秀的Java程序员。