谢邀~
对于这个问题,我也不太好说Java开发最常用的20%是什么,我就说说自己工作中,最常用的技术有哪些。
Java语言本身一些Java最常用的包、类:例如String、collections(List/Map/Set)、IO、网络;
常用的库:common库、guava库;这些都值得研究源码;(guava库是有一次我在做接口调用的限流时找到的,大名鼎鼎,只是我孤落寡闻)
多线程:synchronized、lock、volatile、线程池;
JVM:内存模型、内存管理、堆和栈、垃圾回收;
常用的设计模式:工厂、单例、代理、策略、门面、观察者等;不要为了用而用;熟悉设计模式方便阅读其他框架的源码;
JDBC、异常处理、反射、序列化、Annotation、Cache;
熟悉每个Java版本的新特性。
Java框架、软件、工具这就有些多了,我就说些常用的吧。
Spring的大多数框架,都值得一学。我就把它们放在一类里面了Spring、Spring MVC、Spring boot;
ORM框架:Hibernate、Mybatis、JPA;
各种常用的数据库连接池:DBCP、C3P0、HikariCP、Druid(我们现在用这个);
各种消息队列:我们用到的是RabbitMQ和Kafka;
关系型数据库:这个根据项目来吧,Mysql或Oracle或DB2
非关系型数据库:MongoDB、Redis(可以当做缓存用);
微服务框架:Dubbo或Spring Cloud,我们是用后者,里面的内容非常多;
接口:Restful
安全认证框架:Shiro、Spring Security;
项目构建工具:Maven;
版本控制工具:Git、SVN;
自动化部署:Jenkins;
容器:Docker;
负载均衡:Nginx、LVS;
Devops
想到多少写多少吧;这些基本上覆盖了我工作中常用的技术、框架、软件。
我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有