关注“Java这点事”,
每天与你分享Java技术、IT资讯
JAVA语言作为历史最为悠久的编程语言,从95年5月开始历经数十年依然盘踞在编程榜前三的位置,与它强大的功能和广泛的运用分不开。JAVA 技术的更新迭代是开发者应该关注的问题,下面盘点一下2020年互联网企业在JAVA 开发中有哪些主流、热门的IT技术,帮助大家在职场中快速崛起。
1、微服务技术
首当其冲的就是我们的微服务技术,从最开始的单体式服务,逐步的演化到集群,分布式,以及现在的微服务。
其中在微服务架构主要有:Spring Cloud alibaba、 Dubbo、 ZooKeeper等,以 Dubbo占比26.18%,微服务网关技术,这些技术的变更是随着时代的潮流在不断前进的 我们也是不断的去进步学习。
2、远程调用技术
RPC远程过程调用是什么?
1、简单的来说,RPC就是从一台机器上通过参数传递的方式调用另外一台服务器上的一个函数或者方法,并得到返回结果。
2、RPC会隐藏底层的通讯细节,不需要直接处理Socket通讯或者Http通讯
3、RPC是一个请求响应模型,客户端发起请求,服务器返回响应。
4、RPC在使用形式上想调用本地函数(或者方式)一样去调用远程的函数或者方法。
早期的RPC:
第一代 RPC(ONC RPC,OSF RPC)不支持对象的传递。CORBA太复杂,各种不同实现不兼容,一般程序员也玩不转。DCOM,COM+ 逃不出 Windows的手掌心。RMI 只能在 Java里面玩。.NET Remoting 只能在 .NET 平台上玩。
现在使用RPC框架的程序员中, 使用Dubbo的人数占比较高,其次为 dubbox、gRPC、hessian也具有一定的使用比例。 较于早期的RPC有了较大的提升,可以在多平台语言使用。
3、开发技术
多数程序员在工作中使用的开发技术为权限管理和消息队列。1/4的程序员在工作中使用的开发技术为报表技术、分布式缓存技术和负载均衡解决方案。当前2020年内最火的技术 就是 redis RocketMQ 和 ES等 技术 下面会进行详细的描述。
4、权限管理技术
从控制力度来看,可以将权限管理分为两大类:
1、功能级权限管理;
2、数据级权限管理。
从控制方向来看,也可以将权限管理分为两大类:
1、从系统获取数据,比如查询订单、查询客户资料;
2、向系统提交数据,比如删除订单、修改客户资料。
首当其冲的 就是shiro,其次为spring security 以及 auth2和自定义框架等 。
一般就使用基于角色访问控制技术RBAC(Role Based Access Control)。该技术被广泛运用于各个系统,非常容易掌握。
5、消息队列技术
消息中间件属于分布式系统中的一个子系统,关注于数据的发送和接收,利用高效可靠的消息传递机制对分布式系统中的其余各个子系统经进行集成
消息队列技术主要有:ActiveMQ、RabbitMQ和Kafka。RocketMQ的使用人数较少。但是逐渐的成为了主流趋势
6、分布式缓存技术
Redis技术是绝大多数程序员在工作中会使用到的分布式缓存技术。其次为ehcache,而Memcached占比较低。Redis 6.0之后支持了多线程 那么是如何实现的呢 ?
7、全文检索技术
Solr、elasticsearch和Lucene是多数老程序员在工作中使用的全文检索技术。其中,超半数的程序员在工作中使用Solr和elasticsearch。
lasticsearch
基于lucene
lucene的局限性:
只能基于java开发
类库的接口学习曲线陡峭
原生并不支持水平拓展
Java在IT技术圈中仍然占据着主流地位,开发者想要不被企业淘汰就需要不断的学习掌握最新的java的技术,才能更具竞争力。
还有哪些技术,欢迎你们在评论区留言。
————END————
欢迎关注公众号: Java这点事(ID:Java20177)
简介:每晚十点给技术人分享Java技术、IT资讯