首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
exposure
掘友等级
点赞是一种阅读礼仪
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
11
文章 11
沸点 0
赞
11
返回
|
搜索文章
最新
热门
String、StringBuilder、StringBuffer 对比
众所周知,String是由字符组成的串,在程序中使用频率很高。Java中的String是一个类,而并非基本数据类型。 不过她却不是普通的类哦!!! 我们都知道,Java程序要运行,首先需要编译器将源代码文件编译成字节码文件(也就是.class文件)。然后在由JVM解释执行。 c…
死磕Synchronized底层实现--重量级锁
在inflate中完成膨胀过程。 inflate中是一个for循环,主要是为了处理多线程同时调用inflate的情况。然后会根据锁对象的状态进行不同的处理: 1.调用omAlloc分配一个ObjectMonitor对象(以下简称monitor),在omAlloc方法中会先从线程…
死磕Synchronized底层实现--轻量级锁
本人看的JVM版本是jdk8u,具体版本号以及代码可以在这里看到。 下面开始轻量级锁获取流程分析,代码在bytecodeInterpreter.cpp#1816。 如果锁对象不是偏向模式或已经偏向其他线程,则success为false。这时候会构建一个无锁状态的mark wor…
死磕Synchronized底层实现--偏向锁
本文分析的JVM版本是JVM8,具体版本号以及代码可以在这里看到。 目前网上的很多文章,关于偏向锁源码入口都找错地方了,导致我之前对于偏向锁的很多逻辑一直想不通,走了很多弯路。 synchronized分为synchronized代码块和synchronized方法,其底层获取…
死磕Synchronized底层实现--概论
从上面的中文注释处可以看到,对于synchronized关键字而言,javac在编译时,会生成对应的monitorenter和monitorexit指令分别对应synchronized同步块的进入和退出,有两个monitorexit指令的原因是:为了保证抛异常的情况下也能释放锁…
Kafka史上最详细原理
Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、s…
zookeeper原理
Apache ZooKeeper 由 Apache Hadoop 的子项目发展而来,是Java语言开发,于 2010 年 11 月正式成为了 Apache 的顶级项目。 ZooKeeper 是一个开放源代码的分布式协调服务。它具有高性能、高可用的特点,同时也具有严格的顺序访问控…
深入分析 Java I/O (四)AIO
异步IO则采用“订阅-通知”模式:即应用程序向操作系统注册IO监听,然后继续做自己的事情。当操作系统发生IO事件,并且准备好数据后,在主动通知应用程序,触发相应的函数 和同步IO一样,异步IO也是由操作系统进行支持的。微软的windows系统提供了一种异步IO技术:IOCP(I…
深入分析 Java I/O (三)NIO
一个餐厅同时有100位客人到店,当然到店后第一件要做的事情就是点菜。但是问题来了,餐厅老板为了节约人力成本目前只有一位大堂服务员拿着唯一的一本菜单等待客人进行服务。 方法A:无论有多少客人等待点餐,服务员都把仅有的一份菜单递给其中一位客人,然后站在客人身旁等待这个客人完成点菜过…
深入分析 Java I/O (二)BIO
网络编程的基本模型是C/S模型,即两个进程间的通信。 服务端提供IP和监听端口,客户端通过连接操作想服务端监听的地址发起连接请求,通过三次握手连接,如果连接成功建立,双方就可以通过套接字进行通信。 传统的同步阻塞模型开发中,ServerSocket负责绑定IP地址,启动监听端口…
下一页
个人成就
文章被点赞
57
文章被阅读
54,903
掘力值
657
关注了
0
关注者
42
收藏集
0
关注标签
2
加入于
2019-01-02