- 浏览: 253383 次
- 性别:
- 来自: 北京
最新评论
文章列表
Session 与 cookie
- 博客分类:
- 阅读笔记
一 Session: 保存在服务端的会话信息
Session是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上。
当程序需要为某个客户端的请求创建一个Session的时候,服务器首先检查这个客户端的请 ...
oracle sql优化
- 博客分类:
- oracle
1.绑定变量 不适用在OLAP系统中。
因为在OLAP中,对应某个参数会查询出较大的结果集,这样,oracle会判断这条sql不适用与索引(因为索引查询到的数据时少量的),而进行全表扫描。
2.oracle会解析sql语句,以基于cost的标准(11G等较高版本已经基本弃用基于规则的解析)来确定执行计划。
3.在较高版本如11G等,已经可以排除一些操作的影响,如 in, union ,等等。
除了如 or, like 依然会有些影响。
4.like 对索引列的影响: 当如 %XXX%时 不会考虑利用索引,当如 XXX% 时,有可能考虑利用索引。
5. having与where
...
单元测试 mock 特殊对象
- 博客分类:
- 单元测试
1. easymock 和powermock的相关使用可参考官方网站,都有比较详细的介绍。
2.特殊的,powermock可以mock方法内部的对象的new方法。
例如在某个方法内部有 Object o = new Object();
此时可以用PowerMock.expectNew(。。。。)来mock:
PowerMock.expectNew(ArrayList.class).andReturn(userList2);
3.
Start with...Connect By子句递归查询一般用于一个表维护树形结构的应用。
对于oracle进行简单树查询(递归查询)
DEPTID PAREDEPTID NAME
NUMBER NUMBER CHAR (40 Byte)
部门id 父部门id(所属部门id) 部门名称
通过子节点向根节点追朔.
select * from persons.dept start with deptid=76 connect by prior paredeptid=deptid
通过根节点遍历子节点.
select * from persons.dept start with par ...
oracle 锁 分析
- 博客分类:
- oracle
1.
分为 tx 和 tm 。
即 行级 和 表级
其中
行级是 X
表级是 S X RS RX SRX
S:整个表是share的
X:整个表是X的
RS:表中某些行是share的
RX:表中某些行是exclucive的
SRX:在某个事务执行的过程中, 先加了S锁, 然后还请求了RX锁
2. 加锁过程是
先在表上加表级锁
再在确定的某一些行上加行级锁
3. 加表级锁的时候要检查相容性
4. 一些sql语句和会产生的加锁类型的对应关系如下:
select :RS
update、delete,insert: RX
5. S,X,SRX 等类型的表级锁可以通过以下语句加锁
loc ...
Oracle的TX锁(行级锁、事务锁)
- 博客分类:
- oracle
问题:如何使用事务?
回答:一共有三步。
1、先开启事务。
•在Oracle中,事务是在上一次事务结束以后,数据“第一次”被修改时自动开启。
•在java中,设置连接为手动提交模式开始。代码:
connection.setAutoCommit(false)。
2、进 ...
java condition lock
- 博客分类:
- java之线程
package com.cn.whu;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.locks.Condition;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
public class ThreadConditionLook {
/**
* @pa ...
javascript跨域访问
- 博客分类:
- javascript
javascript跨域访问是web开发者经常遇到的问题。
A.同源策略
同源策略,它是由Netscape提出的一个著名的安全策略。
现在所有支持JavaScript 的浏览器都会使用这个策略。
所谓同源是指,域名,协议,端口相同。
当一个浏览器的两个tab页中分别打开来 百度和谷歌的页面
当浏览器的百度tab页执行一个脚本的时候会检查这个脚本是属于哪个页面的,
即检查是否同源,只有和百度同源的脚本才会被执行。
B. 跨域
那么跨域指的就是 域名,协议,端口有一个不相同
什么是跨域,一个域上加载的脚本获取或操作另一个域上的文档属性,下面将列出三种实现javascript跨域方法: ...
maven 和 sonar的集成
- 博客分类:
- 工作笔记
maven 和 sonar的集成
1.须运行 Sonar 服务器
2.配置 Sonar 支持 Maven ,需要在 Maven 的 settings.xml 文件中进行配置(详见最下方)
3.通过 mvn sonar:sonar 来执行代码分析
需要在maven的setting.xml文件中假如以下配置信息
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</act ...
1.
对于 set, 注意左侧不要有空格
set myname=asdf 正确
set myname =asdf 错误
regex
- 博客分类:
- javascript
var regexEnum =
{
intege:"^-?[1-9]\\d*$", //整数
intege1:"^[1-9]\\d*$", //正整数
intege2:"^-[1-9]\\d*$", //负整数
num:"^([+-]?)\\d*\\.?\\d+$", //数字
num1:"^[1-9]\\d*|0$", //正数(正整数 + 0)
num2:"^-[1-9]\\d*|0$", // ...
通过计算机名 获取 IP
- 博客分类:
- 操作系统
注意: 红色部分可能根据需要进行修改
yourTestPCname 即是你需要测试的计算机名称
红色的数字部分是由跟环境的ip地址有关联
复制以下代码到bat文件即可。
@echo off
set pcName=yourTestPCname
ping %pcName% -4
@echo -
for /f "tokens=2 delims=[" %%i in ('ping %pcName% -4^|findstr "%pcName%"') do set ip=%%i
set iptmp=%ip:~0,14%
set lastchar=%iptmp:~1 ...
servletcontext 的获取
- 博客分类:
- java
容器在初始化servlet时,会为其注入servletconfig。 该servletconfig会保持一个sevletcontext引用。
http的servlet一般会继承于genericservlet,该genericservlet有getServletcontext方法。
genericservlet
getServletcontext()
而非httpservlet则可以通过getservletconfig().getServletcontext()来得到sevletcontext
观察者/监听器 在 Entity 上的应用
- 博客分类:
- 工作笔记
1.
创建 业务Entity 时, 不同的entity可以选择附加上不同的listener(如通过注解来标识)。
这样在 entity manager 中,通过执行listener来实现自动化的处理。
比如, 监控该entity的流程, 自动保存该entity关联的文档, 自动创建相关的event log等。
2.