首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
基本功
订阅
高超1498114075291
更多收藏集
微信扫码分享
微信
新浪微博
QQ
12篇文章 · 0订阅
自顶向下的Java虚拟机
最近看了《深入理解Java虚拟机》这本书,感觉书中的章节写的很零散,如果能够通过一个完整的例子将所有的知识点串联起来,将整个故事讲清楚,无疑对Java虚拟机运作原理的学习有更好的帮助,本文之所以称为自上而下的Java虚拟机是受《计算机网络:自顶向下方法》启发,想要从上层开始讲起…
深入理解红黑树原理与实现
红黑树(RBTree)是一种相比平衡二叉树(AVL)平衡要求较低的的一种二叉搜索树,所谓平衡要求较低的意思是相比AVL树的每个节点的左右子树的高度差不能超过2,红黑树使用红黑两种颜色来标记二叉搜索树中的节点,并对这种着色进行限制,使得在插入删除操作后对不符合的情况必须进行调整来…
Java并发编程艺术-并发机制的底层原理实现
Java编程语言允许线程访问共享变量,为了确保共享变量能被准确和一致的更新,线程应该确保通过排他锁单独获得这个变量。 volatile借助Java内存模型保证所有线程能够看到最新的值。(内存可见性) 将带有volatile变量操作的Java代码转换成汇编代码后,可以看到多了个l…
数据结构与算法(十四)深入理解红黑树和JDK TreeMap和TreeSet源码分析
今天我们来介绍下非常重要的数据结构:红黑树。 很多文章或书籍在介绍红黑树的时候直接上来就是红黑树的5个基本性质、插入、删除操作等。本文不是采用这样的介绍方式,在介绍红黑树之前,我们要了解红黑树是怎么发展出来的,进而就能知道为什么会有红黑树的5条基本性质。 这样的介绍方式也是《算…
关于类的对象创建与初始化
当虚拟机接受到一条 new 指令时,首先会拿指令后的参数,也就是我们类的符号引用,于方法区中进行检查,看是否该类已经被加载,如果没有则需要先进行该类的加载操作。 一旦该类已经被加载,那么虚拟机会根据类型信息在堆中分配该类对象所需要的内存空间,然后返回该对象在堆中的引用地址。 一…
List集合就这么简单【源码剖析】
前一篇已经讲了Collection的总览:Collection总览,介绍了一些基础知识。 底层数据结构是数组。线程不安全 底层数据结构是链表。线程不安全 底层数据结构是数组。线程安全 第一次扩容后,如果容量还是小于minCapacity,就将容量扩充为minCapacity。 …
从源码的角度谈谈面试常客Handler的内部原理
我们都知道,在进行Android应用开发的时候,主线程(又称为UI线程)不能进行网络请求一类的耗时操作,必须开启一个子线程来处理;但是在子线程里面又不能进行更新UI的操作,更新UI必须在主线程里操作。那么当子线程进行完耗时操作时如何通知主线程更新UI呐?这个时候Handler就…
写给 Android 应用工程师的 Binder 原理剖析
一. 前言 这篇文章我酝酿了很久,参考了很多资料,读了很多源码,却依旧不敢下笔。生怕自己理解上还有偏差,对大家造成误解,贻笑大方。又怕自己理解不够透彻,无法用清晰直白的文字准确的表达出 Binder 的设计精髓。直到今天提笔写作时还依旧战战兢兢。 Binder 之复杂远远不是一…
为什么说Java中只有值传递。
点击上方“Hollis”关注我,精彩内容第一时间呈现。全文字数: 4000阅读时间: 8分钟最近,在我的知识星球 的<直面Java>板块中,给球友们出了这么一道题:对于初学者来说,要想把这个问题回答