3 白日梦想家 

学生身份

我要认证

凡心所向,素履以往,生如逆旅,一苇以航。

等级
TA的排名 15w+

Java并发深度总结:JMM(Java内存模型)概述

怕什么真理无穷,进一寸有进一寸的欢喜。内容1. 并发编程的两个问题2. Java内存模型的抽象2.1 线程安全的三要素2.2 计算机内存模型2.2.1 缓存一致性(可见性)2.2.2 处理器优化和指令重排(原子性和有序性)2.2.3 缓存一致性和指令重排的解决方案2.3 Java内存模型与计算机内存模型的关系3. Java内存模型3.1 工作内存和主内存3.1.1 工作内存和主内存的交互3.1.2 工作内存和主内存交互的规则3.2 Java内存模型的实现3.2.1 可见性3.2.2 原子性3.2..

2020-10-18 16:11:08

Java并发深度总结:基础线程机制

时间很贪婪——有时候,它会独自吞噬所有的细节。——《追风筝的人》内容1.线程状态2.线程状态转化2.1 NEW ---- > RUNNABLE2.2 RUNNABLE <----> WAITING1.线程状态一个线程在某一时刻只能处于一种状态,这里讨论的线程状态特指Java虚拟机的线程状态,并不反映线程在特定操作系统下的状态,也就是说Java虚拟机的线程状态和操作系统的状态并不是一一对应的。Java在Thread类中定义了State枚举类,列举了6种线程状态: public .

2020-09-28 22:14:35

Java并发深度总结:创建线程

生命里面很多事情,沉重婉转至不可说。内容1.概述2.创建&启动线程2.1 实现Runnable接口2.2 继承Thread类2.3 实现Callable接口2.4 使用Executors(线程池工具)3.start()与run()1.概述创建线程最常用的方式有以下四种:继承Thread类实现Runnable接口实现Callable接口使用线程池想要创建并启动一个线程,需要先定义任务,然后将一个任务附着到线程上,最后再启动这个线程。2.创建&启动线程2.1 实现Ru.

2020-09-24 19:55:45

Java并发深度总结:目录

Java并发   |----进程与线程          |----进程          |----单进程与多进程          |----线程          |----单线程与多线程     

2020-09-23 15:33:53

Java并发深度总结:进程与线程

鲜衣怒马少年时,且歌且行且从容。内容1.进程2.单进程和多进程3.线程4.进程与线程的关系5.单线程与多线程6.并发7.并行1.进程进程就是正在运行的程序,他是系统资源调度的独立单位,各个进程间不会相互影响,因为为一个进程都会有操作系统给它分配自己的内存空间和系统资源。进程创建慢,上下文切换开销大。2.单进程和多进程单进程计算机只能做一件事情,而多进程计算机可以同时做很多间事情,例如:在写代码时听音乐。因此多进程的提高了CPU的利用率,减少了CPU的空闲时间。3.线程线程是轻量级的进程,.

2020-09-23 15:28:39

Java容器深度总结:LinkedHashMap

旧游无处不堪寻。无寻处,惟有少年心。内容1.LinkedHashMap概述2.LinkedHashMap的定义1.LinkedHashMap概述LinkedHashMap来自于JDK1.4,直接继承自 HashMap,并且在 HashMap 基础上,通过维护由所有Entry节点构成的双向链表,来保证元素有序。LinkedHashMap 继承了 HashMap,因此具有和 HashMap一样的快速查找特性,LinkedHashMap 对 HashMap高度复用,因此建议先学习HashMap的相关知.

2020-09-14 16:19:26

Java容器深度总结:Hashtable

面朝大海,心向阳光。内容1.Hashtable概述2.Hashtable定义3.主要类属性3.1 private transient Entry<?,?>[] table3.2 private transient int count3.3 private float loadFactor3.3 private int threshold4.Entry节点5.构造函数与初始容量5.1 Hashtable(int initialCapacity, float loadFactor)5.2 Ha.

2020-09-12 21:29:05

Java容器深度总结:HashMap

向外探寻,向内思考, 向下扎根,向阳生长。内容1.HashMap概述2.HashMap基础3.HashMap的定义4.主要类属性4.1 transient Node1.HashMap概述HashMap是根据关键码值(Key-Value)而直接进行访问的数据结构。并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。HashMap线程不安全。HashMap是JDK1.2时哈希表的实现,JDK1.8底层是使用数组+链表+红黑树实现,JDK1.7使用数组+链表实现,Has.

2020-09-11 21:11:40

Java容器深度总结:List总结

失去一日甚易,欲得回已无途。内容1.List概述1.List概述List以线性方式存储元素,集合中可以存放重复对象,元素有序。常用实现类:ArrayList:基于动态数组实现,支持随机访问,随机访问元素快,增删元素慢。Vector:Vector与ArrayList相似。但Vector的方法是线程安全的,而ArrayList的方法不是,由于线程的同步必然要影响性能,因此ArrayList的性能比Vector好。LinkedList:基于双向链表实现,只能顺序访问,插入、删除元素快。详细内.

2020-08-27 21:49:22

Java容器深度总结:LinkedList

