`
Dustin
  • 浏览: 310592 次
  • 性别: Icon_minigender_1
  • 来自: 广州/成都
社区版块
存档分类
最新评论
文章列表
Dynamic Languages — ready for the next challenges, by design. David Ascher, PhD, ActiveState1 July 27, 2004 原文链接 Abstract Dynamic languages are high-level, dynamically typed open source languages. These languages, designed to solve the problems that programmers of all abilities face in building and ...
5 Principles For Programming Here are a few things I have learned about programming computers, in no particular order. I didn’t invent any of them, and I don’t always follow them. But since nobody seems to know very much about making good software, it makes sense to try to distill a little wisdom w ...
    最初接触File Mapping是为了能够方便地处理一个几百兆的大文件,当时查了些资料大概了解了一下就匆匆动手了,因为知其然而不知其所以然,在使用过程中遇到了不少问题,今天在这里就是想把这些历史遗留问题解决掉。 ...
长尾 The long tail 作者:Chris Anderson 译者:雷声大雨点大 拙尘 译文原文 (1) 1988年,英国登山家Joe Simpson写了一本名叫《触摸巅峰》(译者:这是Touching the Void通用的中文翻译的书。该书讲述了在秘鲁安第斯山脉发生的一次与死神 ...
 JavaWorld一篇题为 Add dynamic code to your application 的文章介绍了如何使用动态代理技术使普通的java源代码具有像jsp一样的动态编译效果,十分有趣。  使用过jsp技术的程序员都知道,应用部署以后,我们是可以直接修改jsp源文件的 ...
    使用JDBC时,我们都会很自然得使用下列语句: java 代码 Class.forName("com.mysql.jdbc.Driver");    String url = "jdbc:mysql://127.0.0.1/test?useUnicode=true&characterEncoding=utf-8";    String user = "";    String psw  ...
     要理解 java中String的运作方式,必须明确一点:String是一个非可变类(immutable)。什么是非可变类呢?简单说来,非可变类的实例是不能被修改的,每个实例中包含的信息都必须在该实例创建的时候就提供出来,并且在对象的整个生存周期内固定不变。java为什么要把String设计为非可变类呢?你可以问问 james Gosling :)。但是非可变类确实有着自身的优势,如状态单一,对象简单,便于维护。其次,该类对象对象本质上是线程安全的,不要求同步。此外用户可以共享非可变对象,甚至可以共享它们的内部信息。(详见 《Effective java》item 13)。String类 ...
 I've paid my dues Time after time I've done my sentence But committed no crime And bad mistakes I've made a few I've had my share of sand Kicked in my face But I've come through And I need to go on and on and on and on We are the champions - my friend And we'll keep on fighting till the end We are ...
Why doesn't Linux need defragmenting?It's a question that crops up with depressing regularity: Why don't Linux filesystems need to be defragmented?. Here's my attempt at giving a simple, non-technical answer as to why some filesystems suffer more from fragmenting than others.Rather than simply stumbl ...
      这段时间在学习P2P系统中激励机制的实现,看到了博弈论中著名的囚徒困境问题(prisoners' delimma),十分有意思,特摘录至此。       “囚徒困境”最早是由美国普林斯顿大学数学家曾克1950年提出来的。他当时编了一个故事向斯坦福大学的一群心理学家们解释什么是博弈论,这个故事后来成为博弈论中最著名的案例。故事内容是:两个嫌疑犯(A和B)作案后被警察抓住,隔离审讯;警方的政策是“坦白从宽,抗拒从严”,如果两人都坦白则各判8年;如果一人坦白另一人不坦白,坦白的放出去,不坦白的判10年;如果都不坦白则因证据不足各判1年。在这里,博弈者就是两个嫌疑犯,他们每个人都有两个选择, ...
     在C/C++中,当我们想知道一个对象或者一个原始数据类型所占用的内存大小时,只需简单调用sizeof操作符即可,但是,在java中是没有相应的操作符或者方法来直接完成相应功能的。sizeof 在C/C++得到大量的运用,是程序员必 ...
Java中Proxy,Dynamic Proxy以及Reflection是什么关系呢?谈这个问题之前,我们要先了解三者究竟是什么东西。     一、Proxy。面向对象中Proxy是比较常用的,作为GOF 23个模式之一,Proxy在Design Patterns一书中有着详细的描述。Proxy的使用范围很广,下面以一个简单的访问控制为例。在这种情况下,外部使用者要想使用某个对象,必须通过该对象的代理进行。在这里,Proxy充当着“网关”的角色,这样,在外部触及到内部对象之前,我们可以做很多有意义的工作,如身份认证等。下面是一个简单的例子: java 代码 public class ...

IoC/DI

    IoC( Inversion of Control ,控制反转) 是很多轻量级容器广泛使用的模式,其中比较著名的就有Spring,HiveMine,PicoContainer等.IoC的来龙去脉 Matin Fowler 作了比较详细的描述,而且为IoC另外取了个名字,Dependence Injection(DI, 依赖注入),使其更加名副其实.王咏武 也在文章中对与IoC相关的几个概念作了深入的阐述.     DI有三种形式,依次是Type 1(接口注入),Type 2(设值方法注入) 和 Type 3(构造子注入).PicoContainer使用的是Type 3,也就是构造子注入. ...
java中修饰符final可以分别作用于类,方法和域。     final类。定义类的时候加上final修饰符,表明该类已经是相当完善了,不用也不能被其它类所继承,也就是说,该类在java的继承树结构中是一个叶节点。当一个类为final类时,该类的所有方法均自动成为final方法,不管你是否在方法前面加上修饰符final。而该类中的域可以通过加上final将其声明为一个final变量,也可以不加,声明为一般变量。一个类是否为final类,对该类的域是不产生任何影响的。     final方法。方法加上修饰符final可以将方法声明为一个final方法。final方法的作用有两个:其一,使该方 ...
这段时间在看《深入java虚拟机》,在讲GC的时候提到了无意识对象保持(unintentional object retention)。    1、Java存在内存泄漏(memory leak)吗?是的,而且很隐蔽,不容易被发现。    2、不是说java的GC会自动回收内存吗?是的,但是GC回收的只是垃圾内存,也就是没有被其它“存活引用”引用着的引用。应用程序通过某条路径可以到达的引用所指向的内存是不能也不应该被回收的。    3、什么叫无意识对象保持?就是说你以为某个对象在使用过后其内存很快就会被GC回收,但是由于程序中某些数据结构持有该对象的引用,使GC无法及时回收该对象,直至上述数据结构 ...
Global site tag (gtag.js) - Google Analytics