首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
TomCoding
掘友等级
Java程序员
好好学习,天天向上
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
0
文章 0
沸点 0
赞
0
返回
|
搜索文章
最新
热门
聊聊jvm中的标量替换
逃逸分析是一种分析技术,分析对象的动态作用域,供其他优化措施提供依据。比如分析一个对象不会逃逸到方法之外或线程之外,其它优化措施(栈上分配,标量替换等)根据逃逸程度进行优化。 标量可以理解成一种不可分解的变量,如java内部的基本数据类型、引用类型等。 与之对应的聚合量是可以被…
从字节码层面聊聊try catch finally
try{}中的语句块为监控可能发生异常的代码块。 catch(){}用来捕获异常。当try{}触发异常时,通过匹配catch中的异常类型进行捕获处理。需要注意的是多个catch块从上往下依次匹配,并且前面的Exception范围不能包含下面的Exception,否则会在编译期间…
ThreadPoolExecutor源码分析
线程池的定义应该都耳熟能详了,主要是对线程资源的管理,及统计分析。避免线程频繁创建于销毁影响性能等。 Executor是顶层的抽象, 里面定义了一个execute(Runnable command)方法。 描述提供一个任务进行执行。 ExecutorService对Execut…
JVM类初始化阶段分析
本文的目的主要为了实践验证类初始化。主要通过以下以下几点来描述: 加载阶段(通过本地classpath,网络等方式获取class字节码文件内容加载)。 链接阶段(细分为验证、准备、解析三个子阶段。) 声明为final static的基本类型属性,虚拟机会标记成常量值,并为其初始…
ConcurrentHashMap源码分析
对于ConcurrentHashMap的定义应该很多人都知道,是一个可以在并发环境下确保线程安全的HashMap。 下聚焦于ConcurrentHashMap几个关键点进行分析: HashMap中通过一个table数组来实现,里面的每个元素是一个Entry对象(通过传入的kv封…
并发的挑战
1. 上下文切换 2. 死锁 3. 资源限制
排序-插入排序
1. 定义 插入排序有点像玩扑克牌, 将每一张牌插入到其他已经有序的牌中合适的位置, 使整体有序。 2. 排序的思路 将数组分为已排序跟未排序区间。 初始0下标位置作为已排序区间,下标1到n-1作为未排序区间,每次从左到右从未排序区间取出元素与已排序区间元素进行比较找到合适的位…
排序-选择排序
1. 选择排序的定义 找出数组最小的元素跟左边第一个元素位置进行交换。然后再从剩下的数组元素中找出最小的位置,跟左边第二个元素位置进行交换。 如此反复,直到将整个数组排序。 执行轨迹如下: ... 2. 代码实现 3. tradeoff 4. 复杂的分析
个人成就
文章被点赞
27
文章被阅读
18,275
掘力值
535
关注了
60
关注者
7
收藏集
0
关注标签
5
加入于
2018-10-07