唯有心静,身外的繁华才不至于扭曲和浮躁,才能倾听到内心真实的声音。内容1.LinkedList概述2.LinkedList数据结构3.Node结点4.成员变量和构造函数5.操作链表的底层方法5.1 linkFirst(E e)5.2 linkLast(E e)5.3 linkBefore(E e, Node< E > succ)5.4 unlinkFirst( Node< E > f)5.5 unlinkLast(Node< E > l)5.6 unlink(Nod.

2020-08-25 22:17:23

Java容器深度总结:Vector

原地徘徊一千步,也抵不上迈出一步。心中想无数次,也不如真正行动一次。内容1.Vector概述2.Vector主要成员变量3.构造函数和初始容量3.1 Vector()3.2 Vector(int initialCapacity)3.3 Vector(int initialCapacity, int capacityIncrement)3.4 Vector(Collection<? extends E> c)4.Vector扩容机制4.1 判断是否需要扩容4.2 计算新容量4.3 考虑数组长.

2020-08-22 19:52:47

Java容器深度总结:ArrayList

没有一个冬天不可逾越,没有一个春天不会来临。内容1.ArrayList概述2.ArrayList成员变量3.ArrayList构造方法和初始容量3.1 ArrayList()3.2 ArrayList(int initialCapacity)3.3 ArrayList( Collection<? extends E> c)4.ArrayList扩容机制(重点)4.1 计算最小容量4.2 判断是否需要扩容4.3 计算新的容量4.4 考虑数组长度溢出4.5 扩容4.6 扩容机制总结5. 常用方.

2020-08-20 22:22:29

Java容器深度总结:数组

星光不问赶路人,时光不负有心人。内容1.数组概念2.数组初始化3.数组的特点3.1 数组本身也是引用数据类型3.2 数组是协变的3.3 数组与泛型3.4 多维数组4.数组与容器类区别5.列表(List)优于数组1.数组概念Java的数组和容器类都是持有对象的方式,数组也是一种容器,相比于其他种类的容器有较大差异。数组就是空间连续的、长度固定的、保存相同数据类型的容器。2.数组初始化数组的初始化按方式可分为动态初始化和静态初始化。动态初始化(指定数组长度)int[] arr = new.

2020-08-14 21:18:44

Java容器深度总结:目录

Java容器   |----Java容器整体结构

2020-08-14 15:48:37

Java容器深度总结:Java容器整体结构

趁阳光正好,趁微风不燥,趁现在的双手还能拥抱彼此,趁我们还能呼吸,去见你想见的人,做你想做的事。内容1.继承关系2.Collection2.1 List2.2 Set2.3 Queue3.Map4.迭代器5.工具类1.继承关系容器主要包含Collection和Map两种类型,Collection存储着对象的集合,而Map存储着键值对(两个对象)的映射关系。容器类框架图:虚线方框为接口,实线方框为类。虚线箭头为实现,实线箭头为继承。Tip:依赖关系:是一种使用关系,它是对象之间耦合度.

2020-08-14 15:47:51

Java基础深度总结:泛型

不怕路长,只怕志短。内容1.泛型概述2.泛型类型命名规范3.泛型的定义和使用3.1 泛型类3.2 泛型接口3.3 泛型方法4.有界泛型类型5.泛型实现原理:类型擦除(重点)6.类型擦除的问题7.通配符7.1 上边界通配符:< ? extends T >7.2 无边界通配符:< ? >7.3 下边界通配符:< ? super T >7.4 上下边界通配符的副作用1.泛型概述泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定.

2020-08-10 02:41:27

Java基础深度总结:反射

我自是年少,韶华倾负。内容1.Java反射机制2.Class对象1.Java反射机制动态语言:是在程序运行时可以改变其结构的语言。例如:C#,JavaScript,Python等。静态语言:是在运行时结构不可变的语言。例如:Java,C,C++。Java是静态语言,但是因为有了反射机制的存在,使得Java有了类似动态语言的特性。反射指应用程序访问、检测、修改自身状态与行为的能力。Java的反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,.

2020-08-06 21:31:31

Java基础深度总结:异常

君志所向,一往无前,愈挫愈勇,再接再厉。内容1.异常概述2.Java的异常处理机制3.Java异常体系和分类4.throw和throws:异常抛出和异常声明5.try-catch-finally异常处理5.1 语法形式1.异常概述异常指不期而至的各种状况,如:文件找不到、网络连接失败、除0操作、非法参数等。异常是一个事件,它发生在程序运行期间,干扰了正常的指令流程。为了应对运行期间可能出现的错误,提高程序的的稳健性,Java中定义了强大的异常处理机制,使用异常处理机制可以降低错误处理代码的复杂度:.

2020-08-04 01:49:40

Java基础深度总结:多态

你我皆风华正茂,梦死方坠人生暮年内容1.什么是多态2.多态的好处3.多态分类4.向上转型与向下转型5.方法重载(Overload)5.1 方法重载的三种方式:5.2 方法重载的特点5.3 重载的实现原理:静态分派5.4 静态分派中的匹配优先级6.方法重写(Override)6.1 方法重写的特点6.2 重写实现原理:动态分派6.4 动态分派中的匹配优先级7.方法重载与方法重写对比8.静态方法和字段不参与多态1.什么是多态所谓多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调.

2020-08-01 21:09:25

Java基础深度总结:抽象类和接口

没有比人更高的山没有比脚更长的路。内容1.抽象2.抽象类2.1 什么是抽象类2.2 抽象类的特点2.3 抽象类与普通类3.接口3.1 什么是接口3.2 接口成员3.3 接口特点4.接口与抽象类的异同5.使用选择1.抽象抽象性和具体性都是相对的,不是绝对的。概念的内涵越小,则其抽象程度就越高,其外延也越大,反之亦然。比如“人”比“男人”抽象一点,而“生物”又比“人”更抽象一点,“物质”则比“生物”更抽象。抽象的概念是由具体概念依其“共性”而产生的,把具体概念的诸多个性排除,集中描述其共性,就会产生.

2020-07-30 18:19:39

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到达人
    签到达人
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享小兵
    分享小兵
    成功上传3个资源即可获取