摘要: /*** 此代码演示了亮点* 1.对象可以被GC时自我拯救* 2.这种自救的机会只有一次,因为一个对象的finalize()方法最多只会被系统自动调用一次**/public class FinalizeEscapeGC {public static FinalizeEscapeGC SAVE_HOOK = null;public void isAlive(){System.out.println("yes,i am still alive");}@Overrideprotected void finalize() throws Throwable{super.finaliz 阅读全文
posted @ 2013-04-10 23:27 九果子 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 为什么需要缓存?看一个案例:->原理图从上图看出: 当我们去查询对象的时候,首先到一级缓存去取数据,如果有,则不到数据库中取,如果没有则到数据库中取,同时在一级缓存中放入对象.一级缓存的细节① 什么操作会向一级缓存 放入数据save,update,saveOrUpdate,load,get,list,iterate,locksave 案例: //添加一个学生 Student student=new Student(); student.setName("小东"); s.save(student);//放入一级缓存 //我马上查询 Student stu2=(Stude 阅读全文
posted @ 2013-03-19 00:22 九果子 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 数据字典是oracle数据库中最重要的组成部分,它提供了一些系统信息动态性能视图记载了例程启动后的相关信息数据字典记录了数据库的系统信息,它是只读表和视图的集合,数据字典的所有者为sys用户用户只能在数据字典上执行查询操作(select 语句),而其维护和修改是由系统自动完成的user_tables:用于显示当前用户所拥有的所有表,它只返回用户所对应方案的所有表。比如:select table_name from user_tables;all_tables用于显示当前用户可以访问的所有表,它不仅会返回当前用户方案的所有表,还会返回当前用户可以访问的其它方案的表比如:select table_ 阅读全文
posted @ 2013-03-17 15:23 九果子 阅读(896) 评论(0) 推荐(0) 编辑
摘要: 登陆:普通用户登陆:用户名/密码例如: chai/chailiu管理员登陆:用户名/密码as sysdba设置显示宽度:Set linesize 800;******************************************************************************创建表空间:Create tablespacemytablespace--表空间名datafile ‘c:/oracle/mytablespace.dbf’--指定存放路径size 10m–指定表空间大小autoextend on;--自动增长删除表空间(前提是表空间中无数据):drop 阅读全文
posted @ 2013-03-14 09:38 九果子 阅读(636) 评论(1) 推荐(0) 编辑
摘要: oracle 用户管理创建用户create user xiaoming identified by m123;更改用户密码password xiaoming;删除用户drop user xiaoming在删除用户时,如果已经创建了表,那么就需要删除时带一个参数 cascade创建的用户是没有任何权限的,需要赋相应的权限。oracle 大概有140多个系统权限权限和20多个对象权限,分为两种:一种是系统权限,另外一种是对象权限。系统权限是指用户对数据库的相关权限。对象权限是指用户对其他用户的数据对象访问或操作的权限。角色例如connect角色 里包含七种权限角色又分两种一种叫做预定义角色,还有一 阅读全文
posted @ 2013-03-13 15:07 九果子 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 表空间是数据哭的逻辑组成部分,从物理上讲,数据库数据存放在数据文件中;从逻辑上讲,数据库则是存放在表空间中,表空间由一个或是多个数据文件组成。oracle中逻辑结构包括表空间,段,区和块。说明一下数据库是由表空间构成,而表空间又是由段构成,而段又是由区构成,而区又是由oracle块构成的这样的一种结构,可以提高数据库的效率。表空间表空间用于从逻辑上组织数据库的数据,数据库逻辑上是由一个或是多个表空间组成的,通过表空间可以达到一下作用:(1)控制数据库占用的磁盘空间(2)dba可以将不同的数据类型部署到不同的位置,这样有利于提高i/o性能,同时利于备份和恢复等管理操作建立表空间建立表空间是使用c 阅读全文
posted @ 2013-03-12 20:30 九果子 阅读(329) 评论(0) 推荐(0) 编辑
摘要: 本地事务:针对一个数据库的事务全局事务:跨数据库的事务(jta)全局事务控制:事务回滚时,多个数据库一起回滚 阅读全文
posted @ 2013-03-11 23:32 九果子 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 通过SessionFactory获取 Session的两个方法 openSession() 一个 getCurrentSession();1.openSession() 是获取一个新的session2.getCurrentSession () 获取和当前线程绑定的session,换言之,在同一个线程中,我们获取的session是同一session,这样可以利于事务控制如果希望使用getCurrentSession 需要配置 hibernate.cfg.xml中配置.3.如何选择原则: ①如果需要在同一线程中,保证使用同一个Session则,使用getCurrentSession() ②如果在一 阅读全文
posted @ 2013-03-11 23:28 九果子 阅读(548) 评论(0) 推荐(0) 编辑
摘要: hibernate的核心类和接口Configuration 类它的用处是:1.读取hibernate.cfg.xml2.管理对象关系映射文件 <mapping resource=””>3.加载hibernate 的驱动,url ,用户..4.管理hibernate配置信息SessionFactory 接口(会话工厂)1.可以缓存sql语句和数据(称为session级缓存)!!2.是一个重量级的类,因此我们需要保证一个数据库,有一个SessionFactroysession接口它的主要功能和作用是:1.Session一个实例代表与数据库的一次操作(当然一次操作可以是crud组合)2. 阅读全文
posted @ 2013-03-11 23:26 九果子 阅读(555) 评论(0) 推荐(0) 编辑
摘要: 1. 如果查询不到数据,get 会返回 null,但是不会报错, load 如果查询不到数据,则报错ObjectNotFoundException2.使用get 去查询数据,(先到一级/二级)会立即向db发出查询请求(select ...), 如果你使用的是 load查询数据,(先到一级、二级))即使查询到对象,返回的是一个代理对象,如果后面没有使用查询结果,它不会真的向数据库发select ,当程序员使用查询结果的时候才真的发出select ,这个现象我们称为懒加载(lazy)3.通过修改配置文件,我们可以取消懒加载 例:<class name="Employee" 阅读全文
posted @ 2013-03-11 23:20 九果子 阅读(143) 评论(0) 推荐(0) 编辑