java
allen2010lp
新手,刚工作,这里可以定居不??
展开
-
java向上转型 向下转型(upcasting downcasting)
<br />java转型问题其实并不复杂,只要记住一句话:父类引用指向子类对象<br /><br />什么叫父类引用指向子类对象,且听我慢慢道来<br /><br />从两个名词说起:向上转型(upcasting)、向下转型(downcasting)<br /><br />举个例子:有两个类,Father是父类,Son类继承自Father。<br /><br />Father f1 =new Son(); //这就叫upcasting(向上转型)<br /><br />//现在f1原创 2010-11-02 17:44:00 · 707 阅读 · 0 评论 -
Collections和Arrays
<br />在java集合框架里有两个类叫做Collection(注意,不是Collection!)和Arrays,这是JCF里面功能强大的工具,但初学者往往会忽视。按JCF文档的说法,这两个类提供了封装器实现(Wrapper Implementations)、数据结构算法和数组相关的应用。<br /><br />相比大家不会忘记上面谈到的“折半查找”、“排序”等经典算法吧,Collections类提供了丰富的静态方法帮助我们轻松完成这些在数据结构课上烦人的工作:<br /><br />bina原创 2010-11-02 17:47:00 · 360 阅读 · 0 评论 -
常用集合类的比较~
<br />一、几个常见类的区别<br /><br />1.ArrayList:元素单个,效率高,多用于查询<br /><br />2.Vector:元素单个,线程安全,多用于查询<br /><br />3.LinkedList:元素单个,多用于插入和删除<br /><br />4.HashMap;元素成对,元素可为空<br /><br />5.HashTable:元素成对,线程安全,元素不可为空<br /><br />二、Vector、ArrayList和LinkedList<br原创 2010-11-02 17:48:00 · 255 阅读 · 0 评论 -
Map详解
Map是一种把键对象和值对象进行关联的容器,而一个值对象又可以是一个Map,依次类推,这样就可形成一个多级映射。对于键对象来说,像Set一样,一个Map容器中的键对象不允许重复,这是为了保持查找结果的一致性;如果有两个键对象一样,那你想得到那个键对象所对应的值对象时就有问题了,可能你得到的并不是你想的那个值对象,结果会造成混乱,所以键的唯一性很重要,也是符合集合的特性。当然在使用过程中,某个键所对应的值对象可能会发生变化,这时会按照最后一次修改的值对象与键对应。对于值对象则没有唯一性的要求,原创 2010-11-02 17:48:00 · 260 阅读 · 0 评论 -
List详解
<br />List是有序的Collection<br />使用此接口能够精确的控制每个元素插入的位置。用户能够使用索引(元素在List中的位置,类似于数组下标)来访问List中的元素,这类似于java的数组。<br /><br />Vector:<br />基于数组(Array)的List,其实就是封装了数组所不具备的一些功能方便我们使用,所以它很难易避免数组的限制,同时性能也不可能超越数组。所以,在可能的情况下,我们要多运用数组。另外很重要的一点就是Vector是线程同步的(sychro原创 2010-11-02 17:49:00 · 236 阅读 · 0 评论 -
Collection和Collections区别
<br />Collections是个Java.util下的类,它包含各种有关集合操作的静态方法。<br /><br />Collection是java.util下的接口,它是各种集合结构的父接口。<br /><br />List ,Set继承Collection接口,Map不是<br /><br /><br />Collection是集合类的上级接口,继承与他的接口主要有Set 和List.<br /><br />Collections是针对集合类的一个帮助类,他提供一 系列静态方法实现对原创 2010-11-02 17:49:00 · 238 阅读 · 0 评论 -
String StringBuffer StringBuilder三者的区别
String是固定长度的字符串,如果要发生变化必须重新生成新的实例;<br /><br />String字符串常量<br />StringBuffer字符串变量(线程安全)<br />StringBuilder字符串变量(非线程安全)<br /><br />StringBuffer 与 StringBuilder 中的方法和功能完全是等价的,只是<br />StringBuffer 中的方法大都采用了 synchronized 关键字进行修饰,因<br />此是线程安全的,而 St原创 2010-11-02 17:50:00 · 260 阅读 · 0 评论 -
Http之Get/Post请求区别
<br />1.HTTP请求格式:<br /><request line><br /><headers><br /><blank line><br />[<request-body>]<br /><br />在HTTP请求中,第一行必须是一个请求行(request line),用来说明请求类型、要访问的资源以及使用的HTTP版本。紧接着是一个首部(header)小节,用来说明服务器要使用的附加信息。在首部之后是一个空行,再次之后可以添加任意的其他数据[称之为主原创 2010-11-02 17:52:00 · 249 阅读 · 0 评论 -
HashTable和HashMap的区别
<br />1.Hashtable是Directionary的子类,HashMap是Map接口的一个实现类;<br /><br />2.Hashtable中的方法是同步的,而HashMap中的方法在缺省情况下是非同步的。即使说,在多线程应用程序中,不用专门的操作就安全地使用Hashtable了;而对于HashMap,则需要额外的同步机制。但HashMap的同步问题可通过Collection的一个静态方法得到解决:<br />Map Collections.synchronizedMap(Map原创 2010-11-02 17:52:00 · 208 阅读 · 0 评论 -
EL表达式语言的基础总结
<br />EL语言是JSTL输出(输入)一个JAVA表达式的表示形式。 <br />在JSTL中,EL语言只能在属性值中使用。EL语言只能通过建立表达 式${exp1}来进行调用。在属性值中使用表达式有三种方式。 <br /><br />1、 value属性包含一个表达式 <br /><some:tag value="${expr}"/> <br />在这种情况下,表达式值被计算出来并根据类型转换规则赋值给value属性。比 如:<c:out value="${usernam原创 2010-11-02 17:55:00 · 318 阅读 · 0 评论 -
JSTL简介
<br />JSTL包含两个部分:核心库和EL表达式<br /><br />JSTL核心库目前支持四种标签:<br />-核心库:包括一些Web应用的必要的标签。核心标签库的实例包括循环、表达式赋值和基本输入输出。<br />-格式化/国际化库:支持JSP页面的国际化,可以用来解析数据,比如日期、数字等<br />-XML库:支持XML文档的处理<br />-数据库操作库:支持JSP对数据库的操作<br />-函数库:提供一些函数,也可以自定义函数<br /><br />JSTL原创 2010-11-02 17:56:00 · 233 阅读 · 0 评论 -
JspSmartUpload使用文档
<br />http://wenku.baidu.com/view/668e0d40be1e650e52ea9989.html原创 2010-11-02 17:57:00 · 289 阅读 · 0 评论 -
BLOB基础知识
<br />BLOB的含义<br /><br />BLOB(binary large object),二进制大对象,是一个可以存储二进制文件的容器。<br /><br />在计算机中,BLOB常常是数据库中用来存储二进制文件的字段类型。<br /><br />BLOB是一个大文件,典型的BLOB是一张图片或一个声音文件,由于它们的尺寸,必须使用特殊的方式来处理(例如:上传,下载或者存放到一个数据库)。<br /><br />oracle中的blob<br /><br />类型 :blob原创 2010-11-02 17:58:00 · 475 阅读 · 0 评论 -
JSP中使用cookie完成状态管理
<br />cookie也算是http消息报头的一部分,它的作用有以下方面:<br /><br />一、记录访客的某些信息。例如可以利用cookie记录用户光临的网页次数,或者访客曾经输入过的信息。某些网站可以自动记录用户上次登录的用户名,用的就是cookie。<br /><br />二、页面之间传递变量。浏览器并不会保存当前页面上的任何变量的信息,当页面被关闭时,页面上所有变量信息将随之消失。<br /><br />在jsp中创建简单的cookie:<br /><br />String c原创 2010-11-02 17:59:00 · 309 阅读 · 0 评论 -
连接池应用的实现
<br />一个完整的连接池应用包括三个部分:<br />DBConnectionPool类,负责从连接池获取(或创建)连接、将连接返回给连接池、系统关闭时关闭所有连接释放所有资源;<br />DBConnectionManager类,负责装载和注册JDBC驱动、根据属性文件中定义的属性创建DBConnectionPool、跟踪应用程序对连接池的引用等;<br />应用程序对连接池的使用。<br /><br />本文实现的数据库连接池包括一个管理类DBConnectionManager,负责原创 2010-11-02 18:00:00 · 323 阅读 · 0 评论 -
连接池的关键技术
<br />1.事务处理:<br />前面讨论的是关于使用数据库连接进行普通的数据库访问,对于事务处理,情况就变得比较复杂。因为事务本身要求原则性的保证,此时就要求对于数据库的操作符合“All-All-Nothing”原则,即要么全部完成,要么什么都不做。如果简单的采用上述的连接复用的策略,就会发生问题,因为没有办法控制属于同一个事务的多个数据库 操作方法的动作,可能这些数据库操作是在多个连接上进行的,并且这些连接可能被其它非事务方法复用。Connection本身具有提供了对于事务的支持,原创 2010-11-02 18:00:00 · 324 阅读 · 0 评论 -
Servlet生命周期
<br />---------------------------------------------------Servlet生命周期------------------------------------------------------------<br /> <br />Servlet被服务器实例化之后,容器会运行其init方法,请求到达时运行其service方法,server方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用destroy方原创 2010-11-02 18:01:00 · 324 阅读 · 0 评论 -
Servlet的相关认识
<br />Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。它担当客户请求(Web浏览器或其它HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。Servlet是位于Web服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet是由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。---理解为(Servlet依赖与容器)<br />Servlet原创 2010-11-02 18:02:00 · 332 阅读 · 0 评论 -
抽象类和接口的区别
<br />简单来说:<br />接口是公共的,里面 不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量<br /><br />另外,实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以选择地重写需要用到的方法,一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后在到具体类实现。<br /><br />还有,接口可以实现多重继承,而一个类只能继承一个超类,但可以通过继承多个接口实现多重继承,接口还有标识(里面没有任何方法,如Remote接口)和数据共享(里面原创 2010-11-02 17:46:00 · 199 阅读 · 0 评论 -
Java Thread
1.线程进程概念<br /><br />多线程:单个程序内部好像在同一时刻运行多种运算<br /><br />多进程:同一时间内好像有多个程序运行<br /><br />2.线程状态<br /><br />2.1 创建状态<br />2.2 可运行状态<br />2.3 不可运行状态<br />2.4 死亡状态<br /><br /><br /><br />2.1 创建状态(new thread)<br /><br />Thread testThread = new Thread原创 2010-11-02 17:45:00 · 504 阅读 · 0 评论 -
抽象类、接口、实体类之间的联系
<br />1.接口可以继承接口<br /><br />2.抽象类可以是实现(implements)接口<br /><br />3.抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数原创 2010-11-02 17:45:00 · 983 阅读 · 0 评论 -
Collections类对数组 排序实例
//按某个value升序排序ListparValueList =new ArrayList();for(int i=0;i原创 2010-11-02 17:47:00 · 252 阅读 · 0 评论 -
Set详解
<br />Set是一种不包含重复的元素的无序Collection。<br /><br />HashSet:<br />虽然Set同List都实现了Collection接口,但他们的实现方式却大不一样。List基于上都是Array为基础。但Set则是在HashMap的基础上来实现的,这个就是Set和List的根本区别。HashSet的存储方式是把HashMap中的Key作为Set的对应存储项。看看HashSet的add(Object obj)方法的实现就可以一目了然了。<br /><br /原创 2010-11-02 17:49:00 · 240 阅读 · 0 评论 -
Servlet生命周期详解
<br />Servlet的生命周期是由servlet的容器来控制的。分为3个阶段:初始化阶段、运行阶段、销毁阶段。<br /><br />初始化阶段:<br /><br />初始化阶段步骤:<br /><br />servlet容易创建servletConfig对象。servletConfig对象包含了servlet的初始化配置信息。此时servlet容器还会使得servletConfig对象在当前的Web应用的servletContext对象关联。<br /><br />servlet容原创 2010-11-02 17:50:00 · 457 阅读 · 0 评论 -
XML中Schema和DTD的区别
DTD与Schema的比较:他们都是来校验自己的XML数据DTD的局限性DTD不遵守XML语法(写XML文档实例时候用一种语法,写DTD的时候用另外一种语法)DTD数据类型有限(与数据库数据类型不一致)DTD不可扩展DTD不支持命名空间(命名冲突)Schema的新特性Schema基于XML语法Schema可以用能处理XML文档的工具处理Schema大大扩充了数据类型,可以自定义数据类型Schema支持元素的继承-Object-Oriented“ ishSc原创 2010-11-02 17:52:00 · 854 阅读 · 0 评论 -
java中继承与组合的区别是什么?
继承是“is a”,组合是“like a”<br /><br />组合关系是:<br />局部类和整体类的关系<br />包括<br />从整体类到局部类的分解过程<br />从局部类到整体类的组合过程<br /><br />继承关系<br />父类和子类的关系<br />包括<br />从子类到父类的抽象过程<br />从父类到子类的扩展过程原创 2010-11-02 17:53:00 · 450 阅读 · 0 评论 -
对象与XML的互换
<br />java.bean.XMLEncoder是XML编码器,它的writerObject方法能把对象以XML的格式输出到文件中<br /><br />java.bean.XMLDecoder是XML解析器,它的readObject方法把XML文档的内容读到对象中(必须是XMLEncoder生成的XML文档)<br /><br />相当与对象的序列化和反序列化,只不过它以XML的格式序列化对象,序列化的文件可以看懂<br /><br />对象和XML的互换<br />-示例<br原创 2010-11-02 17:53:00 · 342 阅读 · 0 评论 -
java解析xml:使用DOM
<br />一.概要<br /> 用Java解析XML文档,最常用的有两种方式:使用基于事件的XML简单API(Smiple API for XML)称为SAX和基于树和节点的文档对象模型(Document object Module)成为DOM。Sun公司提供了Java API for XML Parsing(JAXP)接口来使用SAX和DOM,通过JAXP,我们可以使用任何与JAXP兼容的XML解析器。<br /><br />JAXP接口包含了三个包:<br />(1)org.w3c原创 2010-11-02 17:54:00 · 225 阅读 · 0 评论 -
JSP自定义标签
<br />一、JSP自定义标签简介<br />标签是一种XML元素,通过标签可以使JSP页面变得简洁并且易于维护,还可以方便的实现同一个JSP文件支持多种语言版本。由于标签是XML元素,所以它的名字和属性都是大小写敏感的<br />标准JSP标签是用来调用JavaBean组件的操作,处理定向请求以简化JSP页面开发和维护。JSP技术提供了一种封装JSP其它动态类型的机制——自定义标签,它扩展了JSP语言。自定义标签通常发布在标签库中,该库定义了一种自定义标签集并包含实现标签的对象。<br /><b原创 2010-11-02 17:55:00 · 279 阅读 · 0 评论 -
JSTL核心库标签的使用
<br /><c:out> 它是一个输出的标签,负责把计算出的结果输出到jspwriter,就跟调用 out.println()基本一样。没有BODY的时候,使用下面的语法:<c:out value=”value” [escapeXml]=”{true|false}” [default=”defaultValue”]/>有BODY的时候,使用下面的语法:<c:out value=”value” [escapeXml]=”{true|false}” > 这里是BODY,可以是任何合法的js原创 2010-11-02 17:56:00 · 294 阅读 · 0 评论 -
在 web.xml中配置error-page(错误重定向)
<br />一. 通 过错误码来配置error-page<br />Eg. <br /><error-page> <br /><error-code>500</error-code> <br /><location>/error.jsp</location> <br /></error-page><br />上面配置了当系统发生500错误(即服务器内部错误)时,跳转到错误处理页面error.jsp。<br /> <br />二. 通 过异常的类型配置error-page<br />Eg原创 2010-11-02 17:57:00 · 1380 阅读 · 0 评论 -
Filter介绍
<br />Servlet API中重要的一个功能就是能够为servlet和jsp页面定义过滤器。<br /><br />过滤器是一个程序,它先于与之相关的servlet或jsp页面运行在服务器上。过滤器可附加到一个或多个servlet或jsp页面上,并且可以检查这些资源的请求信息。在这之后,过滤器可以作如下的选择:<br />1.以常规的方式调用资源(即,调用servlet或jsp页面)<br />2.利用修改过的请求信息调用资源<br />3.调用资源,在发送响应到客户机前对其进行修改<原创 2010-11-02 17:57:00 · 391 阅读 · 0 评论 -
IO操作
1.stream代表的是任何有能力产出数据的数据源,或者任何有能力接受数据的接收源。在Java的IO中,所有的stream(包括Input和Outputstream)都包括两种类型:<br /><br />1.1以字节为导向的stream<br /><br />以字节为导向的stream:表示以字节为单位从stream中读取或往stream中写入信息。以字节为导向的stream包括以下几种类型:<br /><br />input stream:<br />1)ByteArrayInputS原创 2010-11-02 17:58:00 · 252 阅读 · 0 评论 -
Cookie相关知识
Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。定义于RFC2109(已废弃),最新取代的规范是RFC2965。<br /><br />Cookie最早是网景公司的前雇员Lou Montulli在1993年3月发明的。<br /><br />Cookie是有服务器端产生,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件中,下次请求同一网站原创 2010-11-02 17:59:00 · 267 阅读 · 0 评论 -
第一范式
第一范式的定义:<br />如果一个关系模式R的所有属性都是不可分割的基本数据项,则R∈1NF。<br /><br />第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。<br /><br />第一范式包括下列指导原则:数据库的每个属性可以包含一个值;<br /><br />关系中每个数组必须包含相同数量的值;????<br /><br />关系中每个数组一定不能相同。<br /><br />第一原创 2010-11-02 17:59:00 · 806 阅读 · 0 评论 -
范式的概念
<br />设计范式(范式,数据库设计范式)是符合某一种级别的关系模式集合。构造数据库必须遵循一定的规则。在关系数据库中,这种规则就是范式。关系数据库中关系必须满足一定的要求,即满足不同的范式。<br /><br /><br />目前关系数据库有六中范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、第五范式(5NF)、第六范式(6NF)。满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多要求的成为第二范式(2NF),其余范式一次类推。一般说来原创 2010-11-02 18:00:00 · 660 阅读 · 0 评论 -
连接池技术(基础)
1.连接池原理:<br />连接池技术的核心思想是:连接复用,通过建立一个数据库连接池以及一套连接使用,分配,管理策略,是的连接池中的连接可以得到高效、安全的复用,避免了数据库连接频繁建立,关闭的开销。<br /><br />连接池主要由三部分组成:<br /><br />1. 连接池的建立 <br />2. 连接池的管理<br />3. 连接池的关闭<br /><br />1.1连接池的建立:<br /><br />应用程序中建立的连接池其实是静态的。所谓静态连接池是指连接池中原创 2010-11-02 18:01:00 · 356 阅读 · 0 评论 -
AOP的基础概念
<br />首先我们来了解AOP中的一些基本概念。这些概念都是AOP的通用术语,并非Spring.NET所特有。很遗憾AOP的术语不是特别的直观。但如果让Spring.NET来定义自己的专用名词,可能会更加教人糊涂。 <br /><br />方面(Aspect):对横向分布在多个对象中的关注点所做的模块化。在企业应用中,事务管理就是一个典型的横切关注点。Spring.NET将 方面实现为Advisor或拦截器(interceptor)。(按:Advisor是通知和切入点的组合,拦截器实际就是指通知转载 2010-11-02 17:43:00 · 294 阅读 · 0 评论 -
JavaBean理解
<br />JavaBean是一种用JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体和公共的,并且具有无参的构造器。JavaBean通过提供符合一致性设计模式的公共将其内部域暴露成员属性。众所周知,属性名称符合这种模式,其它Java类可以通过自身机制发现和操作这些JavaBean属性。<br />用户可以使用JavaBean将功能、处理、值、数据库访问或其它任何可以用java代码创造的对象进行打包,并且其它开发者可以通过内部JSP页面、servlet、其它JavaBean、applet原创 2010-11-02 18:02:00 · 383 阅读 · 0 评论