js正则表达式中\和\\
摘要:转自http://www.jb51.net/article/9869.htm以下代码结果为:FALSE,TRUE,TRUE,请问结果中为什么第一个为FALSE? 1 2 3 4 function c1() { 5 re = new RegExp("^\d*$"); 6 alert(re.test("123456")); 7 } 8 function c2(form) { 9 re = new RegExp(form.t2.value);10 alert(re.test(form.t1.value));11 }12 function ...
阅读全文
Maven管理下Struts、Hibernate编译过程中配置文件缺失导致的“No result defined for action”和getSession()发生“NullPointerException”的解决办法
摘要:最近在Myeclipse下学习了使用maven管理struts、hibernate项目,做了一个简单的注册功能,过程那个让人郁闷呐。简单说一下问题,添加maven、struts、hibernate都是通过myeclipse自动完成的,如果第一次通过myeclipse部署到本地server,完全没有问题;可是想生成war包,部署到远程server上,问题就来了。clean, install,部署,访问,哎,报错了首先出现的是这样的错误:java.lang.NullPointerExceptionat my.hibernate.pojo.UserDAO.findUser(UserDAO.java:
阅读全文
Java基础:final关键字
摘要:final表示最终的,不可变的,可以用来修饰数据、方法和类。1、final数据final用来定义一个常量,表示其一旦被初始化后,其值将不能再被改变。final可以定义一个编译时常量final int const = 1;//编译时被初始化,此后不能被改变也可以定义一个运行时被初始化的常量final int const2 = new Random(20).newxtInt(10);还可以定义一个空白final(意为被声明为final但是为给定初值)。public class Final { final int j; public Final() { j=3; //...
阅读全文
Java基础:复用类
摘要:1、复用方式:组合、继承、代理组合是功能上的复用,继承是形式上的复用,代理位于二者之间。2、创建一个子类对象时,该对象包含了一个基类的子对象。这个子对象与用基类直接创建的对象是一样的。二者的区别在于:后者来自于外部,而子对象被包装在子类对象内部。3、基类的无参构造器可以隐式地自动被调用,有参构造器必须被显式地调用(通过super关键字)。子类构造器中调用基类构造器的语句须位于第一句。注意:如果已经定义了有参数的构造器,则编译器就不会再为该类自动生成一个无参构造器,除非主动为该类提供无参构造器,否则该类不会拥有无参构造器。4、注意重载(overload)与重写(override)重写只有在某方法
阅读全文
Java基础:访问权限控制
摘要:成员权限:public、protected、package、privatepublic:所有的类都可以使用该成员,子类拥有该成员protected:与该成员所在的类(记为类A)在同一个包中、虽然不在一个包中但是继承了类A的类都可以使用该成员,子类拥有该成员package:与该成员所在的类(记为类A)在同一个包中的类都可以使用该成员,如果子类与类A位于同一个包中,则子类拥有该成员,反之则不会拥有该成员private:只在所在的类中能够被直接使用,子类不会拥有该成员类权限:只有public和package(此处不涉及内部类)public:所有的其他类都可以访问该类package:同一个包中的类可以
阅读全文
Java基础:初始化与清理
摘要:1、构造器每个类都必须至少有一个构造器,如果没有显式的定义,编译器会自动为该类创建一个隐式的无参构造器(无参构造器也称为默认构造器)。构造器没有返回值,不会返回任何东西(返回值为空和没有返回值是两码事),但是下面的语句会让人疑惑:1 Object object = new Object();实际上是new表达式返回了新建对象的引用,构造器没有返回任何东西。2、方法的重载方法名、方法参数表(参数数量、参数类型、参数顺序)区分了两个的方法。改变参数顺序也可以实现方法重载,但是不推荐使用,因为不利于维护和使用。一般是利用参数数量、类型来实现方法重载。由于基本类型能从一个“较”小的类型自动提升到一个“
阅读全文
Java基础:操作符总结
摘要:1、算术操作符整数除法会直接去掉结果的小数位,而不是四舍五入地处理结果。1 int a=3, b;2 b = a/2;3 System.out.println(b);4 //the output is 1byte、char、short参加运算时会被提升为int。+=、-+、*=、/=在左操作数为byte、char、short类型时,运算前提升为int,赋值时则被截取。byte b = 20;//byte a = b + 2; //编译错误:Type mismatch: cannot convert from int to bytebyte a = (byte) (b + 2);Syste...
阅读全文
JAVA内存管理
摘要:转自http://liu1227787871.blog.163.com/blog/static/205363197201263103320466/首先我们要明白一点,我们所使用的变量就是一块一块的内存空间!!一、内存管理原理:在java中,有java程序、虚拟机、操作系统三个层次,其中java程序与虚拟机交互,而虚拟机与操作系统间交互!这就保证了java程序的平台无关性!下面我们从程序运行前,程序运行中、程序运行内存溢出三个阶段来说一下内存管理原理!1、程序运行前:JVM向操作系统请求一定的内存空间,称为初始内存空间!程序执行过程中所需的内存都是由java虚拟机从这片内存空间中划分的。2、程序
阅读全文
Java内存分配
摘要:在java中,有java程序、虚拟机、操作系统三个层次,其中java程序与虚拟机交互,而虚拟机与操作系统间交互。先看下Java运行中内存从获取到分配的大致流程,分为3步。程序运行前:JVM向操作系统请求一定的内存空间,称为初始内存空间!程序执行过程中所需的内存都是由java虚拟机从这片内存空间中划分的。程序运行中:java程序一直向java虚拟机申请内存,当程序所需要的内存空间超出初始内存空间时,java虚拟机会再次向操作系统申请更多的内存供程序使用。内存溢出:程序接着运行,当java虚拟机已申请的内存达到了规定的最大内存空间,但程序还需要更多的内存,这时会出现内存溢出的错误。Java 程序所
阅读全文