- 浏览: 22841 次
- 性别:
- 来自: 杭州
-
最新评论
文章列表
bean命名
定义一个通用数据源,假设其名字为component-dataSource 二个模块使用同一个数据源
<alias name=“component-dataSource ” alias=“componentA-dataSource ”>
<alias name=“component-dataSource ” alias=“componentB-dataSource ”>
bean创建
使用构造方法穿件bean的实例
使用静态工厂方法创建bean的实例
使用实例化的工厂方法创建bean的实例
<bean id="staticFa ...
事物管理
spring事物的好处
为不同的事物API提供了一致的编程模型
支持声明式事务管理
提供比大多数事务API更简单更易于使用的编程式事务管理API
整合spring的各种数据访问抽象
TransactionDefinition
定义了事务策略
int getIsolationLevel()得到当前事务的隔离级别
READ_COMMITTED 授权读取
READ_UNCOMMITTEN 未授权读取
REPEATABLE_READ 可重复读
SERIALIZ ...
常用属性或是构造方法参数的配置
使用常量
<bean id="exampleBean" class="cn.hxex.springcore.ExampleBean">
<constructory-arg type="int"><value>750000</value></constructory-arg>
<constructory-arg type="java.lang.String"><value ...
初始化回调的几种方式
1)采用xml配置
<bean id="exampleInitBean" class="examples.ExampleBean" init-method="init"/>
public class ExampleBean {
public void init() {
// do some initialization work
}
}
2)采用实现spring接口InitializingBean 然后实现方法 ...
XML配置中使用parent属性进行bean的继承
<bean id="inheritedTestBean" abstract="true"
class="org.springframework.beans.TestBean">
<property name="name" value="parent"/>
<property name="age" value="1"/>
< ...
bean作用域
通过bean元素的scope属性进行配置
singleton ioc只会创建唯一实例 对于该bean 的所有引用以及请求都是使用唯一 通常都是无状态的 导致多进程同时调用该bean的时候产生冲突
propertype ioc容器对于每次请求bean都会创建一个新多实例
request 在一次http请求中 spring ioc容器会返回该bean的同一个实例 对于不同的用户请求 会返回不同的实例 web下有效
session 在一个http session中 spring ioc会返回该bean的同一个实例 不同用户的session 返回不同实例 ...
public class Node {
private Object object;
private Node next;
public Node() {
this.next = null;
this.object = null;
}
public Object getObject() {
return object;
}
public void setObject(Object object) {
this.object = object;
}
public Node getNext() {
return n ...
定义初始化方法和销毁方法
<bean id="aa"
class=""
init-method="initialize"
destroy-method="cleanup"/>
使用depends-on
延迟初始化bean
applicationContext实现的默认行为就是在启动时将所有singleton bean提前进行实例化
<bean id="lazy" class="& ...
Sar –u 检查CPU的繁忙程度
列
说明
Usr
用户模式下cpu运行所占的百分比
Sys
系统模式下cpu运行所占的百分比
Wio
因为有进程等待块I/O而使cpu处于闲置状态所占百分比
Idle
Cpu为闲置状态所占百分比
sar –u 10 8 第一个数字展示二次相邻的sar读取之间隔了多少秒,第二数字是打算好了让sar运行的次数。
较低的idel时间可能说明有些进程正消耗大量的cpu时间,或是说明cpu的处理能力不足。请使用ps或是top命令去找出cpu密集型的作业吧 写得很差,需要大量磁盘访问的查询,同样能够消耗大量的cpu资源
值得关注wio返回的高额数值与cpu的沉重负荷 ...
lookup方法注入
当singleton类型的bean引用prototype类型的bean时候,就会有问题
在这里假设A为singleton类型的bean B为prototype类型的bean A需要引用B
lookup方法注入利用了 ioc 容器复写bean的抽象方法的能力 从而返回指定名字的bean实例 原理是通过CGLIB库运行生成二进制代码。
在使用lookup方法注入时,需要在引用bean中定义一个抽象地返回被引用对象的方法
public abstract CurrentTime createCurrentTime();
在进行XML配置的时候,需要使用<lookup ...
转:http://www.cnblogs.com/hexiaochun/archive/2012/09/04/2671076.html
堆排序是一种利用完全二叉树来解决问题的高效算法,合法的最大堆树要满足一个条件就是每一个结点值都要大于或等于它的孩子结点值。在一个数组中那专业法表示为:
arrays[i]>=arrays[2*i+1] && arrays[i]>=arrays[2*i+2]; 最小堆类似,只要改为冒最小值即可。
堆排序树的构造过程找最大值过程由下图,数组arrays[0....n]为:17,8,45,84,2,94,刚找到最大值后把最大值即9 ...
合并排序算法就是将多个有序数据表合并成一个有序数据表。如果参与合并的只有两个有序表,则称为二路合并。
排序流程:
原始数据: 67 65 77 38 97 3 33 49 34
第一遍: 65 67 38 77 3 79 33 49 34
第二遍: 38 65 67 77 3 33 49 97 34
第三遍: 3 33 38 49 65 67 77 97 34
第四遍: 3 33 34 38 49 65 67 77 97
public class MergeSort {
static final int ...
快速排序算法和冒泡排序算法类似,都是基于交换排序思想的,快速排序算法对冒泡排序算法进行了改进,从而具有更高的执行效率
通过多次比较和交换来实现排序,流程如下:
1)首先设定一个分界值,通过该 ...
public class MyQueue {
private long[] arr;
private int front;
private int end;
// 有效数据的大小
private int elements;
public MyQueue() {
arr = new long[10];
elements = 0;
front = 0;
end = -1;
}
public MyQueue(int maxsize) {
arr = new long[maxsize];
elements = 0;
...
public class MyStack {
private long[] arr;
private int top;
public MyStack() {
arr = new long[10];
top = -1;
}
public MyStack(int maxsize) {
arr = new long[maxsize];
top = -1;
}
// add
public void push(int value) {
arr[++top] = value;
}
// remove{
publ ...