- 博客(82)
- 资源 (2)
- 收藏
- 关注
原创 设置session失效的几种方法
设置session失效的几种方法在系统登录后,都会设置一个当前session失效的时间,以确保在用户长时间不与服务器交互,自动退出登录,销毁session。具体设置很简单,方法有三种:(1)在主页面或者公共页面中加入:session.setMaxInactiveInterval(900);参数900单位是秒,即在没有活动15分钟后,session将失效。这里要注意这个session设置的...
2013-12-12 09:30:19
191
原创 读<软件架构设计>
读<软件架构设计>1.什么是架构,一般从2方面理解,分别是组成派和决策派,组成派理解为,架构是组件以及组件之间的交互;决策派认为,架构是一系列的有层次的决策。 例如,mvc架构,它就是m,v,c三个组件以及它们之间交互的一种架构,view层创建controller层,controller层通过用户交互调用model的相应服务,model层从而做出一定的变化,并把这种变化通...
2013-02-20 15:39:23
240
原创 Java性能基础-Java堆内存
导读:对于程序员来说,知道堆空间,设置堆空间,处理堆空间的outOfMemoryError错误,分析heap dump是非常重要的。文中介绍了Java堆的学习教程以及Java堆内存(heap memory)的十个要点。文章内容如下:我刚开始学习Java编程时,可不知道什么是堆内存或堆空间(heap space),甚至根本不管对象创建时都放在哪里去了。正式了写一些程序后,经常会遇到java...
2013-01-25 15:25:58
186
原创 Collection框架
Collection框架集合框架(Collection Framework)泛指java.util包的若干个类和接口.如Collection,List,ArrayList,LinkedList,Vector(自动增长数组),HashSet,HashMap等.集合框架中的类主要封装的是典型的数据结构,如动态数组,链表,堆栈,集合,哈希表等.集合框架类似编程中经常用到的工具类,使得编码这...
2013-01-25 15:13:17
127
原创 为什么匿名内部类只能访问其所在方法中的final变量
(1).内部类是外部类的一个成员,就像外部类的成员方法一样,所以内部类有权限访问外部类的所有成员,包括private的。(2).内部类不能访问外部类方法中的局部变量,除非变量是final的(一般发生在方法中定义的内部类)。这是因为局部变量的生命周期原因。class Outer{ private int a; public class Inner{ private int ...
2013-01-25 14:48:44
166
原创 数据库备份的命令及方法汇总(oracle备份)
数据库备份的命令及方法汇总(oracle备份) oracle数据库:1):命令行备份: 1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中 exp system/manager@TEST file=d:\daochu.dmp full=y 2 将数据库中system用户与sys用户的表导出 exp syste...
2012-11-02 09:21:13
1367
原创 Oracle数据库的三种标准的备份方法
Oracle数据库的三种标准的备份方法Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP)、热备份和冷备份。导出备件是一种逻辑备份,冷备份和热备份是物理备份。一、 导出/导入(Export/Import)利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。1、 简单导出数据(Exp...
2012-11-02 09:19:49
196
原创 什么是304缓存
什么是304缓存?如何理解304与200服务器知识,前端开发优化实战时间:2011-09-03 19:07 来源:http://www.workcss.com/ 作者:蜗客div+css 点击:754次http://www.workcss.com/ 我们知道,对于WEB页面中的JS和CCS,并不会每次都请求完整的内容,有时候会直接利用本地的缓存;而对页面本身,却往往会去...
2012-10-12 09:43:44
410
原创 大数据量查询的优化
服务器软/硬件配置如下: CPU:四路至强 2.0G; 内存:8G; 操作系统:Windows Server 2003 SP2; 数据库:SQL Server 2005 SP2; 某个库中有一个论坛主帖表,每天增加数千的数据,现在整个表的数据量已经是百万级。由于论坛不断升级,增加了N个字段,为了实现良好的扩展性,将某些字段移到了一个子表中,而子表中的某个字段又是外键关联另一个表。没有添加任...
2012-10-09 11:34:42
162
原创 Hibernate性能优化
有很多人认为Hibernate天生效率比较低,确实,在普遍情况下,需要将执行转换为SQL语句的 Hibernate的效率低于直接JDBC存取,然而,在经过比较好的性能优化之后,Hibernate的性能还是让人相当满意的,特别是应用二级缓存之 后,甚至可以获得比较不使用缓存的JDBC更好的性能,下面介绍一些通常的Hibernate的优化策略:1.抓取 优化抓取是指Hibernate如何在关联关系之间...
2012-10-09 11:34:31
129
原创 大数据量高并发的数据库优化
大数据量高并发的数据库优化 - [技术研究]2009年03月17日一、数据库结构的设计 如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能。所以,在一个系统开始实施之前,完备的数据库模型的设计是必须的。 在一个系统分析、设计阶段,因为数据量较小,负荷较低。我们往往只注意到功能的实现,而很难...
2012-10-09 11:34:17
103
原创 高并发,大数据量,你的系统考虑哪些问题?
1,订票系统案例,某航班只有一张机票,假定有1w个人打开你的网站来订票,问你如何解决并发问题(可扩展到任何高并发网站要考虑的并发读写问题) 问题,1w个人来访问,票没出去前要保证大家都能看到有票,不可能一个人在看到票的时候别人就不能看了。到底谁能抢到,那得看这个人的“运气”(网络快慢等) 其次考虑的问题,并发,1w个人同时点击购买,到底谁能成交?总共只有一张票。...
2012-10-09 11:34:06
154
原创 Oracle性能优化系列
ORACLE SQL性能优化系列<!--[if !supportLists]-->1. <!--[endif]-->选用适合的ORACLE优化器ORACLE的优化器共有3种:<!--[if !supportLists]-->l <!--[endif]-->RULE (基于规则) <!--...
2012-10-09 11:33:50
116
原创 海量查询的数据优化
一、因情制宜,建立“适当”的索引 建立“适当”的索引是实现查询优化的首要前提。 索引(index)是除表之外另一重要的、用户定义的存储在物理介质上的数据结构。当根据索引码的值搜索数据时,索引提供了对数据的快速访问。事实上,没有索引,数据库也能根据SELECT语句成功地检索到结果,但随着表变得越来越大,使用“适当”的索引的效果就越来越明显。注意,在这句话中,我们用了“适当”这个词,这是因为,如果使用...
2012-10-08 09:29:40
101
原创 提高数据库查询速度的几个思路
提高数据库查询速度的几个思路 1、缓存,在持久层或持久层之上做缓存。 2、数据库表的大字段剥离,保证单条记录的数据量很小。 3、恰当地使用索引。 4、必要时建立多级索引。 5、分析Oracle的执行计划,通过表数据统计等方式协助数据库走正确的查询方式,该走索引就走索引,该走全表扫描就走全表扫描。 6、表分区和拆分,无论是业务逻辑上的拆分(如一个月一张报表、分库)还是无业务含义的分区(如根据ID取模...
2012-10-08 09:28:12
107
原创 SQL 语句优化总结
SQL 语句优化总结个人日常优化SQL语句的总结笔记目前 DB 承受 日平均 500W PV 左右的站点,数据文件大小在20G左右,表数据量 在 50 - 500 W 左右仅供参考: 1 . 查询的数据行分布情况,决定索引是否用得上,如果查询的数据行在数据表中分布均匀,且所占比重较大,能用上索引;反之,用不上索引2 . select 的字段数目,特别是...
2012-10-08 09:26:23
108
原创 Sql Server 索引使用情况及优化的相关 Sql
Sql Server 索引使用情况及优化的相关 Sql 语句,非常好的SQL语句,记录于此: --Begin Index(索引) 分析优化的相关 Sql -- 返回当前数据库所有碎片率大于25%的索引-- 运行本语句会扫描很多数据页面-- 避免在系统负载比较高时运行-- 避免在系统负载比较高时运行declare @dbid intselect @dbid = db_id()S...
2012-10-08 09:25:02
98
原创 优化数据库大幅度提高Oracle的性能
数据库优化的讨论可以说是一个永恒的主题。资深的Oracle优化人员通常会要求提出性能问题的人对数据库做一个statspack,贴出数据库配置等等。 还有的人认为要抓出执行最慢的语句来进行优化。但实际情况是,提出疑问的人很可能根本不懂执行计划,更不要说statspack了。而我认为,数据库优 化,应该首先从大的方面考虑:网络、服务器硬件配置、操作系统配置、Oracle服务器配置、数据结构组...
2012-10-08 09:23:29
87
原创 mappingLocations、mappingDirectoryLocations与mappingJarLocations 区别
原文地址:mappingLocations、mappingDirectoryLocations与mappingJarLocations 区别作者:☆水『若寒由于spring对hibernate配置文件hibernate.cfg.xml的集成相当好, 所以,在项目中我一直使用spring的org.springframework.orm.hibernate.LocalSessionFac...
2012-09-24 10:49:08
163
原创 连接池
连接池原理图:什么是连接池简单点说就是管理与数据库连接的实例池连接池的好处:1:重用与数据库的连接,节省资源2:免去程序与数据库建立连接的工作,提高效率 连接池运行的基本过程:1:当连接池启动的时候,创建几个跟数据库的连接2:程序运行时,向连接池请求跟数据库的连接,此时连接池会返回可用的与数据库的连接的实例3:程序用完过后,调用conn.close()方法...
2012-09-18 09:06:38
100
原创 sql执行cpu占用情况查询,查表是否已锁
select b.username username,a.disk_reads reads, a.executions exec,a.disk_reads/decode(a.executions,0,1,a.executions) rds_exec_ratio, a.sql_text Statement,a.CPU_TIME,a.CPU_TIME/decode(a.e...
2012-09-17 13:24:29
176
原创 优化SQL语句的总结笔记
个人日常优化SQL语句的总结笔记目前 DB 承受 日平均 500W PV 左右的站点,数据文件大小在20G左右,表数据量 在 50 - 500 W 左右仅供参考: 1 . 查询的数据行分布情况,决定索引是否用得上,如果查询的数据行在数据表中分布均匀,且所占比重较大,能用上索引;反之,用不上索引2 . select 的字段数目,特别是 长度较大的字段,对 语句的执行...
2012-09-17 10:09:22
99
原创 提高数据库查询速度的几个思路
提高数据库查询速度的几个思路 1、缓存,在持久层或持久层之上做缓存。 2、数据库表的大字段剥离,保证单条记录的数据量很小。 3、恰当地使用索引。 4、必要时建立多级索引。 5、分析Oracle的执行计划,通过表数据统计等方式协助数据库走正确的查询方式,该走索引就走索引,该走全表扫描就走全表扫描。 6、表分区和拆分,无论是业务逻辑上的拆分(如一个月一张报表、分库)还是无业务含义的分区(如根据ID取模...
2012-09-17 10:08:57
89
原创 对象的粒度
问题:什么叫对象的粒度?粗粒度和细粒度啊? 答:同样一个系统,同样的需求。两个设计师给出两种设计。两个设计总的代码行数差不多,但是类的数目不同。第一个设计有10个类,第二个设计有50个类。这样平均起来每个类所含有的代码行数就有很大的区别,第一种设计中的代码行数平均比第二种设计多大约5倍。第一种设计是粗粒度的,第二种设计是细粒度的。第一种设计中对象的粒度平均是第二种设计中对象粒度的5倍。...
2012-09-13 17:52:24
549
原创 Tomcat目录及server.xml详解
本文参考自:Tomcat全攻略参考链接:http://www.ibm.com/developerworks/cn/java/l-tomcat/index.html#1 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,目前最新版本是6.x,相对5.x性能提升很多,主要优化了内存使用,增强IO能力,重新构造集群功能。 近期对Tomca...
2012-09-11 13:23:55
113
原创 三种连接都是以连接MySQl为例
三种连接都是以连接MySQl为例。 <!-- JDBC驱动程序 --> <property name="connection.driver_class">org.gjt.mm.mysql.Driver</property> <property name="connection.url">jdbc:mysql://localhost:3306/s...
2012-09-10 14:43:50
95
原创 加速你的Hibernate引擎(下)
4.6 HQL调优4.6.1 索引调优HQL看起来和SQL很相似。从HQL的WHERE子句中通常可以猜到相应的SQL WHERE子句。WHERE子句中的字段决定了数据库将选择的索引。大多数Hibernate开发者所常犯的一个错误是无论何时,当需要新WHERE子句的时候都会创建一个新的索引。因为索引会带来额外的数据更新开销,所以应该争取创建少量索引来覆盖尽可能多的查询。4.1节让你...
2012-09-10 14:43:36
75
原创 加速你的Hibernate引擎(上)
1.引言Hibernate是最流行的对象关系映射(ORM)引擎之一,它提供了数据持久化和查询服务。通过我们的使用Hibernate 3.3.1和Oracle 9i的能源项目中的一些例子,本文涵盖了很多Hibernate调优技术。其中还提供了一些掌握Hibernate调优技术所必需的数据库知识。在你的项目中引入Hibernate并让它跑起来是很容易的。但是,要让它跑得好却是需要很多时间...
2012-09-07 13:28:51
117
原创 Hibernate二级缓存(转)
这两天优化一个模块,那模块的问题是有时用户量访问量大时就慢了,于是想起去优化数据库操作,使用Hibernate的二级缓存。 先是看了一些参考手册,然后找了几个配置的实例,测试成功。对二级缓存有了更多的认识。 缓存本质上来说就是HashMap,一个ID对应一个Value,暂时放入内在或者硬盘,用的时候先从缓存里面取,若没有再去数据库取。避免缓存出现赃数据和缓存的命中率是一对死对头,若想命中效高...
2012-09-07 11:38:59
104
原创 Hibernate---延迟加载和OpenSessionInView
Hibernate与延迟加载: Hibernate对象关系映射提供延迟的与非延迟的对象初始化。非延迟加载在读取一个对象的时候会将与这个对象所有相关的其他对象一起读取出来。这有时会导致成百的(如果不是成千的话) select 语句在读取对象的时候执行。这个问题有时出现在使用双向关系的时候,经常会导致整个数据库都在初始化的阶段被读出来了。当然,你可以不厌其烦地检查每一个对象与其他对象的关系,并把那些最...
2012-09-07 11:19:36
78
原创 浅谈Hibernate的flush机制
随着Hibernate在Java开发中的广泛应用,我们在使用Hibernate进行对象持久化操作中也遇到了各种各样的问题。这些问题往往都是我们对Hibernate缺乏了解所致, 这是在一次事务提交时遇到的异常。 an assertion failure occured (this may indicate a bug in Hibernate, but is more lik...
2012-09-07 11:10:39
94
原创 Hibernate源代码分析之大纲
转自:http://liuxinglanyue.iteye.com/blog/833053大致的源代码包1. org.hibernate :该包的类基本上都是接口类和异常类2. org.hibernate.cache.* :cache的实现类3. org.hibernate.cfg.* :配置文件读取类4. org.hibernat...
2012-09-07 10:45:20
79
原创 tif转换成jpg格式
public String tifTransfertoJpg(String filePath,String fileName) throws IOException{ /* tif转换到jpg格式 */ String input = filePath+fileName; String output = filePath+fileName.substring(0, Stri...
2012-09-05 11:17:45
1411
原创 java获得项目绝对路径
在jsp和class文件中调用的相对路径不同。在jsp里,根目录是WebRoot 在class文件中,根目录是WebRoot/WEB-INF/classes 当然你也可以用System.getProperty("user.dir")获取你工程的绝对路径。另:在Jsp,Servlet,Java中详细获得路径的方法!1.jsp中取得路径:以工程名为TEST为例:(1)得到包含工程...
2012-09-05 11:16:50
264
原创 Cglib介绍
1.CGLIB包的介绍 代理为控制要访问的目标对象提供了一种途径。当访问对象时,它引入了一个间接的层。JDK自从1.3版本开始,就引入了动态代理,并且经常被用来动态地创建代理。JDK的动态代理用起来非常简单,当它有一个限制,就是使用动态代理的对象必须实现一个或多个接口。如果想代理没有实现接口的继承的类,该怎么办?现在我们可以使用CGLIB包 CGLIB是一个强大的高性能的代码生成...
2012-09-03 11:59:30
250
原创 如何获得ResultSet的结构
1,如何获得ResultSet的结构 ResultSetMetaData rsmd=rs.getMetaData();cn=rsmd.getColumnCount();for(int ik=1;ik<=rsmd.getColumnCount();ik++) { hu1.append(rsmd.getColumnName(ik)+"\t")...
2012-08-31 17:55:13
275
1
原创 什么是web,axis,wsdd,soap等等
什么是web,axis,wsdd,soap等等1, 什么是 Web 服务?Web 是使应用程序可以以与平台和编程语言无关的方式进行相互通信的一项技术。Web 服务是一个软件接口,它描述了一组可以在网络上通过标准化的 XML 消息传递访问的操作。它使用基于 XML 语言的协议来描述要执行的操作或者要与另一个 Web 服务交换的数据。一组以这种方式交互的 Web 服务在面向服...
2012-08-31 09:50:40
196
原创 配置本属性,可以使得改动struts配置文件不用重启应用服务器
<constant name="struts.configuration.xml.reload" value="true"/> <constant name="struts.enable.DynamicMethodInvocation" value="true" /> <constant name="struts.enabl
2012-08-27 14:10:52
107
原创 Oracle安装问题
Oracle10g安装过程中"无法确定主机的IP地址时产生该异常错误" :解决办法1. Oracle10g安装过程中出现“无法确定主机的IP地址时产生该异常错误”。(本机设置自动获得IP地址)Oracle在用Net Configuraton配置网络服务名时需要取系统的IP地址,而如果解析IP地址错误就会出现上述异常。经修改c:\windows\system32...
2012-08-24 15:11:57
104
原创 【第九章】 Spring的事务 之 9.3 编程式事务 ——跟我学spring3
【第九章】 Spring的事务 之 9.3 编程式事务 ——跟我学spring3博客分类: spring[原创]spring 9.3 编程式事务9.3.1 编程式事务概述 所谓编程式事务指的是通过编码方式实现事务,即类似于JDBC编程实现事务管理。 Spring框架提供一致的事务抽象,因此对于JDBC还是...
2012-08-20 08:02:18
108
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人