- 博客(6)
- 资源 (2)
- 收藏
- 关注
原创 线程安全的延迟初始化的实现
几个延迟初始化的例子,其中包含非线程安全的和线程安全的,自己可以现在心里判断一下哪些是安全的哪些是不安全的。下面是用例类:class Instance {}class UnsafeLazyInit { private static Instance instance; public static Instance getInstance() { i...
2019-03-15 20:25:23
211
原创 final域的内存语义
目录1. final关键字的语义2. 如何保证final的语义1. final关键字的语义 final修饰基本数据类型变量时,该变量的值在初始化后就不可改变了; final修饰引用类型变量时,该变量在初始化后不能再执行赋值操作,也就是改变量指向的内存地址不能再改变,但是该变量所指向的内存中的数据是可以被改变的。 2. 如何保证final的语义final关键字保证...
2019-03-09 16:30:59
237
原创 volatile的内存语义
1. volatile的用法volatile用于修饰共享变量,当多线程同时访问一个共享变量时,volatile能保证线程读到的该变量的值一定是最后写入的结果,也就是说volatile保证了变量修改的可见性。这意味着volatile能用于线程间通信。2. volatile的特性可见性。对一个volatile的读,一定是对该变量最后写入的结果; 原子性。对任意volatile变量的读/写...
2019-03-09 14:49:56
157
原创 字符串循环移位的几种解
问题描述字符串长度为n,输出循环向左移动i位之后的字符串(i<n)例:abcdefg 循环向左移动3位之后变为 defgabc解法1:模拟循环移动,比较耗时解法2:在足够内存的情况下,先将前 i 位字符串保存在一个临时内存中,然后将后面的 (n-i)位向左移动到 i 位,然后将之前保存的 i 位字符串放到移动之后的 (n-i)位字符串后面解法3:内存不够或者限...
2019-03-06 15:13:52
1231
1
原创 Mac安装Thrift
1、Install BoostDownload the boost library fromhttp://www.boost.org/untar compile with./bootstrap.sh sudo ./b2 threading=multi address-model=64 variant=release stage install2、Install libevent...
2019-02-13 19:02:09
1438
原创 一对一网页聊天 jsp+js+ajax+servlet+tomcat+mysql
初学javaweb,很想做一个网页版的一对一聊天系统,但是在网上查了一下发现并没有相应的资源,网页聊天室倒是有很多,一个原因是B/S与C/S相比不适合做实时通讯,另外可能是一对一聊天做起来比较难(我一开始认为的)。做的时候确实遇到了难题,两人交互不知道怎样进行,不知道怎样设计数据库等,后来参照聊天室,得到了一些想法,就尝试去做,调试很久之后终于可以运行了!下面具体介绍一对一聊天交互的实现。 聊天页
2016-04-17 00:22:32
4087
3
javaweb一对一网络聊天系统
2016-04-17
javaweb一对一网页聊天系统
2016-04-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人