`
鳄鱼旭
  • 浏览: 76432 次
文章分类
社区版块
存档分类
最新评论
文章列表
全部文档索引: Otter源代码解析(一): http://eyuxu.iteye.com/blog/1941894 Otter源代码解析(二) : http://eyuxu.iteye.com/blog/1942518 Otter源代码解析(三): http://eyuxu.iteye.com/blog/1942519 Otter源代码解析(四): http://eyuxu.iteye.com/blog/1942521 Otter源代码解析(五): http://eyuxu.iteye.com/blog/1942522 Otter源代码解析(六): http://eyuxu.i ...
全部文档索引: Otter源代码解析(一): http://eyuxu.iteye.com/blog/1941894 Otter源代码解析(二) : http://eyuxu.iteye.com/blog/1942518 Otter源代码解析(三): http://eyuxu.iteye.com/blog/1942519 Otter源代码解析(四): http://eyuxu.iteye.com/blog/194 ...
全部文档索引: Otter源代码解析(一): http://eyuxu.iteye.com/blog/1941894 Otter源代码解析(二) : http://eyuxu.iteye.com/blog/1942518 Otter源代码解析(三): http://eyuxu.iteye.com/blog/1942519 Otter源代码解析(四): http://eyuxu.iteye.com/blog/1942521 Otter源代码解析(五): http://eyuxu.iteye.com/blog/1942522 Otter源代码解析(六): http://eyuxu.i ...
全部文档索引: Otter源代码解析(一): http://eyuxu.iteye.com/blog/1941894 Otter源代码解析(二) : http://eyuxu.iteye.com/blog/1942518 Otter源代码解析(三): http://eyuxu.iteye.com/blog/1942519 Otter源代码解析(四): http://eyuxu.iteye.com/blog/1942521 Otter源代码解析(五): http://eyuxu.iteye.com/blog/1942522 Otter源代码解析(六): http://eyuxu.i ...
了解了一些VM和ByteCode层面的规范以后,有些问题会忽然就懂了: 1)为什么Java要把方法名字等直接写入Class文件当中?学过C/C++的人都知道,实际上对于函数来说,程序被编译之后会丢掉函数的名称,使用一个偏移取而代之,然后对函数的调用时间上会变成转跳到某一个地址的子程序。 Java为什么不这样做呢?      我原来以为是为了反编译的方便(能够看到类、方法等名称,多好!),最近才想清楚,是因为做不到这一点。 原因(起码是原因之一)如果使用了偏移地址来取代方法本身,由于Class的调用是“动态的”,即调用者实际上并不知道这个偏移地址是多少,所以只能把名字写进去; 2)Class的 ...
花了点时间看了下可重入锁和读写锁的实现: 1. Sync相关:继承自AbstractQueuedSynchronizer抽象类,内部维护了一个state变量,获得一个锁的时候会将改变量置位(变量不为0的时候表示已经被其他的线程Lock了),该变量声明成volatile ...
较为仔细地看了JavaVM规范,还是颇有收获的。 关于线程:    1. 每个线程使用独立的栈空间,栈空间的大小在实现上实际上有两种模式:1)固定大小的; 2)可动态扩容的模式(这一点有点出乎我意料之外,这种栈一般来说都 ...
在InfoQ上看了支付宝架构的介绍视频: http://www.infoq.com/cn/presentations/alipay-elastic-computing-architecture 感触颇深,前绝大多数系统的架构只做到了面向服务的架构,在弹性架构、高可用性等方面还有很多的工作要做,结合我所在公司的状况,我觉得如下一些点可以借鉴和考虑: 1)系统间的调用:支付宝使用了注册中心的方式来统一服务间的调用,这一点和淘宝的HSFhttp://wenku.baidu.com/view/c8e045f39e31433239689393.html比较类似(阿里还有一个叫做Dubbohttp:// ...
最近几天看了函数式语言Lisp,对Java8的Lamda表达式有了进一步的理解。 首先,为什么叫做Lamda表达式呢?其实这个是函数式语言的叫法。函数式语言使用过程定义、以及过程定义的组合来完成需要的功能,可以这样讲:在函数式 ...
互联网给我们的生活确实带来很大的变化,不可否认的是,大多数变化都是积极作用的,比如信息可以很短的时间内得到传播、人们的交流可以足不出户、电子商务让大家甚至可以不需要去商场或者超市就能购物等等。好处实际上每个人都能体会到,但是我觉得一些负面(或者是无法知道是正面还是负面)的影响也逐步凸显出来: 1.上微博的时间越来越多,读书的时间越来越少了。阅读习惯也在发生变化,比如我自己好像对长时间看书的耐心越来越少,通常只愿意花10几分钟阅读比较短的信息,长篇大论的东西不愿意花时间去看; 2.人与人之间的交流越来越“虚拟化”了:有什么事情,大家QQ一沟通、微信一发,就解决了。人多了拉个群,总之有很多的方法 ...
项目当中有这样一个需求:用户下载的内容需要以加密zip包个格式发送给用户,但是发现JDK中对ZIP压缩并不支持加密,因此考虑使用第三方库来实现这个功能: 先在Github上找了一个 https://code.google.com/p/winzipaes/ winzipaes,支持ZIP加密,但是只支持AES256格式的(只有Winzip才能解压),另外一个比较严重的问题是JDK默认的JCE Provider并不支持256位的加密算法,如果替换服务器上的JCE Provider也不是个好的做法(需要替换JDK目录下部分文件)。 于是又找了另外一个库:zip4j: http://www.lingal ...
Global site tag (gtag.js) - Google Analytics