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