- 博客(11)
- 收藏
- 关注
原创 java concurrent-Callable FutureTask
一、简要说明Callable和FutureTask配合,完成异步方法调用并能获取到执行后的结果二、实现原理只是一个Runnable的特别的实现模式而已,并没有改变任何Thread->Runnable的方式从上图可以看到,FutureTask其实还是一个Runnable的实现类,故Thread还是能执行其run的方法,而Callable的call方法,其实是Fut
2017-07-23 16:44:45 267
原创 java concurrent-ThreadPoolExecutor
一、ThreadPoolExecutor注意的点:1.1 ctl(state:3|worker_num:29):1.1.1 state:线程池状态,32位前三位RUNNING(111),SHUTDOWN(000),STOP(001),TIDYING(010),ETRMINATED(011)1.1.2 worker_num:线程池中工作线程的数量,32位的后29位1.2
2017-07-23 16:33:57 310
原创 java concurrent-ConcurrentHashMap
一、数据结构下图(来自网络):简要说明:1.segments数组2.segment-散列表3.table-segment散列表的桶数组4.HashEntry-segment散列表发生冲突时候,使用链表解决冲突锁粒度-segment散列表segment加锁位置put和remove方法作用:多线程的竞争只在同一个segment中,且g
2017-07-22 22:49:41 316
原创 java concurrent-AtomicInteger
一、内容:主要简单说下AtomicInteger的getAndIncrement的实现方式二、跟随源码到达最深的位置:java入口:unsafe-java:unsafe-native-method:
2017-07-21 15:36:46 267
原创 openjdk-7编译
一、下载openjdkopenjdk7地址:http://download.java.net/openjdk/jdk7/openjdk-7-fcs-src-b147-27_jun_2011版本:http://www.java.net/download/openjdk/jdk7/promoted/b147/openjdk-7-fcs-src-b147-27_jun_2011.zip
2017-07-21 11:29:15 1151
转载 ssh反向代理
背景:家里电脑没有公网ip,人在外面想连接家里的电脑做法:购买一台便宜的有公网ip的服务器(70+元)做法是家里电脑和公网服务器以ssh建立反向连接,这样公网服务器就知道家里的电脑位置,这样再通过公网的服务器来访问家里的电脑即可。1.在家里电脑,输入以下指令ssh -f -N -R 10000:localhost:22 public_ip@1
2017-07-13 19:49:03 518
原创 vim ctags
一、vim:tagsvim默认自带tags的常用指令,其需要用到的是tags文件tags文件内容格式为(每行):标签 文件路径 摘要描述 标签类型 标签格式化表示 标签的可见性如:因此如果发现tag指令没有打开对应位置,可以查看tags文件内容,查看标签是否没有被索引进去那么可以通过不断更改打tags命令的参数,来最终使目标标签都索引上vim中设置tags路径,
2017-07-09 02:33:06 478
原创 c __attribute__ __cleanup__
一、简单说明:cleanup作为__attribute__的其中一个可选属性值其作用的当其生命的变量离开了其生命周期,那么会自动调用你所指定的销毁函数二、例子:#include #include #include void destroy_string(char **str) { printf("final str : %s\n", *str);
2017-07-08 14:11:49 1533
原创 c 判断两个结构体内容相等(不能通过内存判断)
结构体typedef struct A { short short_num; int int_num;} A;A结构体为8字节, short_num自动补齐到4字节,而多余的2个字节,不会自动置为0如:#include typedef struct A { short short_num; int int_num;} A;int ma
2017-07-06 14:15:51 9952
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人