自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 oracle之索引

查询索引(过滤主键索引)select count(1) from user_indexes a, user_ind_columns b where a.table_name = b.table_name and a.index_name = b.index_name and a.table_name = 'tb1' and not exists (select 1 from all_constraint c where a.index_name=c.constraint_name and c.table

2022-03-09 15:43:53 127

原创 oracle之约束

查看表约束select * from all_constraints a, all_cons_columns b where a.constraint_type='p' and c.constraint_name=b.constraint_name and a.owner=b.owner and a.table_name='tb1';删除表约束alter table tb1 drop constraint 约束名;添加约束alter table tb1 add constraint 约束

2022-03-08 14:48:42 389

原创 ORACLE之分区

实际开发中,由于历史表累积数量过大,未分区历史表插入数据太慢,影响到程序运行,因此创建了分区表rangef分区(范围分区)语法:create table tb1(id varchar2(10 char) not null,dte varchar2(20 char) null)partition by range(dte)(partition p202001 values less than (to_date('2020/02/01 00:00:00','yyyy-mm-dd hh

2022-03-08 14:18:50 486

原创 序列化和反序列化

序列化:将对象转换成字节序列,方便对象的存储和传输反序列化:将字节序列转换成对象的过程序列化需要实现Serializable这个接口,或者子类的父类实现了Serializable接口,通过ObjectOutputStream对象输出流将java对象持久化到磁盘上,通过ObjectIntputStream对象输入流将磁盘中的字节码文件转换成java对象public class SerializableDemo implements Serializable { //serialVersion

2020-08-02 17:32:59 132

原创 多线程之ThreadPoolExecutor

由于频繁的创建和销毁线程需要消耗时间,所以我们使用线程池来使线程能够复用,线程池在public class ThreadPoolExecutor extends AbstractExecutorServiceThreadPoolExecutor是java中线程池的核心类构造方法:corePoolSize:核心池的大小maximumPoolSize:线程池最大线程数keepAliveTime:表示线程没有任务执行时最多保持多久时间会终止。默认情况下,只有当线程池中的线程数大于corePool

2020-08-02 15:56:28 214

原创 动态代理之JDK

JDKJDK动态代理就是要生成一个包装类对象,由于代理的对象是动态的,所以叫动态代理。由于我们需要增强,这个增强是需要留给开发人员开发代码的,因此代理类不能直接包含被代理对象,而是一个InvocationHandler,该InvocationHandler包含被代理对象,并负责分发请求给被代理对象,分发前后均可以做增强。从原理可以看出,JDK动态代理是“对象”的代理。JDK动态代理步骤1>创建一个代理类,这个类必须实现InvocationHandler接口,重写invoke()方法2>创

2020-07-24 17:44:27 70

原创 线程基础

线程常用方法:创建线程的方式一: 继承Thread类创建线程方式二: 实现Runnable接口:Thread类和Runnable接口的关系: public class Thread extends Object implements Runnable

2020-07-20 10:55:10 73

原创 数据结构之B树和B+树

B树(B-tree):为了减少磁盘IO次数,将二叉查找树的深度变低,每个结点存储更多的数据;B树中所有结点的孩子结点最大值称为B树的阶,通常用m表示。一个结点有k个孩子时,必有k-1个关键字才能将子树中所有关键字划分为k个子集。以上图为例:若查询的数值为5:  第一次磁盘IO:在内存中定位(与17、35比较),比17小,左子树;  第二次磁盘IO:在内存中定位(与8、12比较),比8小,左子树;  第三次磁盘IO:在内存中定位(与3、5比较),找到5,终止。相较于查找二叉树,比较次数并没有减

2020-07-19 11:27:20 164

原创 MySql入门

sql语句中关键字的执行顺序from - where -group by - having - select - distinct-order by-limit关键字之having用于group by后,order by前,select * from table where xx group by xx having Max(xx) order by xx关键字之limitselect * from table limit N; N表示从头开始,取N个数据;select * from tabl

2020-07-18 20:51:39 106

原创 初步了解GC垃圾回收机制

两种情况触发:①程序调用System.gc,②系统自身来决定GC触发的时机:当Eden区和From区内存不足时,触发GC操作的对象:通过可达性分析法无法搜索到的对象和可以搜索到的对象。对于搜索不到的对象进行标记。如何回收分代收集算法:对于新生代采用复制算法,老年代采用标记整理算法复制算法:优点:运行高效且不容易产生内存碎片缺点:内存空间只能使用一半当GC线程启动时,会通过可达性分析法把Eden区和From Space区的存活对象复制到To Space区,然后把Eden Space和Fr

2020-07-16 14:59:27 122

原创 集合之Map

Map接口常用的主要有两个实现类:HashMap,LinkedHashMapMap<k,v>:双列集合,key(不可重复)–>value(可重复),key和value一一对应LinkedHashMap: HashMap的子类,链表+哈希表的结构保证元素有序

2020-07-14 15:23:50 53

原创 集合之Collection

Collection:单列集合顶级接口:下面有List和Set两个接口List:存储数据有序可重复,常用实现类有ArrayList和LinkedListArrayList:主要用于遍历和查找数据,底层是数组结构(数组通过索引查找快,增删需要重新创建一个数组,所以增删慢);LinkedList:主要用于增删数据,提供了很多首尾操作的方法,底层是双向链表(链表中的数据都是数据加地址的结构,所以增删快,查找数据需要遍历链表,所以查找慢);Set:存储数据无序不可重复,实现类有HashSet和Link

2020-07-14 12:53:49 95

原创 Mybatis常用的动态sql

常用标签:ifwheresetchoose(when,otherwise)trimforeachif和where标签:工作时常用,if和set标签:我们update,如果某个属性为null,不改变该属性的值

2020-07-14 12:36:09 94

原创 Iterator迭代器

Iterator迭代器在程序开发中,经常需要遍历集合中的所有元素。针对这种需求,JDK专门提供了一个接口 java.util.Iterator 。 Iterator 接口也是Java集合中的一员,但它与 Collection 、 Map 接口有所不同, Collection 接口与 Map 接口主要用于存储元素,而 Iterator 主要用于迭代访问(即遍历) Collection 中的元 素,因此 Iterator 对象也被称为迭代器。迭代:即Collection集合元素的通用获取方式。在取元素之前

2020-07-13 15:56:52 106

原创 StringBuffer和StringBuilder

StringBuffer线程安全,append方法加锁了StringBuilder线程不安全结论: 尽量使用StringBuffer

2020-07-13 09:31:26 63

原创 java基础之对象

Java语言是一种面向对象的程序设计语言, 这里的对象泛指现实中一切事物,每种事物都具备自己的属性和行为。面 向对象思想就是在计算机程序设计过程中,参照现实中事物,将事物的属性特征、行为特征抽象出来,描述成计算 机事件的设计思想。 它区别于面向过程思想,强调的是通过调用对象的行为来实现功能,而不是自己一步一步的去 操作实现。类:是一组相关属性和行为的集合。可以看成是一类事物的模板,使用事物的属性特征和行为特征来描述该 类事物。现实中,描述一类事物:属性:就是该事物的状态信息。行为:就是该事物能够做什

2020-05-12 21:34:56 186

原创 JVM基础

方法重载: 指在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表不同即可,与修饰符和返 回值类型无关。JVM原理class文件被类加载器classloader(采用的双亲委派模式)加载到内存空间中去;双亲委派模式:如果一个类加载器收到了类加载请求,它并不会自己先去加载,而是把这个请求委托给父类的加载器去执行,如果父类加载器还存在其父类加载器,则进一步向上委托,依次递归,请求最终将到达顶层的启动类加载器,如果父类加载器可以完成类加载任务,就成功返回,倘若父类加载器无法完成此加载任务,子加载器才

2020-05-12 16:27:59 84

原创 idea常用快捷键

idea常用快捷键## 标题欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮

2020-05-12 13:29:28 83

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除