从Java18到21
随着Java最新版本21的推出,其中的新特性之一:虚拟线程,受到广泛关注。笔者觉得有必要对从Java18到21的所有主要的新特性做一个盘点,就像之前的《学习Java9~11》和《学习Java12~17》。
虚拟线程
毫无疑问,虚拟线程是所有的新特性中最重要的一个。在此之前,Java中的线程实际是对操作系统的线程的包装,而操作系统的线程的创建代价比较高昂,如果你在线程中发送HTTP请求到另一个服务器,其中发送请求和处理响应只占线程阻塞的时间的一小部分,大部分时间是在等待响应。避免这种情况的一个方式是使用异步方式,但这种方式的缺点是实现较复杂。而有了虚拟线程,你能够在不改变实现的情况下获得和异步一样的伸缩性。