![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 81
jiafeibujiamao
这个作者很懒,什么都没留下…
展开
-
四种IO模型学习介绍
阻塞IO, 指的是需要内核IO操作彻底完成后,才返回到用户空间,执行用户的操作。阻塞指的是用户控件程序的执行状态,用户控件程序需等到IO 操作彻底完成。传统的IO模型都是同步阻塞IO。在Java中,默认创建的Socket都是阻塞的。同步IO,是一种用户空间和内核空间的调用发起方式。同步IO指用户空间线程是主动发起IO请求的乙方,内核空间是被动接受方。异步IO则相反,指内核Kernel是主动发起IO请求的乙方,用户线程是被动接受方。原创 2023-04-20 17:20:20 · 187 阅读 · 0 评论 -
对象的内存布局
在JVM中,对象在内存中的布局分为三块区域:对象头、实例数据和对齐填充。实例数据:存放类的属性数据信息,包括父类的属性信息;对齐填充:仅仅是为了字节对齐,虚拟机要求对象起始地址必须是8字节的整数倍。填充的数据不是必须存在的;对象头:Java对象头一般占有2个机器码,但是如果对象是数组类型,则需要3个机器码,因为JVM虚拟机可以通过Java对象的元数据信息确定Java对象的大小,但是无法从数组的元数据来确认数组的大小,所以用一块来记录数组长度。▪ 虚拟机的。原创 2023-03-02 17:38:32 · 168 阅读 · 0 评论 -
小探锁的升级过程
锁的状态总共有四种,级别由低到高依次为:无锁、偏向锁、轻量级锁、重量级锁。在 JDK 1.6之前,synchronized 还是一个重量级锁,是一个效率比较低下的锁,但是在JDK 1.6后,Jvm为了提高锁的获取与释放效率对(synchronized )进行了优化,引入了偏向锁和轻量级锁,从此以后锁的状态就有了四种(无锁、偏向锁、轻量级锁、重量级锁并且。原创 2023-03-02 15:18:28 · 105 阅读 · 1 评论 -
JVM介绍
JVM核心支撑之一。JVM主要任务就是把字节码加载到内存中在让执行引擎进行执行。执行引擎的任务就是把字节码文件编译成操作系统可识别的的本地机器指令。一个本地方法就是一个java调用非java代码的接口,该方法的底层是由非java语言实现的,比如C语言.在定义一个本地方法时,不提供实现体,因为其实现体是由非java语言实现的.关键字native可以与其他所有的java标识符连用,abstract除外.原创 2023-03-01 16:05:26 · 129 阅读 · 1 评论 -
JAVA从入门到放弃(设置java环境)
2. 我的电脑 -> 右键 属性 -> 高级系统设置 -> 环境变量。5. 继续配置系统变量path,使JAVA_HOME 可用。打开命令窗口 win+R -> cmd -> enter。官网下载jdk安装包。6. 环境变量配置确定完成后 检验安装成果。3. 配置系统变量 JAVA_HOME。4. 配置classpath。未报错则正确安装完成。路劲为jdk安装地址。原创 2022-09-27 15:13:33 · 299 阅读 · 0 评论