源码
柠檬不酸(LemonSour)
坚持原创,拒绝水文
个人博客:https://lemonsour.me
展开
-
IDEA运行tomcat源码
这里提供下Tomcat9最简单运行源码的实现1.去官网下载tomcat源码2.新建pom.xml文件,与webapps,conf等文件夹平级存放,增加一些缺少的jar包(这些其实可以自己多运行几次试出来缺哪些jar包),插件的作用是不用每次刷新maven的jar包都需要调整java版本号,不会改版本号的可以看{% post_link IDEA修改java版本号 IDEA修改java版本号 %}...原创 2019-09-15 19:47:29 · 473 阅读 · 0 评论 -
Servlet源码笔记
主要简单介绍下servlet源码结构介绍首先类的主要结构关系需要提及一下模块一interface ServletRequestinterface HttpServletRequest extends ServletRequestclass ServletRequestWrapper implements ServletRequestclass HttpServletReque...原创 2019-09-17 00:07:06 · 168 阅读 · 0 评论 -
Tomcat源码笔记
ps:由于图片过大,所以限制了在博客中显示大小,大家可以右键查看图片看原图本系列均是基于9.0.21版本 本章我们不会涉及代码,而是笼统的分析Tomcat的实现原理,让大家对全局有一定的掌控,后面几章我会带大家分析代码####Tomcat是什么? 在我看来,Tomcat是利用各种模型和设计方式对socket的深度封装,做到适配各种协议同时达到一定性能的代码组,同时给我们写的各种业务代码(...原创 2019-09-17 00:07:57 · 174 阅读 · 0 评论 -
ThreadPoolExecutor源码分析
看到网上讲线程池源码的文章一堆大坑,只能自己扒源码扒篇文章出来了,坐标jdk8最重要的一个坑放在前面假如你设置的核心线程数=2,最大线程数=4。很多人都讲向线程池添加任务时会先扩充到最大线程数,多出来的再向队列添加,我只想说,这是非常致命的错误看如下代码,在添加任务时,从源码或从注释中明确表示分了三步1.如果现存线程数小于核心线程数,则创建线程,添加的任务直接在该线程运行2.如果核心线...原创 2019-10-06 23:21:37 · 130 阅读 · 0 评论 -
FutureTask源码分析
FutureTask直接继承了RunnableFuture,间接继承了Future,Runnable。当我们使用Runnable时,是无法获得返回值的,而RunnableFuture则是为了解决这一个问题而存在首先,这段代码不熟悉的可以去看这篇文章 {% post_link 如何使用Unsafe类方法 如何使用Unsafe类方法 %}// Unsafe mechanics priva...原创 2019-10-06 23:22:29 · 161 阅读 · 0 评论