诺禾:诺禾分析Java所用到的主流框架到底有哪些?

做了十多年的Java开发,和大家介绍一下我最近一两年用的比较多的Java框架(包括软件、中间件)。

  • Spring:从刚开始工作的时候就在用;是一个J2EE框架,提供了对IOC的良好支持,也提供了对AOP技术非常好的封装;
  • Spring MVC:也是Spring的一个子项目,实现了MVC设计模式,目标是解耦;
  • MyBatis、Hibernate:两个都是ORM框架,现在Hibernate用的少了;也有用到Spring Data JPA,这个可以看做是更高级的封装,可以通过方法的命名,实现SQL语句;

可以看到,上面就是SSM框架,现在还是比较流行的。

现在的互联网企业开发时,Java所用到的主流框架到底有哪些?
  • Maven:新老项目都是基于Maven构建,它是一个项目管理工具,主要功能有:项目构建;Jar包的依赖管理;版本管理;持续集成等等等等;
  • JUint:单元测试工具;也是老朋友了;测试框架还有不少,比如Spring Test,JMock等等。
  • Shiro、Spring Security:关于安全认证的框架,用于用户身份认证,权限授权、加密、会话管理等;
  • Cxf or Axis:老项目WebService用的比较多一些;历史问题,还是要了解一下;
  • Quartz:定时服务框架,一般都是单机应用;
  • Elastic-job:分布式定时服务框架,当当出品;
  • log4j、logback:各种日志工具;现在会有一些日志采集分析的框架,比如ELK;
  • Ehcache:缓存框架,也都是用于单机项目;
  • Redis:说到缓存,现在更多的使用Memcached、Redis;当然Redis也不局限于缓存;
现在的互联网企业开发时,Java所用到的主流框架到底有哪些?
  • Spring Boot:用于搞定其他框架的一个框架,主要是提供了各种启动器、简化了各种配置、方便和其他框架集成、开发者能够快速上手。
  • Dubbo:一个微服务框架,阿里出品;
  • Spring Cloud:另外一套微服务框架,这个就多了,例如:Config(配置管理中心)、Netflix Eureka(服务注册、服务发现)、Hystrix(断路器,这个官方好像已经不建议使用了,又有新的了)、Feign(声明式服务调用组件)、Ribbon(客户端负载均衡)、Zuul(网关)、Bus(消息总线)等等。

Dubbo or Spring Cloud:这个看公司的技术栈,用到哪个学哪个,都没有用到,建议学Spring Cloud。

现在的互联网企业开发时,Java所用到的主流框架到底有哪些?
  • Restful API、RPC:不同风格的服务;
  • Swagger:Restful API自动生成工具;
  • 消息队列:常用RabbitMQ和Kafka,一种保存消息的容器,也用于系统间解耦;
  • MongoDB:BSON(类似JSON)格式的内存数据库;
  • Zookeeper:一个分布式协调服务;
  • Nginx:或其他负载均衡软件;
  • Docker:容器技术。
现在的互联网企业开发时,Java所用到的主流框架到底有哪些?

自己项目中用的比较多的技术,不仅仅是框架,有下列这些:

1,spring:低侵入式对象管理容器,提供大量注解,方便开发,声明式事务,集成别的框架变得简单!

2,springboot:微服务框架,大量现成库的集合,提供样板化的配置和开发,简化初始构建和开发!

现在的互联网企业开发时,Java所用到的主流框架到底有哪些?

3,springcloud:企业级的微服务框架,集成了大量微服务所需要的并能直接使用的库,比如服务注册与发现,jvm运行参数获取,安全认证,断流器等等!

4,mybatis:持久层框架,轻量级,使sql和代码得到解耦,支持动态sql,所以能支持强大复杂的sql语句,查询结果可与JAVA对象自动映射!

5,druid:连接池,可对sql执行次数,效率等进行监控,可对web请求数等进行监控,提供可视化页面!

6,redis:key-value内存型缓存,可支持多种数据结构的存取,单线程保证线程安全,可用于业务数据加锁,计数,生成全局唯一key,设计秒杀系统等等!

现在的互联网企业开发时,Java所用到的主流框架到底有哪些?

7,docker:微服务持续集成部署的容器首选,占用资源少,可构建一套独立的环境镜像,避免各种环境复杂性的影响!windows可下载boot2docker体验,非常好用!

8,mycat:分库分表框架,有多种分库分表策略以供选择,简单配置即可获得优秀的数据库超量数据读写!

9,mysql:开源关系型数据库,性能强大!

10,mongodb:非关系型数据库,热数据存储在内存中,读取非常快速,文档式存储(大对象尤为方便),支持自动分片!

11,AOP:面向切面编程,可将非业务的公共部分抽出,比如日志,安全验证等等!

12,logback:日志工具,简单配置即可获取全面的日志打印,和日志文件管理!

现在的互联网企业开发时,Java所用到的主流框架到底有哪些?

13,jenkins:持续集成部署工具,通过简单配置,可实现自动部署!

14,ons,rabbitMq等消息组件:异步处理,最终一致性解决方案!

15,nginx:负载均衡的不二之选,极为稳定,性能极好,配置简单,有多种均衡方式可供选择,可轻松实现前端跨域访问!

16,SVN/git:版本控制工具,是团队并行开发的保障!

17,putty/secureCRT:远程连接工具,方便对远程执行命令,查看日志等!

18,javamelody:集成在代码中,可以网页上查看实时内存,CPU使用率等等性能监控指标!jmap:性能分析工具!

以上就是我在工作中,最常用的JAVA开发相关的框架,技术,工具等!

肯定还有什么是你觉得很重要的?烦请补充,谢谢。。。

常见的设计模式,编码必备Spring5,做应用必不可少的最新框架MyBatis,玩数据库必不可少的组件

现在的互联网企业开发时,Java所用到的主流框架到底有哪些?

工程化与工具

工欲善其事必先利其器,不管是小白,还是资深开发,玩Java技术体系,选择好的工具,提升开发效率和团队协作效率,是必不可少的:

Maven,项目管理Jenkins,持续集成Sonar,代码质量管理Git,版本管理

现在的互联网企业开发时,Java所用到的主流框架到底有哪些?

分布式架构

高并发,高可用,海量数据,没有分布式的架构知识肯定是玩不转的:

分布式架构原理分布式架构策略分布式中间件分布式架构实战

现在的互联网企业开发时,Java所用到的主流框架到底有哪些?

微服务架构

业务越来越复杂,服务分层,微服务架构是架构升级的必由之路,Java技术体系,和微服务相关的技术有哪些呢?

微服务框架Spring CloudDocker与虚拟化微服务架构

现在的互联网企业开发时,Java所用到的主流框架到底有哪些?

性能优化

任何脱离细节的ppt架构师都是耍流氓,向上能运筹帷幄,向下能解决一线性能问题,Java技术体系,需要了解:

性能指标体系JVM调优Web调优DB调优

现在的互联网企业开发时,Java所用到的主流框架到底有哪些?
现在的互联网企业开发时,Java所用到的主流框架到底有哪些?

如何获取?



猜你喜欢

转载自www.cnblogs.com/lovenuohe/p/12922178.html