首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
珂
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
45
文章 31
沸点 14
赞
45
返回
|
搜索文章
赞
文章( 31 )
沸点( 14 )
硬核图解红黑树并手写实现
红黑树算是数据结构中比较有难度的知识点,虽然在实际的业务开发工作中使用的不多,但是这是面试官最喜欢问的知识点。 我在之前也看过很多关于红黑树的文章,但是很多都是从红黑树的性质来讲红黑树,根本未从红黑树的理论模型出发讲红黑树,所以造成红黑树比较难理解。 在学习红黑树之前,我们先来…
基于Redis的分布式锁实现
在多线程的环境下,为了保证一个代码块在同一时间只能由一个线程访问,Java中我们一般可以使用synchronized语法和ReetrantLock去保证,这实际上是本地锁的方式。但是现在公司都是流行分布式架构,在分布式环境下,如何保证不同节点的线程同步执行呢? 实际上,对于分布…
pika集群水平扩展——让性能容量不再受限
Pika是一个可持久化的大容量redis存储服务,兼容string、hash、list、zset、set的绝大部分接口(兼容详情),解决redis由于存储数据量巨大而导致内存不够用的容量瓶颈。用户可以不修改任何代码从redis迁移到pika服务。具有良好的兼容性和稳定性,被36…
Java锁之ReentrantLock(二)
首先,直接尝试获取锁,获取成功直接结束。 在队列中,死循环式的判断前任节点是否是头节点,如果是头节点就尝试获取锁,如果不是就把自己挂起,等待前任节点唤醒自己,这样可以避免多个线程死循环带来的性能消耗。 锁释放成功了,接着就会唤醒在队列的后继节点,通过调用LockSupport.…
谁再说Synchronized慢,我跟谁急
我们都知道Java之所以可以一次编译到处运行,完全是因为字节码的原因,字节码就相当于中间层屏蔽了底层细节。但是想要在机器执行,最终还是要翻译成机器指令。 而JVM是通过C/C++来编写的,Java程序编译后,会产生很多字节码指令,每一个字节码指令在JVM底层执行的时候又会编程一…
死磕synchronized底层实现
Mark Word(标记字段):默认存储对象的HashCode,分代年龄和锁标志位信息。它会根据对象的状态复用自己的存储空间,也就是说在运行期间Mark Word里存储的数据会随着锁标志位的变化而变化。 Klass Point(类型指针):对象指向它的类元数据的指针,虚拟机通过…
Synchronized原理
synchronized是java中加锁的关键字,可以用来给对象和方法或者代码块加锁,当它锁定一个方法或者一个代码块的时候,同一时刻最多只有一个线程可以执行这段代码。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。然而,当一个线程访问object的一个加锁代码块…
阿里架构师讲面试:计算机网络通信
应用层为什么要引入应用层定义进程间传输的内容规范。对于不同的网络应用需要不同的应用层协议。在互联网中应用层协议很多,如域名系统DNS,支持万维网应用的HTTP协议,支持电子邮件的SMTP协议等等。我们
硬核干货:4W字从源码上分析JUC线程池ThreadPoolExecutor的实现原理
很早之前就打算看一次JUC线程池ThreadPoolExecutor的源码实现,由于近段时间比较忙,一直没有时间整理出源码分析的文章。之前在分析扩展线程池实现可回调的Future时候曾经提到并发大师Doug Lea在设计线程池ThreadPoolExecutor的提交任务的顶层…
总结java从文件中读取数据的6种方法-JAVA IO基础总结第二篇
在上一篇文章中,我为大家介绍了《5种创建文件并写入文件数据的方法》,本节我们为大家来介绍6种从文件中读取数据的方法. Scanner(Java 1.5) 按行读数据及String、Int类型等按分隔符读数据。 Files.readString, 读取String(Java 11…
下一页
关注了
82
关注者
0
收藏集
2
关注标签
37
加入于
2018-02-28