摘要:
前两天逛博客的时候看到有个人写了一篇博客说ReentrantLock比synchronized慢,这就很违反我的认知了,详细看了他的博客和测试代码,发现了他测试的不严谨,并在评论中友好地指出了他的问题,结果他直接把博客给删了 删了 了……
很多老一辈的程序猿对有synchronized有个 性能差 的刻板印象... 阅读原文
2020-08-24 17:38:03 阅读(2943) 评论(0)
摘要:
虽然你觉得大炮肯定是个标题党,但你终究还是点进来了(别打我,手动狗头保命),毕竟这性价比也太高了,4分钟10种,如果是真的就赚大发了。
但是大炮可以肯定的告诉你,只要正儿八经的参与过几个项目,有个一两年的开发经验。你肯定已经用过并且可能已经理解了一些设计模式了,只是并不自知而已。今天大炮就来给你好好缕一缕。... 阅读原文
2020-08-24 16:17:04 阅读(2414) 评论(0)
摘要:
反射之类加载器(1)
一、介绍
本文主要用于学习Java四种类加载器。
二、类加载器
1、引导类加载器 (又称根据加载器)BootStrap ClassLoader
由于并不是java语言实现的,也不是ClassLoader的子类,获取它的对象往往返回null
System.out.println(Strin... 阅读原文
2020-08-24 15:08:50 阅读(2656) 评论(0)
摘要:
浏览技术文章时,读到一个评判技术能力的标准:“Google评分卡”。它对技术人员的能力从0到10划分了11个等级,看完这个评分卡,真切感受到每个技术人都应该进行一次自我评估:对照一下自己所处的位置,下一步又要迈向哪个等级。
Google评分卡的来自Google的SRE。为了保证稳定可靠的服务,Google组建... 阅读原文
2020-08-24 13:41:04 阅读(2358) 评论(0)
摘要:
Swing 使用 JTable详解
示例 1 : 基本表格
显示一个Table需要两组数据
一维数组: String[]columnNames 表示表格的标题
二维数组: String[][] heros 表格中的内容
默认情况下,表格的标题是不会显示出来了,除非使用了JScrollPane
packa... 阅读原文
2020-08-24 12:27:06 阅读(2499) 评论(0)
摘要:
管道方法 org.apache.catalina.core.StandardWrapperValve#invoke() 执行的时候, 创建了一个过滤器链, 并且进行了调用:
//过滤器链
ApplicationFilterChain filterChain = ApplicationFilterFactor... 阅读原文
2020-08-24 11:07:03 阅读(2371) 评论(0)
摘要:
上一篇终于找到了调用管道方法的地方, 代码片段:
//org/apache/catalina/connector/CoyoteAdapter#service
// Parse and set Catalina and configuration specific
// request parameters ... 阅读原文
2020-08-24 10:44:03 阅读(2340) 评论(0)
摘要:
tomcat启动的时候, 起了异步起了两个类: Poller 和 Acceptor.
默认情况下, 是由 NioEndpoint 的 Acceptor 来监听接收请求的.
Acceptor.run()
代码片段:
//org.apache.tomcat.util.net.NioEndpoint.Accept... 阅读原文
2020-08-24 10:19:02 阅读(2898) 评论(0)
摘要:
通过前面执行的流程, 大致可以画出一些时序图来, 通过时序图, 可以更加清晰的观看整个流程走向.
Bootstrap.start():
Engine 和 Connector 内容比较多, 只能分出来画了
Engine.start()
Connector.start()
阅读原文
2020-08-24 10:04:04 阅读(2419) 评论(0)
摘要:
StandardService#startInternal中, 除了调用了 engine.start()外, 还调用了 connector#start()
Connector#start()
connector.start()最终调用的是 Connector#startInternal()方法.
... 阅读原文
2020-08-24 08:39:02 阅读(3532) 评论(0)