做了十多年的Java开发java服务器,和大家介绍一下我最近一两年用的比较多的Java框架(包括软件、中间件)网站备案。java服务器,现在企业开发时,Java所用到的主流框架有哪些Spring:从刚开始工作的时候就在用;是一个J2EE框架,提供了对IOC的良好支持,也提供了对AOP技术非常好的封装;Spring MVC:也是Spring的一个子项目,实现了MVC设计模式,目标是解耦;MyBatis、Hibernate:两个都是ORM框架,现在Hibernate用的少了;也有用到Spring Data JPA,这个可以看做是更高级的封装,可以通过方法的命名,实现SQL语句;可以看到,上面就是SSM框架,现在还是比较流行的。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也不局限于缓存;Spring Boot:用于搞定其他框架的一个框架,主要是提供了各种启动器、简化了各种配置、方便和其他框架集成、开发者能够快速上手。Dubbo:一个微服务框架,阿里出品;Spring Cloud:另外一套微服务框架,这个就多了,例如:Config(配置管理中心)、Netflix Eureka(服务注册、服务发现)、Hystrix(断路器,这个官方好像已经不建议使用了,又有新的了)、Feign(声明式服务调用组件)、Ribbon(客户端负载均衡)、Zuul(网关)、Bus(消息总线)等等。Dubbo or Spring Cloud:这个看公司的技术栈,用到哪个学哪个,都没有用到,建议学Spring Cloud。Restful API、RPC:不同风格的服务;Swagger:Restful API自动生成工具;消息队列:常用RabbitMQ和Kafka,一种保存消息的容器,也用于系统间解耦;MongoDB:BSON(类似JSON)格式的内存数据库;Zookeeper:一个分布式协调服务;Nginx:或其他负载均衡软件;Docker:容器技术。我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。我认为Java编程,不出什么重大事件的话,不会在短期内,5年甚至10年被新语言取代的。火一门语言不容易首先,一门语言从开发,完善到成熟需要很长时间,能不能火起来还不一定。java也是慢慢才发展、完善到最后火起来的。Java开始是在上世纪90年代,Sun公司的James Goslin在做嵌入式开发、微处理器等微小型系统系统控制是开发出来的语言,刚开始叫Oak,后来才正式叫Java语言。Java之父 James GoslinJava曲折的发展历程Java发展历程也颇曲折的,刚开始Java程序由于没有很好的界面UI系统、在和其他语言竞争很被动,没有Delphi VCL,微软VC MFC、VB等可见既可得编程面前没啥优势。也没有啥很好的IDE开发环境。还记得在2000年左右时候,学习java用记事本写好,用javac编译,然后用java执行。昙花一现的java Applet现在java开发者可能知道Applet的很少,但是当年当Applet小动画在浏览器显示出来的时候,我一下子被惊呆了。太神奇、太美丽了!所以接下来就是疯狂的搜索下载Applet特效,修改修改然后放到自己网页上。后来听说和Sun和微软大了场官司、IE不在内置支持Applet的运行环境了,还有一个神奇的flash出现了,网页三剑客风云天下。流行了很多flash动画,应该是国内最早的网络动画的起源Showgood 的《三国》系列。还有雪村的《东北人都是话雷锋》等,到现在还是记忆犹新,偶尔打开老的文件夹还能津津乐道的看上半天。这段就当做小编怀旧怀旧当年美好的日志。。。。随着B/S程序和AJAX的发展Java Web开发又焕发新春并且蓬勃发展上面我们说了Java很优秀,但是缺乏一个很好的界面做桌面应用,后来Web的蓬勃发展,有了Html JS AJAX做Web界面呈现,Java一心一意处理后端应用,这是Java天生的优势,加上开源的IDE Eclipse等越来越好用,Java的企业开发标准有非常完善,非常适合企业团队项目的开发,Java越来越重要,排行也一直就高占榜首下不来了。未来趋势——分布式计算、大数据,物联网Java都不可或缺现在Java在语法特性上跟一些后来比可能已经一点都不占优势了,但是在两个方面的其他语言是没法和Java正面做较量的。1、Java现存体量非常大,用户庞大,开发人员众多,公司找人很好找,各层级的人员都好找,初级码农到高级设计架构师都是不愁不找不到人。Java在软件工程方面的拓展使得非常适合按照软件工程做项目管理,项目管理非常成熟、省心。大量的类库和应用框架,使得开发一个程序,在人员、基础架构、开发风险性方面都不用愁。领导省心、项目经理省心、HR也省心、项目管理也省心。而且开发部门也容易找到大量的稳定的人员,有了大量人员在公司话语权也就有了,决策时候就更容易首选Java,其他语言都不在有太多机会了。2、Java在分布式计算和大数据上面积累大量的项目,比如hadoop、HBase、Accumulo以及ELK 中的ElasticSearch、支持最大吞吐量的消息队列Kafka以及其他大数据处理技术很多都是用Java。我们在第二不是Java历史中也说了Java的最初就是为小微型系统而生的,将来时物联网的时代,你说谁会更火呢,当然也是天生为物联网而生的Java了。天生分布式和天生物联网语言决定了,在宏观和微观两个方面都将是Java大战拳脚的地方。
本文出自快速备案,转载时请注明出处及相应链接。