首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
就是我34578
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
1.7K
文章 1.7K
沸点 19
赞
1.7K
返回
|
搜索文章
赞
文章( 1.7K )
沸点( 19 )
线程间的协作机制
上篇文章我们介绍了 synchronized 这个关键字,通过它可以基本实现线程间在临界区对临界资源正确的访问与修改。但是,它依赖一个 Java 对象内置锁,某个时刻只能由一个线程占有该锁,其他试图占有的线程都得阻塞在对象的阻塞队列上。 但实际上还有一种情况也是存在的,如果某个…
JVM 系列文章之 GC 算法浅析
再介绍垃圾回收算法之前,先来看看 Java中的堆,Java里的堆指的是用于存放 Java 对象的内存区域。JVM的堆被同一个JVM实例中所有的Java线程共享,它通常由某种自动管理机制所管理,这种机制通常叫做"垃圾回收"。 堆大小 = 新生代 + 老年代。其中堆的大小可以通过参…
从代理机制到Spring AOP
这篇文章准备从Java的代理机制讲到Spring的AOP。 代理模式是很常见的一种设计模式,代理一词拆开来看就是代为受理,那显然是要涉及到请求被代理的委托方,提供代理的代理方,以及想要通过代理来实际联系委托方的客户三个角色。举个生活中很常见的例子,各路的明星都会有个自己的经纪人…
你知道Java方法能定义多少个参数吗?
在JVM中,一个Java方法,最多能定义多少参数呢?我知道这是一个很无聊的问题,即使能定义一万个,十万个,谁又会真的去这么做呢。但是作为一个Coder,最重要的不就是好奇心吗,没有好奇心,和一条咸鱼又有什么区别呢?
MySQL探秘(四):InnoDB的磁盘文件及落盘机制
任何一个技术都有其底层的关键基础技术,这些关键技术很有可能也是其他技术的关键技术,学习这些底层技术,就可以一通百通,让你很快的掌握其他技术。如何在磁盘上存储数据,如何使用日志文件保证数据不丢失以及如何落盘,不仅是MySQL等数据库的关键技术,也是MQ消息队列或者其他中间件的关键…
看图轻松理解数据结构与算法系列(B树的删除)
删除操作比较复杂,主要是因为删除的项可能在叶子节点上也可能在非叶子节点上,而且删除后可能导致不符合B树的规定,这里暂且称之为导致B树不平衡,于是要进行一些合并、左旋、右旋等操作,使之符合B树的规定(即让B树平衡)。另外,如果是删除非叶子节点项需要先找到中序前驱来替换。 直接删除…
面向对象设计的六大设计原则(附 Demo & UML类图)
笔者想在 iOS 从业第三年结束之前系统学习一下关于设计模式方面的知识。而在学习设计模式之前,觉得更有必要先学习面向对象设计(OOD:Object Oriented Design)的几大设计原则,为后面设计模式的学习打下基础。 在下一章节笔者将分别讲解这些设计原则,讲解的方式是…
Java并发编程包中atomic的实现原理
这是一篇来自粉丝的投稿,作者【林湾村龙猫】最近在阅读Java源码,这一篇是他关于并发包中atomic类的源码阅读的总结。Hollis做了一点点修改。 引子 在多线程的场景中,我们需要保证数据安全,就会考虑同步的方案,通常会使用synchronized或者lock来处理,使用了s…
深入理解分布式之数据库和缓存双写一致性方案解析
首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作。 但是在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存。又或者是先删除缓存,再更新数据库,其实大家存在很大的争议。目前没有一篇全面的博客,对…
TreeMap之元素删除
通过上一篇文章,介绍了二分查找树的缺陷,引出了红黑树的介绍。进一步分析TreeMap中插入元素的源码,最后借助示例来加深对于红黑树的理解。详细请看TreeMap之元素插入 无替代节点,说明后继节点走到了叶子节点。需要调整说明后继节点为黑色,正如上图所示。此时就转化为对于叶子节点…
下一页
关注了
27
关注者
2
收藏集
32
关注标签
163
加入于
2017-11-08