会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Toggle navigation
stdpain
博客园
联系
Submit
订阅
管理
管理面板
随笔
stdpain
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
14
15
16
17
18
19
下一页
2019年4月7日
Java ConcurrentHashMap 源代码分析
摘要: Java ConcurrentHashMap jdk1.8 之前用到过这个,但是一直不清楚原理,今天抽空看了一下代码 但是由于我一直在使用java8,试了半天,暂时还没复现过put死循环的bug 查了一下,java8似乎修复了这个:不过还是可能导致数据丢失 java8之前都是头插入,而java8却是
阅读全文
posted @ 2019-04-07 00:56 stdpain
阅读(375)
评论(0)
推荐(0)
2019年4月6日
Java ThreadLocal 源代码分析
摘要: Java ThreadLocal 之前在写 项目的时候使用过一个叫 的插件 可以自动完成分页而不用手动写SQL limit 用起来大概是这样的 最开始的时候觉得很困惑,因为直接使用静态成员函数,那么就意味着如果有别的线程同时执行,可能会导致一些并发错误 答案是不会,因为 内部实现是使用到了 这个对象
阅读全文
posted @ 2019-04-06 15:24 stdpain
阅读(280)
评论(0)
推荐(0)
2019年4月5日
Java 多线程 volitile 和 atomic
摘要: Java 多线程 volitile 和 atomic 关键字 尝试运行以上代码,发现thread永远也无法发现key0的x被改变 所以这个时候需要加上volitile关键字 具体原因是java中每个线程都有工作内存,以及主存 我的理解就是不加volitile,线程读写变量是先在自己的工作内存中处理,
阅读全文
posted @ 2019-04-05 18:40 stdpain
阅读(463)
评论(0)
推荐(0)
Java HashMap 源代码分析
摘要: Java HashMap jdk 1.8 Java8相对于java7来说HashMap变化比较大,在hash冲突严重的时候java7会退化为链表,Java8会退化为TreeMap 我们先来看一下类图: 可见,HashMap继承了AbstractMap,但是Map并没有扩展Collection接口 我
阅读全文
posted @ 2019-04-05 16:25 stdpain
阅读(745)
评论(0)
推荐(0)
Java ArrayList 源代码分析
摘要: Java ArrayList 之前曾经参考 数据结构与算法这本书写过 的demo,本来以为实现起来都差不多,今天抽空看了下 中的 的实现,差距还是很大啊 首先看一下 的类图 实现了 这几个接口,可序列化,可克隆,可以随机访问 构造方法: 之前手写 的时候,都会用一个默认容量来 new 一个数组,在
阅读全文
posted @ 2019-04-05 14:15 stdpain
阅读(825)
评论(0)
推荐(0)
Linux IO多路复用 poll
摘要: Linux IO多路复用 poll 之前曾经提到过 select poll 跟select类似,poll改进了select的一个确定,就是poll没有监听上限 不过poll还是需要遍历以及频繁的把数组拷贝到内核空间,在监听较多文件描述符的时候性能会下降 传递的三个参数 fds:结构体数组 nfds:
阅读全文
posted @ 2019-04-05 10:39 stdpain
阅读(321)
评论(0)
推荐(0)
2019年4月4日
Linux IO多路复用 select
摘要: Linux IO多路复用 select 之前曾经写过简单的服务器,服务器是用多线程阻塞,客户端每一帧是用非阻塞实现的 后来发现select可以用来多路IO复用,就是说可以把服务器这么多线程放在一个线程里面,减小资源消耗,没必要开多个线程 不过实际上select使用很少,现在一般会用epoll这个函数
阅读全文
posted @ 2019-04-04 22:24 stdpain
阅读(654)
评论(0)
推荐(0)
Java Integer == 以及分析
摘要: Java Integer == 先看一下这段代码 输出结果: 很久之前就知道这里有个坑,今天看到别人分析了一下Integer.java的源代码才知道具体是为什么 可以看出来使用 的时候并不会立即new一个Integer对象,而是先判断是否在缓存数组里面 不知道称作 是不是不太合适 是一个嵌套类(静态
阅读全文
posted @ 2019-04-04 20:04 stdpain
阅读(2495)
评论(0)
推荐(0)
2019年4月3日
Java 8 中有趣的操作 Stream
摘要: Stream 不是 `io`中的stream 对象创建 我们没有必要使用一个迭代来创建对象,直接使用流就可以 流使用起来代码更清晰 流看上去有点像是集合,转换或者获取数据,不过有一定的差异性 1. 流不会存储元素,,这些元素可能是 储存在底层的集合中,或者按需生成的 2. 流的操作不会修改其数据源
阅读全文
posted @ 2019-04-03 09:48 stdpain
阅读(187)
评论(0)
推荐(0)
2019年3月14日
使用bison和yacc制作脚本语言(4)
摘要: 我们现在开始设计数据结构: interpreter.h Interpreter就是解释器的结构体,存放一些全局信息,在需要的时候可以通过getInstance获取实例 我们的解释器执行的时候是先使用 构建抽象语法树( ),然后再解释执行 我们先来看一下语句的结构体: 我们把表达式语句,if和for语
阅读全文
posted @ 2019-03-14 11:48 stdpain
阅读(510)
评论(0)
推荐(0)
上一页
1
···
14
15
16
17
18
19
下一页
公告
Copyright © 2021 stdpain
Powered by .NET 5.0 on Kubernetes