自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 Java对象中序列化和反序列化方法讲解

当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个Java对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为Java对象。  把Java对象转换为字节序列的过程称为对象的序列化。  把字节序列恢复为Java对象的过程称为对象的反序列化。  对象的序列化主要有两种用途:  1) 把对象的...

2012-08-29 21:07:24 69

原创 JSP自定义标签rtexprvalue属性

其实以前也有写过自定义标签, 但是没有注意到过<rtexprvalue>的用法, 最近这几天又用上自定义标签了, 突然发现<rtexprvalue>的用法是有讲究的. rtexprvalue的全称是 Run-time Expression Value, 它用于表示是否可以使用JSP表达式. 当在<attribute>标签里指定<rtexprvalue&gt...

2012-08-29 18:03:14 86

原创 jsp自定义标签(taglib)编写的原理和实现

一个tag就是一个普通的java类,它惟一特别之处是它必须继承TagSupport或者BodyTagSupport类。这两个类提供了一些方法,负责jsp页面和你编写的类之间的交互,例如输入,输出。而这两个类是由jsp容器提供的,无须开发人员自己实现。换句话说,你只需把实现了业务逻辑的类继承TagSupport或者BodyTagSupport,再做一些特别的工作,你的类就是一个Tag。并且它自己负责...

2012-08-29 17:55:36 93

原创 JSP引擎的工作原理

JSP运行环境:执行JSP代码需要在服务器上安装JSP引擎,比较常见的引擎有WebLogic和Tomcat。把这些支持JSP的web服务器配置好后。就可以再客户端通过浏览器来访问JSP页面了。默认端口一般是7001.JSP生命周期:JSP处理请求的方法就是把这些请求都统一看做Servlet。由于这个原因,JSP的很多功能和生命周期,都由Java Servlet技术标准定义的。这种限制,在动态内容方...

2012-08-29 17:06:04 93

原创 JSP标签库解析

为什么要把JSP选作自己主要的服务器端应用程序编写工具呢?当然,JSP迷人的特性和功能不少,但JSP标签库是让我做出这一决定的最重要诱因之一。为什么这样说呢?原因有两个:维护和开发速度。服务器端脚本语言其实就像是开发Internet的熔炉。在一个服务器页面上,你可以很方便地混合各种不同的脚本方法和对象。这种页面简直就是建筑Web的混凝土。正是这种“材料”的混合给予了服务器端脚本强大的信息处理能...

2012-08-29 16:09:07 100

原创 java 成员变量与局部变量的存储

转自http://blog.csdn.net/yuan22003/article/details/68222211.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制. 2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。) 3. 堆:存放所有new出来的对象。 4. 静...

2012-08-26 15:42:25 92

原创 抽象类接口继承

