谢邀~
常年从事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:容器技术。
还有很多,提到的也没有办法详细介绍,后续我会对这些技术进行详细的讲解,有需要的朋友可以关注我。
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有