首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
java技术
订阅
莫再讲xml
更多收藏集
微信扫码分享
微信
新浪微博
QQ
9篇文章 · 0订阅
Android工程师学习JVM(六)-字节码执行引擎
在学习JVM这个系列文章中,已经讲解了JVM规范、Class文件格式以及如何阅读字节码、ASM字节码处理、类的生命周期及自定义类加载器等。本篇介绍字节码执行引擎,理解java程序在实际运行中涉及到的栈帧的结构,局部变量存储,操作数存储,动态分派等内容 当前实现方式有两种,一种是…
正确使用 Volatile 变量
Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”;与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也…
10分钟看懂动态代理设计模式
从字面意思来看,代理比较好理解,无非就是代为处理的意思。举个例子,你在上大学的时候,总是喜欢逃课。因此,你拜托你的同学帮你答到,而自己却窝在宿舍玩游戏... 你的这个同学恰好就充当了代理的作用,代替你去上课。 很简单的一个例子,用一个随机睡眠时间模拟小鸟在空中的飞行时间。接下来…
Java源码分析:HashMap 1.8 相对于1.7 到底更新了什么?
今天,我将通过源码分析HashMap 1.8 ,从而讲解HashMap 1.8 相对于 HashMap 1.7 的更新内容,希望你们会喜欢。 1. 简介 2. 数据结构:引入了 红黑树 3. 具体使用 4. 基础知识:HashMap中的重要参数(变量) 但由于数据结构中引入了 …
啃碎并发(七):深入分析Synchronized原理
记得开始学习Java的时候,一遇到多线程情况就使用synchronized,相对于当时的我们来说synchronized是这么的神奇而又强大,那个时候我们赋予它一个名字“同步”,也成为了我们解决多线程情况的百试不爽的良药。但是,随着学习的进行我们知道在JDK1.5之前synch…
单例陷阱——双重检查锁中的指令重排问题
之前我曾经写过一篇文章《单例模式有8种写法,你知道么?》,其中提到了一种实现单例的方法-双重检查锁,最近在读并发方面的书籍,发现双重检查锁使用不当也并非绝对安全,在这里分享一下。 使用synchronized之后,可以保证线程安全,但是synchronized将全部代码块锁住,…
大厂面试经:高频率JVM面试问题整理!
JVM内存结构可以大致可划分为线程私有区域和共享区域,线程私有区域由虚拟机栈、本地方法栈、程序计数器组成,而共享区域由堆、元数据空间(方法区)组成。 再有人问你JVM的内存结构就回想下上面的图,但是知道JVM的内存模型的样子还是不行的,还要知道他们分别干什么的。 当你碰到过St…
深入Java虚拟机之 -- 总结面试篇
在学习 JVM 相关知识,怎么让自己有动力看下去,且有思考性呢?笔者认为,开头用一些常用的面试题,来引入读者的兴趣比较好,这样才会有看下去的东西,所以,该篇文章会以面试+总结的方式,希望读者能先思考写出答案,再查看相关知识。 创建对象是为了使用对象,虚拟机需要通过栈中的 ref…
重学Java-一个Java对象到底占多少内存
文章标题提出的问题是”一个对象到底占多少内存“,看似很简单,但想说清楚并不容易,希望本文的探讨能让你有收获。 在开始之前我还是决定先提一个曾经阴魂不散,困扰我很久的问题,了解这个问题的答案有助于我们理解接下来的内容。 在Java中数据类型分为二大类。 Java中基础数据类型有8…