1、接口是否可继承接口?答:不可以。接口是要被实现而不是被继承的,加入你用词不当,问接口是否可实现接口,答案仍然是不能,因为接口里面的方法必须全部是抽象方法,接口A实现了接口B,那么A就要重写B的抽象方法,重写了之后,A的性质也就不是接口A了,变成了抽象类A。2、抽象类是否可实现接口?答:可以。正如第一题所说。3、抽象类是否可继承实体类?答:可以。 问: 抽象类是否可继承实体类 (conc...

2012-08-25 18:13:58 76

原创 sql中exist与in 的区别

sql中exist与in 的区别2007年03月02日 星期五 16:52in 和 exists也是很好区别的.in 是一个集合运算符.a in {a,c,d,s,d....}这个运算中,前面是一个元素,后面是一个集合,集合中的元素类型是和前面的元素一样的. 而exists是一个存在判断,如果后面的查询中有结果,则exists为真,否则为假.in 运算用在语句中,它后面带的se...

2012-08-24 09:51:53 87

原创 基于EHCache实现缓存去重

 由于近期的工作主要集中在数据处理上,而性能问题时而暴露出来,我对需要处理的数据进行了一下简单的分析,发现存在大量的重复数据,这自然让我想到了去建立一个二级缓存把曾经处理过的数据缓存起来,避免重复处理。我们业务上其实就是对最近处理过的数据重复出现几率比较高,所以有一个几百兆的内存空间用LRU的策略进行去重应该就足够了。    其实可以选择的方案有很多,初步筛选了一下,我决定在对Java支持度比...

2012-08-20 10:48:54 197

原创 ORACLE-SQL优化

Oracle的优化器共有两种的优化方式,即:基于规则的优化方式(Rule-Based Optimization,RBO) 基于代价的优化方式(Cost-Based Optimization,CBO)      RBO方式:优化器在分析SQL语句时,所遵循的是Oracle内部预定的一些规则。比如我们常见的,当一个where子句中的某一列有索引时,使用索引。     CBO方式:依...

2012-08-15 16:20:42 78

原创 oracle sql优化案例2(RBO下调整表连接的顺序) .

发现问题:通过statspack(statspack的bug导致buffer gets为负值,部分top sql无法正确列出),经观察,由于两个数据库同在一台主机,c数据库也消耗了主机1/4的CPU资源,也存在着未优化的sql语句,具体如下:该语句从2012年1月13日凌晨开始出现,消耗了C数据库80%的资源,即整个主机15%的CPU。需要提前说明一,由于历史原因,该数据库使用RBO。  ...

2012-08-15 16:18:33 95

原创 oracle sql优化案例1(使用组合索引) .

Bad sqlSELECT T3.CONFLICT_ID,       T3.LAST_UPD,       T3.CREATED,       T3.LAST_UPD_BY,       T3.CREATED_BY,       T3.MODIFICATION_NUM,       T3.ROW_ID,       T3.ATTR_04,       T3...

2012-08-15 16:14:08 114

原创 脏读,不可重复读,幻读 .

1. 脏读 :脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。 2. 不可重复读 :是指在一个事务内,多次读同一数据。在这个事务还没有结束时,另外一个事务也访问该同一数据。那么,在第一个事务中的两次读数据之间,由于第二个事务的修改,那么第一个事务两次读到的的数据可能是不一样的。这样就发生了在一个事务内...

2012-08-14 11:25:26 91

原创 Struts2工作流程

上图来源于Struts2官方站点,是Struts 2 的整体结构。 一个请求在Struts2框架中的处理大概分为以下几个步骤 1 客户端初始化一个指向Servlet容器(例如Tomcat)的请求 2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh P...

2012-08-13 11:01:12 84

原创 hashCode与equals

在java的集合中,判断两个对象是否相等的规则是: 首先,判断两个对象的hashCode是否相等如果不相等,认为两个对象也不相等如果相等,则判断两个对象用equals运算是否相等 如果不相等,认为两个对象也不相等 如果相等,认为两个对象相等 我们在equals方法中需要向下转型,效率很低,所以先判断hashCode方法可以提高效率 如何重写hashCode方法呢? ...

2012-08-13 10:22:06 79

原创 java equal 与==详谈

java中equals方法和“==”的区别:equals 方法是 java.lang.Object 类的方法。有两种用法说明:(1)对于字符串变量来说,使用“==”和“equals()”方法比较字符串时,其比较方法不同。“==”比较两个变量本身的值,即两个对象在内存中的首地址。“equals()”比较字符串中所包含的内容是否相同。比如:String s1,s2,s3 = "abc", s4 =...

2012-08-13 10:14:48 54

原创 linux常用命令

1.修改口令的命令是passwd2.退出系统不论是超级用户,还是普通用户,需要退出系统时,在shell提示符下,键入exit命令3.文件的复制 cp命令4.用户可以使用mv命令来为文件或目录改名或将文件由一个目录移入另一个目录中5.用户可以用rm命令删除不需要的文件,-r递归删除6.创建一个目录mkdir7.删除空目录rmdir8.改变工作目录cd9.要想知道当...

2012-08-10 11:57:25 78

原创 Tomcat的重启shell脚本

最近做性能测试,每次测试完成都要重启tomcat,索引很麻烦,为此写了一个简单的shell脚本#!/bin/sh#kill tomcat pidpidlist=`ps -ef|grep tomcat_message_8002|grep -v "grep"|awk '{print $2}'`  //找到tomcat的PID号- echo "tomcat Id list :$pidli...

2012-08-09 17:55:25 124

原创 Linux 入门常用命令

[文章信息]作者     夏智敏时间     2003-03-06出处:     天极软件频道责任编辑     mage文章导读     总的来说,Linux还是一个用命令来操作的系统。学习linux,首要的是掌握它的命令。1     Linux进入与退出系统 1.1     进入Linux系统必须要输入用户的账号,在系统安装过程中可以创建以下两种帐号:1.root--超级用户帐号(系统管...

2012-08-09 17:41:11 80

原创 怎样使用putty中PSCP、PSFTP的实际应用

PSCP:它是Putty的文件传输工具,用于两台电脑之间的文件传输,一次只能传输一个文件,文件传输完毕立即终止会话。PSFTP:它是Putty的文件传输工具,用于两台电脑之间的文件传输,一次能传输多个文件,文件传输完毕立即终止会话。 工具/原料putty、pscp 、psftp 步骤/方法模拟案例一:利用root用户将d...

2012-08-09 16:28:33 314

原创 Linux删除所有文件夹及其文件

Linux/Fedora/Ubuntu系统中,有时我们想删除将一个文件夹(主目录)和这个文件夹下子目录(子文件/子文件夹)中的文件都删除,Linux单独使用rm/rmdir都无法删除,其实方法很简单,这里告诉大家如何删除文件夹及文件夹下所有文件的方法。  比如我们有一个文件夹名称为cc  这个主文件夹下面有一个子文件夹cc1和一个文件file1,当然子文件夹下还可以有多个子目录和文件,这里...

2012-08-09 11:54:02 311

原创 %type与%rowtype区别

%TYPE:属性的一种方式是在变量声明中使用。%TYPE是用于取得表或游标中的字段类型,例如,可以使用它来声明ARTIST表中字段类型相同的变量,注意可以在表中名和字段之间使用点号(.)。DEALARE V_UNIT_NAME    kwmis_xm_unit_bg.UNIT_NAME%TYPE;V_BGOID    kwmis_xm_unit_bg.BGOID%TYPE;通过这种方式就不需要明确...

2012-08-07 15:23:22 75

原创 forward 和redirect的区别

1.从地址栏显示来说 forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址.  redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.所以redirect等于客户端向服务器...

2012-08-07 10:55:51 84

原创 oracle索引

       在OLTP 类型的数据库中经常更新的表INDEX不要超过 5  个 。而且尽量使用单独索引 。   在没有很好按照某个索引字段排序的表中, 在返回值少于总行的 7% 左右使用这个INDEX比较好 。 超过了总行数的 7% 性能不会太好了  。 在事先就排好顺序的表的索引字段上查数据,返回值少于 40% 的情况下使用这个INDEX会比较好 。 普通索引(单列)create in...

2012-08-06 14:44:30 94

原创 动态代理方案性能对比

by william.liangfei on 十一月 17th, 2010<!--end post header-->因服务框架需要用动态代理生成客户端接口的stub,所以做了一下性能评测,动态代理工具比较成熟的产品有:JDK自带的,ASM,CGLIB(基于ASM包装),JAVAASSIST,使用的版本分别为:JDK-1.6.0_18-b07, ASM-3.3, CGLIB...

2012-08-06 11:08:12 72

原创 java.lang.instrument笔记

什么是Instrumentation?java Instrumentation指的是可以用独立于应用程序之外的代理(agent)程序来监测和协助运行在JVM上的应用程序。这种监测和协助包括但不限于获取JVM运行时状态,替换和修改类定义等。 Java SE5中使用JVM TI替代了JVM PI和JVM DI。提供一套代理机制,支持独立于JVM应用程序之外的程序以代理的方式连接和访问JVM。j...

2012-08-06 10:55:04 495

原创 Hibernate要领

Hibernate有很多值得学习的地点,这里咱们首要推荐 Hibernate Iterator要领,包括推荐事务控制等方面。 Hibernate Iterator要领 1.完成同样一件事,Hibernate提供了可供挑选的一些方式,但详细运用什么方式,可能用性能/代码都会有影响。显示,一次返回十万条记录(List /Set/Bag/Map等)执行 处理,很可能导致内存不够的疑问,而假如用基于游标(...

2012-08-02 11:14:56 79

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除