自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 struts2漏洞S2-021

前段时间这个漏洞吵得比较火,最近研究了一下tomcat底层代码,结合struts2的框架源码跟踪了一下这个漏洞的触发过程。在整个debug过程中,感触颇多,遂留下此文以作三思笔记,不敢奢望太多,只希望对感兴趣的童鞋有所帮助,大牛飘过。如果文中哪里有不准确之处,还望各位积极拍砖指正。0x00 老漏洞新玩法关于利用,不得不先说一下S2-020这个漏洞,其实之前网上已经有相关文档讲述S...

2014-05-08 23:13:51 1953

原创 Oracle的索引结构

 B*树索引就是我们说的“传统”索引,这是数据库中最常用的一类索引结构。其实现与二叉查找树类似,目标是减少oracle查找数据的时间。如果在一个数字列上有一个索引,那么理论上结构应该是这样的:        这个树最底层是叶子节点,包含索引键以及一个rowid(指向索引行)。叶子节点上面的称为分支块,用于在结构中实现导航。例如:想在索引中找到值42,从树顶开始查找,进入左分支,查找这个块,发...

2014-01-05 01:15:53 874

原创 Oracle delete的相关实际的执行过程

我们今天主要向大家介绍的是Oracle delete的相关实际的执行过程,我们首先从Oracle Delete与Commit的相关操作流程的详细解析,以下就是具体内容的描述,希望在你今后的学习中会有所帮助。(1)删除(Delete)流程Oracle读Block(数据块)到Buffer Cache(缓冲区)(如果该Block在Buffer中不存在);在Redo Log Buffer(重...

2014-01-05 00:33:07 373

原创 Oracle高水位详解

一、什么是水线(High Water Mark)?所有的oracle段(segments,在此,为了理解方便,建议把segment作为表的一个同义词) 都有一个在段内容纳数据的上限,我们把这个上限称为"high water mark"或HWM。这个HWM是一个标记,用来说明已经有多少没有使用的数据块分配给这个segment。HWM通常增长的幅度为一次5个数据块,原则上HWM只会增大,不会缩小...

2014-01-05 00:07:10 220

原创 Oracle提示大全

Hint概述 基于代价的优化器是很聪明的,在绝大多数情况下它会选择正确的优化器,减轻了DBA的负担。但有时它也聪明反被聪明误,选择了很差的执行计划,使某个语句的执行变得奇慢无比。此时就需要DBA进行人为的干预,告诉优化器使用我们指定的存取路径或连接类型生成执行计划,从而使语句高效的运行。例如,如果我们认为对于一个特定的语句,执行全表扫描要比执行索引扫描更有效,则我们就可以指示优化器使用全表...

2014-01-03 23:39:15 249

原创 oracle的hint提示

 提示(hint)从Oracle7中引入,目的是弥补基于成本优化器的缺陷。提示通常用来改变SQL执行计划,提高执行效率。 1.使用提示需要遵循的原则1)仔细检查提示语法。尽量使用完整注释语法/*+ hint */2)使用表别名。如果在查询中指定了表别名,那么提示必须也使用表别名。例如:select /*+ index(e,dept_idx) */ * from emp e;3)不要在...

2014-01-03 23:30:25 287

原创 Xpath注入攻击及其防御技术研究

1 Xpath注入攻击概述 1.1 Xpath定义     近年来在现代化电子商务,商场现代化系统中,XML技术被广泛的使用,开始出现针对XML数据信息的XPath注入攻击技术。注入攻击是指利用系统没有对其输入进行强制执行或检查的假设向计算机系统中引入(或 “注入”)代码的技术。注入代码的目的通常是绕过或修改程序的最初目标功能,如果被绕过的功能涉及系统安全,那么结果可能是灾难性的。在XML信息被大...

2013-09-10 03:26:59 175

原创 Javascript 多浏览器兼容性问题及解决方案

一、document.formName.item(”itemName”) 问题问题说明:IE下,可以使用 document.formName.item(”itemName”) 或 document.formName.elements ["elementName"];Firefox 下,只能使用document.formName.elements["elementName"]。 解决方法:统一...

2013-07-21 20:19:39 77

原创 javascript 如何正确使用getElementById,getElementsByName(), and getElementsByTagName()

WEB标准下可以通过getElementById(), getElementsByName(), and getElementsByTagName()访问DOCUMENT中的任一个标签。 (1)getElementById(): getElementById()可以访问DOCUMENT中的某一特定元素,顾名思义,就是通过ID来取得元素,所以只能访问设置了ID的元素。 (2)getElements...

