2014年4月2日
摘要: http://blog.sina.com.cn/s/blog_7e9b4ad701015iqf.html单例模式是一种常见的设计模式单例模式分三种懒汉式单例、饿汉式单例、登记式单例。单例模式有一下特点:1、单例类只能有一个实例。2、单例类必须自己创建自己的唯一实例。3、单例类必须给所有其他对象提供这一实例。懒汉式单例:需要加锁才能实现多线程同步,但是效率会降低。优点是延时加载。public class LazySingleton {//私有静态变量,加载时不初始化 privatestatic LazySingleton lazySingleton = null;//私有的构造方法,避免外部创建 阅读全文
posted @ 2014-04-02 16:50 ttjava 阅读(749) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/linbooooo1987/article/details/12843823大家都知道session关浏览器就会清除(即使sessionid会写到客户端的 cookie中),如果浏览器新建一个父窗口,在原窗口不关闭的情况下,共享一个sessionId。在一次会话中,session是基于cookie 的,也就是说当cookie被删除时,session又会创建。当客户端禁掉cookie时,就要通过URL重写获取sessionId,且 sessionId不会改变。HttpServletResponse接口提供了encodeURL(String url)实现U 阅读全文
posted @ 2014-04-02 16:42 ttjava 阅读(893) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/xh16319/article/details/8033552会话跟踪是一种灵活、轻便的机制,它使Web上的状态编程变为可能。HTTP是一种无状态协议,每当用户发出请求时,服务器就会做出响应,客户端与服务器之间的联系是离散的、非连续的。当用户在同一网站的多个页面之间转换时,根本无法确定是否是同一个客户,会话跟踪技术就可以解决这个问题。当一个客户在多个页面间切换时,服务器会保存该用户的信息。有四种方法可以实现会话跟踪技术:URL重写、隐藏表单域、Cookie、Session。1).隐藏表单域:,非常适合步需要大量数据存储的会话应用。2).URL重写:UR 阅读全文
posted @ 2014-04-02 16:40 ttjava 阅读(526) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/java2000_net/article/details/2935913URL重写,其实就是把带一大堆参数的url,变成一个看上去很规矩的url,主要目的是为了搜索引擎。举例/viewthread.jsp?id=1234/viewthread.jsp?id=1235/viewthread.jsp?id=1236重写后,可以用/viewthread/1234.htm/viewthread/1235.htm/viewthread/1236.htm我目前使用Tomcat+Apache,尝试过三种重写的方法一、Tomcat的过滤器 最典型的就是用 urlRew 阅读全文
posted @ 2014-04-02 16:31 ttjava 阅读(13266) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/dearxiaofan/article/details/7258203abstract的method不可以是static的,因为抽象的方法是要被子类实现的,而static与子类扯不上关系!native方法表示该方法要用另外一种依赖平台的编程语言实现的,不存在着被子类实现的问题,所以,它也不能是抽象的,不能与abstract混用。例如,FileOutputSteam类要硬件打交道,底层的实现用的是操作系统相关的api实现,例如,在windows用c语言实现的,所以,查看jdk的源代码,可以发现FileOutputStream的open方法的定义如下:pr 阅读全文
posted @ 2014-04-02 16:11 ttjava 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 在JDK1.4中增加了Assert的新功能,用于开始、调试时期的错误检测,它可以通过-ea 的JVM参数关闭,关闭以后对程序的性能没有任何影响。 最好的教程 请见:http://java.sun.com/j2se/1.4.2/docs/guide/lang/assert.html 简单总结下几点注意点不要在public方法中使用assert来代替参数检查。公有方法的参数检查应该有该方法通过条件判断等方式完成,从而抛出理想的异常,而其只会抛出:AssertionError,对异常并不是很明确。AssertionError 继承自Error。它的语法有两种:assert Expression1 : 阅读全文
posted @ 2014-04-02 16:02 ttjava 阅读(1352) 评论(0) 推荐(0) 编辑
摘要: http://hi.baidu.com/zhumulangma/item/bcd478c140427b2cef466532定义在一个类内部的类叫内部类,包含内部类的类称为外部类。内部类可以声明public、protected、private等访问限制,可以声明 为abstract的供其他内部类或外部类继承与扩展,或者声明为static、final的,也可以实现特定的接口。外部类按常规的类访问方式使用内部 类,唯一的差别是外部类可以访问内部类的所有方法与属性,包括私有方法与属性。(1)创建实例OutClass.InnerClassobj=outClassInstance.newInnerClas 阅读全文
posted @ 2014-04-02 15:53 ttjava 阅读(412) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/yakihappy/article/details/3979942会。java导致内存泄露的原因很明确:长生命周期的对象持有短生命周期对象的引用就很可能发生内存泄露,尽管短生命周期对象已经不再需要,但是因为长生命周期对象持有它的引用而导致不能被回收,这就是java中内存泄露的发生场景。 1.集合类,集合类仅仅有添加元素的方法,而没有相应的删除机制,导致内存被占用。这一点其实也不明确,这个集合类如果仅仅是局部变量,根本不会造成内存泄露,在方法栈退出后就没有引用了会被jvm正常回收。而如果这个集合类是全局性的变量(比如类中的静态属性,全局性的map等即有静 阅读全文
posted @ 2014-04-02 15:25 ttjava 阅读(331) 评论(0) 推荐(0) 编辑
摘要: http://lukejin.iteye.com/blog/586088一.字符集在 计算机的世界里,我们需要表示太多太多的字符,为了计算机能够正确的显示这些字符,我们将这些字符编码,使得字符和一系列的代号一一对应。当我们的系统按 照一种编码方式去读取一个文件的时候,会自动的将里面的编码转换成相应的字符显示在屏幕上。(我们这里并不讨论如何将字符在显示器上通过点阵的方式显示的 这个过程)中文由于其字符数多,其编码方式自然比西方的字符复杂。所以在编写代码,软件使用的过程中,我们经常碰到中文乱码的相关问题。g.cn的首页是UTF-8的编码(浏览器会首先根据接受到的html自动检测其编码),这个时候如 阅读全文
posted @ 2014-04-02 15:16 ttjava 阅读(232) 评论(0) 推荐(0) 编辑
摘要: http://blog.jobbole.com/31724/关于Java序列化的文章早已是汗牛充栋了,本文是对我个人过往学习,理解及应用Java序列化的一个总结。此文内容涉及Java序列化的基本原理,以及多种方法对序列化形式进行定制。在撰写本文时,既参考了Thinking in Java, Effective Java,JavaWorld,developerWorks中的相关文章和其它网络资料,也加入了自己的实践经验与理解,文、码并茂,希望对大家有所帮助。1. 什么是Java对象序列化Java平台允许我们在内存中创建可复用的Java对象,但一般情况下,只有当JVM处于运行时,这些对象才可能存在 阅读全文
posted @ 2014-04-02 10:41 ttjava 阅读(180) 评论(0) 推荐(0) 编辑