摘要: 对于一个基本的web服务器来说,事件通常有三种类型,网络事件、信号、定时器 worker_processes,工作进程数 1.默认:worker_processes: 1 2.调大:worker_processes: CPU核心数,(双核4线程,可以设置为4) worker_connections, 阅读全文
posted @ 2020-04-07 23:52 konami 阅读(135) 评论(0) 推荐(0) 编辑
摘要: HashMap有扩容机制,就是当达到扩容条件时会进行扩容。HashMap的扩容条件就是当HashMap中的元素个数(size)超过临界值(threshold)时就会自动扩容。在HashMap中,threshold = loadFactor * capacity。 每次扩容会重建hash表,导致性能下 阅读全文
posted @ 2020-04-02 00:03 konami 阅读(327) 评论(0) 推荐(0) 编辑
摘要: nginx请求 ngx.exec:nginx跳转;跳转到其他的location中执行。但仅限nginx内部的location。 ngx.redirect:和nginx.exec相似,但支持外部跳转。 ngx.location.capture_multi:并发请求;但仅限nginx内部的locatio 阅读全文
posted @ 2020-03-24 23:28 konami 阅读(626) 评论(0) 推荐(0) 编辑
摘要: 转载https://www.cnblogs.com/sunwubin/p/10529434.html 在锤子科技发布会上,提到给Openresty的捐赠的事情,出于好奇我在是网上查询了Openresty,看到了Openresty的官网(http://openresty.org/en/)。看到介绍说的 阅读全文
posted @ 2020-03-24 00:50 konami 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 1.变量 ThreadPoolExecutor先定义了这几个常量,初看时一脸懵逼,其实它就是用int的二进制高三位来表示线程池的状态, 先回顾一下位运算: 阅读全文
posted @ 2019-09-04 23:49 konami 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 在原子性、可见性、有序性中,volatile关键字主要在可见性中发挥作用。 volatile声明的变量对所有线程来说是可见的,就是说当变量的值发生改变的时候,其他线程可以立马发现这个变化。 应该是由于编译器优化的存在,这里变量虽然没有被volatile修饰,但是仍然对其他线程可见。。。。。 那为啥V 阅读全文
posted @ 2019-09-01 11:51 konami 阅读(262) 评论(0) 推荐(0) 编辑
摘要: https://blog.csdn.net/LMAKE_nbsp/article/details/86552486 阅读全文
posted @ 2019-09-01 10:44 konami 阅读(362) 评论(0) 推荐(0) 编辑
摘要: java代码是否一定按顺序执行? 这个问题听起来有点蠢,串行的代码确实会按代码语意正确的执行,但是编译器对于代码本身的优化却并不一定会按实际的代码一步一步的执行。 比如: r1=a; r2=r1.x; r3=r1.x; 编译器则可能会进行优化,将r3=r1.x这条指令替换成r3=r2,这就是指令的重 阅读全文
posted @ 2019-08-30 22:20 konami 阅读(1392) 评论(0) 推荐(1) 编辑
摘要: 在Java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,HashMap也不例外。HashMap实际上是一个“链表散列”的数据结构,即数组和链表的结构,但是在jdk1.8里 加入了红黑树的实现,当链表的长度大于8时,转换为红黑树 阅读全文
posted @ 2017-07-09 01:08 konami 阅读(5128) 评论(0) 推荐(1) 编辑
摘要: 源地址:http://kim-miao.iteye.com/blog/1662550 void java.lang.Runtime.addShutdownHook(Thread hook) 该方法用来在jvm中增加一个关闭的钩子。当程序正常退出,系统调用 System.exit方法或虚拟机被关闭时才 阅读全文
posted @ 2017-06-08 23:55 konami 阅读(323) 评论(0) 推荐(0) 编辑