- 博客(1894)
- 收藏
- 关注
转载 使用Microsoft Web Application Stress Tool对web进行压力测试
使用Microsoft Web Application Stress Tool对web进行压力测试 Web压力测试是目前比较流行的话题,利用Web压力测试可以有效地测试一些Web服务器的运行状态和响应时间等等,对于Web服务器的承受力测试是个非常好的手法。Web压力测试通常是利用一些工具,例如微软的WebApplicationStress、Linux下的sie...
2012-08-22 11:33:00 523
转载 不是iPhone5的话,还是别玩营销花招吧:华为D1四核将开卖
华为智能手机去年开始发力,先后推出荣耀、P1、D1,性能一代代强,关注度一个个高,而今市场上担当主角的是D1双核。但从目前的市场反馈看,D1双核似乎并没有引起特别轰动的效应,并非D1双核的配置不高,只是在这个四核引领潮流的时代,也不能期望D1双核对市场造成很大的扰动,毕竟前面已经有魅族四核、三星S3、HTC One X等等旗舰级别在商海弄潮了,D1双核还不具备这样的实力与上述四核旗舰...
2012-07-29 23:13:00 489
转载 一个新开始的地方—魔都
今天是个值得纪念的日子,人生的很多的第一次在实现。第一次来上海,第一次做地铁,第一次吃上海的油泼面(够味)。今天最深的体会是,轻易别搬家,累死人。在杭州的生活有点恬静,上海人潮熙熙攘攘,很热闹。最吸引我的还是久违的大排档,有福了 明天到公司报道,在这纪念下载杭州的一年安逸的生活,魔都的生活会是怎么的,期待美好的明天,期待美好的未来。。。 其实不管在...
2012-07-29 23:12:00 550
转载 如何给spring3 MVC中的Action做JUnit单元测试?
使用了spring3 MVC后,给action做单元测试也很方便,我以前从来不给action写单元测试的,再在不同了,方便了,所以一定要写。JUnitActionBase类是所有JUnit的测试类的父类Java代码packagetest;importjavax.servlet.http.HttpServletRequest;...
2012-07-21 00:33:00 291
转载 Spring MVC如何把全局异常记录到日志中?
在前的配置中,其中有一个属性warnLogCategory,值是“SimpleMappingExceptionResolver类的全限定名”。我是在SimpleMappingExceptionResolver类父类AbstractHandlerExceptionResolver类中找到这个属性的。查看源码后得知:如果warnLogCategory不为空,spring就会使用apache的...
2012-07-21 00:30:00 191
转载 纯css下拉菜单,可以设置下拉菜单为多列
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd"><HTML><HEAD><META http-equiv=Content-Type conte...
2012-06-16 16:06:00 138
转载 十年磨一剑
一年轻人上山拜师学剑,见到师父后问师父, “师父,假如我努力学习,要多久才可以学成?” “我想,学十年就差不多了。” “师父,家父年事已高,我要服侍他,假如我加强训练,那需要多长时间可以练成?” “那么,大概要三十年了。” “啊,师父你刚才说十年,现在说要三十年。我不惜任何代价也要在最短的时间内学成。师父……” “如果是...
2012-06-16 16:06:00 144
转载 Android培训班(101)内核入口汇编1
从上面已经看到movpc,r4语句,就知道把解压后内核的执行地址r4给了pc程序计数器,意味着解压的内核已经把运行控制权交给解压后的内核代码进行运行了。这时内核已经在正确的物理地址上运行,但是它还是未长大的孩子,还有很多东西都没有准备好,比如内存管理、中断管理等等。同时内核还需要再次映射合适的虚拟地址,以便打开MMU访问内核所有的代码和数据。从这里开始正式进入内核运行起点,是从文件ker...
2012-04-21 21:33:00 118
转载 Oracle ROWID 方式访问数据库
和ROWNUM一样,ROWID是一个伪列,即是一个非用户定义的列,而又实际存储于数据库之中。每一个表都有一个ROWID列,一个ROWID值用于唯一确定数据库表中的的一条记录。因此通过ROWID 方式来访问数据也是 Oracle 数据库访问数据的实现方式之一。一般情况下,ROWID方式的访问一定以索引访问或用户指定ROWID作为先决条件,因为所有的索引访问方式最终都会转换为通过RO...
2012-04-18 17:16:00 99
转载 Android培训班(100)内核解压过程13
有了文件的格式,就可以按图索骥,也就是根据文件的格式来分析压缩数据了。但文件格式只是一种存储的格式,还需要算法才可以把数据解压出来,下面就来理解gzip的压缩算法。gzip使用deflate的压缩算法来进行压缩数据,这是一种无损的压缩算法,主要组合LZ77和Huffman的压缩算法。LZ77算法是基于这样的思路:当一串字符中,如果后面的字符串已经在前面出现,那么后面的字符串只需要使用前面...
2012-04-17 21:17:00 131
转载 Android培训班(99)内核解压过程12
在函数decompress_kernel里看到调用gunzip函数来解压内核代码,你也许比较好奇,这个gunzip函数里究竟是怎么样把内核代码解压出来的呢?为了深入地理解解压的代码,就得学习gzip文件格式,压缩的原理,才会理解其中的奥秘。现在就先看看gzip的文件格式,如下:2bytes GZIP标志字节:0x1f,0x8b (\037 \213) 1byte 压缩方法:(0....
2012-04-14 21:38:00 98
转载 Android培训班(98)内核解压过程11
从前面那段代码,就可以看到调用decompress_kernel函数来把内核压缩的代码解压出来,那么你也许问传给解压函数decompress_kernel的四个参数是什么呢?由于ARM里编译时就决定这四个参数是使用四个寄存器来传送,分别为r0,r1,r2,r3等四个寄存器。因此,只需要搞清楚这四个寄存器是什么样的内容,就知道传送给函数什么值了。从代码上看到r0的值与r2、r5的值一样,都...
2012-04-13 21:49:00 120
转载 INDEX FULL SCAN vs INDEX FAST FULL SCAN
INDEX FULL SCAN 与 INDEX FAST FULL SCAN两个长相差不多,乃是一母同胞,因此既有其共性,也有其个性。两者来说其共性是不用扫描表而是通过索引就可以直接返回所需要的所有数据。这对提高查询性能而言,无疑是一个难得的数据访问方式之一,因为索引中存储的数据通常是远小于原始表的数据。下面具体来看看两者之间的异同。一、何时INDEX FULL SCAN 或...
2012-04-12 09:47:00 320
转载 Android培训班(97)内核解压过程10
经过上面打开MMU代码之后,就进入了另一个主要环节,就是把压缩的内核代码解压出来,变换回原来可执行代码的模样,这样才可以让CPU理解并执行相应的指令。由于加载压缩的内核就占用了一定的内存空间,如果这个压缩的内核比较大,而物理内存比较小,那么解压后的内核就会把未解压部份的内核数据覆盖,否则就可以采用更简单的方法来解压了,直接写入相应的位置就行了。下面这段代码里,r4是解压内核的开始地址,r...
2012-04-11 22:46:00 144
转载 使用优化器性能视图获取SQL语句执行环境
Oracle SQL语句的运行环境分为多个不同的层次,主要包括实例级别,会话级别,语句级别,其优先级依次递增。即语句级别的执行环境具有最高的优先权,会话级别次之,实例级别最低。反过来,实例级别的环境设置影响全局,而会话级别的则影响当前会话,语句级别的设置当然也就只影响当前语句。由此可知,运行环境中每一个环节的参数都对最终的数据库性能或所执行的SQL语句有直接的影响。因此在对数据库...
2012-04-09 19:36:00 119
转载 NULL 值与索引(二)
在NULL值与索引(一)中讲述了null值与索引的一些基本情况。其主要的内容为,基于允许存在null值的索引列,其索引值不会被存储;其次是由于这个特性导致了我们在使用is null时索引失效的情形;最后则是描述的通过为null值列添加not null约束来使得is null走索引。尽管我们可以通过添加not null来解决is null走索引,当现实中的情况是仍然很多列根本是无法...
2012-04-08 19:04:00 160
转载 NULL 值与索引(一)
NULL值是关系数据库系统布尔型(true,false,unknown)中比较特殊类型的一种值,通常称为UNKNOWN或空值,即是未知的,不确定的。由于NULL存在着无数的可能,因此NULL值也不等于NULL值,所以与NULL值相关的操作同样都为NULL值。正是基于这样一个特性,对于NULL值列上的B树索引导致了is null/is not null不走索引的情形,下面描述了NU...
2012-04-08 13:22:00 300
转载 尽力而为
看到这样一则故事,讲述的是众人千里迢迢前往千年古刹寻高僧指点迷津的事,更有甚者想向大师学习武功秘籍。下面是其描述。 当众人到达深山的时候,发现大师正从山谷里挑水。他挑得不多,两只木桶里的水都没有装满。按他们的想象,大师应该能够挑很大的桶,而且挑得满满的。 众人不解地问:“大师,这是什么道理?” 大师说:“挑水之道并不在于挑多,而在于挑得够用。一味贪多,适得其反。...
2012-04-05 22:01:00 156
转载 Oracle SQL tuning 步骤
SQL是的全称是Structured Query Language(结构化查询语言)。SQL是一个在80年代中期被使用的工业标准数据库查询语言。不要把SQL语言与商业化产品如Microsoft SQL server或开源产品MySQL相混淆。所有的使用SQL缩略词的这些都是SQL标准的一部分。一、SQL tuning之前的调整 下面这个粗略的方法能够节省数千小时乏味的SQL...
2012-04-02 19:54:00 397
转载 ORA-31623: a job is not attached to this session via the specified handle
在使用Oracel Datapump API时碰到ORA-31623(a job is not attached to this session via the specified handle)错误,从故障描述来看提示 job并没有成功附加到当前session指定的handle。该package的导入导出一直正常运行究竟是什么原因导致的呢?我们拭目以待......1、故障环境...
2012-03-29 18:36:00 1224
转载 高效SQL语句必杀技
No SQL,No cost. SQL语句是造成数据库开销最大的部分。而不良SQL写法直接导致数据库系统性能下降的情形比比皆是。那么如何才能称得上高效的SQL语句呢?一是查询优化器为当前的SQL语句生成最佳的执行计划,保证数据读写使用最佳路径;二是设置合理的物理存储结构,如表的类型,字段的顺序,字段的数据类型等。本文主要描述如何编写高效的SQL语句并给出示例。下面的描述主...
2012-03-29 13:11:00 253
转载 Android培训班(96)内核解压过程9
前面已经把定位的数据通过加载LC0结构来加载到寄存器里,已经具备了定位的条件。那么内核进行重定位主要做些什么事情呢?要了解整个过程,当然要学习编译原理,因为进行重定位之后,主要是为了建立C语言的运行环境的需求。由于C语言是基于栈式的语言,又有全局变量,说明内存结构至少有两个,一个是全局数据区,一个是栈。因此,重定位就是修改全局数据区和栈的访问。在全局数据的内存的表达方式,GCC是使用GO...
2012-03-25 15:54:00 109
转载 PL/SQL变长数组
PL/SQL变长数组时PL/SQL集合数据类型中的一种,其使用方法与PL/SQL嵌套表大同小异,唯一的区别则是变长数组的元素的最大个数是有限制的。也即是说变长数组的下标固定下限等于1,上限可以扩展。下面给出具体的描述及其使用方法。一、变长数组语法 TYPE type_name IS {VARRAY | VARYING ARRAY} (size_limit) OF -...
2012-03-23 15:47:00 110
转载 使用 Toad 实现 SQL 优化
It is very easy for us to implement sql tuning by toad. We need to do is just give complex sql statement to toad. The articlegive you some examples to demonstrate how to tuning sql by toa...
2012-03-21 15:31:00 606
转载 PL/SQL 联合数组与嵌套表
通常情况下,在PL/SQL中,处理单行单列的数据可以使用标量变量,而处理单行多列的数据则使用PL/SQL记录是不错的选择。单列多行数据则由联合数组或嵌套表来完成,其特点是类似于单列数据库表。在Oracle 9i 之前称为PL/SQL索引表,9i 之后称之为联合数组。嵌套表也是集合类型中的一种,下面分别介绍这两种集合数据类型的使用方法。一、联合数组1、联合数组的特性 类似...
2012-03-20 10:32:00 154
转载 Android培训班(95)内核解压过程8
内核在上面处理完关闭中断,并且确认进入系统模式后,就需要解决第一个问题:解决自己到底在那里运行的问题。这个问题,就好比一个人在大海里航行而没有指南针,根本找不到北在那里,急切地想知道方向在那里。如果在白天还可以靠大阳就知道了方向,在晚上可以靠北斗星,在内核里是否也有这样的大自然的指示呢?在内核里没有天然的指示,但可以有人为的,下面就来看看内核到底是怎么添加自己的太阳,自己的北斗星呢。内核...
2012-03-18 12:40:00 118
转载 当心 CREATE TABLE AS
对 DBA 而言,CREATE TABLE AS 可谓是家常便饭,顺手拈来。需不知该方式虽然简单,但疏忽也容易导致意想不到的问题。笔者前阵子就碰上了这样的事情。由于是对原表进行克隆,且数据存储在不同的表空间,因此毫不犹豫地使用了CREATE TABLE AS,结果在运行package时,error...--1、非空约束遗失-->使用create table as 来创建对...
2012-03-16 17:32:00 308
转载 避免游标多次遍历
游标在数据库领域被广泛使用,尤其是对于需要将SQL语句返回的数据集进行逐行处理的时候。这为数据处理提供了极大的便利性,然游标的不当使用从某种程度上而言会降低数据库的性能。下面的是一个来自生产环境的实际例子,由于使用了参数游标,所以引发了多次遍历。一、源代码-->下面的procedure用于为trade生成一个新的contract_num,并将其更新到对应的记录P...
2012-03-16 15:28:00 122
转载 Android培训班(94)内核解压过程7
通过上面的架构的学习,可以知道ARM体系总共有8个架构,每个架构有着不同的功能,因此下面的这个宏,就是选择第2个架构,因为第2个构架与后面的架构是有着很大的区别,比如第2个架构是24位地址线的,而后面架构全是32位的。并且支持的指令和寄存器也存在着差别,所以需要根据不同的架构来选择编译的代码,否则就会让CPU运行不能识别的指令。从这里学习到的知识点,就是可以定义宏来选择不同的CPU兼容性...
2012-03-11 11:29:00 114
转载 CASE语句与CASE表达式
case语句与case表达式是plsql流程控制的重要组成部分,尽管其使用方法较为简单,但容易混淆。本文将描述case语句与case表达式并给出演示以便于更好理解两者的异同及使用时的注意事项。一、简单case语句-->语法CASE SELECTORWHEN EXPRESSION 1 THEN STATEMENT 1;WHEN EXPRESSION 2 THEN STATEM...
2012-03-10 17:20:00 715
转载 Android培训班(93)内核解压过程6
在了解ARM公司的产品架构之前,先来看看ARM公司的历史,这样对看懂内核的代码会很大帮助的,否则看到内核里有众多的宏定义,支持不同的结构指令选择,倒底是怎么回事,也是迷茫的,不解的。近来微软公司宣布Windows8正式支持ARM处理器,这是计算机发展历史上的一件大事,标志着X86结构的处理器的主导地位发生了动摇,ARM处理器将在市场上渐渐成为主流,恐怕指日可待。难怪有人惊呼,Intel公...
2012-03-04 14:02:00 99
转载 Android培训班(92)内核解压过程5
在前面包含头文件,定义一些必要的宏之后,就到了实际运行代码的开始了,这里就是内核解压内核映象文件的开始位置了,也就是代码段的开始位置了。前面都没有看到实际的代码,因此会碰到很多新的知识点,新的拦路虎的,这更加需要花费时间和耐心了。现在就开始吧! .section".start", #alloc, #execinstr在这行代码里,先看来理解section关键字,这个关键字主要用来定义一...
2012-02-26 17:18:00 118
转载 Android培训班(91)内核解压过程4
在嵌入式系统里,主要存在三种调试手段,一是使用硬件的LED显示灯,这种方式最原始,也最简单,只需要一个高低电平,就可以表示什么状态了,比如电源状态灯,网络连接灯等。二是使用串口通讯调试输出,由于串口通讯设置的参数最简单,连接线也最简单,编码也最简单,更何况在目前计算机环境里,没有串口基本不可能。三是使用调试器,比如JTAG等,一般比较复杂一些,需要硬件也多一些。在内核开发,或者嵌入式系统...
2012-02-26 12:43:00 133
转载 启用 Oracle 10046 调试事件
Oracle 10046是一个Oracle内部事件。最常用的是在Session级别设置sql_trace(alter session set sql_trace=true)即是开启了级别为1的10046调试事件。当设置了10046事件之后,Oracle 将产生一个dump文件。通过得到的dump文件进行进一步分析,可以得到Oracle 内部执行系统解析、调用、等待、绑定变量等详细...
2012-02-24 14:26:00 263
转载 Android培训班(90)内核解压过程3
下面这段代码,就是设置使用串口作为调试输入输出手段了,因为这种方式是最通用的,目前来说,所有嵌入式处理器都带有串口的,这个是基本配置,因此这种方式最通用,又不用添加什么其它的资源,使用起来非常方便,成为嵌入式软件、操作系统内核必选的调试方式。下面来细细地品读这段代码:#else#include<mach/debug-macro.S>当看到这行代码时,也许你会问,为什么汇编代码...
2012-02-19 11:33:00 139
转载 Android培训班(89)内核解压过程2
接着下来这段代码,是跟调试有关的,如下:/** Debugging stuff** Note that these macros must notcontain any code which is not* 100% relocatable. Any attemptto do so will result in a crash.* Please select one of thefol...
2012-02-19 09:47:00 168
转载 行链接和行迁移的秘密
一、概述:如果你的Oracle数据库性能低下,行链接和行迁移可能是其中的原因之一。我们能够通过合理的设计或调整数据库来阻止这个现象。行链接和行迁移是能够被避免的两个潜在性问题。我们可以通过合理的调整来提高数据库性能。本文主要描述的是:什么是行迁移与行链接如何判断行迁移与行链接如何避免行迁移与行链接当使用索引读取单行时,行迁移影响OLTP系统。最糟糕...
2012-02-17 10:10:00 338
转载 Android培训班(88)内核解压过程1
由上面的编译过程可知,内核一般是压缩后保存,并由引导程序加载到内存,然后CPU跳到相应的位置运行的,因为压缩后的代码是不能直接运行,所以必须存在一个解码的过程,而这个解码过程是怎么样执行呢?又是怎么样实现的呢?下面带着这两个问题来学习解压的过程。从上面分析编译过程,就可以知道需要从目录/Android-2.0/kernel/arch/arm/boot入手,在这个目录里主有piggy.S、...
2012-02-12 17:55:00 113
转载 Android培训班(87)ARM内核生成过程
在分析内核运行之前,先要了解内核是怎么样编译出来的,以便对内核的构造有一个详细的了解,在头脑里形成一个清晰的印象。随着技术的发展,对内核进行各种各样的处理,以便在空间上减到最小,在时间上也减到最小,在成本方便也减到最小。在成本方面,更加关键了。比如不对内核进行处理,内核编译出来的vmlinux文件,就有53M大小,保存这个文件,就得占用53M的FLASH存储空间。压缩后文件的大小为2.5...
2012-02-12 13:12:00 126
转载 HTC-G4刷机过程
我的G4已经买回来使用好久了,大概是2009年买的,系统是android 1.6,并且还是台湾的繁体版本。已经使用这么长时间,很多新的软件已经不能使用,并且使用起来也不是很方便,只好升级到2.3.7系统。先在网上搜索相关的资料,并学习好。对了,我的SD卡已经损坏了,还得去电子市场购买一个4G的SD卡,这样才具备硬件的基础。1. 准备手机连接电脑先要把手机的数据通讯线,就是买手机时配置的U...
2012-02-05 16:04:00 303
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人