`
文章列表
(一)成长的寓言:做一棵永远成长的苹果树一棵苹果树,终于结果了。第一年,它结了10个苹果,9个被拿走,自己得到 1个。对此,苹果树愤愤不平,于是自断经脉,拒绝成长。第二年,它结了5个苹果,4个被拿走,自己得到1 ...
以前有做过一次share,关于动态代理的,因为相关的应用遍及所用的Spring,Hibernate,Junit以及项目中通用的横切功能。看了<Expert one on one J2EE Development without EJB>,这里关于AOP的介绍,有了更全的实现策略,所以摘下来。   1. J2SE动态代理    在JAVA中,实现AOP最显而易见的策略莫过于使用JAVA1.3后引入的动态代理。它使我们可以为一个或多个接口“凭空”地创建实现对象,而不需要预先有一个实现类。如果需要用动态代理实现环绕增强,可以在其中调用必要的拦截器链。拦截器链上的最后一个拦截器将借助反 ...
转载自:http://www.raychase.net/698这是篇关于并发的文章,其实一看到标题我就知道是篇不错的文章,因为知道一个技术点的发展历史,将来的规划,在整个技术蓝图中占的是什么位置,这会对我们更全面的了解这个技术点有很大的帮助。是凡这类的文章,我看过的基本上都是不错的,因为是从一个更高的角度的看待一项技术了,ok,开始吧。   这篇文章,大部分内容,是周五我做的一个关于如何进行Java多线程编程的Knowledge Sharing的一个整理,我希望能对Java从第一个版本开始,在多线程编程方面的大事件和发展脉络有一个描述,并且提及一些在多线程编程方面常见的问题。对于Java程序 ...
有人在Stack Exchange问了一个问题:   "我一直觉得虚数(imaginary number)很难懂。   中学老师说,虚数就是-1的平方根。      可是,什么数的平方等于-1呢?计算器直接显示出错!   直到今天,我也没有搞懂。 ...
冒号课堂里将常用编程范式做了如下总结:        觉得挺不错的,当然这也不是将语言的分类,或许按语言分的话我更倾向于周爱民老师的《动态函数式语言精粹》一书里的分法:命令式与函数式(面向对象我觉得是一种范式,其实现语言更多的还是在命令式范畴内),其他相关的书像《黑客与画家》,后半部分也有不少关于函数式语言的特性等介绍,不过具体的语言性,还是得学一两门相关的语言像Lisp等,还是很都有帮助的。
servlet容器是一个复杂的系统,不过,一个servlet容器要为一个servlet的请求提供服务,要有三件事要做:1.创建一个request对象并填充那些有可能被引用的servlet使用的信息,如参数,头部,cookies,查询字符串,URL等。一个request对象是javax.servlet.ServletRequest或javax.servlet.http.ServletRequest的一个实现。2.创建一个reponse对象,所引用的servlet使用它来给客户端发送响应。一个response对象javax.servlet.ServletReponse或javax.servlet.h ...
还是觉得该细整下tomcat源码执行的一个过程,先上自己画的图:     tomcat的容器container有四种:engine,host, context, wrapper,它们的标准实现分别是StandardEngine, StandardHost, StandardContext, StandardWrapper。上面仅是以connect直接调用从context开始的一个调用过程,如果画全了,则是从connector起调用StandardEngine,然后依照图的相似调用engine->host->context->wrapper顺序,而每种container ...
因为学习并发相关的知识,回顾再略读了下Tomcat的源码实现,加深了印象,又崇拜了一把,哈哈! 读完后,自己随手画了下其简单的结构,并非给其他人参考的,因为随手画的,太粗糙,只是当自己再拿起来时,能很快的联想到起框架结构。 (不同类型的container的一对多是通过hashmap实现的,孩子还留有个parent来回指父亲,并非链表,不过从孩子去找父亲倒的确是链表的)    
对于日新月异的新技术,你是什么态度? 遇到新技术我会去了解,但不会把很大的精力放在这些技术(如:NoSQL,Node.js,等)。这些技术尚不成熟,只需要跟得住就可以了。技术十年以上可能是一个门槛。有人说技术更新换代 ...
原文地址:Some things I’ve learnt about programming—- ByJohn Graham-Cumming   我已经从事编程 30 年了,用过的机器包括从现在看来很差的(基于 Z80 和 6502)到最新的,用过的语言包括 BASIC,汇编语言,C,C++,Tcl,Perl,Lisp,ML,occam,arc ...
      最近将林昊大牛的《分布式java应用:基础与实践》好好读了遍,总体感觉还是很有收获,就像大牛在书一开始说的,经过几年的实践,一套相应的技术蓝图浮现出来,也就是书里的相应的一系列关于分布式java的技术结构。我是很赞同这种说法的,因为平时我们大多时候研究或学习实践应用的很多技术框架相对独立,我之前我花比较多的时间有学习JVM相应的知识,并发和nio的jdk实现及相应的一些框架(mina等),也看过关于基于webservice, 消息通信的一些书籍,博文,各知识点多少都有些积累,通过这本书,将我之前学的知识结构串联起来,形成相应系统的关于分布式开发的一些知识结构,虽然还各点还有待继续深入 ...
这是关于纤程的介绍和引入Ruby的一些讨论,帮助理解纤程,也可以看看对应的一些影响。 -------------------------------------------   Ruby的线程成为人们的讨论议题已经很长时间 了。未来版本的Ruby(1.9及更高)是否将使用内核线程(kernel thread)替代用户线程(userspace threads),仍有待决定。最近,关于Ruby中这一系列问题的另一条途径已经出现。David Flanagan指出了Ruby 1.9分支中的一个新特性——纤程(Fiber) : 下面是如何使用新的Fiber类(注意:类名可能会改变)生 ...
      之前学习搭建了ROR环境并简单写了个小web程序,用起来感觉的确效率高,规约优于配置的理念的确能帮我们舍弃部分的配置,减少了配置的烦恼,记得从开始工作就开始用Spring,都是配置在XML里,用的习惯,没任何不妥, ...
编写Java多线程程序一直以来都是一件十分困难的事,多线程程序的bug很难测试,DCL(Double Check Lock)就是一个典型,因此对多线程安全的理论分析就显得十分重要,当然这决不是说对多线程程序的测试就是不必要的。传统上,对多 ...
优秀的语言该有哪些特性?不同的人有不同的见解,大师Paul Graham在其著<黑客与画家>中是这样,评价的: 这种语言干净简练,具有最高层次的抽象和互动性,而且很容易装备,可以只用很少的代码就解决常见的问题. 这 ...
Global site tag (gtag.js) - Google Analytics