- 浏览: 171543 次
- 性别:
- 来自: 上海
-
最新评论
-
Mr.San:
binbinyouli 写道run(Enums.random( ...
java 枚举高级应用之状态机 -
Mr.San:
class Enums
{
private static ...
java 枚举高级应用之状态机 -
nocb:
对,Enums 没有
java 枚举高级应用之状态机 -
binbinyouli:
run(Enums.random(MONEY.getValue ...
java 枚举高级应用之状态机
文章列表
exjs 初学笔记(二) model
- 博客分类:
- ext js
//两种创建model的方式
Ext.define("person",{
extend:"Ext.data.Model",
fields:[
{name:'name',type:'auto'},
{name:'age',type:'int'},
{name:'email',type:'auto'}
]
});
Ext.regModel("user",{
fields:[
{name:'name',type:'auto'},
...
exjs 初学笔记(一)
- 博客分类:
- ext js
4年前玩过extjs ,如今重新捡回来,感觉还是有点手生,今天看了一下视频,记录一下。
Ext.onReady(function(){}) //加载事件
var o = {
say : function(){
alert(11111);
}
}
var fn = Ext.Function.alias(o,'say');
fn();
//创建函数别名
Ext.get("myb") //这个能获取页面id为myb的元素
//创建对象的几种方式
1. var win = new Ext.window.Win ...
oracle 中得到sql执行计划后如何优化
- 博客分类:
- oracle
当你得到一条sql语句的执行计划后,对.确实您能看懂是什么意思,比如表连接的方式,是否走了索引,但是看懂了却不知道从哪里下手优化,这是个问题,曾经困扰我一段时间,(鄙人刚学oracle不久) 如果您和我的情况一样,建议看看下面几点.
您在查看计划时能否确定以下项是否正确?
• 基数
• 每个对象是否生成正确的行数?
• 访问方法
• 是否以最好的方式访问数据?扫描?索引查找?
• 联接顺序
• 是否以正确的顺序联接各表以便尽早尽多地消除数据?
• 联接类型
• 是否使用了正确的联接类型?
• 分区修剪
• 我执行过分区修剪吗?是否消除了足够多的数据?
• 并行度
...
explain plan for [select 语句]
commit;
select * from table(dbms_xplan.display);
java 枚举高级应用之状态机
- 博客分类:
- java基础
枚举类型非常适合用来创建状态机,一个状态机通常可以拥有有限的几个状态,他通常根据输入,从一个状态进入到下一个状态。
下面是一个用枚举实现的自动售货机的例子,很简陋,但是表达清楚了意思就差不多了,也希望各位看官能指出不足之处。
package enums;
import java.util.Random;
/**
* @描述 售货机可以接收的钞票金额和所有商品的价格
* @创建时间 2012-5-27
* @另请参照
*/
public enum Input {
/**五分硬币**/
NICKEL(5),
/**一角硬币**/
DIME(1 ...
java 枚举中的枚举
- 博客分类:
- java基础
package enums;
import java.util.Random;
//获取枚举中随机属性
public class Enums {
public static <T extends Enum<T>> T random(Class<T> ec){
return random(ec.getEnumConstants());
}
public static <T> T random(T[] values){
//每次调用new一个新random,标识要不一样,要不然每次运行的结果都一样。
...
Java 枚举高级应用之责任链模式
- 博客分类:
- java基础
看 thinking in java 枚举那一段,看到这个例子还挺有意思的,所以记录了下来。
这是用枚举+责任链模式 模拟邮件发信步骤的例子。(PS:遍历枚举时顺序是按照定义时的顺序)
废话少说,贴代码。效果把代码拷回去run一下 ...
当我们遇到一下情况的时候:
A表 --->目标表,一般来说是 需要插入数据或者更新数据的表, 必须是 [table]
B表 ----> 相对应匹配A表的数据集 可以是[table,子查询,视图]
我们的A表需要根据一定的条件和B表做匹配操作,当B表存在和A表条件匹配的数据,执行更新操作,执行插入操作。
打比方说就是如果A表里如果存在B表中的数据,则执行对A表的更新操作,不存在则执行插入操作
语法:
MERGE [INTO [schema .] table [t_alias] 目标表
USING [schema .] { t ...
这一个算是一个比较完善的快速排序了吧,就是代码多了点,没办法,要想性能好,考虑的东西就得多点。
package sort;
public class QuickSort {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int n = 10000000;
int[] arr = new int[n];
for (int i = n; i > 0; i--) {
arr[i - ...
希尔排序是1959年某个叫希尔的数学大大发明的,它其实就是在插入排序的基础上做了一些优化,但是效率却不知道提高了多少倍,我估计几万倍应该有吧(纯属个人瞎蒙)。插入排序是一个一个来插,而希尔排序则是有一个间隔 ...
归并排序也是用到递归的一种排序方式,他比简单排序效率要快很多,冒泡,选择,插入等要O(n*n)的时间复杂度,而归并只需要O(N*logN)的时间。他也比较好实现,但是有个缺点就是需要用到是原数组双倍的空间,因为他要在内存中有另外一个和原数组一样大的数组来做中间数组。
归并数组的特点是用空间换时间
归并算法的核心是合并两个有序的数组,先从两个元素开始合并成一个有序数组,然后是两个容量为二的有序数组合并为一个有序数组 ........... 直到合并成了和原数组一样大下的有序数组,排序完成。所以这也是要用到递归的原因。
package sort;
public clas ...
sql 查询优化准则
- 博客分类:
- SQL
根据我们的经验(由很多业界专家证明),在 SQL Server 上取得的性能提高有 80% 来自对 SQL
编码的改进,而不是来自于对于配置或系统性能的调整。”—凯文 克莱恩等,Transact-SQL Programming 作者
“经验表明 80%-90% 的性能调优是在应用级做的,而不是在数据库级”—托马斯 白特,Expert One on One: Oracle
作者
可见sql语句对于数据库性能的重要性。
各种操作符的效率排序:(由高到低)
=
>
>=
<
<=
LIKE
<>
LIKE 和 <>都 ...
二进制数据 分为原码,反码 和补码 。
做位运算的时候都是用的补码,正数的原码和补码反码都是一样的,而负数的反码=符号位不变其他位逐一取反。补码等于反码+1.
二进制最高位是符号位,0是正数,1是负数。
位运算结果是补码,要转为原码才是正确的。(正数可以不转)
java 数据结构学习之(二) 简单排序
- 博客分类:
- 数据结构
冒泡排序最经典:
public void BubbleSort1(){
for (int i = nElement - 1; i > 0; i--) {
for (int j = 0; j < i; j++) {
if(arr[j] > arr[j+1]){
swap(j,j+1);
}
}
}
}
private void swap(int a,int b){
arr[a] = arr[a] + arr[b];
arr[b] = arr[ ...
java 数据结构学习之(一)数组
- 博客分类:
- 数据结构
数组是应用最广泛的数据结构,也是最简单的数据结构,它有着结构简单,算法通俗易懂的优点。数组又分为有序数组和无序数组,我们通常用的都是无序数组。下面是这两种数组之间的区别
无序数组的优点:插入快,根据索引查找快。缺点:在未知数组位置的情况下查找慢,删除慢。
有序数组的优点:使用二分法查找快。缺点:插入数据和删除数据慢。因为插入数据要做排序操作。
综合以上,可以看出他们各自的使用场景,无序数组适合经常做插入操作和用索引访问的环境,而有序数组更趋向于随机查找。
下面是封装的一个数组类,扩展了了insert,delete,find方法,有许多不足之处,比如insert方法没有判 ...