欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos《支持JDK19虚拟线程的web框架》系列文章链接支持JDK19虚拟线程的web框架,之一:体验支持JDK19虚拟线程的web框架,之二:完整开发一个支持虚拟线程的quarkus应用支持JDK19虚拟线程的web框架,之三:观察运行中的虚拟线程支持JDK19虚拟线程的web框架,之四:看源码,了解quarkus如何支持虚拟线程本篇概览本篇是《支持JDK19虚拟线程的web框架》系列的第五篇,也是全系列的终篇,之前的文章实战、写代码、读源码,想必把大家累坏
欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos《支持JDK19虚拟线程的web框架》系列文章链接支持JDK19虚拟线程的web框架,之一:体验支持JDK19虚拟线程的web框架,之二:完整开发一个支持虚拟线程的quarkus应用支持JDK19虚拟线程的web框架,之三:观察运行中的虚拟线程支持JDK19虚拟线程的web框架,之四:看源码,了解quarkus如何支持虚拟线程本篇概览本篇是《支持JDK19虚拟线程的web框架》系列的第五篇,也是全系列的终篇,之前的文章实战、写代码、读源码,想必把大家累坏
让我们来到微观世界重新认识Netty在前面Netty源码解析系列《聊聊Netty那些事儿》中,笔者带领大家从宏观世界详细剖析了Netty的整个运转流程。从一个网络数据包在内核中的收发过程开始聊起,总体介绍了Netty的IO线程模型,后面我们围绕着这个IO模型又详细介绍了整个Reactor模型在Netty中的实现。这个宏观流程包括:Reactor模型的创建,启动,运转架构,网络连接的接收和关闭,网络数据的接收和发送,利用pipeline对IO处理逻辑的编排,Netty的优雅关闭。Netty的源码解析系列写到这里,笔者算是带着大家在Netty的宏观世界中翱翔了一圈,但笔者还是不舍得和大家说再见,于
让我们来到微观世界重新认识Netty在前面Netty源码解析系列《聊聊Netty那些事儿》中,笔者带领大家从宏观世界详细剖析了Netty的整个运转流程。从一个网络数据包在内核中的收发过程开始聊起,总体介绍了Netty的IO线程模型,后面我们围绕着这个IO模型又详细介绍了整个Reactor模型在Netty中的实现。这个宏观流程包括:Reactor模型的创建,启动,运转架构,网络连接的接收和关闭,网络数据的接收和发送,利用pipeline对IO处理逻辑的编排,Netty的优雅关闭。Netty的源码解析系列写到这里,笔者算是带着大家在Netty的宏观世界中翱翔了一圈,但笔者还是不舍得和大家说再见,于
目录代理模式静态代理静态代理和动态代理的区别?什么是静态、动态?静态代理的使用步骤示例静态代理的缺陷解决静态代理的缺陷的思路JDK动态代理JDK动态代理类使用步骤示例底层原理补充:CGLIB动态代理CGLIB动态代理类使用步骤示例JDK动态代理和CGLIB动态代理对比作者:小牛呼噜噜|https://xiaoniuhululu.com计算机内功、JAVA底层、面试相关资料等更多精彩文章在公众号「小牛呼噜噜」大家好,我是呼噜噜,在之前的一篇文章-Java注解中,我们详细讲解了Java注解及其原理,其中反射调用注解的时候(class.getAnnotation),会继承动态代理类Anotation
目录代理模式静态代理静态代理和动态代理的区别?什么是静态、动态?静态代理的使用步骤示例静态代理的缺陷解决静态代理的缺陷的思路JDK动态代理JDK动态代理类使用步骤示例底层原理补充:CGLIB动态代理CGLIB动态代理类使用步骤示例JDK动态代理和CGLIB动态代理对比作者:小牛呼噜噜|https://xiaoniuhululu.com计算机内功、JAVA底层、面试相关资料等更多精彩文章在公众号「小牛呼噜噜」大家好,我是呼噜噜,在之前的一篇文章-Java注解中,我们详细讲解了Java注解及其原理,其中反射调用注解的时候(class.getAnnotation),会继承动态代理类Anotation
欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos关于虚拟线程随着JDK19GA版本的发布,虚拟线程(来自ProjectLoom)这一特性也闪亮登场,虚拟线程是JDK而并非OS实现的轻量级线程(LightweightProcess,LWP),许多虚拟线程共享同一操作系统线程,虚拟线程的数量可以远大于操作系统线程的数量(可以参考golang的协程)虚拟线程方面的文章,如今已经有很多优秀博主写得非常详细深入,欣宸就不在这方面献丑了,而是将重点放在虚拟线程的实用性方面,用实战与大家一同学习:如何让虚拟线程在w
欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos关于虚拟线程随着JDK19GA版本的发布,虚拟线程(来自ProjectLoom)这一特性也闪亮登场,虚拟线程是JDK而并非OS实现的轻量级线程(LightweightProcess,LWP),许多虚拟线程共享同一操作系统线程,虚拟线程的数量可以远大于操作系统线程的数量(可以参考golang的协程)虚拟线程方面的文章,如今已经有很多优秀博主写得非常详细深入,欣宸就不在这方面献丑了,而是将重点放在虚拟线程的实用性方面,用实战与大家一同学习:如何让虚拟线程在w
目录一、业务背景二、Jdk-Bin目录三、命令行工具1、jps命令2、jinfo命令3、jstat命令4、jstack命令5、jmap命令四、可视化工具1、jconsole2、visualvm五、参考源码内存溢出,妥妥的名场面;一、业务背景对于分布式架构中的文件服务来说,由于涉及大量的IO流操作,很容易引发JVM的相关异常,尤其是内存溢出的问题;在最近的一次版本迭代中,真实的业务处理场景和上述几乎一致,由于在文件服务中添加批量处理的动作,直接唤醒了隐藏许久的BUG,就是最常见的内存溢出;问题的起因:在word文档完成内容识别后,转换为pdf文件,然后进行页面分割转为一组图片,在这个复杂并且超长
目录一、业务背景二、Jdk-Bin目录三、命令行工具1、jps命令2、jinfo命令3、jstat命令4、jstack命令5、jmap命令四、可视化工具1、jconsole2、visualvm五、参考源码内存溢出,妥妥的名场面;一、业务背景对于分布式架构中的文件服务来说,由于涉及大量的IO流操作,很容易引发JVM的相关异常,尤其是内存溢出的问题;在最近的一次版本迭代中,真实的业务处理场景和上述几乎一致,由于在文件服务中添加批量处理的动作,直接唤醒了隐藏许久的BUG,就是最常见的内存溢出;问题的起因:在word文档完成内容识别后,转换为pdf文件,然后进行页面分割转为一组图片,在这个复杂并且超长