- 博客(24)
- 收藏
- 关注
原创 Oracle实现批量修改的两种方法
1、构建临时表进行主键关联更新 需求:T1表有千万级别的数据量,需要更新这个表的字段a,b满足2个条件的记录。 做法:一般业务会将条件通过excel表格提供给开发,那么开发首先需要将这个excel表格的内容插入到临时表T2中,考虑到a,b都不是主键,那么需要将a,b转化成主键后再插入到T2表中,T2表中还可以保存更新前的数据,方便做数据回滚,T2表中有数据后,就可以执行下面脚本进行更新操作:
2018-04-26 20:40:40 21989
原创 算法-排序那些事
冒泡排序:1、通过比较相邻两个元素,把大的元素放在索引大的位置上,这样比较n-1-i次后,就将最大的元素冒泡到最后面 2、这样的过程要找n-1次 时间复杂度: 最好情况已经排好序O(n) 最差情况反序O(n^2) private static void bubbling(int[] a,int n){ int temp; for(int i = 0; i <
2017-06-15 23:13:56 301
原创 算法-神奇数
问题描述: 给出一个区间[a, b],计算区间内“神奇数”的个数。 神奇数的定义:存在不同位置的两个数位,组成一个两位数(且不含前导0),且这个两位数为质数。 比如:153,可以使用数字3和数字1组成13,13是质数,满足神奇数。同样153可以找到31和53也为质数,只要找到一个质数即满足神奇数。 输入描述: 输入为两个整数a和b,代表[a, b]区间 (1 ≤ a ≤ b ≤ 1000
2017-06-07 18:08:37 1068
原创 Redis
数据结构string: set hello world get hello -> world del hello list: rpush list-name item1 rpush list-name item2 rpush list-name item1 lrang list-name o -1 -> item1 item2 item1 lindex list-name 2 ->
2017-05-19 23:18:28 245
原创 Git
初始化一个Git仓库,使用git init命令。添加文件到Git仓库,分两步: 第一步,使用命令git add ,注意,可反复多次使用,添加多个文件; 第二步,使用命令git commit,完成。要随时掌握工作区的状态,使用git status命令。 如果git status告诉你有文件被修改过,用git diff可以查看修改内容。HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历
2017-05-16 23:17:03 234
原创 Oracle内置方法
trunc()日期1.select trunc(sysdate) from dual –2011-3-18 今天的日期为2011-3-18 2.select trunc(sysdate, ‘mm’) from dual –2011-3-1 返回当月第一天. 3.select trunc(sysdate,’yy’) from dual –2011-1-1 返回
2017-05-15 14:11:35 287
原创 Oracle分页
如果我们都这样写分页:select t.* from(select fieldName,rownum rn from tableName t where t.fieldName = conditionand rownum <= a) twhere rn > b那就要注意了,这样的写法有可能会出现重复项。 正确的写法:select t.* from(select fieldName
2017-02-26 22:14:20 390
原创 Java设计模式-装饰器模式
如果想要扩充一个类的功能,你会打算怎么做?从原有类改写代码,相信这是大家最容易想到的办法,但是这个办法有很多弊端,不能复用是它最致命的缺点,灵活性太差。写一个子类去继承它,在子类扩充功能。但是还是不够灵活。使用组合方式,把Component接口(或者抽象类)作为Decorator接口(或者抽象类)的一个属性,Decorator extends Component,Decorator的Opera
2017-02-17 00:48:05 262
原创 Java类加载过程
加载的时机java类是在什么时候初始化的呢?遇到new、getStatic、putStatic和invokeStatic的时候。通俗点讲,就是在new一个实例、调用或者设置一个类的static变量(final修饰的变量除外,因为它已经在编译阶段通过常量传播优化,存储到了调用类的常量池中)和调用类的static方法的时候,如果类没有初始化,那么就要初始化。进行类的反射操作的时候,如果类没有初始化,
2017-02-12 18:21:15 275
原创 Java设计模式-观察者模式
观察者模式也称为发布/订阅模式,实现一对多的依赖关系,一个目标的改变同时会更新观察者,实现让多个观察者监听一个目标。 JDK给我们提供了一套观察者模式:java.util.Observer和java.util.Observable Observer:update(Observable o, Object obj):这个方法当Observable的changed为true时会调用Observa
2017-02-11 00:21:00 241
原创 Java设计模式-单例模式
单例模式饿汉模式: 由于类的创建是在类加载的时候,初始化static变量的时候创建的,所以叫饿汉模式。也是因为它是类加载的时候创建的实例,所以它是线程安全的,多个实例去获取实例都是安全的。//将构造方法私有化private Construction(){}//私有化并创建一个static实例private static instance = new Construction();//提
2017-02-10 21:41:51 223
原创 Java多线程
Runnableinterface:它是一个接口run():它唯一的方法,一个run需要实现的方法,线程的逻辑写在这里Threadclass:首先它是一个类,它implements Runnable,getName()可以获取它的名字,setName()可以设置它的名字run():重写Runnable的方法,它也不实现,只是调用Runnable的run()start():the JVM
2017-02-09 23:37:54 263
原创 Oracle分区
分区语句创建表空间:create tablespace ts_1 datafile 'xx.dbf' size 10m extent management local autoallocate;create tablespace ts_2 datafile 'xx.dbf' size 10m extent management local autoallocate;create tablespa
2017-02-09 00:12:22 269
原创 Oracle索引
索引分类B树索引: 通过在索引中保存排序的索引列的值以及记录的物理地址ROWID来实现快速查找。位图索引 当索引列的值基数很低时(比如表示性别的字段,只有男和女,这就是基数很低),创建B树索引显然不是明智之选,创建位图索引想必是你最好的选择。create bitmap index index_name on table(column) tablespace users;反向键索引
2017-02-08 23:57:58 279
原创 简单爬虫
URL管理器实现方式:基于内存set()基于数据库(包含关系型如:oracle、mysql等,还有非关系型如:redis、pg等)包含属性:保存“爬”过的url保存未“爬”过的url包含方法:add增加一个urlget获取一个url网页下载器实现方式:urllib2urllib2.urlopen(url)request网页解析器实现方式:beautiful soupso
2017-02-08 17:30:37 214
原创 Python入门
list[]: items is changeable. append(item)\insert(index,item)\pop(). slip:[start,end,step]tuple(): items isn’t changeable.set([]): cannot repeat. remove(item)\add(item)dist{}: key-value. values(
2017-01-30 17:36:53 221
转载 Python3.x和Python2.x的区别
Python3.x和Python2.x的区别1.性能 Py3.0运行 pystone benchmark的速度比Py2.5慢30%。Guido认为Py3.0有极大的优化空间,在字符串和整形操作上可 以取得很好的优化结果。 Py3.1性能比Py2.5慢15%,还有很大的提升空间。 2.编码 Py3.X源码文件默认使用utf-8编码,这就使得以下代码是合法的: >>>中国 = ‘china’
2017-01-30 15:29:18 207
转载 cron表达式详解
Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式: Seconds Minutes Hours DayofMonth Month DayofWeek Year或 Seconds Minutes Hours DayofMonth Month DayofWeek每一个域可出现的字符如下: Seconds:可出现”, - * /
2016-05-17 15:21:08 281
原创 正则表达式入门
\\ 反斜杠 \t 制表符Tab (‘/u0009’) \n 换行 (‘/u000A’) \r 回车 (‘/u000D’) \f 换页符 \e Escape \d 数字 等价于[0-9] \D 非数字 等价于[^0-9] \s 空白符号 [/t/n/x0B/f/r] \S 非空白符号 [^/t/n/x0B/f/r] \w 单独字符 [a-zA-Z_0-9] \W 非单独字符 [
2016-05-08 18:52:39 260
转载 编码的那些事
1. ASCII码我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从0000000到11111111。上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系
2016-05-08 16:52:48 334
转载 pl/sql编程
一什么是plsql二plsql学习的必要性三编写规范四块五过程六函数七包八定义并使用变量九控制结构十编写分页过程十一例外处理十二Oracle视图一、什么是pl/sqlpl/sql(procedural language/sql)是Oracle在标准的sql语言上的扩展,pl/sql不仅允许嵌入Sql语言,还可以定义变量和常量,允许使用条件语句和循环语句,允许使用例外处理各种错误
2016-04-28 15:00:07 522
原创 Oracle sqlldr
用途:将批量的txt格式的数据导入到数据库中。优点:方便、批量用法:在命令行(Dos)环境下,运行以下命令:sqlldr userid=username/password@serviceName control=load.ctl其中, username:数据库用户 password:数据库密码 serviceName:数据库连接串 serviceName可以在”{Oracle安装路径}\p
2016-04-21 09:27:55 399
原创 句柄
what’s 句柄?句柄是OS内标志程序中建立的唯一整数。由来?源于内存管理机制——虚拟内存,用句柄来记录数据地址的变更。作用?句柄是一个标示符,用来标示对象或者是项目,通过句柄找到对象。更详细?别人对于句柄的理解
2016-04-19 14:31:30 291
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人