- 博客(6)
- 收藏
- 关注
原创 验证码生成工具的学习
原文地址:https://blog.youkuaiyun.com/ruixue0117/article/details/22829557这个类的有一个静态变量,一个静态常量public class VerifyCodeUtils{ public static final String VERIFY_CODES = "23456789ABCDEFGHJKLMNPQRSTUVWXYZ"; pr...
2019-07-21 20:59:53
222
原创 JVM的GC
一、为什么会有GC过程因为JVM的内存不是无限的,对于一些没有再使用的对象,需要使用垃圾收集器来处理掉这些无用对象。二、有哪些GC的方法总的来说,有以下三种方法:①、标记-清除算法(Mark-Sweep)②、复制算法(Copying),也叫停止-复制算法(Stop-Copy)③、标记-整理算法(Mark-Compact)新生代发生的回收叫做Minor GC,使用算法①、②,并且发生的...
2019-02-19 16:17:13
222
转载 索引原理
说白了,索引问题就是一个查找问题。。。数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法。这种数据结构,就是索引。为表设置索引要付出代价的:一是增加了数据库的存储空间,二是在插入和...
2019-02-18 18:28:09
151
原创 JVM运行时内存划分
一、运行时内存数据划分1、总览JDK1.8之前的运行时内存划分(蓝色线程私有,红色线程共享):JDK1.8的运行时内存划分:可以看出JDK1.8的时候,变化还是有的;其中:1、方法区从JVM中取出。2、方法区移入到本地内存,更名为元数据区。(方法区也称永久代,主要是因为永久代和元数据区都是方法区的一种实现)。3、在JDK1.7之前,字符串常量池是存在于方法区内的,JDK1.7之后...
2019-02-17 22:45:20
241
原创 Callable和Future的学习
Callable和Future的学习一、CallableCallable接口比起Runnable接口的优点就是可以获取线程运行的返回值。public interface Callable<V> { /** * Computes a result, or throws an exception if unable to do so. * * @...
2019-01-10 21:56:41
1258
转载 CAS与JUC.atomic包的学习
CAS与JUC.atomic包的学习一、CAS的全称为CompareAndSwap,直译过来称为对比替换,也称为无锁技术。在java.util.concurrent特别是其下的atomic包中的原子类有大量使用。CAS是一种乐观锁,乐观锁比起悲观锁性能有较大的提升。CAS技术是基于volatile来实现的(作用:内存可见性(Java内存模型考虑)、禁止指令重新排序)。CAS 操作包含三个操作数...
2018-12-25 12:22:26
166
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人