- 博客(15)
- 资源 (2)
- 收藏
- 关注
原创 Oracle锁机制总结(转)
最近在研究Oracle锁机制的时候发现网上的资料鱼龙混杂将,很多将问题复杂化,让人感觉没有条理性。经过查询原始理论资料,总结如下:在数据库理论中,我们知道。我们在执行并发访问数据库表时,如果没有任何一致性控制措施,那么会出现以下几种数据不一致的情况:1)提交被覆盖;2)不可重复读(其中包括了幻读);3)读“脏数据”。经过仔细分析,发现引起这些情况的根本原因是:在对数据库公共资源访问时,出现了事务交叉的情况。因此,在数据库的理论里有“可串行化”这种衡量标准,就是说:如果我们在并发情况下通过对并发事务的控制得
2020-08-18 10:21:49 243
原创 怎么快速的删除一张很大的表的数据?
平时一直使用delete来删除一张表的数据。直到遇到了一张1亿多条数据的表。才发现delete效率其实是很低的。查了下其他的删除方法,发现truncate table 可以很快的删除表drop、truncate和delete的区别(1)DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。TRUNCATE TABLE 则一次性地从表中删除所有的数据并不把单独的删除操作记录记入日志保存,删除行是不能恢复的。并且在删除的过程中不会激活
2020-08-07 10:07:30 1918
原创 怎么把一个hashMap,一个ArrayList变成线程安全的?
不多bb,直接上结果。这时候有些聪明的朋友就会问了,你知道这两个工具类的方法是怎么实现的线程安全吗?这里的注释写的很清楚,返回一个线程安全的list。到这里可以看到,他们都来自Collections里面的顶级静态类SynchronizedCollectionmutex 是来加锁用的对象Mutex是排它的,只有一个可以获取到资源。到这里可以看到,collections 重写了这些基本方法,对这些方法实现了加锁。...
2020-08-07 10:02:15 560
原创 重写和重载
重写:当一个子类继承一父类,而子类中的方法与父类中的方法的名称,参数个数、类型都完全一致时,就称子类中的这个方法重写了父类中的方法。重载:一个类中的方法与另一个方法同名,但是参数表不同,这种方法称之为重载方法。实际操作中,个人印象是重写一般与@Override有关。有时编译器会报错,有时则不会。那么,就让我们来就几种情况分析一下:1.父类和子类:这里我插入了父类创建了一个fatherFunc的方法这里我定义一个子类,可以看到编译器是没有报错信息的。我在子类里面写一个和父类名字和参数都完全
2020-08-06 17:36:03 368
原创 多线程 lock 与synchronized 的区别
package ctrl;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;/** * synchronized 和 Lock 有什么区别? * 首先synchronized是java内置关键字,在jvm层面,Lock是个java类; * synchronized无法判断是否获取锁的状态,Lock可以判断是否获取到锁; * synchronized会自动释放锁(a.
2020-07-10 10:53:53 154
原创 线程基础知识 thread
package ctrl;import sun.rmi.runtime.NewThreadAction;import java.util.concurrent.*;/** * */public class threadDemo implements Runnable { private int i; public static void main(String[] args) throws InterruptedException { // Thread.
2020-07-10 10:53:01 128
原创 接口
package ctrl;/** * 接口不能被继承,只能被实现。 * 接口没有构造函数 * 接口可以实现多个,类只能继承一个。 * 为了容易访问,接口中的方法默认使用public */public interface interfaceDemo { public void haha(String aaa);}...
2020-07-10 10:52:09 102
原创 final
package ctrl;/** * final 可以用来修饰类,方法,变量。 * 被final修饰的类不能被继承。 * final修饰的变量不能被修改。 */public final class finalDemo { final int a=123;private final void ccc(){} public static void main(String[] args) { finalDemo finalDemo = new finalD.
2020-07-10 10:51:28 83
原创 构造方法
package ctrl;public class ConstructorDemo { private String a; private String b; public String getA() { return a; } public void setA(String a) { this.a = a; } public String getB() { return b; }.
2020-07-10 10:50:57 117
原创 collection 笔记
package ctrl;import org.omg.CORBA.Object;import java.util.*;/** *collection 是集合的顶级父接口 * collections是一个java的集合工具类 *collection包括set list queue 不包括map!!! 但是不论set list queue map 都是接口。 * list包括 arrayList vector linkedList * set 包括hashSet和treeS.
2020-07-10 10:50:24 97
原创 atomic原理
package ctrl;import java.util.concurrent.atomic.AtomicInteger;/** * 一、i++的原子性,i++的操作,分为三部分:"读-改-写" * int i = 10; * i = i++; //10 * * int temp = i; * i = i + 1; * i = temp; * * 二、原子变量:java.util.concurrent.atomic包下提供了常用.
2020-07-10 10:49:54 306
原创 抽象类
/** * 抽象类,抽象方法不可以使用final关键字修饰。 *抽象类中可以包括非抽象方法。 *抽象类一般用来被继承用,所以不能使用final关键字修饰。 * 抽象方法不能有方法体 */public abstract class absClassDemo { public void aaa(String abcc){ System.out.println("111"); } public abstract void bbb(String abc).
2020-07-10 10:48:59 103 1
原创 什么是反射?
/** *反射是什么呢? * 一句话来说就是动态加载。 * 项目编译成class文件后,在项目启动时,只会把立即需要使用的class加载到jvm,其他的通过一些条件(比如类名,路径)即可实现按需加载。 * 这对于注重性能的项目十分有帮助。 * 举个例子我们的项目底层有时是用mysql,有时用oracle,需要动态地根据实际情况加载驱动类,这个时候反射就有用了, * 假设 com.java.dbtest.myqlConnection,com.java.dbtest.oracleConnectio.
2020-07-10 10:47:55 178
原创 springboot 查询 报 空指针
项目是上一个项目拿过来的。之前都是正常工作的。代码都是自己照着写的。从swagger调式的时候,service层直接报了空指针。List<VehicleApplyInfoPo> vehicleApplyInfoPoList = vehicleApplyInfoService(idea这里提示空指针).findOutOfDateApplyList(outOfDateApplyVo);业务很简单,就是一步,单表,查库。网上搜了下方法试了也不行。后来一行行对照,发现 是@ Au
2020-05-27 14:35:00 514
原创 IDEA 修改 启动界面图片,附赠一份成品。
最开始的idea 2017,2018版本的启动界面还是觉得比较容易接受的,但是到了2020.1这个蓝色的版本,就非常的不习惯,很伤眼,尤其是晚上码代码的时候。于是就有了这个更换的想法。翻了下帖子。学习了一下,方法也比较简单。找到idea目录下 的resources jar包,(例如这是我的路径 D:\IntelliJ IDEA 2020.1\lib\resources.jar)用winrar 解压,就能看到logo的2个文件。idea_logo.png 这个是小尺寸的 对..
2020-05-21 14:22:03 2097 3
rog4k壁纸打包.rar
2020-05-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人