首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Java开发底层要点1——Java基础
_路漫漫其修远兮
创建于2022-07-18
订阅专栏
本专栏专门记录java学习心得
暂无订阅
共19篇文章
创建于2022-07-18
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Java基础19——检查OOM、JVM参数设置
本文已参与「新人创作礼」活动,一起开启掘金创作之路。 OOM 内存泄漏 概念 内存泄漏:对象不会再被程序用到,并且也不能被GC回收时,产生内存泄漏。 广义的“内存泄漏”:不好的实践导致对象的生命周期过
Java基础18——垃圾收集器
本文已参与「新人创作礼」活动,一起开启掘金创作之路。 简述Serial收集器:串行回收 单线程收集器,垃圾回收时会暂停(STW)其他所有线程,简单高效(与其他收集器的单线程相比,无线程切换开销) 针对
Java基础17——常见内存分配策略、垃圾回收相关
本文已参与「新人创作礼」活动,一起开启掘金创作之路。 常见内存分配策略 大多数情况下对象在新生代 Eden 区分配,当 Eden 没有足够空间时将发起一次Minor GC。大对象直接进入**老年代分配
Java基础16——java创建对象相关
本文已参与「新人创作礼」活动,一起开启掘金创作之路。 简述java创建对象的过程 (1)检查运行时常量池中是否有该类的符号引用,检查该类是否已经执行了类加载过程。 (2)为对象分配内存,然后将成员变量
Java基础15—— 类加载、双亲委派机制
本文已参与「新人创作礼」活动,一起开启掘金创作之路。 简述JVM类加载过程 (1)加载 通过类全名获取类的二进制字节流并转化为方法区的运行时数据结构。 在堆中生成类的Class对象,作为方法区数据的入
Java基础14——JVM内存模型
本文已参与「新人创作礼」活动,一起开启掘金创作之路。 JMM目标是屏蔽各种硬件和操作系统之间的内存访问差别,而让JAVA程序在各种平台对内存的拜访统一。 JMM规定所有的变量都存储在主存中,每个线程都
Java基础13——集合相关
本文已参与「新人创作礼」活动,一起开启掘金创作之路。 线程安全的基本数据结构 HashTable: 哈希表的线程安全版,效率低 ConcurrentHashMap:哈希表的线程安全版,效率高,用于替代
Java基础12——并发工具
本文已参与「新人创作礼」活动,一起开启掘金创作之路。 Atomic类 简述常见的Atomic类 在很多时候,我们需要的仅仅是一个简单的、高效的、线程安全的++或者--方案,使用synchronized
Java基础11——线程池
本文已参与「新人创作礼」活动,一起开启掘金创作之路。 线程池分类 (1)FixThreadPool 作用:固定线程数量的线程池(优点),最大线程数量等于核心线程数量(初期没有线程,每提交一个任务就创建
Java基础10——ThreadLocal、动态代理
本文已参与「新人创作礼」活动,一起开启掘金创作之路。 ThreadLocal ThreadLocal可以放置线程级别的变量,使每个线程拥有自己的变量副本,修改不会影响其他线程。 ThreadLoacl
Java基础09——进程与线程
本文已参与「新人创作礼」活动,一起开启掘金创作之路。 进程与线程概念 进程:是系统中一个正在运行的程序实体;进程是系统进行资源分配和调度的基本单位; 线程:是进程中运行的实际工作单位; 线程是系统进行
Java基础08—— 锁
本文已参与「新人创作礼」活动,一起开启掘金创作之路。 锁优化策略 即自适应自旋锁、锁粗化、锁消除、锁升级等策略。 自旋锁:使用自旋锁的线程会反复检查自旋变量是否可用,若自旋锁变量不可用,不会让出CPU
Java基础07——ReentrantLock、synchronized、AQS
本文已参与「新人创作礼」活动,一起开启掘金创作之路。 ReentrantLock ReentrantLock 是基于 AQS 实现的,内部有公平锁和非公平锁两种实现,差别在于新来的线程是否比已经在同步
Java基础06——并发编程与volatile
本文已参与「新人创作礼」活动,一起开启掘金创作之路。 并发编程3大特性 原子性 一个操作或者多个操作,要么全部执行成功,要么全部执行失败。线程切换可导致原子性问题。 【i++;】的自增操作,在多线程时
Java基础05——Object类常用方法
hashCode:根据哈希规则将对象的内存地址转换为一个哈希码。 equals:判断两个对象是否一致,比较地址,需保证equals方法相同的对象对应hashCode也相同。 为什么重写equals时被
Java基础04——关键字、面向对象特性
本文已参与「新人创作礼」活动,一起开启掘金创作之路。 关键字 final、finally和finalize的区别是什么? final用于声明属性、方法和类,分别表示属性不可变、方法不可覆盖、类不可继承
Java基础03——集合
本文已参与「新人创作礼」活动,一起开启掘金创作之路。 Collection接口 Collection接口包含三个子接口Set、List、Queue Set接口:HashSet类(无序不重复),Tree
Java基础02—— String类型相关
本文已参与「新人创作礼」活动,一起开启掘金创作之路。 创建字符串 查看字节码 字符串常量池在JVM源码中对应的是StringTable类,底层实现是一个Hashtable(数组+链表的形式,初始长度1
Java基础01——==与equals、自动装箱
==和equals的区别? == :比较两个基本数据类型的值,比较两个引用类型的地址。 equals :(Object类的方法)比较两个引用类型的地址(基于== ),java重写了Srting类、In