1 悲观锁乐观锁简介 乐观锁( Optimistic Locking ) 相对悲观锁而言,乐观锁假设认为数据一般情况下不会造成冲突,所以在数据进行提交更新的时候,才会正式对数据的冲突与否进行检测,如果发现冲突了,则让返回用户错误的信息,让用户决定如何去做. 悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态.(百科) 最形象的悲观锁 vs 乐观锁 2.悲观锁乐观锁使用场景 两种锁各有优缺点,…
[分享] 史上最简单的封装教程,五分钟学会封装系统(以封装Windows 7为例) 踏雁寻花 发表于 2015-8-23 23:31:28 https://www.itsk.com/thread-355923-1-4.html [分享] 史上最简单的封装教程,五分钟学会封装系统(以封装Windows 7为例) 学会封装,只需要掌握十个步骤.五分钟包你学会,不会不交学费~ 适合人群: 1.会装系统 2.了解PE的使用 3.对注册表有初步的了解 所需工具: 1.Windows系统镜像 2.PE(可以…
背景: 这两天在学习Oracle数据库,这里就总结下自己上课所学的知识,同时记录下来,方便整理当天所学下的知识,也同时方便日后自己查询. SQL语句的话,这里我就不多讲了,感觉和其他的数据库(MySQL.SQL Server)都是类似,区别不大. 今天在这里就写下 Java 连接 Oracle 数据库的三种连接方式. 工具: Oracle Database 10g Express Edition cmd命令窗口 IDEA 2016.1.3 ojdbc6_g.jar(数据库驱动包) jdk 1.8…
  java 实现md5加密的三种方式 CreateTime--2018年5月31日15点04分 Author:Marydon 一.解密 说明:截止文章发布,Java没有实现解密,但是已有网站可以免费破解了! 见文末相关推荐 二.加密的三种方式 说明:都是返回长度为32位的16进制字符串. 方法一:推荐使用 所需jar包:commons-codec.jar import org.apache.commons.codec.digest.DigestUtils; /** * MD5加密之方法一 *…
Java遍历List集合的三种方法 List<String> list = new ArrayList<String>(); list.add("aaa"); list.add("bbb"); list.add("ccc"); //方法一: //超级for循环遍历 for(String attribute : list) { System.out.println(attribute); } //方法二: //对于Array…
看到标题,不出意外的话,你肯定开始骂我了:**标题党,什么编程语言五分钟就能学会? 其实我本来也是不相信的,但是学过了才知道这是真的. 1.Brainfuck 看到这个小标题,不要误会,我没有骂人. 这就是今天文章的主人公,也就是让你们五分钟能够学会的一门编程语言--Brainfuck. Brainfuck,简称BF,是一种极小化的编程语言,由Urban Müller在1993年创造. 目标是创建一种简单的.可以用最小的编译器来实现的.符合图灵完全思想的编程语言. PS:不得不佩服大佬命名方式,…
java头的信息分析 首先为什么我要去研究java的对象头呢? 这里截取一张hotspot的源码当中的注释 这张图换成可读的表格如下 |--------------------------------------------------------------------------------------------------------------| | Object Header ( bits) | |-------------------------------------------…
终止线程一般建议采用的方法是让线程自行结束,进入Dead(死亡)状态,就是执行完run()方法.即如果想要停止一个线程的执行,就要提供某种方式让线程能够自动结束run()方法的执行.比如设置一个标志来控制循环是否执行,通过这种方式让线程离开run()方法. 第一种 使用Thread类提供的stop()方法或suspend()方法强制终止线程(不安全,不要用) 第二种 使用volatile标记位退出线程 第三种 使用 interrupt()方法终止线程 由于其他原因导致线程停滞(如 I/O),进入…
一个程序在运行起来的时候会转换成进程,通常含有多个线程. 通常情况下,一个进程中的比较耗时的操作(如长循环.文件上传下载.网络资源获取等),往往会采用多线程来解决. 比如显示生活中,银行取钱问题.火车票多个售票窗口的问题,通常会涉及到并发的问题,从而需要多线程的技术. 当进程中有多个并发线程进入一个重要数据的代码块时,在修改数据的过程中,很有可能引发线程安全问题,从而造成数据异常.例如,正常逻辑下,同一个编号的火车票只能售出一次,却由于线程安全问题而被多次售出,从而引起实际业务异常. 现在我们就…
实现多线程 简单了解多线程[理解] 是指从软件或者硬件上实现多个线程并发执行的技术. 具有多线程能力的计算机因有硬件支持而能够在同一时间执行多个线程,提升性能. 并发和并行[理解] 并行:在同一时刻,有多个指令在多个CPU上同时执行. 并发:在同一时刻,有多个指令在单个CPU上交替执行. 进程和线程[理解] 进程:是正在运行的程序 独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位 动态性:进程的实质是程序的一次执行过程,进程是动态产生,动态消亡的 并发性:任何进程都可…