- 博客(17)
- 资源 (4)
- 收藏
- 关注
原创 Servlet之ServletConfig和ServletContext的探索
HttpServlet 类 这是一个抽象类,继承了GenericServlet类,这个GenericSerlvet类实现了ServletConfig这个接口,所以它实现了方法 public ServletConfig getServletConfig()和 public ServletContext getServletContext(); 这两个方法是如何实现的呢?在GenericServl
2013-06-30 10:36:43 1680
原创 transient修饰符探索
首先先说一下这个修饰符作用:我们把对象序列化的时候,不希望对类中其中某个属性也进行序列化,那么就可以用这个transient进行修饰了。比如将对象存在磁盘中,就不会将用transient这个修饰符的属性变量也写到磁盘中,比如把变量通过网络传送,那么就不会将这个属性传输过去。这样是不是安全了许多 下面通过一个实例来完成探索的最后一步,为了提高英语水平,之前就下决定用不再用中文注释,中国式的
2013-06-29 23:38:08 2982
原创 struts2源码之仿写struts2
这次在struts2的源码中花了不少的时间。其中收获了不少,源码的功能实现我想如果分解开来人人都能写,关键是他们之间的层次,封装,和接口的应用,这次我就称之为框架的架构吧,虽然我不清楚这个名称是不是符合。struts2我不太会用,只是了解其中的一小部分机制,所以这里我只仿写了配置文件的读取和请求发送时,框架中的处理。关于其他的知识点暂时放着,之后零零碎碎记录 1:配置文件 note:pack
2013-06-28 16:29:12 1844 2
原创 struts2源码之struts.xml的初始化
这一篇文章主要是记录struts.xml的初始化。将其中的一些用户所填的信息封装到相应的类中 当用户在客户端向服务器发送一条请求。web.xml的拦截器类就会拦截,跳转到这个拦截器类中。如果是第一次操作那么init()方法就会被执行,从这个方法的名字我们就可以知道它主要是完成一些初始化的工作。 public void init(FilterConfig filterConfig) throws
2013-06-23 10:14:16 2398
原创 window api之 GetDriveType
开始接触c++编程了,按照所花的时间比例来看还是java为主,c++为辅。探索他们的异同,感受各种语言中的精彩 window api 何其多,将用到的记录下来,留个印象。 头文件在“winbase.h” UINT GetDriveType( LPCTSTR lpRootPathName // root directory ); 函数功能 判断磁盘类型 参数说明 lpRoo
2013-06-17 20:29:54 962
原创 js实现幻灯片案例解析
用js实现幻灯片的原理解析 几张图片按照float=left的形式一字排开,然后将包含图片的div的css定义成position:absolute。每隔指定时间段将div的top值发生改变。 效果:一个300px 300px的方框,地下有一张300px 900px的图片,然后将底下的图片向左拉,就可以实现幻灯片的播放。 具体js代码:<%@ page language="java" cont
2013-06-14 21:41:43 4714 1
原创 关于prototype和window.setInterval的使用
prototype就是在给对象添加新的成员属性和方法。 如果觉得构造函数中的属性,或者方法定义的太少了,在某个阶段想添加自己的方法。那么可以使用prototype来实现 function fun(){ this.a = 1; this.b = 2; } fun.prototype.fun2 = function(){ var obj = this; //obj.
2013-06-13 10:35:45 2771
原创 关于javascript中的构造函数和普通函数探索
这是第一篇关于javascript模块的文章,在javascript入门的目录下,主要是记录一些对网上精彩的js研读碰到的疑惑,并做一些实验和探索 关于js中的对象和方法的定义博主感到非常的迷惑。针对这一点开始了一系列的探索。 function fun(){ alert("good"); var age = 1; this.name = 'Mr S.G'; this
2013-06-13 01:34:15 3030 1
原创 设计模式之装饰模式
描述:生成一个接口,为后面的类规范统一一个方法,暂记为M。如果用户不满足某个类中的M的功能实现,想在上边添加一些新的功能,那么就可以用到装饰模式,重写一个实现接口的类,在其中的M中调用原方法,在上边添加新的功能 代码: 接口:后面的类以此类为基础 package decorator; public interface IComponent { public void wear
2013-06-08 19:22:27 596
原创 设计模式之责任链模式
开篇说明: 我这里所记录的设计模式,可能和原版的有很大的出入,我记录的设计模式只不过是模仿正版的思想,加以修改,取其巧妙的地方,或组装,或改装。 责任链特征: * 链上的对象实现同一个接口或者继承抽象类,能够根据逻辑使责任链或链或环或树访问下去 * 然后通过对这些对象所对接口实现的方法的实现方式不同,或中途调用结束返回,或全部调用 情景剧场: 这是一个小摊贩
2013-06-08 13:01:53 736
原创 介绍在java中的几种资源读取方式
Class下有两个方法: 1:getResource 它的源码是: public java.net.URL getResource(String name) { name = resolveName(name); ClassLoader cl = getClassLoader0(); if (cl==null) {
2013-06-07 16:20:16 2200
转载 jar包中的资源获取<转>
在一些框架中经常看到下边代码 这种获取资源的写法,非常迷惑,今天运气不错在网上找到了一篇相关的文章。 private static URL getResource(Class callingClass, String resourceName) { URL url = Thread.currentThread().getContextClassLoader().get
2013-06-07 14:55:26 1818
原创 仿JDK动态代理实现
下面我模仿了一下JDK动态代理的实现,源码没看,这里不不过是根据他的功能按照自己的方式实现. 使用技术 关键是回调函数的使用。 文档: 我们既然使用动态代理无非想在现有的方法中添加一些操作。所以在创建的子类方法中调用回调函数。 创建子类涉及动态字节码技术,我就写死一个subclass代替 创建Proxy类负责创建子类对象 一:回调函数模块: 1:创建接口
2013-06-06 13:29:49 700
原创 cglib简单的小实例
cglib和Jdk的动态代理相比,它的优点是目标类不用实现一个接口。 代码实现: 目标类 package cglib; public class ClassHasNoInterface { public void method(){ System.out.println("建立自己的知识体系还是很重要的,尽管觉得麻烦"); } public void fun
2013-06-06 12:46:59 4178 4
原创 jdk动态代理的实现
代理分为静态代理和动态代理,静态代理完全是一些硬编码操作,如果有介个接口,和他们的实现类,就要写多个代理器。很麻烦 动态代理步骤: 将接口A的实现类AImpl的类对象,实现的接口(class.getInterfaces()) 传给具体的封装好的类。 然后生成一个Aimpl的子类,重写父类中的方法,在这些方法中加入invoke(),在这invoke中调用的其实还是父类中的方法和另外一些添加的功
2013-06-06 11:20:11 857
原创 回调函数的简单实例
回调函数在之前之一听到,但是具体是个啥还真说不出个之所以然来,所以特地写下这篇文章 回调函数它那传呼其神的效果是如何实现的呢?说白了,就是接口的应用,从这里也将看到接口的好处。 情景模拟 有两个用户 追本溯源和王小贱 需要在磁盘中记录本周末的计划,这记录要涉及非常非常庞大的技术,而且将来有更多的用户需要记录,无奈,请了apache组织中的一个神秘高手设计了一个具体实现该功能的方法。可
2013-06-06 10:01:02 3486
原创 关于递归的小探索
什么是递归呢,我不想将理论上的东西放到这里描述,只是通过自己的一些理解,去描述它,并做了一些小小的实验。如果有什么错误的地方,博主欢迎大家留言指正。 首先看看下边的这几行代码 package skill; public class skillClassTs { //自身调用 public void self(){ self(); }
2013-06-05 13:18:43 784
struts2仿写
2013-06-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人