
JAVA学习
文章平均质量分 92
主要记录自己学习java的学习笔记和Demo
Lukey Alvin
控制工程硕士在读
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
一篇文章带你了解IO流
流流的概念流的分类字节流编码方式字符流File类流的概念概念:内存与存储设备之间传输数据的通道。流是用来读写数据的,是内存与存储设备之间传输数据的通道,Java中的流实际上是一个对象,真正的文件是在硬盘上的一块空间,在这个文件里面存放着各种各样的数据。而文件的数据通过以流为载体来进行数据的读写。这里的水桶相当于硬盘的文件等,水管相当于流,接水桶相当于程序猿操作的对象或JVM,水桶和接水......原创 2020-03-29 18:51:02 · 1192 阅读 · 1 评论 -
我用漫画带你学习Queue的接口与实现类
很多学习Java的小伙伴总是难以理解一些抽象的概念,但是倘如把这些抽象的概念接近实际,会让人更容易理解,不信,即使你是java新手,你也可以读懂这篇博客;原创 2020-03-22 19:35:19 · 2082 阅读 · 0 评论 -
用真挚的钥匙打开Java多线程之锁,从此Java中有我,我中有Java!
java高级多线程 之 Lock深入理解Java线程安全——银行欠我400万!!!一分钟用睡前小故事图解Java线程之死锁锁 Lock简述方法重入锁 ReentrantLock简述使用:读写锁 ReentrantReadWriteLock简述读写锁与互斥锁区别读写互斥规则方法读写锁代码案例模拟读写操作创建读写任务执行结果总结分析 关于锁的概念,需要读者首先对线程安全、死锁有一定的了解,在此前提下...原创 2020-03-18 17:06:00 · 2170 阅读 · 0 评论 -
用10086客服热线理解Java高级多线程之线程池
线程池客服热线案例引入线程池1.线程的概念2.线程池的作用:获取线程池1.常用的线程池接口和类2.代码案例Callable概念简述应用场景 尼采说过,人类无法理解没有经历过的事情。所以很多概念不能去强行地理解和记忆,需要结合实际生活中的案例。客服热线案例 对于线程池的理解可以类比成用户给运行商的客服打电话,假设某运营商客服作息500人,现有500用户正与客服一对一交流,那么第501个用户即海...原创 2020-03-17 23:41:16 · 3014 阅读 · 0 评论 -
写给大忙人看的图解Java多线程之生产者与消费者设计模式
生产者与消费者读前建议深入理解Java线程安全——银行欠我400万!!!一分钟用睡前小故事图解Java线程之死锁一、情景设计二、引入生产者与消费者三、情景的代码再现读前建议如果需要对本文有更加深刻的了解建议了解一下线程安全、线程死锁、以及线程通信相关的知识,如果说您对这些已经有了足够的了解,相信你读完这篇博文一定收获颇丰!深入理解Java线程安全——银行欠我400万!!!一分钟用睡前小...原创 2020-03-15 23:23:01 · 2948 阅读 · 0 评论 -
一分钟用睡前小故事图解Java线程之死锁
Java线程之死锁深入理解Java线程安全——银行欠我400万!!!一、故事引入为了更好的理解死锁,读者可能需要了解线程安全相关的知识,主要是对线程执行的六大状态有一定的了解,尤其是阻塞状态,这是死锁发生的关键。进而才能对死锁的过程深入理解。这里附上一篇读前分享链接,当然,你也可以直接跳过。也是可以读懂这篇故事型文章的。深入理解Java线程安全——银行欠我400万!!!一、故事引...原创 2020-03-15 15:56:52 · 6849 阅读 · 20 评论 -
深入理解Java线程安全——银行欠我400万!!!
在阅读这篇文章之前,你需要了解线程创建过程中经由的几个状态,如果对于这些概念有一些模糊,没有关系,你一样可以看懂并且会使用这些有趣的方法!如果你需要对它们有足够的认识和理解,请戳下面的链接;一篇文章让你深入理解线程、多线程、进程、多进程 几张图片带你秒懂Java中线程创建的两种方式线程执行的过程图解休眠 该方法主要作用是使当前线程主动休眠millis毫秒方法...原创 2020-03-13 18:56:42 · 5168 阅读 · 5 评论 -
几张图片带你秒懂Java中线程创建的两种方式
在对线程、多线程、进程、多进程的阐述之后,对自己的鼓励还是比较大的,因为在来到优快云半年左右的时间,终于拿到了一次首页推荐的机会,但是自认为还是比较菜的,应该算是在各位前辈面前献丑了…,在后面的日子里自己也会倍加努力的,今天想继续分享一些线程相关的知识点,希望得到大家的批评指点,更希望可以帮助更多的伙伴们!一篇文章让你深入理解线程、多线程、进程、多进程嘿嘿,拿出来献丑了线程创...原创 2020-03-09 15:29:03 · 2272 阅读 · 2 评论 -
Java中的异常详述
异常的概念概念:程序在运行过程中出现的特殊情况异常处理的必要性:任何程序都可能存在大量的未知问题、错误;如果不对这些问题进行正常处理,则可能导致程序中断,造成不必要的损失。异常的分类Throwable: 可抛出的,一切错误或异常的父类,位于java.long包中。Throwable类是Java语言中所有错误和异常的超类,只有当对象是此类(或其一个子类)的实例的时,才能通过Java虚...原创 2020-03-08 22:53:50 · 2017 阅读 · 0 评论 -
Java集合框架概述(四)——Map体系集合与底层实现原理
`Map`界面提供了三个`collection`视图 ,允许将映射内容视为键键、值集或键-值映射关系集。 映射的顺序定义在迭代器在映射的`collection`示图上返回其元素的顺序。原创 2020-03-08 10:26:40 · 2303 阅读 · 0 评论 -
Java集合框架概述(三)——HashSet去重原理(HashCode)
set接口定义: 不包含重复元素的集合。 更正式地,集合不包含一对元素e1和e2 ,使得e1.equals(e2) ,并且最多一个空元素。 正如其名称所暗示的那样,这个接口模拟了数学集抽象。set接口的特点:无序、无下标、元素不能重复set接口的方法全部继承自Collection,详细参考Collection接口HashSet定义: 此类实现Set接口,由哈希表(实际为HashM...原创 2020-03-06 23:11:47 · 4750 阅读 · 0 评论 -
Java集合框架概述(二)——泛型集合与Collections工具类
java集合框架概述(一)——List接口的那些事前景回顾 这是一个关于ArrayList的类,不难发现,集合里面存储了五种不同的类型,显然这是没有任何的规范,导致集合里可以添加任意类型的对象。因此,在打印doublr类型的时候会报错。public class TestArrayList { public static void main(String[] args){ ...原创 2020-03-05 20:10:58 · 1828 阅读 · 0 评论 -
Java集合框架概述(一)——List接口要点详述
集合(Collection):集合是对象的容器,存储对象的对象,可代替数组。·集合也是容器的工具类,定义了多个对象进行操作的方法。框架(Framework):框架是一组类和接口Collection体系集合图片资源来源于:https://www.javastudypoint.com/2019/02/collection-framework-in-java.htmlCol...原创 2020-03-03 19:42:15 · 1906 阅读 · 0 评论 -
一个简单的案例深入理解“Java接口”
接口(interface):在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。原创 2020-02-25 19:20:01 · 2383 阅读 · 0 评论 -
一篇文章让你深入理解线程、多线程、进程、多进程
一、简介以下内容参考自维基百科,1.线程和进程简介:进程 一个进程包括由操作系统分配的内存空间,包含一个或多个线程。一个线程不能独立的存在,它必须是进程的一部分。一个进程一直运行,直到所有的非守护线程都结束运行后才能结束。线程 又称其为轻量级进程(Light Weight Process)。是操作系统能够进行运算调度的最小单位。大部分情况下,它被包含在进程之中,是进程中的实...原创 2020-02-23 17:56:18 · 6901 阅读 · 0 评论 -
谈一谈Java中的“静态”
首先,我们需要用到我在博客:面向对象的内存分析用到的一张关键的分析图一、静态方法1.静态方法与非静态方法的区别我们首先看一看一个普通的类的调用:public class Song { String title; public Song(String title) { this.title = title; } public v...原创 2019-11-17 21:28:21 · 2922 阅读 · 0 评论 -
继承与多态
目录一、继承(extends)与 方法的重写(override)1.认识继承和重写2. 重写的规则3.final的作用4.重写与重载的区别:5.关于继承的小结二、多态1.认识多态2.参数和返回类型也可以多态三、深入多态1.引言2.认识抽象类3.抽象方法4.多态的使用——终极对象一、继承(extends)与 方法的重写(overri...原创 2019-11-05 18:55:09 · 3120 阅读 · 0 评论 -
构造函数的深入理解
构造器: 也叫构造方法(constructor),用于对象的初始化。构造器是一个创建对象时被自动调用的特殊方法,目的是对象的初始化。构造器的名称应与类的名称一致。Java通过new关键字来调用构造器,从而返回该类的实例,是一种特殊的方法。放在最前面的图片:构造函数的关健特征:会在对象能够被赋值给引用之前就执行!1.新建Duck状态的初始化c...原创 2019-11-03 17:15:53 · 3259 阅读 · 0 评论 -
面向对象的内存分析
一、栈、堆、方法区1.栈的特点如下: 1. 栈描述的是方法执行的内存模型。每个方法被调用都会创建一个栈帧(存储局部变量、操作数、方法出口等) 2. JVM为每个线程创建一个栈,用于存放该线程执行方法的信息(实际参数、局部变量等) 3. 栈属于线程私有,不能实现线程间的共享! 4. 栈的存储特性是“先进后出,后进先出” 5. 栈是由系统自动分配,速度快!栈是一个连...原创 2019-11-03 16:52:30 · 3436 阅读 · 0 评论 -
lombok中的@Data注解的使用和常见bug
1.首先在Plugin中下载lombok插件,然后重启IDEA2.引入lombok依赖包gradle构建compileOnly('org.projectlombok:lombok:1.18.4')maven构建<dependency> <groupId>org.projectlombok</groupId> <...原创 2019-11-02 19:47:38 · 5919 阅读 · 0 评论