- 博客(13)
- 资源 (14)
- 问答 (4)
- 收藏
- 关注
原创 Java学习(31) -- 并发编程(锁)
一、CAShttps://blog.csdn.net/mmoren/article/details/79185862二、乐观锁与悲观锁悲观锁:总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。再比如Java...
2019-06-10 16:58:30 117
原创 Java学习(30) -- 并发编程(线程安全)
一、死锁死锁概念及产生原理概念:多个并发进程因争夺系统资源而产生相互等待的现象。原理:当一组进程中的每个进程都在等待某个事件发生,而只有这组进程中的其他进程才能触发该事件,这就称这组进程发生了死锁。本质原因:1)、系统资源有限。2)、进程推进顺序不合理。死锁产生的4个必要条件1、互斥:某种资源一次只允许一个进程访问...
2019-06-10 15:56:46 132
原创 Java学习(29) -- 并发编程(线程)
一、什么是线程线程是一个程序的顺序控制流;二、线程与进程的区别1)每个进程都有独立的代码和数据空间(进程上下文),进程的切换会有较大的开销;2)线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有独立的运行栈和程序计数器(PC),线程切换开销小;3)多进程:在操作系统中能同时运行多个任务(程序);4)多线程:在同一进程内有多个顺序流执行;三、线程的状态...
2019-06-05 10:37:27 191
原创 Java学习(29) -- 并发编程(并发与并行)
一、什么是并发指应用能够交替执行不同的任务,其实并发有点类似于多线程的原理,多线程并非是同时执行多个任务,如果你开两个线程执行,就是在你几乎不可能察觉到的速度不断去切换这两个任务,已达到"同时执行效果",其实并不是的,只是计算机的速度太快,我们无法察觉到而已.二、什么是并行指应用能够同时执行不同的任务,例:吃饭的时候可以边吃饭边打电话,这两件事情可以同时执行三、并发与并行的区别...
2019-06-05 09:48:57 266
原创 Java学习(28) -- 源码阅读(HashSet&LinkedHashSet&TreeSet)
一.HashSet特点:1.HashSet中不能有相同的元素,可以有一个Null元素,存入的元素是无序的。2.HashSet如何保证唯一性?1).HashSet底层数据结构是哈希表,哈希表就是存储唯一系列的表,而哈希值是由对象的hashCode()方法生成。2).确保唯一性的两个方法:hashCode()和equals()方法。3.添加、删除操作时间复杂度都是O(1)。...
2019-06-04 16:20:03 142
原创 Java学习(27) -- 源码阅读(HashMap&LinkedHashMap&TreeMap&&CouncurrentHashMap)
先占个位置,后续来完善
2019-06-04 16:17:27 152 2
转载 Java学习(26) -- 源码阅读(ArrayList)
阅读目录(Content)一、ArrayList简介 1.1、ArrayList概述 1.2、ArrayList的数据结构 二、ArrayList源码分析 2.1、继承结构和层次关系 2.2、类中的属性 2.3、构造方法 2.4、核心方法 2.4.1、add()方法(有四个) 2.4.2、删除方法 2.4.3、set()方法 2...
2019-06-04 15:37:52 89
转载 Java学习(25) -- 源码阅读(ThreadLocal)
想必很多朋友对ThreadLocal并不陌生,今天我们就来一起探讨下ThreadLocal的使用方法和实现原理。首先,本文先谈一下对ThreadLocal的理解,然后根据ThreadLocal类的源码分析了其实现原理和使用需要注意的地方,最后给出了两个应用场景。 以下是本文目录大纲: 一.对ThreadLocal的理解 二.深入解析ThreadLocal类 三.Threa...
2019-06-04 11:23:51 115
原创 Java学习(24) -- 源码阅读(BigDecimal)
一、java 中使用什么操作金额?float,double?因为float和double都是浮点数, 都有取值范围, 都有精度范围. 浮点数与通常使用的小数不同, 使用中, 往往难以确定. 常见的问题是定 义了一个浮点数, 经过一系列的计算, 它本来应该等于某个确定值, 但实际上并不是! 金额必须是完全精确的计算, 故不能使用double或者float, 而应该采用java.math.BigD...
2019-06-04 09:52:13 596
转载 Java学习(23) -- 源码阅读(Enum)
package java.lang;import java.io.Serializable;import java.io.IOException;import java.io.InvalidObjectException;import java.io.ObjectInputStream;import java.io.ObjectStreamException;/*声明方法的描述...
2019-06-03 19:13:32 156
转载 Java学习(22) -- 源码阅读(Long)
/** * auther: jiyx * date: 2018/9/18. */public class Long extends Number implements Comparable { /** * 最小值,-2的63次方 */ @Native public static final long MIN_VALUE = 0x80000000...
2019-06-03 19:06:13 343 1
原创 Java学习(21) -- 源码阅读(Integer)
一、Integer简单介绍1)、由于类修饰符中有关键字final,故该类不能够被继承2)、继承了抽象类Number3)、实现了接口Comparable,即实现了compareTo方法4)、重写了hashCode和equals方法,其中hashCode是value,而equals只是比较同种类型的intValue的值二、属性//值为 (-(2的31次方)) 的常量,它表示 i...
2019-06-02 10:20:10 152
原创 Java学习(20) -- 源码阅读(String)
一、String以下几个特性决定它是不可变的1、`String`是`final`类,不可继承。2、字符数组成员变量`value`使用`final`修饰,也就是常量,常量一大好处就是线程安全,所以`String`不需要考虑线程安全问题。3、通过反射还是可以修改value常量值的,这时候会发现如果字符串是在常量池里,那么这个常量池字符串将会被修改成其他值。4、成员变量`value`字符数组必...
2019-06-02 09:46:34 121
spring-cloud-parent-1.0.zip
2019-05-26
dubbo-admin管理工具
2018-05-24
springboot+mybatis+shiro
2017-11-19
食物营养查询911相似
2017-09-19
Phabricator汉化包
2017-06-28
Phabricator快捷安装sh
2017-06-28
怎么把centos 6.0重装为win2008
2015-03-13
Hibernate 的 Criteria 设置分页查询是否支持Oracle的分页
2015-01-31
java嵌套for循环的跳出
2015-01-24
swfupload返回值不为对象
2015-01-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人