謝邀~
常年從事Java開發,下面我向大家介紹一下我常用的一些技術、框架、軟件。
三五年前的老項目Maven:新老項目都是基于Maven構建,所以就把它放在第一位;是一個項目管理工具,主要功能有:項目構建;Jar包的依賴管理;版本管理;持續集成等等等等;
Spring:是一個J2EE框架,提供了對IOC的良好支持,也提供了對AOP技術非常好的封裝;
Spring的一個子項目Spring MVC,實現了MVC設計模式,目標是解耦;
MyBatis或Hibernate:現在后者用的少了,都是ORM框架;
JUint:單元測試工具;
Shiro:關于安全認證的一個框架,用于用戶身份認證,權限授權、加密、會話管理等;
Cxf or Axis:老項目WebService用的比較多一些;
Quartz:定時服務框架,一般都是單機應用;
Ehcache:一個緩存框架,也都是用于單機項目;
log4j、logback:各種日志工具;
關系型數據庫:Oracle、Mysql、DB2都使用過。
最近的新項目很多老的框架也都在用,同時也增加了不少新的框架、工具。
Spring Boot:用于搞定其他框架的一個框架,主要是提供了各種啟動器、簡化了各種配置、方便和其他框架集成、開發者能夠快速上手。
Spring Cloud:這個就多了,是一套框架。包括以下:
Config:配置管理中心;
Netflix Eureka:服務注冊、服務發現等;
Netflix Hystrix:斷路器;
Netflix Feign:聲明式服務調用組件。
Netflix Ribbon:客戶端負載均衡。
Netflix Zuul:網關;
Bus:消息總線;
Sleuth:日志收集;
Spring Cloud還有很多,我只說我們用到的。
Restful API、RPC:不同風格的服務;
Swagger:Restful API自動生成工具;
消息隊列:常用RabbitMQ和Kafka,一種保存消息的容器,也用于系統間解耦;
Redis:Key-Value格式的內存數據庫,常用語緩存;
MongoDB:BSON(類似JSON)格式的內存數據庫;
Zookeeper:一個分布式協調服務;
日志的話,現在公司有ELK的日志平臺;
docker:容器技術。
還有很多,提到的也沒有辦法詳細介紹,后續我會對這些技術進行詳細的講解,有需要的朋友可以關注我。