上一页 1 2 3 4 5 6 ··· 20 下一页
摘要: 执行一个catch代码块和抛出一个异常花费是很高的,这个过程中的性能损耗主要是由于当创建一个异常时要获得线程栈的一个快照。抛出异常首先要创建一个新的对象Throwable类的构造函数调用名为fillInStackTrace的方法,fillInStackTrace方法检查堆栈,收集调用跟踪信息。由于在处理过程中创建了一个新的对象,所以说只要有异常被抛出,JVM就必须调整调用堆栈,系统资源开销也就增大了。1、使编译器和运行时最优化,将几个方法调用放在一个try/catch块中,而不是为每个方法调用各自使用try/catch块 try{ Some.method1(); }catch(met... 阅读全文
posted @ 2013-06-12 21:09 郗晓勇 阅读(697) 评论(0) 推荐(0) 编辑
摘要: 在系统性能优化的时候循环和字符串处理一直是非常值得注意的地方。从心态上我们一定不能把自己的眼界放在十次或者是百次循环的层次上,也不能把自己要处理的字符串当做是有十个二十个字符。每次遇到循环都要假定这个循环是上万次的,每次要处理的字符串的时候一定要告诉自己这个字符串将来有可能是很大的。不要等到数据量真的达到十万、百万的级别之后再采取处理,那样的话成本的消耗就太大了。本文将介绍关于Java代码中循环和字符串的优化方法,希望对读者有用。关于循环嵌套for循环中次数多的放在内侧,次数少的放在外侧。众所周知for循环需要定义一个循环变量来遍历每一个需要循环的对象,那么如果循环次数多的循环放在外侧那么无疑 阅读全文
posted @ 2013-06-05 16:27 郗晓勇 阅读(1572) 评论(0) 推荐(0) 编辑
摘要: 1、B树索引这是最常见的索引,几乎所有的关系型数据库系统都支持B树结构的索引,也是被最多使用的,其树结构与二叉树比较类似,根据行id快速定位到行。大部分数据库默认建立的索引就是这种索引。B树索引在检索高基数数据列(高基数列是指该列有很多不同的值,该列所有不同值的个数之和与该列所有值的个数之和的比成为列基数)时提供了比较好的性能,B树索引是基于二叉树的,由分支块和叶块组成。在树结构中,位于最底层的块成为叶块,包含每个被索引列的值和行所对应的rowid。在叶节点的上面是分支块,用来导航结构,包含了索引列(关键字)范围和另一索引快的地址。2、聚集索引没错,这是sqlserver里很重要的一个索引,也 阅读全文
posted @ 2013-06-01 15:19 郗晓勇 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。其实道理很简单,比如我们要从字典中查找一个字,那么这个字典就是我们所要面对的数据库,索引就好比是字典前面的拼音或者部首索引表,当需要查询一个字的时候我们首先去检索拼音或者部首索引表,然后再去字典中查找具体的位置,这样我们就加快数据库的查询速度。索引分为聚簇索引和非聚簇索引两种,聚簇索引是按照数据存放的物理位置为顺序的,而非聚簇索引就不一样了(下一篇文章将介绍常见的索引)。显而易见的字典本身的内容以及前面的拼音检索表就是聚簇索引,因为他们都是按照26个字母的顺序排列的。而后面的部首检索表就是一个非聚簇索引 阅读全文
posted @ 2013-05-31 20:24 郗晓勇 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 1、逻辑设计的规范化所谓逻辑设计的规范化就是使得数据库的逻辑更加合理。说白了就是我们平时所说的三范式。具体内容可以参考笔者之前的文章。现在总结如下:第一范式:原子不可再分第二范式:只能依赖主键第三范式:不能依赖其他其实三范式说到底就是方便查找、防止冗余,比如第一范式中原子性,就是把信息单元化,方便用户的查询,试想如果数据不容易查询还要数据库干什么?第二范式和第三范式是从不同的方面来描述其他非主键的字段,第二和第三范式保证了数据库的不冗余。这使得数据库在新增和更新的时候效率大大提高。数据库范式中一共有五个,这里就只介绍三个。因为在实际项目中会发现真正能遵守三范式的项目很少,有很多项目为了提高查找 阅读全文
posted @ 2013-05-31 10:45 郗晓勇 阅读(520) 评论(0) 推荐(0) 编辑
摘要: 概念(来自度娘)系统优化原来是系统科学(系统论)的术语,现在常用作计算机方面的术语。它尽可能减少计算机执行的进程,更改工作模式,删除不必要的中断让机器运行更有效,优化文件位置使数据读写更快,空出更多的系统资源供用户支配,以及减少不必要的系统加载项及自动启动项。当然优化到一定程度可能略微影响系统稳定性,但基本对硬件无害。系统优化的一般步骤分为五步,不同的公司可能会省略其中的部分文档,但是大体的思路是一致的。1、发现问题一般性能的问题无非是系统工作效率低下,最常见的就是对数据库的CRUD操作缓慢、导出数据无响应等。有了问题我们应该精准的定位问题,尽可能的将问题的描述量化。在这里可以借助相应的工具进 阅读全文
posted @ 2013-05-28 10:44 郗晓勇 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 首先恭喜守宏同学找到了自己心仪的工作,入职的事情终于尘埃落定,也算是一个新的开始吧。和守宏聊天的时候也说了很多有关工作的事情,畅想了以后美好的未来,也想到了今后的种种困难。不说别的就是单单在北京住房这一项就够任何一个职场上的人忙上好几年的。英国天气无常,所以英国人寒暄的时候常常谈论天气;北京人居无定所,所以在北京上班的朋友们大可以在寒暄的时候谈论租房;)。“哎,你在哪租的房子?”“我在西二旗那边,挺便宜的……”“嗨,我之前在那边住过……”很多在北京工作的朋友第一要考虑的就是住宿的问题。没办法“衣食住行”里面其他的都还好说,唯独“住”这件事在帝还是一个比较特殊的问题。也问过大多数在北京的朋友,他 阅读全文
posted @ 2013-05-20 00:56 郗晓勇 阅读(342) 评论(0) 推荐(0) 编辑
摘要: 把数据库比喻成一个大的仓库,那么数据就是这个仓库中的货物,之前接触的DataSet、DataTable以及ResultSet都属于运输货物的卡车,通过一定的执行条件将需要的货物(数据)筛选出来之后放入卡车(ResultSet等)中运送到需要的地方(程序)。有了上面的一个比喻再来看Windows中Oracle10G的各个服务相信就比较容易理解了。1. OracleService+ ?数据库的主服务,此服务必须启动才能使用Oracle,后面的?是全局数据库名称。用于表示该仓库是否可用,如果此服务停止那么表示这个仓库不能使用。后面的数据库名称和仓库的名称是一个性质的,就是个名字而已。2. ? +TN 阅读全文
posted @ 2013-04-30 23:20 郗晓勇 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 幽默是一种能力,如果有就好好的利用它陌生人之间的谈话,往往是双方都很不自然,其实这很正常。双方你一言我一语,好像都带着盔甲用手中的长剑在试探对方的防御以及对方的底线。如果其中有一方可以在话语中有点儿幽默那么气愤就会好一些,起码带给对方的信息是“很高兴和你谈话”,或者“我和你谈话是带着友好的,不是敌意的”。一些幽默的话语会让我们的笑容更加自然,否则虽然嘴角上扬,但挤出来的笑容和自然的流露毕竟是不一样的。言之有物,言之有理,言之有效发言,交谈最大的忌讳就是说了半天都是虚词废话,或者说的话距离自己的主题思想十万八千里,让人听了下句不知道和上句有什么衔接。说的话要言之有物,不要空话废话,不着边际的话。 阅读全文
posted @ 2013-04-30 22:07 郗晓勇 阅读(256) 评论(1) 推荐(0) 编辑
摘要: 从前,有一个小孩,他很聪明,喜欢倒腾家里各种有趣的东西。老爸的手表,老妈的自行车,当然还有自己的玩具,无一不是他研究的对象。他那双好奇的眼睛总是能盯着这些东西看上半天,恨不得钻到里面看看这些东西内部到底是什么样子的。当然他也会时不时的将这些东西拆个七零八落(能不能恢复原样那就是另一回事了),每次七零八落的背后总免不了一顿胖揍,但这绝磨灭不了他那无尽的好奇心。每次家里新添置的东西他总会向父母撒娇成为第一个摆弄的人,家里的录音机、收音机、电话都成了他摆弄的对象。渐渐地他成为了家里的“能手”,貌似没有什么电器是他搞不定的。后来他发现对于简单的东西通过自己摸索还行,但是复杂的东西,比如:如何搜索电视的 阅读全文
posted @ 2013-04-24 15:50 郗晓勇 阅读(197) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 20 下一页