首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
拥抱心中的梦想
掘友等级
Java工程师
|
company
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
193
文章 170
沸点 23
赞
193
返回
|
搜索文章
最新
热门
谈谈JUC----------ReentrantLock源码分析
ReentrantLock是一个和synchronized拥有相同语义但同时扩展了额外功能的可重入互斥锁实现。ReentrantLock将由最近成功获得锁定,并且还没有释放该锁定的线程所拥有。当锁定没有被另一个线程所拥有时,调用 lock() 的线程将成功获取该锁定并返回。如果…
谈谈JUC----------Condition源码分析
以前多线程通信使用的是Object类提供的wait以及notify方法,Condition也有类似wait、notify的功能,且提供了当线程中断时是否做出相应的处理方法。Condition底层实现基于FIFO队列,它必须结合Lock锁一起使用,并且Condition实例由Lo…
谈谈JUC----------CAS机制及AtomicInteger源码分析
CAS即Compare And Swap对比交换,区别于悲观锁,借助CAS可以实现区别于synchronized独占锁的一种乐观锁,被广泛应用在各大编程语言之中。Java JUC底层大量使用了CAS,可以说java.util.concurrent完全是建立在CAS之上的。但是C…
谈谈Java序列化机制
简单的讲,序列化就是将java对象转化成二进制保存到磁盘中去,反序列化就是从磁盘中读取文件流然后转成java对象。 通过实现Externalizable接口我们可以自定义序列化的属性,同样的道理,关键字transient也可以达到相同的效果,但是两者之间还是有一些区别的。 st…
【Oracle性能优化】!=、NOT NULL、+ 优化分析
接下来小编会做很多很多小实验,有些前提要说明一下,oracle 11g优化器模式Optermizer Mode默认为all_rows,也就是基于cost和统计信息的模式,我们就选它做实验。因为不同的优化器模式,同样的sql语句输出的执行计划是不一样的,我们会穿插一些其他模式的实…
【Oracle性能优化】COUNT(*)和COUNT(列)相比较
我们得到一个TEST_TABLE表,用于我们自己测试,该表派生于DBA_OBJECTS表,注意只有sys用户才能使用这张表,请使用sys进行登录。 你会发现,其实COUNT(*)和COUNT(OBJECT_ID)的效率是一样快的。你可能会不服气,你干嘛选OBJECT_ID作为演…
@Import、ImportSelector注解使用及源码分析
在学习@Import这个注解时,小编在想一个问题,这个注解的作用是导入一个配置Configuration类,那到底什么地方会用到它呢?想到我们工程中也不会使用这个注解去导入配置呀,我们都是新建一个类xxxxxxConfiguration.java,然后直接在类里边把所有的Bea…
SpringBoot封装我们自己的Starter
平常我们使用SpringBoot开发经常用到一些第三方jar包,而且通常只是引入一个xxx-starterjar包就拥有了所有功能,到底其中的原理是怎样的呢?要想知道其中的原理,我们不妨先自己手动制作一个Starter,这对我们深入使用一些第三框架将会有相当大的帮助。 因为我们…
使用JRE8构建Java8基础镜像
首先说说为什么要进行镜像压缩,docker镜像内部分层结构,导致某些层上面的依赖多余,在某种特定场景下这些依赖其实并不会用到,因此,针对特定场景,我们可以将这些多余的依赖进行删除,缩小镜像体积节省资源。 下载时请注意你所用的机器的系统以及位数,不要在32位机器上安装了64位的包…
【中序遍历二叉树】----LeetCode算法题(二)
1、最普遍的方式就是递归,二叉树天生就非常适合递归。 2、迭代遍历,利用循环,借助栈将迭代的中间结果保存下来,一般迭代需要有一个指向当前位置的类似指针的东西。
下一页
个人成就
优秀创作者
文章被点赞
3,160
文章被阅读
408,739
掘力值
11,377
关注了
356
关注者
3,902
收藏集
21
关注标签
99
加入于
2017-04-27