`
文章列表
对于short s1 = 1; s1 = s1 + 1; 由于s1+1运算时会自动提升表达式的类型,所以结果是int型,再赋值给short类型s1时,编译器将报告需要强制转换类型的错误。 对于short s1 = 1; s1 += 1;由于 += 是java语言规定的运算符,java编译器会对它进行特殊处理,因此可以正确编译。
在switch(expr1)中,expr1只能是一个整数表达式或者枚举常量(更大字体),整数表达式可以是int基本类型或Integer包装类型,由于,byte,short,char都可以隐含转换为int,所以,这些类型以及这些类型的包装类型也是可以的。显然,long和String类型都不符合switch的语法规定,并且不能被隐式转换成int类型,所以,它们不能作用于swtich语句中。
在Java中,要想跳出多重循环,可以在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break 语句,即可跳出外层循环。例如, ok: for(int i=0;i<10;i++) { for(int j=0;j<10;j++) { System.out.println(“i=” + i + “,j=” + j); if(j == 5) break ok; } } 另外,我个人通常并不使用标号这种方式,而是让外层的循环条件表达式的结果可以受到里层循环体代码的控制,例如,要在二维数组中查找到某个数字。 ...

&和&&的区别

&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。 &&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str != null && !str.equals(“”))表达式,当str为null时,后面的表达式不会执行,所以不会出现NullPointerException如果将&&改为&,则会抛出NullPointerException异常。If(x== ...
1、当你成为程序员1,2年之后,你发现这个职业没有给你带来任何惊喜,并且你也丝毫不感兴趣,就是为了生活而去写代码,建议你赶紧放弃。 2、趁不用赡养父母,趁没有小孩,趁没结婚,趁家里不逼你结婚,赶紧学习,不要 ...
a)update操作的是在自由态或脱管状态(detached,因为session关闭而处于脱管的状态)。 b)flush操作则必须要求对象在持久态(persistent). c)默认情况下一个持久态(persistent)对象的修改是不需要手动调用update,方法的,只要改了对象的值,那么在session关闭时,会自动调用flush对已经修改的持久态(persistent)对象进行update d)Hibernate中用get方法得到一个对象,并对这个对象进行修改,如果不打开事务是不会自动对这个对象进行保存,就是调用flush方法也不会进行保存。
hibernate中lock方法到网上没有找到几个例子,所以自己就写一个放这。 @Test public void getStudent() { Session s = sf.openSession(); s.beginTransaction(); Student student = (Student) s.get(Student.class, 4); student.setName("whp4");//这样改后,因为当前对象还在session管理范围里,所以它的改变hibernate是能够知道的,操作后,数据库里当前记录的name变成了 ...
a)update是把一个已经更改过的脱管状态(detached)的对象变成持久状态(persistent)对象 b)lock是把一个没有更改过的脱管状态的对象变成持久状态(针对的是因为session关闭而处于脱管状态(detached)的持久状态对象(persistent)),不能针对因delete而处于脱管状态的对象。 c)update的操作步骤是:改动后的脱管对象的修改-->调用update。 Lock的操作步骤是调用lock把未修改的对象从脱管状态变成持久-->更改持久状态(persistent)的对象的内容-->等待flush或者手动flush。 d)Loc ...
hibernate的三种状态 a)瞬时状态(Transient):刚被创建,还没有被持久化,不在Session的缓存中,在Hiberante中可以通过session的save()或saveOrUpdate()方法将瞬时对象与数据库相关联,并将相应的数据插入数据库中,此时瞬时对象转换为持久化对象(Persistent) b)持久化状态(Persistent):该对象在数据库中有相应的记录,并拥有一个持久标识,如果对这个对象使用hibernate的delete方法,那么这个对象将会由persistent状态转换到transient,因为该对象已经被删除,对象不再与数据库的记录关联。 持久态对象具有 ...
在hibernate中有get与load两个都是查询指定的一条记录,但是这两个取有些不同。 a) load与get都是通过id来查询的。 b) load方法就是通常说的懒加载,返回的是代理,不立即访问数据库。不过永远不会返回空!get方法会立即访问数据库。 c) 使用get方法去查对象时,他会立刻去数据库里取数据,放入session中。如果我们用load的话,他会等我们第一次用到对象的内容时,他才会发出sql语句。 load报的错。 org.hibernate.ObjectNotFoundException: No row with the given identifier exists ...
在本例中用struts1.3+spring2.5+hibernate3.3的annotaion来实现开发。 1、新建一个javaWeb项目。名字为 ssh。 2、在新建的项目中加入spring、struts、hibernate需要的jar包 spring2.5 struts1.3 hibernate3.3 3、在str目录里加下beans.xml配置文件,并对数据库连接池与事务进行配置(事务用注解进行配置).在beans里要加上事务的xml声明。也就是表示事务的头文件。 <beans xmlns="http://www.springframework.o ...
在本例中使用spring为我们提供的jdbc的模版来对spring进行开发。有了spring模版后,程序里就不用再对数据连接进行管理。 所有的 bean均通过自动扫描方式进行注入的。这样可以有效的减少beans.xml中bean的配置。 1、新建一个java项目。名字为 springjdbc。 2、在新建的项目中加入spring、jdbc、dbcp需要的jar包 aspectjrt.jar,aspectjweaver.jar,cglib-nodep-2.1_3.jar,common-annotations.jar,log4j-1.2.14.jar,commons-dbcp.jar,commo ...
我们可以在spring的配置文件beans.xml中对事务进行注解配置,这样在相应的类中就不用对事务进行管事,对于某个类,想单独交给spring来管理,那么就在相应的类上加入@Transactional来标记事务。 在默认情况下spring对于运行时的异常 ...
在本例中使用spring为我们提供的jdbc的模版来对spring进行开发。有了spring模版后,程序里就不用再对数据连接进行管理。 所有的 bean均通过自动扫描方式进行注入的。这样可以有效的减少beans.xml中bean的配置。 1、新建一个java项目。名字为 springjdbc。 2、在新建的项目中加入spring、jdbc、dbcp需要的jar包 aspectjrt.jar,aspectjweaver.jar,cglib-nodep-2.1_3.jar,common-annotations.jar,log4j-1.2.14.jar,commons-dbcp.jar,commo ...
1、新建一个java的工程,导入spring需要的jar包与开发切面需要的jar包。 dist\spring.jar lib\jakarta-commons\commons-logging.jar 如果使用了切面编程(AOP),还需要下列jar文件 lib/aspectj/aspectjweaver.jar和aspectjrt.jar lib/cglib/cglib-nodep-2.1_3.jar 如果使用了JSR-250中的注解,如@Resource/@PostConstruct/@PreDestroy,还需要下列jar文件 lib\j2ee\common-annotations.jar ...
Global site tag (gtag.js) - Google Analytics