`
jason61719
  • 浏览: 39488 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论
文章列表
新博客地址: http://airsen.info
类加载的方式有2种。 l  显示类加载 ClassLoader.loadClass()(使用指定的Classloader进行装载) Class.forName()(使用当前类的Caller Classloader进行装载) l  隐示类加载(发生在由于引用、实例化或继承导致需要装载类的时候。隐式类装载是在幕后启动的,JVM会解析必要的引用并装载类。)   Classloader可能先显式地装载一个类,然后再隐式地装载它引用的其它类。 从类装载方式的描述中我们可以看到, 只有在显式的调用方法或者实例化、引用、继承一个类 ...
装饰模式实际上很像一条单链表,每次装饰就是增加一个结点,增加一个结点以后这个对象就有了新的功能。设计模式中还有一种类似单链表的模式,职责链模式。 假设一个情景:学生可以申请请假,这个申请交由负责的辅导员,辅导员能批3 天以内典型的假期。如果不满足条件就交给年级主任,年级主任能够批1 个星期以内的假期,如果超过1 个星期的就得交给学院批,由学院来决定行不行。如图:     假设现在让你在一个教学系统中设计上面这个业务,应该如何设计好? 这样子,让学生自己判断,3 天的找辅导员,7 天的找主任……   ...
Java 语言规范没有明确地说明JVM 使用哪种垃圾回收算法,但是任何一种垃圾收集算法一般要做2 件基本的事情:(1 )发现无用信息对象;(2 )回收被无用对象占用的内存空间,使该空间可被程序再次使用。 大多数垃圾回收算法使用了根集(root set) 这个概念;所谓根集就量正在执行的Java 程序可以访问的引用变量的集合( 包括局部变量、参数、类变量) , 程序可以使用引用变量访问对象的属性和调用对象的方法。垃圾收集首选需要确定从根开始哪些是可达的和哪些是不可达的,从根集可达的对象都是活动对象,它们 不能作为垃圾被回收,这也包 ...
关于Java 集合类的文章介绍不少了,这里给个链接,还有上个图。 http://blog.csdn.net/softwave/archive/2009/05/11/4166598.aspx
今晚把主持的重构和下一个项目的架构框图给做出来,可以说其实我在一年多前就一直在研究如何设计架构,现在终于有机会让我真正的应用到项目中去了。如下。   具体就不解释了,进过公司有过项目规范的基本上都看得懂而且应该很鄙视这是多么小儿科的事情。 可怜我没有经历过什么规范。第一个项目,也就是即将重构的农工商,只有3 层,数据访问跟业务一起了,重用性极低,冗杂超多,开发成本变得天高;第二个项目是四层,vo 并入数据持久化层(其实项目用了ibatis ,也就不叫持久化层,姑且这么叫吧)里面了,也就是说每一个类都不是纯表对象,还并了很多其他表的,也是 ...
习惯从一个例子入手。我边写边做这个例子。 假如说现在有这样子的需求,让你模仿系统的个人文件夹做一个应用。说白了让你做个资源管理的东东。给个例子如下图:   做一个应用起头应该想一下怎么把这个需求抽象出一个一个的模型。看下这个发现有点像树这种数据结构,那的确是树。 怎么表示一棵树? 你写过没?我写过N 多次了,学习数据结构的时候经常写到二叉树,但是这次不是二叉,所以还是有点不同,我是这么写。 首先是有结点类,表示每一个结点。 public class Node { private String name; pr ...
Java 作为静态语言,在编译的时候就已经确定了一个对象属于哪一个类。跟动态编程语言ruby ,python 或者Groovy 等都不同,虽然在运行效率上有很一定的优势,但是在当今对项目开发效率和开发进度要求极大的情况下,性能问题反倒显得不是至关重要。 Java 的反射(Reflection )机制让我们在用Java 开发的时候有一定的动态性质,比方能在运行时才确定任意一个对象所属的类,构造任意一种对象,能够知道任意一个类所具有的成员和方法,并调用它的任意一个方法等。 起初Java 的反射机制效率比较低,是普通运行的十几倍,现在优化后已经进步很多,差不多是普通运行的一 ...
SWT 小总结下,做了个很简单的小玩意,总结一下,顺便把里面觉得比较有代表性的地方都记下来。   包结构设计和分层 这次几乎没有什么完整的分层,至于之前说到的Java swing 的MVC ,我还是用不上。如图。     首先引进的库有Java 运行时库 (JRE 系统库)和SWT 开发用库 (在“引用的库”里边),如果是直接从外边拉进或者复制粘贴到project 里面的,记得要把库路径加入project 的classpath 里面。 包的设计分部是: ...
现在我们有这样一个需求。在后台输入一批学生的信息以后,封装成一个列表(List ),传送给前台打印出来。 这是第一版。 /** * 这是最开始的Student 类 */ public class Student1 { private String name; private int age; ...
  这是新的项目架构,得说,这次很大胆的用了Maven 的多模块项目设计来重新做这个庞大的项目。     下面记录Memcached 在Maven 中的配置。 首先介绍如何手动添加第三方类库到自己电脑的本地仓库,这折腾了我一个晚上,点击链接 Maven 中手动添加第三方类库到自己电脑的本地仓库.m2 。 首先添加Memcached 的Java 客户端到项目依赖中,如下执行: 1. 将Memcached.jar 放到E 盘下面; 2. cmd 到打开命令窗口以后开始安装,运行如下指令: E:\User>m ...
  这折腾了我一个晚上,网上的说法(例如:http://www.51testing.com/?65519/action_viewspace_itemid_97726.html )都是不全的,事实上这行命令还得加上“-DgeneratePom=true ”才能让eclipse 中的m2eclipse 读得到。具体做法如下(各种服务器系 ...
1.      用NetBeans 作为开发工具,安装了Groovy 之后就能够开发Grails 程序,新建一个Grails 程序“addrBook ”,如图 2.      配置 配置文件不再是XML ,因为在Groovy 看来,groovy 文件不一定就是要编译的文件,打开几个来看发现其形式结构跟json 格式类似。 就目前所知,BootStrap.groovy 是启动时要运行的一些脚本。(命名因为遵从“约定优于配置”,所以看不 ...
在业务中经常把类型给抽象出来作为一个表,这样的表有一个特点就是需要经常查到,但是基本不用修改到。而这种做法很致命的一点就是作为写业务的程序员必须了解数据库的某条记录的编号,然后写进去代码里面,这是完全 ...
Global site tag (gtag.js) - Google Analytics