![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaWeb
文章平均质量分 88
3 ERROR(s)
17岁男高中生
展开
-
JVM类加载过程和GC机制
文章目录JVM运行时数据区1.堆区(线程共享)4.方法区(元数据区)(线程共享)2.Java虚拟机栈(线程私有)3.本地方法栈(线程私有)5.程序计数器(线程私有)类加载过程JVM运行时数据区1.堆区(线程共享)如果是基本数据类型,看他是局部变量还是成员变量,局部变量在栈上开辟空间,成员变量在堆区开辟空间。如果是引用数据类型,JVM在堆中创建对象,对象的引用存在虚拟机栈上的局部变量表中。4.方法区(元数据区)(线程共享)里面放的都是类对象包含了这个类的各种属性的名字,类型,访问权限包含了这原创 2022-03-18 09:36:41 · 281 阅读 · 0 评论 -
Synchronized锁升级
文章目录一、Synchronized基本特点二、Synchronized锁升级一、Synchronized基本特点开始是轻量级锁,如果锁被持有时间很长变为重量级锁实现轻量级锁的时候大概率使用自旋锁(CAS实现)开始是乐观锁,如果锁冲突概率变多变为悲观锁Synchronized是一个非公平锁Synchronized不是读写锁Synchronized是可重入锁二、Synchronized锁升级无锁:顾名思义,不加锁偏向锁:第一个尝试加锁的线程优先进入偏向锁状态,偏向锁并不是真正的加原创 2022-03-16 09:58:28 · 415 阅读 · 0 评论 -
多线程(进阶篇)
文章目录一、线程池ThreadPoolExecutor构造方法的参数Executors二、如何实现一个线程池三、常见的锁策略1.乐观锁和悲观锁2.读写锁3.重量级锁&轻量级锁一、线程池ThreadPoolExecutor构造方法的参数将线程池比作一个公司,每个线程比作一个员工corePoolSize: 核心线程的数目(一旦创建,永不销毁,正式员工,不会被辞退)maximumPoolSize:核心线程和非核心线程的总数目(非核心线程:一段时间不工作就销毁,临时工:摸鱼太久就滚蛋)keep原创 2022-03-10 16:47:09 · 392 阅读 · 0 评论 -
多线程学习(基础篇)
系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例原创 2022-03-08 21:40:42 · 405 阅读 · 0 评论 -
Java基础IO
文章目录一、File文件操作类1. File类的常用方法2.相对路径和绝对路径3.使用File类递归打印文件目录列表二、IO流1. IO流的概念2. 复制字节流文件BufferedInputStream和BufferedOutputStream类3.复制字符流文件三、 序列化和反序列化1.什么是序列化和反序列化2.使用ObjectOutputStream类序列化/反序列化java对象一、File文件操作类1. File类的常用方法2.相对路径和绝对路径绝对路径:从树型结构的角度来看,从根节点到这原创 2022-03-07 21:27:15 · 481 阅读 · 1 评论