
奇闻杂谈
方元之外
这个作者很懒,什么都没留下…
展开
-
synchronized 和ReentrantLock
synchronized 不可点击,看不到源码。是因为synchronized 源码被编译成命令,monitor方式 解决并发问题 synchronized 走jvm 再走 os操作系统解决并发问题 。待用os内核会造成用户态和内核态之间的切换,所以需要ReentrantLock 之类的 ReentrantLock 走 jdk层级解决并发 部分知识是...原创 2019-10-15 22:16:20 · 106 阅读 · 0 评论 -
redis 官网为什么不提供window版本
redis 官网无法下载window版本的。只有linux版本。 window只有在github下载低版本的 为什么? 因为redis 是单线程高性能的。 所以redis需要单线程轮询。 操作系统机制的轮询是不太一样的。 简而言之 linxu轮询用epoll, window 用selector 但是性能上来说 epoll是高于selector 的。 所以re...原创 2019-10-15 13:39:28 · 4568 阅读 · 3 评论 -
论中华阴阳 正反
腹有诗书气自华 - 百无一用是书生天下为公 -- 人不为己宁做鸡头,不做凤尾 -- 宁为玉碎,不为瓦全原创 2018-04-11 11:30:33 · 431 阅读 · 0 评论 -
一次简单的http请求会碰撞出什么火花
当在浏览器输入www.baidu.com会发生什么故事》》1 首先会请求本地或者最近的dns把这个域名解析成ip 2 然后根据这个ip在互联网上找到相应的服务器,发送get/post请求3 服务器返回相关的数据给浏览器解析,渲染4 浏览器可能解析到静态资源,如图片,css等文件。又会发起新的http请求。如图先发起一次www.baidu.com的http请求,返回的内容含有静态资源文件,c...原创 2018-03-15 22:25:16 · 293 阅读 · 0 评论 -
缓存和内存的延迟
来自java特种兵 一般来讲, 一级缓存与cpu的延迟一般在2~3ns之间 二级缓存通常在10~15ns, 三级缓存为20~30ns, 而内存通常会在50ns以上甚至更高。转载 2018-01-04 11:36:45 · 4775 阅读 · 0 评论 -
Integer之-128~127
对于integer而言,有一个特殊的区间,范围是-128~127 ------------------------------------------------------------------------------- Integer a = 1; Integer b = 1; 像这样赋值,在这个区间里面,ab都是同一个对象,即== 为true原创 2017-12-27 20:13:19 · 503 阅读 · 0 评论 -
论capacity 负载因子
java里面很多对象初始化的时候都可以设置它的capacity 即负载因子。他们都有默认值和自己的扩容机制 举例,对于stringbuilder而言, 初始化的时候可以这样写 StringBuilder s =new StringBuilder(); 那么它的capacity 为16. 也可以这样写 StringBuilder s =new原创 2017-12-26 21:10:34 · 575 阅读 · 0 评论 -
为什么Stringbuilder比string快
面试官 : string,stringbuffer,stringbuilder有什么区别? 我: string慢,stringbuilder快。 面试官:为什么? 我: string不可变,stringbuilder可变 --------------------------------------------------------------------------------原创 2017-12-26 20:43:03 · 3058 阅读 · 2 评论 -
什么时候string比stringbuilder快
一般而言,在拼接字符串的时候,对于速度而言,一般 stringbuilder > stringbuffer > string ---------------------------------------------------------------------- 但是有些情况string的速度比stringbuilder快,那就是在编译时期产生的优化 比如 : S原创 2017-12-25 21:44:20 · 1216 阅读 · 0 评论 -
hashCode与equals
文字来自《java特种本》 equals()重写后,一般会重写hashCode()方法吗? hashCode()方法提供了对象的hashCode()值,他和equals一样在Object基类中提供。 hashCode()方法返回的值是这个对象的头部的一部分二进制位组成的数字。这个数字具有一定的标识对象的意义存在,但是绝不等价于地址 hashCode的作用----原创 2017-12-25 21:05:38 · 194 阅读 · 0 评论 -
java 中的equal和==
面试官 : equal和==有什么区别 我: euqal比较内容,==比较地址 面试官: 为什么equal比较内容 我: ................................ ------------------------------------------------------------------------------------------------原创 2017-12-25 20:43:59 · 215 阅读 · 0 评论