E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
LevelDB源码系列
JUC
源码系列
-ReentrantLock独占锁的释放
前言开始之前先提一句,JAVA的内置锁在退出临界区之后是会自动释放锁的,但是ReentrantLock这样的显式锁是需要自己显式的释放的,所以在加锁之后一定不要忘记在finally块中进行显式的锁释放:Locklock=newReentrantLock();...lock.lock();try{//更新对象//捕获异常}finally{lock.unlock();}一定要记得在finally块中释
阿瑞的博客
·
2023-04-16 11:22
并发编程
面试题
源码
面试
并发编程
ReetrantLock
juc源码
Hyperledger Fabric 使用 CouchDB 和复杂智能合约开发
本文将在前面实验的基础上,将HyperledgerFabric的默认数据库支持
LevelDB
改为CouchDB模式,以实现更复杂的数据检索功能。
丿风色幻想
·
2023-04-16 03:17
FabricLearn
区块链
FabricLearn
Fabric
智能合约
一篇文章读懂比特币 | 乌拖市场
比特币核心客户端使用Google的
LevelDB
数据库存储区块链元数据。区块被从后向前有序地链接在这个链条里,每个区块都指向前一个区块。
霜风入袖
·
2023-04-16 02:55
JUC
源码系列
-Semaphore源码研读
前言Semaphore(信号量)也是常用的并发工具之一,它常常用于流量控制。通常情况下,公共的资源常常是有限的,例如数据库的连接数。使用Semaphore可以帮助我们有效的管理这些有限资源的使用。Semaphore的结构和ReentrantLock以及CountDownLatch很像,内部采用了公平锁与非公平锁两种实现,如果你已经看过了ReentrantLock源码分析和CountDownLatc
阿瑞的博客
·
2023-04-16 01:06
面试题
并发编程
源码
并发编程
juc源码
面试
Semaphore
JUC
源码系列
-CyclicBarrier源码分析
前言本篇我们来看看另一个和它比较像的并发工具CyclicBarrier。与CountdownLatch的区别将count值递减的线程在CountDownLatch中,执行countDown方法的线程和执行await方法的线程不是一类线程。例如,线程M,N需要等待线程A,B,C,D,E执行完成后才能继续往下执行,则线程A,B,C,D,E执行完成后都将调用countDown方法,使得最后count变为
阿瑞的博客
·
2023-04-16 01:34
源码
面试题
并发编程
并发编程
java面试突击
juc源码
CyclicBarrier
JUC
源码系列
-ReentrantReadWriteLock
继承关系ReadLock和WriteLock是ReentrantReadWriteLock的两个内部类,Lock的上锁和释放锁都是通过AQS来实现的。AQS定义了独占模式的acquire()和release()方法,共享模式的acquireShared()和releaseShared()方法。还定义了抽象方法tryAcquire()、tryAcquiredShared()、tryRelease()
阿瑞的博客
·
2023-04-15 19:20
面试题
并发编程
源码
并发编程
JUC源码
面试
JUC
源码系列
-Lock 和 Condtion
前言前面几篇我们学习了synchronized同步代码块,了解了java的内置锁,并学习了监视器锁的wait/notify机制。在大多数情况下,内置锁都能很好的工作,但它在功能上存在一些局限性,例如无法实现非阻塞结构的加锁规则等。为了拓展同步代码块中的监视器锁,java1.5开始,出现了lock接口,它实现了可定时、可轮询与可中断的锁获取操作,公平队列,以及非块结构的锁。与内置锁不同,Lock是一
阿瑞的博客
·
2023-04-15 19:50
并发编程
面试题
源码
juc源码
并发编程
Lock
JUC
源码系列
-ReentrantLock源码研读
前言上一篇我们学习了lock接口,本篇我们就以ReentrantLock为例,学习一下Lock锁的基本的实现。我们先来看看Lock接口中的方法与ReentrantLock对其实现的对照表:Lock接口ReentrantLock实现lock()sync.lock()lockInterruptibly()sync.acquireInterruptibly(1)tryLock()sync.nonfair
阿瑞的博客
·
2023-04-15 19:50
面试题
并发编程
源码
juc源码
并发编程
ReetrantLock
JUC
源码系列
-AQS的Condition的接口实现
前言本篇文章是基于线程间的同步与通信(4)——Lock和Condtion这篇文章写的,在那篇文章中,我们分析了Condition接口所定义的方法,本篇我们就来看看AQS对于Condition接口的这些接口方法的具体实现。概述我们在前面介绍Conditon的时候说过,Condition接口的await/signal机制是设计用来代替监视器锁的wait/notify机制的,因此,与监视器锁的wait/
阿瑞的博客
·
2023-04-15 19:47
面试题
并发编程
源码
java
juc源码
并发编程
AQS
mysql innodb 源码_MySQL列:innodb的源代码的分析的基础数据结构
前段时间分析
levelDB
实施和BeansDB实现,数据库网络分析这两篇文章非常多。他们也比较深比较分析,所以没有必要重复很多劳力。
weixin_39639286
·
2023-04-15 18:07
mysql
innodb
源码
从0-1去分析与定位代码中死锁,被神队友坑的两天
C++常用功能
源码系列
文章目录C++常用功能
源码系列
前言一、死锁源码二、死锁代码分析总结前言本文是C/C++常用功能代码封装专栏的导航贴。
c+猿辅导
·
2023-04-14 05:04
C++常用功能代码实现(源码)
c++
开发语言
从0-1优化C++类对象创建资源消耗 (附源码)
C++常用功能
源码系列
文章目录C++常用功能
源码系列
前言一、C++几种常用的函数是什么?二、优化过程1.源代码2.源代码总结前言本文是C/C++常用功能代码封装专栏的导航贴。
c+猿辅导
·
2023-04-14 05:21
C++常用功能代码实现(源码)
c++
c语言
spring
源码系列
-beanDefinition(子路),高级java面试题spring
Test.javapublicclassTest{publicstaticvoidmain(String[]args){AnnotationConfigApplicationContextac=newAnnotationConfigApplicationContext();ac.register(Appconfig.class);ac.refresh();}}④当spring把类所对应的beanD
m0_65322636
·
2023-04-12 12:29
程序员
面试
java
后端
spring
源码系列
-beanDefinition(子路,阿里java面试流程
用一段代码和结果来证明上面的理论Appconfig.java@ComponentScan(“com.enjoy.beanDefinition”)@ConfigurationpublicclassAppconfig{}X.java@ComponentpublicclassX{publicX(){System.out.println(“XConstructor”);}}Y.javapublicclas
m0_54852680
·
2023-04-12 12:58
程序员
面试
java
后端
spring
源码系列
-beanDefinition(子路,字节跳动Java社招
前提:假设在你的项目或者磁盘上有X和Y两个类,X是被加了spring注解的,Y没有加spring的注解;也就是正常情况下当spring容器启动之后通过getBean(X)能正常返回X的bean,但是如果getBean(Y)则会出异常,因为Y不能被spring容器扫描到不能被正常实例化;①[^1]当spring容器启动的时候会去调用ConfigurationClassPostProcessor这个b
MySQL事务学习
·
2023-04-12 12:58
程序员
spring
java
spring
boot
后端
PointSet(点集)项目周报【第二期】
3数据库方面,我们采用了和比特币、以太坊一样的kv型数据库
levelDB
,计划对其用go语言封装。4调整区块数据内容,将区块上的数据类型重新进行了整理、删减将部分数据下放到链下。
王小二的面包
·
2023-04-08 16:45
Mybatis源码解析(九):插件机制
Mybatis
源码系列
文章手写源码(了解源码整体流程及重要组件)Mybatis源码解析(一):环境搭建Mybatis源码解析(二):全局配置文件的解析Mybatis源码解析(三):映射配置文件的解析Mybatis
冬天vs不冷
·
2023-04-07 13:48
mybatis
mybatis
java
数据库
面试题|设计instagram
目录题目UseCases约束High
LevelDB
DesignDBschema容量预估详细设计扩展可靠性高并发扩展性信息流设计题目用户可以上传照片,分享照片;关注其他人,亦可以看到自己的和好友的top照片
一的三次方
·
2023-04-07 07:43
系统设计
4000字详解跳表实现(挑战全网中文最详细)
最近在看研究公司业务的存储架构,现有的存储用redis和
leveldb
通过自己写的中间件做数据落地。这样写业务和数据恢复有点麻烦,想着优化一下,就去研究redis和
leveldb
的源码。
QxQx
·
2023-04-06 17:44
Tair介绍、使用场景、安装使用以及高可用负载均衡
存储引擎服务器端自动负载均衡分为持久化和非持久化两种方式存储非持久化:分布式缓存使用Memcached(mdb)、Redis(rdb)持久化:SQL-DB使用FireBird(fdb)NoSQL-DB:使用KyotoCabinet(kdb)、
LevelDB
ckw@ldy
·
2023-04-06 10:44
缓存框架
分布式
缓存
java
2019-03-13
1安装依赖包brewinstall-vdsnappy
leveldb
gflagsglogsziplmdbbrewinstallopenblasbrewinstallhdf5opencv#boost需要在后续配置中注意
玉晨君
·
2023-04-06 03:54
8. Fabric2.2 区块链农产品溯源系统 - 智能合约设计
智能合约设计最核心的是存储字段的设计、也就是索引设计,Fabric常见的时间状态存储引擎是
LevelDB
或CouchDB,这两个数据库是KV存储,KV存储不像SQL类型存储,一张表创建多个字段,多个字段索引可以进行各种复查询
明神特烦恼
·
2023-04-05 21:01
Fabric2.2
全面学习
区块链
智能合约
fabric
vue源码分析-diff算法核心原理
这一节,依然是深入剖析Vue
源码系列
,上几节内容介绍了VirtualDOM是Vue在渲染机制上做的优化,而渲染的核心在于数据变化时,如何高效的更新节点,这就是diff算法。
yyzzabc123
·
2023-04-05 17:34
vue.js
diff算法_深入剖析Vue源码 - 来,跟我一起实现diff算法!__Vue.js
这一节,依然是深入剖析Vue
源码系列
,上几节内容介绍了VirtualDOM是Vue在渲染机制上做的优化,而渲染的核心在于数据变化时,如何高效的更新节点,这就是diff算法。
weixin_39765840
·
2023-04-05 16:50
diff算法
js
createelement
js树的倒序遍历
js遍历树节点下的所有子节点
Leveldb
整体流程图和并发的思考
流程图一些细节记录每个文件sstable,memtable之类的大小不能超过这个大小immtable的生产过程在makeroomforwrite产生的,然后是compactionbackground检查到有immtable被干掉的。这里启动背景线程voidDBImpl::MaybeScheduleCompaction(){mutex_.AssertHeld();if(background_comp
boring_111
·
2023-04-05 06:25
leveldb源码解读
流程图
数据库架构
MVCC及其在
leveldb
中的实现
什么是MVCC一种并发控制的方式---------多版本并发控制。其好处主要有两点1.写和读互相不阻塞,因为都是在各自的版本上进行。2.可以回溯之前的版本。MVCC只能解决部分幻读的问题(只读查询)快照读,如果对两个并发的非只读查询的来说,就有可能幻读,原因是执行INSERT、DELETE、UPDATE这些语句时)当前读)是加锁读最新的版本的。为在一个事务运行过程中,只有在对表中的记录做改动时(执
boring_111
·
2023-04-05 06:55
leveldb源码解读
数据库
leveldb
第一幕 资源推荐
leveldb
第一幕资源推荐博客推荐阅读顺序1实现一个跳表2阅读
leveldb
各个模块的代码3运行简单demo博客推荐书籍那岩.
Leveldb
实现解析.pdf相关博客
leveldb
实现原理一文带你看透基于
最佳损友1020
·
2023-04-05 06:49
leveldb学习日记
资源推荐
leveldb
同样是1亿数据,为什么nutsdb扛不住,而badgerdb可以?
背景之前在知乎上看到一个问题:作为一个KV数据库,
levelDB
为什么使用LSM树实现,而不是hash索引?当时就想作答一番。不过看到问题下方已经有大佬作答了,而我也说不出什么新东西来。于是选择作罢。
陪计算机走过漫长岁月
·
2023-04-05 06:14
go
存储
后端
面试
数据库
职场和发展
Leveldb
源码解读------Memtable(跳表)详解
在
leveldb
中的memtable实际上是对核心数据结构skipList做了一个包装,并对外提供了接口。
boring_111
·
2023-04-05 06:07
leveldb源码解读
数据结构
数据库架构
数据库开发
rocksdb设计架构
rocksdb是以
leveldb
为基础开发的,都使用了LSMTree来存储数据。rocksdb的主要设计目标是
cocoti
·
2023-04-05 02:01
rocksdb
架构
数据库
RocksDB简述
概述RocksDB是基于
levelDB
(一个google实现的非常高效的kv数据库)开发,使用C++编写的嵌入式kv存储引擎。
丿沐染烟忱丶
·
2023-04-05 02:52
DB
RocksDB
数据库
RocksDB介绍
它是由Facebook基于Google开源的kv存储
LevelDB
开发开发。RocksDB使用LSM存储引擎。
哥伦布112
·
2023-04-05 02:45
flink
flink
RocksDB
目录RocksDB简介TiKV架构RocksDB的内存占用RocksDB的空间占用RocksDB后台线程与CompactWriteStallRocksDB简介RocksDB是由Facebook基于
LevelDB
野狼e族
·
2023-04-05 01:00
大数据
数据库
大数据
RocksDB
分布式专题 - Rocksdb
1.RocksDB简介RocksDB是由Facebook基于
LevelDB
开发的一款提供键值存储与读写功能的数据库软件,旨在充分实现快存上存储数据的服务能力。
哲米
·
2023-04-05 01:54
rocksdb原理与实现
rocksdb是基于
leveldb
实现的,原始代码是从
leveldb
1.5上fork出来的;分布式三篇著名的论文,源自于google:GFS,分布式文件存储;BigTable,分布式
congchp
·
2023-04-05 01:50
Linux
server
redis
Mysql
服务器
linux
后端
数据库
深入浅出带你走进 RocksDB
RocksDB是基于Google
LevelDB
研发的高性能Key-Value持久化存储引擎,以库组件形式嵌入程序中,为大规模分布式应用在SSD上运行提供优化。
KaiwuDB
·
2023-04-05 01:48
数据库
死磕
源码系列
- ThreadLocal
关于ThreadLocal先问几个问题ThreadLocal基于什么场景下使用?ThreadLocal为什么是弱引用?ThreadLocal一定会发生内存泄漏吗?ThreadLocal的底层是如何实现的(细节)针对上面问题来尝试逐一分析。一、概述每个线程类Thread都有维护两个ThreadLocal.ThreadLocalMap类型的属性publicclassThreadimplementsRu
sunyelw
·
2023-04-05 01:26
mybatis
源码系列
(七)—— 反射模块
首先看一下反射模块的核心类:ObjectFactory:MyBatis每次创建结果对象的新实例时,它都会使用对象工厂(ObjectFactory)去构建POJO;ReflectorFactory:创建Reflector的工厂类,Reflector是MyBatis反射模块的基础,每个Reflector对象都对应一个类,在其中缓存了反射操作所需要的类元信息;ObjectWrapper:对对象的包装,抽
KennorWooo
·
2023-04-04 23:14
mybatis源码
mybatis
java反射
反射模块
Spring
源码系列
--3. Annotation IOC容器
SpringIOC容器对于类级别的注解和类内部的注解分以下两种处理策略:类级别的注解:如@Component、@Repository、@Controller、@Service以及JavaEE6的@ManagedBean和@Named注解,都是添加在类上面的类级别注解,Spring容器根据注解的过滤规则扫描读取注解Bean定义类,并将其注册到SpringIOC容器中。类内部的注解:如@Autowir
威少JAVA
·
2023-04-03 22:07
Ceph 集群基础
文章目录一、Ceph集群角色二、Ceph元数据保存方式2.1xattrs(扩展属性)2.2omap(objectmap对象映射)2.2.1filestore与
leveldb
2.2.2bluestore与
LlinCK
·
2023-04-03 05:30
Ceph
分布式
ceph
分布式存储
数据库
Spring
源码系列
(4)- spring XML文件的解析
Spring
源码系列
(4)-springXML文件文件的解析前言XmIBeanDefinitionReader开始真正解析封装BeanDefinition前言本章重点将上一篇留下的尾巴说完,本章就一个重点
阳光coding
·
2023-04-02 19:46
spring
java
spring
编程语言
Spring
源码系列
第二篇 XML解析
Spring
源码系列
第二篇XML解析XML解析spring.xml两种标签解析方式1.默认标签解析2.自定义标签解析自定义标签解析流程XML解析spring.xml两种标签解析方式1.默认标签解析默认标签解析是通过流的方式读取
繁简丶
·
2023-04-02 19:45
Spring源码
java
spring
Spring
源码系列
-第4章-Bean初始化流程
文章目录第4章-Bean初始化流程流程图-bean初始化流程AbstractApplicationContext#refresh()AbstractApplicationContext#finishBeanFactoryInitialization()DefaultListableBeanFactory#preInstantiateSingletons()工厂Bean的初始化方式AbstractB
youthlql
·
2023-04-02 19:27
Spring源码
spring
java
后端
Spring
源码系列
-第2章-后置工厂处理器和Bean生命周期
文章目录第2章-后置工厂处理器和Bean生命周期什么是BeanPostProcessor?BeanFactoryPostProcessor的接口关系BeanPostProcessor接口关系什么是InitializingBean?测试类MyBeanPostProcessorMyInstantiationAwareBeanPostProcessorMyMergedBeanDefinitionPost
youthlql
·
2023-04-02 19:26
Spring源码
spring
java
后端
netty源码分析之pipeline(一)
通过前面的
源码系列
文章中的nettyreactor线程三部曲,我们已经知道,netty的reactor线程就像是一个发动机,驱动着整个netty框架的运行,而服务端的绑定和新连接的建立正是发动机的导火线
weixin_34303897
·
2023-04-02 13:19
netty
数据结构与算法
网络
[Netty]pipeline(一)
作者:简书闪电侠链接:https://www.jianshu.com/p/6efa9c5fa702通过前面的
源码系列
文章中的nettyreactor线程三部曲,我们已经知道,netty的reactor线程就像是一个发动机
Franco蜡笔小强
·
2023-04-02 13:46
Netty
Netty
pipeline
线程池源码
线程池
源码系列
一、接口层次ExecutorExecutorServiceAbstractExecutorServiceThreadPoolExecutorForkJoinPoolScheduleExecutorServiceScheduleThreadPoolExecutorExecutors
`Oracle`
·
2023-04-02 12:02
线程池
java
02-Java常用关键字理解(基础)
注:
源码系列
文章主要是对某付费专栏的总结记录。如有侵权,请联系删除。1static1.1静态变量静态变量:又称为类变量,也就是说这个变量属于类,类所有的实例都共享静态变量,可以直接通过类名来访问它。
xinxisimple
·
2023-04-02 08:33
Nacos(1.4.2)注册中心原理及
源码系列
(三)- 如何支持高并发注册
如何支持高并发注册(异步任务与内存队列设计原理及源码剖析)之前主要分析了SpringCloud集成Nacosclient的服务注册和服务拉取的逻辑,现在接着分析一下NacosServer注册中心的核心功能逻辑及源码,首先来分析Nacos怎么能支持高并发的Intance的注册的。先直接给答案:采用内存队列的方式进行服务注册也就是说客户端在把自己的信息注册到NacosServer的时候,并不是同步把信
louis_zzz
·
2023-04-02 08:24
Nacos
java
RocketMQ
源码系列
(二):RocketMQ路由中心NameServer
这篇文章主要讲解RocketMQ路由管理、服务注册及服务发现机制。1、NameServer架构设计消息中间件的设计思路一般是基于主题的订阅发布机制,消息生产者(Producer)发送某一主题的消息到消息服务器,消息服务器负责该消息的持久化存储,消息消费者(Consumer)订阅感兴趣的主题,消息服务器根据订阅信息(路由信息)将消息推送给消费者(push模式)或者消息消费者主动向消息服务器拉取消息(
水畔竹汐~
·
2023-04-02 01:43
源码专栏
java
上一页
4
5
6
7
8
9
10
11
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他