2013-07-21 20:14:57 332

原创 获取表单对象,得三种方法getElementById(), getElementsByName(), and getElementsByTagName() 和用...

今天碰到了翻页不好用的问题,检查一下发现没有表单,加上去就好了,发现获取某个对象值的方法有很多,但是使用哪一个才是正规的途径那,问了同事,得出结论如下:  document.表单名称.对象名称.属性值   这种方式IE支持 第三方的可能不支持,建议使用 getElementById(), getElementsByName(), and getElementsByTagName() 这几个方...

2013-07-21 20:11:54 136

原创 java问题诊断方法及工具

线上系统出现问题时,需要记载系统当前运行状况,总结一下,大概需要关注以下几个方面:1.负载:——top命令在linux上,执行top 等命令,关注load, Memory, CPU 等系统概况,以及关注CPU和memory 占用较多的进程。使用top -H, 并按 shift+p 对CPU进行排序,找到当前占用CPU最多的线程。(top -u bpm -H),-H 按线程显示,否则按进程显示使用...

2013-07-21 19:58:30 110

原创 线程池详解

线程池ThreadPoolExecutor继承自ExecutorService。是jdk1.5加入的新特性,将提交执行的任务在内部线程池中的可用线程中执行。构造函数ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, ...

2013-07-10 16:07:37 113

原创 JAVA优秀开源框架收集

==========Java Core========* JID简介:Java高效的序列化库项目主页:https://github.com/laforge49/JID * ReflectASM简介:Java高效的反射类库项目主页:https://code.google.com/p/reflectasm/ * JActor简介:JActor 是一个 J...

2013-04-09 16:55:04 83

原创 文本文件和二进制文件的区别

From: http://blog.csdn.net/seu_xuxueqi/archive/2006/03/11/621904.aspx从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种。  ASCII文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。例如,数5678的存储形式为:ASC码:  00110101 00110110 00...

2012-09-19 00:07:07 96

原创 浅谈DOM文档对象模型基础

一、DOM基础1.节点(node)层次Document--最顶层的节点,所有的其他节点都是附属于它的。DocumentType--DTD引用(使用<!DOCTYPE>语法)的对象表现形式,它不能包含子节点。DocumentFragment--可以像Document一样来保存其他节点。Element--表示起始标签和结束标签之间的内容,例如<tag></tab&...

2012-09-18 22:09:25 79

原创 ASCII,Unicode和UTF-8

 今天中午,我突然想搞清楚Unicode和UTF-8之间的关系,于是就开始在网上查资料。结果,这个问题比我想象的复杂,从午饭后一直看到晚上9点,才算初步搞清楚。下面就是我的笔记,主要用来整理自己的思路。但是,我尽量试图写得通俗易懂,希望能对其他朋友有用。毕竟,字符编码是计算机技术的基石,想要熟练使用计算机,就必须懂得一点字符编码的知识。1. ASCII码...

2012-09-15 20:17:58 81

原创 Oracle optimizer_mode

Oracle 在执行SQL语句时,有两种优化方法:即基于规则的RBO和基于代价的CBO。 在SQL执教的时候,到底采用何种优化方法,就由Oracle参数 optimizer_mode 来决定。 SQL> show parameter optimizer_mode NAME                                  TYPE         VALUE ----...

2012-08-27 18:52:58 198

原创 TCP三次握手及四次挥手详细图解 (2010-03-24 22:08)

TCP三次握手及四次挥手详细图解 (2010-03-24 22:08) 分类: 网络应用与开发 Andrew Huangbluedrum@163.com 相对于SOCKET开发者,TCP创建过程和链接折除过程是由TCP/IP协议栈自动创建的.因此开发者并不需要控制这个过程.但是对于理解TCP底层运作机制,相当有帮助. 而且对于有网络协议工程师之类笔试...

2011-09-08 22:08:46 133

原创 oracle 启动监听命令

