自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 算法之旅总览

常用算法思想回溯法分治法(Divide and Conquer)怎么用?动态规划怎么用?常见动态规划的解决思路详细分析背包问题数据结构AVL树:解决BST可能导致的长链问题Binary Search Trees(BST)一种插入、查找后继节点耗时为 lglgu 的算法van Emde Boas Trees排序算法常见排序算法图算法广度优先搜索算法(Breath-...

2018-12-31 23:02:53 155

原创 工作中那些有用的工具

项目maven jar构建git上的后悔药视频编辑IMOVIE使用数据处理pandas处理文本的方便之处Linux命令Linux上的方便命令

2018-12-31 20:51:47 158

原创 网络之旅总览

传输层TCPTCP协议之旅总览链路层链路层是做什么的?websocketwebsocket简介待续

2018-12-31 19:28:02 183 1

原创 kafka之旅总览

初识kafka初识kafka集群初识kafka中的生产者与消费者初识kafka对消息处理与可靠性做出的保证

2018-12-31 18:19:44 271

原创 Netty之旅总览

一篇文章入门NettyByteBuf详解ChannelHandler流程详解EventLoop流程详解Bootstrap使用详解ChannelHandler做测试数据格式转换与自带Channel工具Netty Hello world版启动源码分析...

2018-12-31 16:04:39 210

原创 TCP协议之旅总览

可靠性、协议格式、tcpDump可靠性、协议格式、tcpDump处理连接处理连接数据传输数据传输超时处理超时处理局限性与定时器局限性定时器

2018-12-31 12:27:55 132

原创 从wait的源码看撤销偏向锁的过程(revoke and rebias)

wait源码实现如下//TRAPS表示是否有异常void ObjectSynchronizer::wait(Handle obj, jlong millis, TRAPS) { if (UseBiasedLocking) { //如果是使用了偏向锁,要撤销偏向锁 BiasedLocking::revoke_and_rebias(obj, false, THREAD); ...

2018-12-18 00:06:46 1378

翻译 偏向锁状态转移原理

为什么需要偏向锁当多个处理器同时处理的时候,通常需要处理互斥的问题。一般的解决方式都会包含acquire和release这个两种操作,操作保证,一个线程在acquire执行之后,在它执行release之前,其它线程不能完成acquire操作。这个过程经常就涉及到锁。研究表明(L. Lamport A fast mutual execlusion algorithm),通过 fast locks...

2018-12-18 00:01:23 304

翻译 safe-point(safepoint 安全点) 和 safe-region(安全区域)

以 GC safe-point引入GC如何找到不可用的对象编写代码的时候是可以知道对象不可用的,但对于程序来说,需要一定的方式来知晓,可用方法比如:编译分析,引用计数,和对象是否可达可达性分析一个对象只要能够通过mutator触达,那么它就是“活”着的。如果Mutator栈的一个槽位包含了对象的引用,那么对象就是直接可触达。而从直接可达对象可触达的对象必定也是可达的,因而可达性分析,只...

2018-12-17 23:54:55 1956

原创 LockSupport中的park与unpark原理

LockSupport是用来创建locks的基本线程阻塞基元,比如AQS中实现线程挂起的方法,就是park,对应唤醒就是unpark。JDK中有使用的如下LockSupport提供的是一个许可,如果存在许可,线程在调用park的时候,会立马返回,此时许可也会被消费掉,如果没有许可,则会阻塞。调用unpark的时候,如果许可本身不可用,则会使得许可可用许可只有一个,不可累加park源码跟...

2018-12-17 23:54:13 36512 8

原创 CAS(compareAndSwap)原理

unsafe中对应拥有三个方法 compareAndSwapObject ,compareAndSwapInt和compareAndSwapLong ,他们都被标记为nativecompareAndSwapObject它的核心实现为oop res = oopDesc::atomic_compare_exchange_oop(x, addr, e);实现核心如下inline oop oo...

2018-12-17 23:44:04 241

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除