最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

2020年高级 Java 程序员都在学什么?

XAMPP教程 admin 52浏览 0评论

我曾在某乎的一条回答下看到这样一条评论:
确实,Netty 大家肯定都会,不会的绝对是初级或者XX
上面的说有失偏颇,学习技术没必要上升到人身攻击,更重要的是如何学会技术,面好的大厂,拿到高的薪资。
不过跳出来看,会用 Netty 不等于就会进行项目优化,会进行优化不等于会二次开发。成为一名高级的 Java 工程师,Netty 一定是必经之路,当然更牛的同学手写 NIO JDK 就不在内。
说回主题,高级 Java 程序员需要学习什么?
很多大厂在招聘时要求会用 Netty
写这篇文章之前,我试着在各大招聘网站检索 Netty,以下岗位都要求了会使用或熟悉 Netty:

阿里巴巴 – Java 工程师 (服务端),20k-40k / 北京 / 经验 3-5 年 / 本科及以上 / 全职
小米 – 高级 Java 开发工程师,13k-26k / 武汉 / 经验 3-5 年 / 本科及以上 / 全职
拼多多 – 资深 Java 研发工程师,30k-50k / 上海 / 经验 3-5 年 / 本科及以上 / 全职
当然还有美团、搜狗、平安科技、自如、携程、搜狐等等公司都在岗位要求中加入了熟练掌握或熟悉 Netty。

 

多款开源框架中应用 Netty
阿里分布式服务框架 Dubbo 的 RPC 框架使用 Dubbo 协议进行节点间通信,Dubbo 协议默认使用 Netty 作为基础通信组件,用于实现各进程节点之间的内部通信。
淘宝的消息中间件 RocketMQ 的消息生产者和消息消费者之间,采用 Netty 进行高性能、异步通信。
Hadoop 的高性能通信和序列化组件 Avro 的 RPC 框架,默认采用 Netty 进行跨节点通信,它的 Netty Service 基于 Netty 框架二次封装实现。
除了 Dubbo、RocketMQ、Hadoop,还有开源集群运算框架 Spark、分布式计算框架 Storm、构建 JVM 上的并发应用和分布式应用 Akka,都采用了 Netty 作为通信基础。

这里我可以很正确的说:Netty 基本是 Java 语言处理网络 IO 的首选框架,性能和稳定性都有保障,社区比较活跃,基于 Netty 进行二次定制服务成本小。
为什么这么多行业选择了 Netty?
举个简单例子:普通的服务器 100000 个连接需要 100000 个线程,服务器可能就直接卡住了,但对于 Netty 服务器,也许几个线程就够了,请求放线程池,服务器面对电商促销,应用推送服务,完全无压力。

从电商、游戏、大数据、企业软件再到通信行业,Netty 的各种特性都能够很好的支持和帮助业务快速发展,Netty 满足了过去用 Socket 进行网络编程时的几乎所有美好愿景。

设计:统一的 API,适用于不同的协议、基于灵活、可扩展的事件驱动模型、高度可定制的线程模型、可靠的无连接数据 Socket 支持(UDP)。

性能:更好的吞吐量、低延迟、省资源、减少不必要的内存拷贝

安全:完整的 SSL/TLS 和 STARTTLS 的支持
健壮性:不再因过快、过慢或超负载连接导致 OutOfMemoryError、不再有在高速网络环境下 NIO 读写频率不一致的问题
易用:完善的 JavaDoc,用户指南和样例,更有活跃的社区支持

 

转载请注明:XAMPP中文组官网 » 2020年高级 Java 程序员都在学什么?