摘要: ClassLoader一个经常出现又让很多人望而却步的词,本文将试图以最浅显易懂的方式来讲ClassLoader,希望能对不了解该机制的朋友起到一点点作用.
要深入了解ClassLoader,首先就要知道ClassLoader是用来干什么的,顾名思义,它就是用来加载Class文件到JVM,以供程序使用的。我们知道,java程序可以动态加载类定义,而这个动态加载的机制就是通过ClassLoader来实现的,所以可想而知ClassLoader的重要性如何。
阅读全文
posted @
2009-06-26 22:38 RoyPayne 阅读(255) |
评论 (0) |
编辑 收藏
摘要: request.getParameter
是用来接受来自get方法或post方法的参数
只能接受java.lang.String
也就是说String hotel_id = request.getParameter("hotel_id");
request.getAttribute
是用来接受来自servlet的变量或Action(其实Action就是特殊的Servlet)
在Action中,request.setAttribute("ret",ret);
只能接受java.lang.Object
也就是说List ret = (List)request.getAttribute("ret");
一个是变量类型,一个对象类型
阅读全文
posted @
2009-06-25 22:01 RoyPayne 阅读(1157) |
评论 (0) |
编辑 收藏
摘要: 概述
我们知道Spring通过各种DAO模板类降低了开发者使用各种数据持久技术的难度。这些模板类都是线程安全的,也就是说,多个DAO可以复用同一个模板实例而不会发生冲突。
我们使用模板类访问底层数据,根据持久化技术的不同,模板类需要绑定数据连接或会话的资源。但这些资源本身是非线程安全的,也就是说它们不能在同一时刻被多个线程共享。
虽然模板类通过资源池获取数据连接或会话,但资源池本身解决的是数据连接或会话的缓存问题,并非数据连接或会话的线程安全问题。
按照传统经验,如果某个对象是非线程安全的,在多线程环境下,对对象的访问必须采用synchronized进行线程同步。但Spring的DAO模板类并未采用线程同步机制,因为线程同步限制了并发访问,会带来很大的性能损失。
阅读全文
posted @
2009-06-23 09:30 RoyPayne 阅读(444) |
评论 (0) |
编辑 收藏
摘要: 1.浅复制和深复制概念
⑴浅复制(浅克隆)
被复制对象的任何变量都含有和原来的对象相同的值,而任何的对其他对象的引用仍然指向原来的对象。换言之,浅复制仅仅复制所考虑的对象,而不复制他所引用的对象。
阅读全文
posted @
2009-06-20 18:03 RoyPayne 阅读(166) |
评论 (0) |
编辑 收藏
西风烈,
长空雁叫霜晨月。
霜晨月,
马蹄声碎,
喇叭声咽。
雄关漫道真如铁,
而今迈步从头越。
从头越,
苍山如海,
残阳如血。
posted @
2009-06-16 22:55 RoyPayne 阅读(141) |
评论 (0) |
编辑 收藏
摘要:
一、安装JDK
首先下载JDK 5.0(JDK 5.0的下载页面为:http://java.sun.com/j2se/1.5.0/download.jsp); 然后运行JDK 5.0安装程序jdk-1_5_0_06-windows-i586-p.exe,安装过程中所有选项保持默认;最后配置JDK的环境变量:在“我的电脑”上点右键—>“属性”—>“高级”—> “环境变量(N)”。
阅读全文
posted @
2007-03-05 16:16 RoyPayne 阅读(244) |
评论 (0) |
编辑 收藏
摘要:
我是从学习Java编程开始接触OOP(面向对象编程),刚开始使用Java编写程序的时候感觉很别扭,因为我早以习惯用C来编写程序,很欣赏C的简洁性和高效性,喜欢C简练而表达能力丰富的风格,特别忍受不了 Java运行起来慢吞吞的速度,相对冗长的代码,而且一个很简单的事情,要写好多类,一个类调用一个类,心里的抵触情绪很强。 阅读全文
posted @
2007-03-05 15:42 RoyPayne 阅读(184) |
评论 (0) |
编辑 收藏
摘要: abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。 abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于 abstract class和interface的选择显得比较随意。 阅读全文
posted @
2007-03-05 14:59 RoyPayne 阅读(200) |
评论 (0) |
编辑 收藏
这个故事发生在古希腊。开学第一天,大哲学家苏格拉底对学生说:“今天咱们只学一件最简单也是最容易做的事。每人把胳膊尽量往前甩。”说着,苏格拉底示范了一遍,“从今天开始,每天做300下,大家能做到吗?”学生们都笑了,这么简单的事,有什么做不到的!过了一个月,苏格拉底问学生们:“每天甩300下,哪些同学坚持了?”有90%的同学骄傲地举起了手。又过了一个月,苏格拉底又问,这回,坚持下来的学生只剩下八成。一年后,苏格拉底再一次问大家:“请告诉我,最简单的甩手运动,还有哪几位同学坚持了?”这时,整个教室里,只有一人举起了手。这个学生就是后来成为古希腊另一位大哲学家的柏拉图。
一天,苏格拉底带 领几个弟子来到一块长满麦穗的田地边,对弟子们说:"你们去麦地里摘一个最大的麦穗,只许进,不许退."弟子们走进麦地,看看这一株,摇了摇头;看看那一 株,又摇了摇头.虽然弟子们也试着摘了几穗,但并不满意,便随手扔掉了.他们总认为最大的麦穗还在前面呢.他们总以为机会还很多,完全没有必要过早地定 夺.直到苏格拉底大喝一声:"你们已经到头了!"弟子们才如梦初醒. 苏格拉底说:"究竟地里有没有一穗 是最大的呢 "弟子们说:"肯定有."苏格拉底点了点头:"是的,但你们未必能碰到它.即使碰到了,也未必能作出准确的判断.""那么究竟怎样才能找到最大的一穗 ""最大的一穗 就是你们刚刚摘下的." 弟子们听了老师的话,若有所悟:人的一生不也是在麦地里行走吗 有的人见到了颗粒满的麦穗,就不失时机地摘下它; 有的人则东张西望,一再地错失良机.当然,追求应该是最大的,但把眼前的稻穗拿在手中,这才是实实在在的呀.
posted @
2007-03-05 14:48 RoyPayne 阅读(538) |
评论 (0) |
编辑 收藏