- 浏览: 204137 次
- 性别:
- 来自: 北京
最新评论
-
zoutuo1986:
翻过的帖子,这篇讲配置最细
solr -
18612536750:
Struts2 标签,取得Map的某一个key对应value值 -
zhangzhihua5:
solr -
xiaguangme:
“capacity才是真正的Entry数组的大小,即真实的En ...
源码阅读之Map和Set -
qiyang199132:
我擦民工 都没人来。。 我来捧场了
JSP 防止重复提交 防止重复刷新 防止后退问题以及处理方式
文章列表
一。 inverse = ?
inverse=false(default)
用于单向one-to-many关联
parent.getChildren().add(child) // insert child
parent.getChildren().delete(child) // delete child
inverse=true
用于双向one-to-many关联
...
Hibernate性能优化(二)
- 博客分类:
- hibernate
Hibernate的缓存优化
1、首先设置EhCache,建立配置文件ehcache.xml,默认的位置在class-path,可以放到你的src目录下:
Xml代码
<?xml version="1.0" encoding="UTF-8"?>
<ehcache>
<diskStore path="java.io.tmpdir"/> ...
Hibernate性能优化一
- 博客分类:
- hibernate
有很多人认为Hibernate天生效率比较低,确实,在普遍情况下,需要将执行转换为SQL语句的 Hibernate的效率低于直接JDBC存取,然而,在经过比较好的性能优化之后,Hibernate的性能还是让人相当满意的,特别是应用二级缓存之后,甚至可以获得比较不使用缓存的JDBC更好的性能,下面介绍一些通常的Hibernate的优化策略:
1.抓取 优化
抓取是指Hibernate如何在关联关系之间进行导航的时候,Hibernate如何获取关联对象的策略,其主要定义了两个方面:如何抓取和何时抓取
1)如何抓取。
Hibernate3主要有两种种抓取方式,分 ...
1) 在处理大数据量时,会有大量的数据缓冲保存在Session的一级缓存中,这缓存大太时会严重显示性能,所以在使用Hibernate处理大数据量的,可以使用session.clear()或者session. Evict(Object) 在处理过程中,清除全部的缓存或者清除某个 ...
Java ClassLoader基础知识
- 博客分类:
- Java
Java中一共有四个类加载器,之所以叫类加载器,是程序要用到某个类的时候,要用类加载器载入内存。
这四个类加载器分别为:Bootstrap ClassLoader、Extension ClassLoader、AppClassLoader
和URLClassLoader,他们的作用其实从名字就可以 ...
Struts,Hibernate,Spring经典面试题收藏
关键字: struts, hibernate, spring
Hibernate工作原理及为什么要用?
原理:
1.读取并解析配置文件
2.读取并解析映射信息,创建SessionFactory
3.打开Sesssion
4.创建事务Transation
5.持久化操作
6.提交 ...
Struts2架构图
请求首先通过Filter chain,Filter主要包括ActionContextCleanUp,它主要清理当前线程的ActionContext和Dispatcher;FilterDispatcher主要通过AcionMapper来决定需要调用哪个Action。
ActionMapper取得了ActionMapping后, ...
最近常碰到有人问如何运用Hibernate操作Oracle中的Clob、Blob字段,相关问题大概如下几种:
如何读、写数据库中的Clob、Blob字段?
注释方式或者映射文件两种方式是如何实现的?
Clob字段是否可当成一般String来操作?
为什么Clob字段插入正常,但是读取时却为null
JDBC的驱动是不是需要最新的,才能支持Clob当成String?
JDBC驱动不更新,有没有办法实现Clob当成String操作?
。。。。。等等这些问题
下面我将以不同的实现方式的分别来演示,上述提到的问题答案将在具体的实例中给出详细的答案。本文目录:
[一]、Clob字段 - 注解方式的实现
[ ...
如果我们要保存的数据量十分巨大,海量信息的保存、更新,那么在程序中执行添加、更新方法,如session.save(),Session对象自身开辟的一级缓存会不断消耗,直至内存溢出。因为每save()一个对象都会添加到一级缓存中,数据量太 ...
Tomcat是接触最久的应用服务器,同时也被它的classloading愚弄过好多次。印象中比较深的一次是建立了一个web应用,使用oracle数据库,我把oracle的jdbc driver放到了WEB-INF/lib目录下面,然后给Tomcat配置了数据源,在这个应用里面连接这个数据源,来访问数据库。看起来一切正常,可是一启动Tomcat,就报出一个错误,说是找不到driver类。后来知道这是由于Tomcat的classloading机制造成的。总的来说,Tomcat开源、简单,文档清楚,又学习过一阵它的源码,是我了解最多的应用服务器了,所以就从它开始。
运行Tomcat就是 ...
一.jboss的热部署问题。
如果是在myeclise中启动jboss服务的话,必须用debug模式。否则热部署无效。
二.Trying to install an already registered mbean
这是因为mbean已经注册了
··1. 删除\server\default\deploy中oracle-ds.xml
··2. 删除server\default\deploy\jms中的hsqldb-jdbc-state-service.xml和hsqldb-jdbc2- service.xml
··3. 重启jboss
1.选择正确类型的sql。
有时候你想要动态生成sql,却发现自己开发的系统性能只需要使用静态sql。
2.放开锁定策略
locking越严格,性能越差。到底是用乐观锁还是悲观锁?请权衡数据库数据的完整性,为了性能~
3.频繁提交
尽快提交,以释放各种锁和程序代码中的数据库对象。这样能降低冲突的数量并及时释放内存。
4.考虑批处理
不一定非要在联机状态下才能做每件事情。实现关键任务,关键业务时候,应批量的对数据进行处理。
5.避免连接
尤其是两张字段很多的大表。请使用索引而不是什么狗P的左右连接。
6.利用特定的数据库特性
oracle有oracle的特性,mysql有mysql的特性。当你想做 ...
sqlserver 认为 null 最小。
升序排列:null 值默认排在最前。
要想排后面,则:order by case when col is null then 1 else 0 end ,col
降序排列:null 值默认排在最后。
要想排在前面,则:order by case when col is null then 0 else 1 end , col desc
【oracle】:
oracle认为 null 最大。
升序排列,默认情况下,null值排后面。
降序排序,默认情况下,null值排前面。
有几种办法改变这种情况:
(1)用 nvl 函数或dec ...
http://code.google.com/intl/zh-CN/apis/maps/documentation/staticmaps/index.html#CustomIcons
1,说明:复制表(源表名a,新表名b)
法一:select * into b from a where 1<>1;
法二:select top 0 * into b from a
2,说明:拷贝表
insert into b(a,b,c)select d,e,f from b;
3,跨数据库间的拷贝
insert into b(a,b,c)select d,e,f from b in '具体数据库' where 条件
4,说明:2张表关联表,删除主表中已经在附表中没有的信息
delete from table1 where exists (selec ...