`
文章列表

sun.misc.Unsafe

Unsafe在JUC里用的非常普遍,所以花时间看了看其实现, 贴先源码吧,其实并不复杂:    sun.misc.Unsafe.java 源码:    http://www.javasourcecode.org/html/open-source/jdk/jdk-6u23/sun/misc/Unsafe.java.html   从源码实现来看,Unsafe是个单例,其实例只能通过静态方法获得: public static Unsafe getUnsafe() { Class cc = sun.reflect.Reflection.getCallerClass(2); ...

MINA源码读

MINA框架第一接口是org.apache.mina.core.service.IoService, 接收和发送两端的接口IoAcceptor, IoConnector都继承于它,它提供的方法主要有: TransportMetadata getTransportMetadata();底层传输的元数据,如网络服务提供者(NIO/APR/RXTX)等 void addListener(IoServiceListener listener);void removeListener(IoServiceListener listener);增加或删除相关联的监听事件 IoHandler getHan ...
基础还是很重要的,并且必须要扎实,同时还要适当延伸出一定的宽度,这段时间相对不那么忙了,抓紧时间把JUC和NIO补补了,大致定的学习线路:   IO方面: JAVA IO -> NIO(异步,非阻塞) -> Mina, Netty(并发NIO的框架)   并发方法: JAVA内存模型 -> synchronized, wait, notify -> 不变类, violate, ThreadLocal ->JUC 1.5(原子类,分离锁, 无锁算法CAS等) -> JDK7 fork/join -> Disruptor(基于JAVA的并发框架) ...
同步阻塞IO   在这个模型中,应用程序(application)为了执行这个read操作,会调用相应的一个system call,将系统控制权交给kernel,然后就进行等待(这其实就是被阻塞了)。kernel开始执行这个system call,执行完毕后会向应用程序 ...
Second system syndrome is term coined to characterize software development groups that enter into the dangerous sport of rewriting an existing piece of software.   It usually happens when someone, feeling that the current system is not good enough, believes that it is would be easier to abandon the ...
Preface More and more mission-critical and large scale applications are now running on Java 2, Enterprise Edition (J2EE). Those mission-critical applications such as banking and billing ask for more high availability (HA), while those large scale systems such as Google and Yahoo ask for more scalab ...
 分布式领域CAP理论,Consistency(一致性), 数据一致更新,所有数据变动都是同步的Availability(可用性), 好的响应性能Partition tolerance(分区容错性) 可靠性   定理:任何分布式系统只可同时满足二点,没法三者兼顾。忠告:架构师不 ...

一点学习感想

看博客,读书,看一些技术分析和源码,自己慢慢也有了一点对技术的感想,这里简单总结下,有点乱,不过还是记录下来吧!    1.  一张纸折叠51次多厚,51张纸堆一起多厚?所以学习要有条理,联系,会思考不同技术间的联系,通性,形成自己的一套技术体系,技术蓝图,学习什么,学习到什么程度,要学习的技术工具在你的技术蓝图上是什么位置的,起什么作用,这些思考相当重要,也决定了你的学习效率,深度,如果自己的学习线路不是有规划的,或者完全是工作需要什么再学什么,相互间的联系思考很少,那就是类似于直接的把51张纸简单的堆在一起,学习研究了再多的技术,框架,工具其产生的最后成果可能比别人要小得多.   2 ...
一棵苹果树,终于结果了。 第一年,它结了10个苹果,9个被拿走,自己得到1个。对此,苹果树愤愤不平,于是自断经脉,拒绝成长。第二年,它结了5个苹果,4个被拿走,自己得到1个。“哈哈,去年我得到了10%,今年得到20%!翻了一番。”这棵苹果树心理平衡了。 

Lisp的永恒之道(转)

    博客分类:
  • Lisp
Lisp之魅 长久以来,Lisp一直被许多人视为史上最非凡的编程语言。它不仅在50多年前诞生的时候带来了诸多革命性的创新并极大地影响了后来编程语言的发展,即使在一大批现代语言不断涌现的今天,Lisp的诸多特性仍然未被超越 ...
Java在语言层次上实现了对线程的支持。它提供了Thread/Runnable/ThreadGroup等一系列封装的类和接口,让程序员可以高效的开发Java多线程应用。为了实现同步,Java提供了synchronize关键字以及object的wait()/notify()机制,可是在简单易用的 ...
     这几天翻读了下《你的灯亮着吗》,这本书主要是启发如何解决问题的,用书中的话就是教会你一种分析问题的全新思路,让你轻轻松松解决问题的。书读起来的确很轻松,也随之思考了自己平时解决问题的方式,确实还 ...
     前端时间因为项目中excel(2007)上传下载的所要支持的数据量剧增,所以研究学习了下大数据量excel的处理方式,并应用到product上去,这里简单recap下.主要有三点。一 excel2003跟excel2007的区别。    03的excel是基于biff8格式的 ...
      其实看别人的博客已经有好几年了,读了好多些关于技术探讨,学习心得,经验分享等方面的好文章,对我的工作学习确实有非常大的帮助。而好多牛人也都建议技术人该写博客,其好处主要有两点:       一是经常性的自我总结,可以提炼自己的工作学习所得,包括经验教训,同时收录下来对自己的回顾也很方便。       二是分享出来跟大家交流,可以给他人提供些帮助,同时他人也有提出其中不足的,正好弥补自己的思维漏洞。  鉴于此,为了更快的提升自己,开始写博客吧!  
Global site tag (gtag.js) - Google Analytics