![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA基础
文章平均质量分 81
Vicious_Sea
编码中唱歌最好,唱歌中做饭最棒,做饭中,编码最nice。
展开
-
JAVA多线程&线程池
JAVA多线程&线程池懂线程者,更胜于面试,更优于性能,与君共勉;线程进程和线程:一个进程包括多个线程。把视频软件理解为一个进程,而把视频+音频+弹幕可以理解为是视频软件中互相协作的三个线程;并行与并发:并行指的是多个线程同时执行各自的任务;并发则是指,单个线程抢占时间片,高速来回切换执行不同的任务。表面上多个线程持续运行,实际上单个线程走走停停。线程的状态1.1 new() ,创建线程,该线程进入新建状态;1.2 start(), 创建线程后,调用线程的start()方法原创 2022-05-08 11:50:05 · 489 阅读 · 0 评论 -
简述五种常见的IO模式
一次IO读取操作,分为几个步骤:用户线程发送read()请求,从用户态切换到内核态;操作系统接收到请求后,通过DMA将数据从磁盘copy到内核缓冲区;然后CPU从内核态切换到用户态,将内核缓冲区的数据copy到用户空间;简单来说,一次IO操作分为数据准备与数据复制两个过程;阻塞IO(BIO)所谓阻塞IO,即用户线程发起io读取请求时,操作系统会根据请求准备对应数据,此时,用户线程就会处于阻塞状态。直到操作系统将数据准备完毕并且将数据copy到用户空间,此时用户线程才会接触阻塞状态;非.原创 2022-04-06 23:32:55 · 2210 阅读 · 1 评论 -
零拷贝-易懂讲解
零拷贝-易懂讲解相信大家平时在学习类似Kafka,netty等技术时都会经常见到“零拷贝”这个词,也知道“零拷贝”的出现会让网络数据传输效率更高,那么,本着知其然并知其所以然的原则,今天一起来了解一下它倒是是个啥玩意儿引言Linux的设计哲学之一就是:对不同的操作赋予不同的执行等级,就是所谓特权的概念,即与系统相关的一些特别关键的操作必须由最高特权的程序来完成。Intel的X86架构的CPU提供了0到3四个特权级,数字越小,特权越高,Linux操作系统中主要采用了0和3两个特权级,分别对应的就是内原创 2022-04-01 23:16:44 · 453 阅读 · 0 评论 -
lambda及stream学习
lambda及stream学习今日板砖,见lambda,不知其然遂不以为意。后又数现之,于是乎查之,究之,学之。半晌,豁然开朗!lambdalambda可以理解为一个匿名函数,可以将函数作为参数传入方法中,语法:() -> {}():用来描述参数列表->:lambda运算符{}:用来描述方法体对比//1.原始创建线程方法 Thread thread = new Thread(new Runnable() { @Overr原创 2021-05-20 11:42:46 · 156 阅读 · 1 评论 -
JAVA操作excel-POI及EasyExcel
POI及EasyExcelPOI官网EasyExcel官网EasyExcel使用说明POI操作excel的组件列表: HSSF : 它被用来读取和写入MS-Excel文件的xls格式。—03版本excel XSSF : 它是用于MS-Excel中xlsx文件格式。—07版本excel1. 导入依赖03版本excel,.xls表格文件,最多支持65535行数据<!--xls 03版本 --> <dependency>原创 2021-05-12 14:21:36 · 353 阅读 · 0 评论 -
JAVA双亲委派机制
当你处在最低谷时,不管往哪里走,都是进步!java类加载及双亲委派机制java类加载流程执行javac命令,启动java编译程序,将.java源代码文件编译为jvm可识别的.class字节码文件。(我们用idea、eclipse编码出的就是.java源文件,启动后。target文件夹下就是编译后的.class字节码文件)类加载器,将.class文件的二进制数据读入到内存中,存放到jvm内存结构的方法区内,并在堆中创建对应的class对象实例。执行java命令,会启动jvm,加载运.原创 2021-05-10 15:54:03 · 129 阅读 · 0 评论