- 博客(6)
- 收藏
- 关注
翻译 Java锁、CAS
一、 Java锁1.常见的锁有synchronized和Lock() ①synchronized 是jvm层面实现的,可以直接用,不过要锁住某个对象;lock是属于j.u.c包下的接口,用的时候要实现lock接口。 ②synchronized一般和wait()、notify()、notifyAll()一起使用,使用完不用释放锁;lock必须在finally里面手动释放。 @lock锁与s...
2018-08-27 16:52:47 398
翻译 数据库索引、sql优化、引擎
索引1.索引分类: 唯一/非唯一、聚集/非聚集、主键索引(是特殊的唯一索引)、联合索引。2.聚集/非聚集的区别 ①定义:聚集索引,表记录的物理顺序与键的索引排列顺序一致(我的理解是:索引和记录按顺序排);非聚集索引,表记录的物理顺序与键的索引排列顺序不一致(我的理解是:索引和记录不按顺序排)。 ②优缺点:聚集索引,查询速度快,一旦第一个被找到,后续的索引记录就被找到了;但修改慢,一旦...
2018-08-21 10:27:00 299
翻译 ArrayList、HashMap、ConcurrentHashMap并发下出现的问题
一、 ArrayListArrayList不是线程安全的,因为没有加锁。在并发环境下,会出现一些问题。 1.add()方法会出现数组越界问题。 ———先说说add()方法的内部实现,①step1先检查数组容量,②step2容量足够直接添加,容量不够扩容为原来1.5倍后添加。在说说为什么会出现数组越界问题,假设有两个线程在操作同一个ArrayList,线程一执行step1(容量足够)后被挂起...
2018-08-17 22:58:17 784
翻译 泛型的理解
什么是泛型,泛型有什么优点,以及泛型擦除,下面我们一一解答1.什么是泛型:即参数化类型。比如 List <String>.2.泛型优点: ①安全简单。在编译时检查类型安全,(类型安全检查是保证类型的转换时可以正确转换的)。如List<String>这里只能放入String类型,体现出了安全检查。 ②增加复用性。解决方法重载问题,public void writ...
2018-08-17 10:40:23 275
转载 运用git将本地项目上传到Github
打开git-bash客户端 第一步:我们需要先创建一个本地的版本库(其实也就是一个文件夹)。 现在我通过命令行在桌面新建一个abc文件夹(你也可以在其他任何地方创建这个文件夹),并且进入这个文件夹 第二步:通过命令git init把这个文件夹变成Git可管理的仓库 这时文件夹已经创建好了,并初始化了 第三步:这时候你...
2018-08-14 16:59:33 112
翻译 JAVA内存模型与JVM内存模型的区别
**JAVA内存模型与JVM内存模型的区别** 直接进入正题**JAVA内存模型: Java内存模型规定所有的变量都是存在主存中,每个线程都有自己的工作内存。线程堆变量的操作都必须在工作内存进行,不能直接堆主存进行操作,并且每个线程不能访问其他线程的工作内存。 Java内存模型的Volatile关键字,原子性、可见性、有序性 详情 *...
2018-08-14 14:34:52 19260 5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人