启动监听:lsnrctl start 查看监听:lsnrctl status 停止监听:lsnrctl stop 1、oracle 数据服务器包括:实例进程和数据库; 实例进程包括:memory structure(sga)以及background process(pmon(进程监控)、smon(系统监控system monitor,空间整理3秒)、dbwr(脏数据处理)...

2011-09-08 21:30:47 141

原创 tomcat6.0配置数据源步骤及获取方法

1.将msbase、mssqlserver、msutil等3个包放入tomcat6.0的lib目录下,这样tomcat启动时就会自动加载这些包。2.添加 到context.xml中和server.xml下,或者添加以上语句到context.xml和xxx.xml(自定义)。3.在web.xml的中添加 MSSQL Datasource for msgboard...

2011-09-05 20:14:23 140

原创 Oracle如何根据物化视图日志快速刷新物化视图

Oracle物化视图的快速刷新机制是通过物化视图日志完成的。Oracle如何通过一个物化视图日志就可以支持多个物化视图的快速刷新呢,本文简单的描述一下刷新的原理。 首先,看一下物化视图的结构:SQL> create table t (id number, name varchar2(30), num number);表已创建。SQL> create ma...

2011-08-26 23:41:41 99

原创 物化视图详解--介绍、创建方法、例子

物化视图是包括一个查询结果的数据库对象,它是远程数据的的本地副本,或者用来生成基于数据表求和的汇总表。物化视图存储基于远程表的数据,也可以称为快照。对于复制,物化视图允许你在本地维护远程数据的副本,这些副本是只读的。如果你想修改本地副本,必须用高级复制的功能。当你想从一个表或视图中抽取数据时,你可以用从物化视图中抽取。 对于数据仓库,创建的物化视图通常情况下是聚合视图,单一表聚合视图和连接视图。物...

2011-08-26 23:01:17 273

原创 Java 线程池的原理与实现

最近在学习线程池、内存控制等关于提高程序运行性能方面的编程技术,在网上看到有一哥们写得不错,故和大家一起分享。[分享]Java 线程池的原理与实现这几天主要是狂看源程序,在弥补了一些以前知识空白的同时,也学会了不少新的知识(比如 NIO),或者称为新技术吧。线程池就是其中之一,一提到线程,我们会想到以前《操作系统》的生产者与消费者,信号量,同步控制等等。一提到池,我们会...

2011-08-25 23:18:11 58

原创 hash表

简单来说,hash就是找到一种数据内容和数据存放地址之间的映射关系。比如,由若干字符串要存放到一个哈西表中,希望能够在O(1)的时间内在表中定位某个特定的字符串,我们可以用数组来实现哈西表,找到某种函数sting -> integer,记为 p = f(s),其中p是一个整数,s是一个字符串,p就是字符串s在数组中的下标。这样如果需要在数组中定位s,只要直接根据函数p=f(s)...

2011-08-25 22:09:27 68

原创 JAVA中sleep()、wait()、yield()、join()方法浅析

线程退出最好自己实现,在运行状态中一直检验一个状态,如果这个状态为真,就一直运行,如果外界更改了这个状态变量,那么线程就停止运行。  1.sleep()方法  在指定时间内让当前正在执行的线程暂停执行,但不会释放“锁标志”。不推荐使用。  sleep()使当前线程进入阻塞状态,在指定时间内不会执行。  2.wait()方法  在其他线程调用对象的notify...

2011-08-24 23:50:06 84

原创 如何看懂ORACLE执行计划

一、什么是执行计划An explain plan is a representation of the access path that is taken when a query is executed within Oracle.二、如何访问数据At the physical level Oracle reads blocks of data. The smalle...

2011-08-11 00:27:45 64

原创 【JBoss学习】Eclipse+JBoss学习入门

【JBoss学习】Eclipse+JBoss学习入门 刚刚开始学习JBoss,学习了一个入门级的小例子,对于刚接触JBoss和Eclipse的菜鸟来说很有帮助的,现在把我的试验过程介绍一下。首先,打开Eclipse,新建——其它——JBoss IDE——J2EE Projects——J2EE 1.4 ...

2011-08-10 00:11:27 150

原创 在 JBoss 下配置 Oracle 数据源

1. 将 %JBOSS_HOME%\docs\examples\jca\oracle-ds.xml 复制到 %JBOSS_HOME%\server\default\deploy 目录下。2. 打开 oracle-ds.xml,做如下编辑:修改jndi OracleDS 修改url jdbc:oracle:thin:@localhost:1521:orcl 修改驱动 orac...

2011-08-09 23:01:12 333

原创 JAVA内存溢出分为两种情

JAVA内存溢出分为两种情况:一种是内存足够时JVM堆内存是足够的,但只是没有连续的内存空间导致,比如申请连续内存空间的数组:Java代码 String[] array = new String[10000]。 String[] array = new String[10000]。还有一种是某种原因导致的内存不足而产出内出溢出。比如,内存泄露导致...

2011-07-12 23:10:37 123

原创 字符编码笔记:ASCII,Unicode和UTF-8

今天中午,我突然想搞清楚Unicode和UTF-8之间的关系,于是就开始在网上查资料。结果,这个问题比我想象的复杂,从午饭后一直看到晚上9点,才算初步搞清楚。下面就是我的笔记,主要用来整理自己的思路。但是,我尽量试图写得通俗易懂,希望能对其他朋友有用。毕竟,字符编码是计算机技术的基石,想要熟练使用计算机,就必须懂得一点字符编码的知识。1. ASCII码我们知...

2011-07-07 01:17:22 61

原创 Oracle数据导入导出imp/exp?批处理文件

如何写批处理文件自动将数据导入oracle数据库Oracle数据库的自动导入与导出,在许多地方有广泛的应用.例如:一个Oracle数据库应用系统开发结束后,如果要将系统安装到客户计算机上,就需要将初始数据导入到用户的Oracle数据库中.最近项目中也需要实现以上功能,花了点时间搜索实验,整理如下: 先把要安装的初始数据文件导出为initial.dmp,然后在客户计算上安装好...

2011-07-04 23:37:59 199

原创 netstat命令

netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息,在计算机上执行netstat后,其输出结果为: Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 2 ...

2011-06-01 01:07:42 86

原创 TCP握手

1、建立连接协议(三次握手)(1)客户端发送一个带SYN标志的TCP报文到服务器。这是三次握手过程中的报文1。(2) 服务器端回应客户端的,这是三次握手中的第2个报文,这个报文同时带ACK标志和SYN标志。因此它表示对刚才客户端SYN报文的回应;同时又标志SYN给客户端,询问客户端是否准备好进行数据通讯。(3) 客户必须再次回应服务段一个ACK报文,这是报文段3。2、连接终止协议(...

2011-06-01 00:51:05 78

原创 HttpURLconnection多线程下载

import java.io.BufferedInputStream;import java.io.RandomAccessFile;import java.net.HttpURLConnection;import java.net.URL;import java.net.URLConnection;import java.util.concurrent.CountDownLa...

2011-05-31 23:08:51 80

原创 URLConnection的连接、超时、关闭用法总结

关键字: urlconnection Java中可以使用HttpURLConnection来请求WEB资源。 1、 URL请求的类别 分为二类,GET与POST请求。二者的区别在于: a:) get请求可以获取静态页面,也可以把参数放在URL字串后面,传递给servlet, b:) post与get的不同之处在于post的参数不是放在URL字...

