- 博客(13)
- 资源 (9)
- 收藏
- 关注
原创 Spring中IOC和AOP的详细解释
我们是在使用Spring框架的过程中,其实就是为了使用IOC,依赖注入,和AOP,面向切面编程,这两个是Spring的灵魂。主要用到的设计模式有工厂模式和代理模式。IOC就是典型的工厂模式,通过sessionfactory去注入实例。AOP就是典型的代理模式的体现。代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消
2013-08-29 17:10:28 8514 2
原创 悲观锁和乐观锁
悲观锁对数据被修改,非常保守,必须要将事务加锁,所以在悲观锁的情况下,所有事务操作都要加锁,依靠数据库的锁机制来保证数据的一致性。但是性能开销较大如一个金融系统,当某个操作员读取用户的数据,并在读出的用户数据的基础上进 行修改时(如更改用户帐户余额),如果采用悲观锁机制,也就意味着整个操作过 程中(从操作员读出数据、开始修改直至提交修改结果的全过程,甚至还包括操作 员中
2013-08-29 17:00:24 906
转载 JVM参数调整,经验分享,转载自撒迦
0、各参数的默认值 在讨论HotSpot VM的各参数的陷阱前,大家应该先了解HotSpot VM到底有哪些参数可以设置,这些参数的默认值都是什么。 有几种办法可以帮助大家获取参数的信息。首先为了大致了解都有些什么参数可以设置,可以参考HotSpot VM里的各个globals.hpp文件:(以下链接取自HotSpot 20.0,与JDK 6 update 25对应) globals.hpp gl
2013-08-28 10:05:58 2113
转载 jquery validate 详解
jQuery校验官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation一导入js库二、默认校验规则(1)required:true 必输字段(2)remote:"check.php" 使用ajax方法调用check.php验证输入值
2013-08-26 14:41:06 815
原创 一句话解释JVM中空间分配担保的问题
先解释YGC:当对象生成在EDEN区失败时,出发一次YGC,先扫描EDEN区中的存活对象,进入S0区,S0放不下的进入OLD区,再扫描S1区,若存活次数超过阀值则进入OLD区,其它进入S0区,然后S0和S1交换一次。那么当发生YGC时,JVM会首先检查老年代最大的可用连续空间是否大于新生代所有对象的总和,如果大于,那么这次YGC是安全的,如果不大于的话,JVM就需要判断Handle
2013-08-22 16:24:23 6020 4
原创 JVM中内存回收深入分析,各种垃圾收集器解释分析
JVM启动有两种模式,client和server一般JVM启动时会根据主机情况分析选择采用那种模式启动可发现是server模式JVM中尤其需要关注的就是HEAP堆区堆区分为新生代和老年代新生代分为eden,s0,s1老年代就Old什么时候出发垃圾回收呢?当新对象在eden区分配失败时就会触发一次YGC,即新生代的垃圾回收,eden区中的存活对象进入s0,s0若放
2013-08-22 15:11:49 1601
原创 JAVA多线程中的锁机制
JAVA中的每个对象都可以用作一个实现同步的锁,这种称为内置锁,内置锁是可重入的,因此如果某个线程试图获取一个已经由它自己持有的锁,那么这个请求就会成功。重入的实现方法是,为每个锁关联一个获取计数值和一个所有者线程,当计数值为0,这个锁就是开放的,当线程请求该锁时,JVM将记下锁的持有者,并且将计数值+1,如果同一个线程再次回去该锁,计数值继续+1,通过计数值可以看出重入的次数,计数值为0,则
2013-08-21 15:00:53 976
原创 oracle索引再论
ORACLE中索引的数据结构有B树结构和位图结构。我们通常用的普通索引、反向键索引、函数索引等都是B树结构的,是树状结构;位图结构则只有叶子节点。B树索引操作有唯一性扫描,范围扫描,快速索引全扫描(INDEX FAST FULL SCAN),索引全扫描(INDEX FULL SCAN);而位图索引的访问方式只有索引全扫描。B树的所有叶子节点都有一条双向链,根据索引键值大小排序的,B树,
2013-08-20 16:31:26 983
原创 ORACLE数据缓冲区DB cache
DB CACHE是以数据块为单位组织的缓冲区,数据库刚刚启动的时候,DB CACHE中几乎没有用户数据的缓冲,当会话访问数据库中的表或索引时,首先会检查DB CACHE中是否存在该数据,如果不存在,就会从数据文件中读取该数据块到DB CACHE中,然后再从DB CACHE中读取该数据。定位DB CACHE中的数据块是通过散列算法实现的,有一个哈希链结构,缓冲区中正在使用的数据块都在上面。如
2013-08-20 15:48:01 1401
原创 JAVA 面试整理,面试汇总
1、JAVA是通过重写和重载来实现多态性的。重写:同样的方法签名,不同的方法实现重载:同样的方法名,不同的参数类型或参数个数2、JAVA中如果存在不再使用的对象,但是程序又持有该对象的引用,就会导致对象无法回收的情况,内存泄露。3、char类型变量可以存储一个汉字,因为JAVA中以UNICODE编码,一个char占16个bit位,即两个字节,所以存储一个汉字没有问题。4、Str
2013-08-05 17:28:14 914
原创 字节流,字符流 有什么区别
字节输入输出流:InputStream,OutputStreamInputStream: 常用子类-->FileInputStream,BufferedInputStream输出流同理。字节流可以处理二进制文件,有AudioInputStream,ByteArrayInputStream但是对文本处理稍差字符输入输出流:Reader,WriterRead
2013-08-05 16:19:19 1082
原创 SQL_TRACE/10046事件如何使用,详细分析
这是oracle提供用来进行SQL跟踪的强有力的工具,可跟踪解析过程,执行计划,绑定变量,递归调用等等先执行SQL的TRACE命令,生成TRACE文件,TKPROF格式化,分析文件alter session set sql_trace=true,启动sql_trace功能。alter session set events '10046 trace name context fo
2013-08-01 14:50:43 1368
原创 oracle AWR深入研究分析,如何使用
AWR的前身是statspack,当然现在还在,只不过大家都在使用AWR,因为它方便,简单,直观,形象。AWR是oracle内置工具,安装oracle时已经自动安装完毕,无需额外安装了。SELECT *FROM DBA_HIST_WR_CONTROL;这里主要查看AWR策略的制定信息,多久抓一次快照,保留多长时间。DECLAREBEGIN DBMS_WO
2013-08-01 13:53:54 1485
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人