首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
minute5
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
14
文章 14
沸点 0
赞
14
返回
|
搜索文章
最新
热门
Comparator 和 Comparable 的比较与用法
Comparable是排序接口,常用于自然排序;若一个类实现了Comparable接口,就意味着“该类支持排序”。 Comparator是比较器,常用于需要对排列的顺序进行精确控制的情况;我们若需要控制某个类的多个对象的次序,可以建立一个“该类的比较器”来进行排序。
HashMap的put、get原理解读
从源码中可以看到调用put操作时,实际上是调用的putVal,它会将key进行hash计算一次,计算出来的值呢就是这个key在Node数组中的索引,所以在进行get操作的时候会通过这个索引来找到相应的键值,时间复杂度为O(1),下面来详细看看putVal的操作。 这段意思是如果…
Java GC与四种引用
复制(Copying)算法,我前面讲到的新生代GC,基本都是基于复制算法,将活着的对象复制到to区域,拷贝过程中将对象顺序放置,就可以避免内存碎片化。这么做的代价是,既然要进行复制,既要提前预留内存空间,有一定的浪费;另外,对于G1这种分拆成为大量region的GC,复制而不是…
Java内存模型和volatile、synchronized
先说说计算机缓存:计算机在执行程序的时候,都是通过CPU来执行指令,当然执行一串指令少不了需要某些数据,这些数据就在主内存中(物理内存)。随着科技不断发展,CPU执行速度越来越快,但内存存取发展并没有跟上CPU飞速发展的脚步,导致性能瓶颈出现在了内存存取上,所以这个时候出现了缓…
String intern浅析
String存在的stringtablejava中所有的类共享一个字符串常量池。比如A类中需要一个“hello”的字符串常量,B类也需要同样的字符串常量,他们都是从字符串常量池中获取的字符串,并且获得
wait,notify,sleep,yield,join方法的实现
在阅读本篇文章之前建议先看看,[Java内存模型和volatile、synchronized] (https://www.jianshu.com/p/ad43ac25831a)中介绍过的Java虚拟机对每个对象实现的monitor锁。 调用wait方法能将当前线程阻塞掉,直到调…
从AtomicInteger到AQS原理
AtomicIntger是对int类型的一个封装,它提供了原子自增方法、原子自减方法以及原子赋值方法,即提供原子性的访问和更新操作。其中volatile保证了内存可见性(volatile这里在Java内存模型和volatile、synchronized里面讲过,不了解的可以跳过…
从Transactional与Async同时使用的错误到动态代理
当需要对某个方法开启异步线程,同时开启事务时,使用Spring的新手大多会犯一个错误,将@Transactional与@Async联合使用。 这样使用的一个直接后果是明明加了@Transactional注解为什么事务没有成功执行。 Spring 实现这两个注解的方式都是通过AO…
谈一谈锁
公平锁指的是按照请求锁的顺序来分配锁。 非公平当然就是不按申请锁的顺序分配锁,当然这就有可能造成饥饿现象。 ReentrantLock可以通过构造来指定该锁是否是公平锁,其内部是通过AQS来实现线程调度,所以能够成为公平锁。默认是非公平锁,这将能够提高它的吞吐量。 synchr…
使用脚本对数据库进行迁移
在日常工作开发中,随着我们产品不断迭代发展,我们希望在重构功能的同时,还需要保证在版本迭代之前操作数据保留并且变更得能够适应新的功能结构,这个时候往往会存在数据表的大量修改与变动,就是我们通常所说的 平滑升级。 在代码中使用定时任务来对数据库进行数据迁移与修复时,一般都会存在读…
下一页
个人成就
文章被点赞
83
文章被阅读
37,264
掘力值
904
关注了
9
关注者
27
收藏集
1
关注标签
9
加入于
2019-08-31