2011-05-31 22:26:36 99

原创 Socket实例

package tf.thread; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; im...

2011-05-25 22:30:55 89

原创 Socket

Java Socket聊天程序在编写的时候需要我们注意很多的事情,本程序是基于Java Socket聊天程序,采用TCP传输协议,实现两个人之间的信息交互。下面我们就详细的向大家介绍这一程序。  在形成最终结果之前,我经历了两个过程程序,两个过程均为半成品,他们反映了我整个课程设计中的思考过程,在一个较为系统思考过程后,socket思想一层一层加固,让我映像很深刻,收获很多。在此文档中,我...

2011-05-25 22:14:32 92

原创 Unicode and UTF8

Unicode and UTF8What is Unicode?Unicode provides a unique number for every character,no matter what the platform,no matter what the program,no matter what the language.Fundamentally, com...

2011-05-17 22:06:01 74

原创 oracle分区表

oracle 分区表的建立方法 时间:2007-04-10 11:23:03 来源:Linux联盟收集整理 作者: Oracle提供了分区技术以支持VLDB(Very Large DataBase)。分区表通过对分区列的判断,把分区列不同的记录,放到不同的分区中。分区完全对应用透明。 Oracle的分区表可以包括多个分区,每个分区都是一个独立的段(SEGMENT),可以存放...

2011-05-13 23:53:42 58

原创 ejb底层原理Socket

前两天在这个版块的精华区里翻到了Robbin关于EJB的调用原理的分析,受益非浅,但感觉用纯文字来表达效果似乎不够直观,而且对RMI的阐述也略嫌少了些。这里我根据自己的一点体会,在Robbin帖子的基础上再来说说这个话题,供大家参考。 首先,我想先说说RMI的工作原理,因为EJB毕竟是基于RMI的嘛。废话就不多讲了,RMI的本质就是实现在不同JVM之间的调用,工作原理图如下: ...

2011-04-17 19:44:08 162

空空如也

空空如也

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

TA关注的人

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