- 浏览: 80994 次
- 性别:
- 来自: 北京
最新评论
-
tianhandigeng:
一直没搞懂,问一下,RTTI是指一种机制,还是一个概念? 思维 ...
Java RTTI -
haohao-xuexi02:
我觉得《鲁宾逊漂流记》读英文,会非常棒。。。
最近该读哪些书(三) -
haohao-xuexi02:
我喜欢《暗时间》!
最近该读哪些书(三)
文章列表
Javascript原型链
- 博客分类:
- Web前端
以一段代码认识原型链。
//Animal构造函数
function Animal(name){
this.name = name;
}
//Animal原型对象
Animal.prototype = {
id:"Animal",
sleep:function(){
alert("sleep");
}
}
var dog = new Animal("旺才");
alert(dog.name);//旺才
alert(dog.id);//Animal
d ...
Oracle的优化器有两种优化方式,即基于规则的优化方式(Rule-Based Optimization,简称为RBO)和基于代价的优化方式(Cost-Based Optimization,简称为CBO),在Oracle8及以后的版本,Oracle强列推荐用CBO的方式
RBO方式:优化器在分析SQL语句时,所遵循的是Oracle内部预定的一些规则。比如我们常见的,当一个where子句中的一列有索引时去走索引。
CBO方式:它是看语句的代价(Cost),这里的代价主要指Cpu和内存。优化器在判断是否用这种方式时,主要参照的是表及索引的统计信息。统计信息给出表的大小、有少 ...
Oracle查询不走索引
- 博客分类:
- 数据库
今天在进行sql条有的时候,发现子查询中总是不走索引,对于的字段是建立了索引了的,可是不管怎么折腾就是不通过索引进行查询。网上对oracle查询不走索引的解释包括数据量较小(不值得走索引)、包含统计函数、未建立主键、对应列为nullable等等。后来,在与另外的同事讨论时才知道,原来是因为索引结果过多而进行全表遍历。表中总数据量为1千万,而索引对应条件查询的结果有500多万,在进行执行计划分析时,oracle直接跳过索引而进行了全表查询。
跨站点请求伪造防范(转载)
- 博客分类:
- 解决方案
CSRF 的防范机制有很多种,防范的方法也根据 CSRF 攻击方式的不断升级而不断演化。常用的有检查 Refer 头部信息,使用一次性令牌,使用验证图片等手段。出于性能的考虑,如果每个请求都加入令牌验证将极大的增加服务器的 ...
AppScan中的安全漏洞类型及解决方案
- 博客分类:
- 解决方案
记录下近期项目中使用AppScan发现的安全漏洞,在后续持续跟踪:
1. 内部IP泄露;
2.检测到应用程序检测脚本;
3.HTML敏感信息泄露;
4.跨站点请求伪造;
5.发现内部IP泄露模式;
6.已解密的登录请求;(明文发送请求参数)
7.会话标识未更新;(不要接受外部创建的会话标识)
8.SQL盲注;
9.登录错误消息凭证枚举;
其中“跨站点请求伪造”类型的安全文件最多,而“会话标识未更新”、“登录错误消息凭证枚举”为严重问题。
AppScan给出了各个问题的修改建议,后续再补充进来。
oracle中使用序列和触发器实现单个字段值自增长
- 博客分类:
- 数据库
创建序列:
create sequence ccxx_ver_seq start with 1 increment by 1;
创建触发器:
create or replace trigger ccxx_ver_trig
before insert on ccxx
for each row begin
select ccxx_ver_seq.nextval into :new.version from dual;
end;
ccxx为触发器应用的表名
version为需要进行值自增长的字段名称
测试:
insert into ccxx(ID,XM, ...
1.使用确定的字段替代*:
使用
SELECT id, first_name, last_name, age, subject FROM student_details;
替代
SELECT * FROM student_details;
2.having会在查询出结果后进行过滤,可以理解为一个过滤器,所以不要将having作为其他用途(除过滤器):
使用
SELECT subject, count(subject)
FROM student_details WHERE subject != 'Science' AND s ...
iframe使用笔记
- 博客分类:
- Web前端
1.使用JS刷新iframe的方法:
document.getElementById('iframeid').src = document.getElementById('iframeid').
使用plsql执行计划进行sql调优(转载)
- 博客分类:
- 数据库
一段SQL代码写好以后,可以通过查看SQL的执行计划,初步预测该SQL在运行时的性能好坏,尤其是在发现某个SQL语句的效率较差时,我们可以通过查看执行计划,分析出该SQL代码的问题所在。
那么,作为开发人员,怎么样比较 ...
在项目中总会遇到一些关于加载的优先级问题,近期也同样遇到过类似的,所以自己查找资料总结了下,下面有些是转载其他人的,毕竟人家写的不错,自己也就不重复造轮子了,只是略加点了自己的修饰。
首先 ...
使用PropertyPlaceholderConfigurer将系统相关变量分离懂到一个properties文件中,便于系统移植、切换。
<bean
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
<prope ...
在网络上流畅很广的一篇旧文,暂时没找到原作者,目前所看到的最早转载时间是 2005 年 2 月 28 日。作者用轻松的语言,形象解释了 23 种模式,有很好的启发作用。
创建型模式
1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡 ...
Lucence使用笔记
- 博客分类:
- 我爱Java
1. lucence分页
TopScoreDocCollector topCollector = TopScoreDocCollector.create(
100, false);
searcher.search(query, topCollector);
加载顺序:
1. 所有静态的(无论其是变量还是块)都按顺序执行. 2. 所有的非静态的块都在静态的(无论其是变量还是块)后执行. 3. 所有的块(无论是静态的还是非静态的)都在构造之前执行.
4. 静态块在类被加载到内存后就开始执行
5. 非静态块是在创建对象时,构造之前被调用
可以在编程时,适当使用静态块和非静态块!
参考:
http://terryjs.iteye.com/blog/769324