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源码剖析
设计模式之状态模式
文章目录APP抽奖活动问题状态模式基本介绍状态模式的原理类图状态模式解决APP抽奖问题状态模式在实际项目-借贷平台
源码剖析
订单状态流程图借贷平台类图状态模式的注意事项和细节APP抽奖活动问题假如每参加一次这个活动要扣除用户
Alienware^
·
2023-09-26 09:51
设计模式
设计模式
状态模式
Java 集合
源码剖析
系列03: ArrayList
1.ArrayList简介ArrayList是一个数组队列,相当于动态数组。与Java中的数组相比,它的容量能动态增长。它继承于AbstractList,实现了List,RandomAccess,Cloneable,java.io.Serializable这些接口。
Mr_Ares
·
2023-09-26 02:25
【C++】红黑树封装map和set
文章目录一、map和set
源码剖析
二、红黑树的迭代器1.begin()与end()2.operator++()与operator--()三、set的模拟实现四、map的模拟实现五、完整代码实现1.RBTree.h2
椿融雪
·
2023-09-25 23:37
C++
c++
java
开发语言
数据结构
算法
Mybatis
源码剖析
-- 执行SQL过程(传统方式)
一、简单介绍下SqlSessionSqlSession是⼀个接口,它有两个实现类:DefaultSqlSession(默认)和SqlSessionManager(弃用,不做介绍)SqlSession是MyBatis中用于和数据库交互的顶层类,通常将它与ThreadLocal绑定,⼀个会话使用⼀个SqlSession,并且在使用完毕后需要closeSqlSession中的两个最重要的参数,confi
Travis_Wu
·
2023-09-25 12:24
STL容器介绍——vector的
源码剖析
和模拟实现
写在开头,此文章参考:侯捷——《STL
源码剖析
》1.vector概述:相较于我们熟悉的数组(array)来说,vector的操作方式和它几乎毫无差别。
GuoCheng-12
·
2023-09-24 16:10
c++
算法
stl
数据结构
第60期 React Hooks 最佳实践 & 深入
源码剖析
componentWillXXX为什么UNSAFE
现代浏览器内部机制—事件必看好文【第1999期】深入
源码剖析
componentWillXXX为什么UNSAFEReact源码解析现代浏览器内部机制(三):你不知道的渲染进程从解析DOM到合成渲染图层ReactHooks
前端收藏家
·
2023-09-24 11:01
【
源码剖析
】Launcher 8.0 源码 (11) --- Launcher 启动流程 第四步之桌面布局(3)
这篇依然讲解桌面布局的创建,这一部分依然服务于setupViews,创建每一个UI模块,所有模块都创建完了也就组成了完整的Launcher。workspace进行基本绑定我们先来看这一段的代码,代码主要做了workspace的基本绑定。//SetuptheworkspacemWorkspace.setHapticFeedbackEnabled(false);mWorkspace.setOnLong
lonamessi
·
2023-09-24 05:18
CDH Service Monitor角色错误
Failedtoopenorcreatepartitioncom.cloudera.cmon.tstore.
leveldb
.LDBPartitionManager$LDBPartitionException
万事于足下
·
2023-09-23 18:11
一些错误
CDH
Spring Boot
源码剖析
之Spring Boot
源码剖析
SpringBoot
源码剖析
SpringBoot依赖管理问题:(1)为什么导入dependency时不需要指定版本?
小山雀
·
2023-09-23 17:48
Start 方法源码深究——模板方法设计模式
目录一.前言1.1New状态1.2Runnable1.3Runing1.4Block状态1.5Terminated状态二.线程start方法
源码剖析
2.1虚拟机调用run方法执行线程2.2最少有两个线程在执行
狮子也疯狂
·
2023-09-23 12:14
基础知识查漏
设计模式
java
开发语言
RocketMQ高性能核心原理与源码架构剖析
文章目录1、源码环境搭建1.1、主要功能模块1.2、源码启动服务1.2.1、启动nameServer1.2.2、启动Broker1.2.3、发送消息1.2.4、消费消息2、
源码剖析
2.1、NameServer
Tacy0213
·
2023-09-23 08:05
MQ
rocketmq
架构
源码剖析
@ApiImplicitParam对@RequestParam的required属性的侵入性
问题起源使用SpringCloud构建项目时,使用Swagger生成相应的接口文档是推荐的选项,Swagger能够提供页面访问,直接在网页上调试后端系统的接口,非常方便。最近却遇到了一个有点困惑的问题,演示接口示例如下(原有功能接口带有业务实现逻辑,这里简化了接口):/***@description:演示类*@author:HuangYing**/@Api(tags="演示类")@RestCont
清茶豆奶
·
2023-09-22 23:06
互联网架构演变过程 :应用架构
(课题:tomcat
源码剖析
)随着业务扩张,需求迭代,项目变得越来越大,一个war包动辄几百兆。崇尚调优,jvm单节点调优甚至接近于强迫症的地步。(课题:jv
不灭的小馒头
·
2023-09-22 18:30
架构
tomcat
java
【C++】STL之unoerdered_map、unordered_set类
源码剖析
目录概述源码HashTable.hUnorderedMap.hUnorderedSet.htest.cpp概述STL标准模板库中的map、set的底层数据结构是红黑树,会在数据插入时自动排序,unordered_map、unordered_set的底层数据结构是哈希表,不做排序,根据哈希值进行映射。哈希算法可见这篇文章:【C++】哈希_种花家de小红帽的博客-CSDN博客unordered_map
命运on-9
·
2023-09-22 10:53
c++
哈希
STL
unordered_map
unordered_set
Golang 内存管理
源码剖析
2019独角兽企业重金招聘Python工程师标准>>>Golang的内存管理基于tcmalloc,可以说起点挺高的。但是Golang在实现的时候还做了很多优化,我们下面通过源码来看一下Golang的内存管理实现。下面的源码分析基于go1.8rc3。1.tcmalloc介绍关于tcmalloc可以参考这篇文章tcmalloc介绍,原始论文可以参考TCMalloc:Thread-CachingMall
weixin_33978044
·
2023-09-22 05:29
golang
内存管理
操作系统
LevelDB
存储模块 Go 语言封装及持久化队列实现
LevelDB
介绍
Leveldb
是一个google实现的非常高效的kv数据库,能够支持billion级别的数据量。在这个数量级别下还有着非常高的性能。
特立独行的猫a
·
2023-09-22 01:24
Go语言实践笔记
golang
leveldb
leveldb
数据库的tablecompaction操作源码
直接上代码tableCompaction(
leveldb
/db_compaction.go),参数c,包含了要合并的表信息func(db*DB)tableCompac
刘小京
·
2023-09-22 01:22
leveldb
区块链
以太坊
leveldb
memdb源码分析(上)
前言最近在研究学习
leveldb
的源码,并且尝试用Rust进行重写
leveldb
-rs,
leveldb
中memdb模块是使用skiplist作为一个kv的内存存储,相关代码实现非常漂亮,所以有了这篇文章
滴普科技
·
2023-09-22 01:52
DEEPNOVA开发者社区
数据库
rust
golang
leveldb
memdb源码分析(下)之Rust实现篇
前言
leveldb
中memdb模块使用skiplist作为一个kv的内存存储,相关代码实现非常漂亮。
滴普科技
·
2023-09-22 01:21
DEEPNOVA开发者社区
rust
开发语言
后端
Go-
leveldb
循环读取数据重复问题
如果在你的代码中`iter.Value()`返回的值是指针类型,并且你存储了这些指针的副本在`nodes`切片中,那么你可能会遇到指针问题,因为切片中保存的是指向相同对象的多个指针。这可能导致在后续代码中修改切片中的某个值时,其他副本也会受到影响。如下代码实例:iter:=db.lvl.NewIterator(util.BytesPrefix([]byte(Prefix)),nil)deferte
奔跑的Camille
·
2023-09-22 01:20
go
golang
leveldb
CockroachDB集群部署
它由PebbleDB(一个受RocksDB/
leveldb
启发的K/B存储库)支持,并使用Raft分布式共识算法来确保一致性。
242030
·
2023-09-21 09:03
数据库
数据库
leveldb
学习第一篇——读写的基石
1
levelDB
读写抽象在
levelDB
中,读写能力是通过Env提供的。Env是一个接口类,其提供创建读写代理文件类(是我自己特殊的叫法,因为这些类,本质上是对特定环境下的文件读写的代理。
·
2023-09-20 22:18
leveldb存储
京东资深架构师用实例详解Java虚拟机(
源码剖析
)
前言Java是一门流行多年的高级编程语言,与其相关的就业岗位很多,但是最近几年却出现了用人单位招不到合适的人,而大量Java程序员找不到工作的尴尬局面。究其根本原因是岗位对Java开发技术的要求高,不但要会应用,而且更要懂其内部的运行原理。对于想要深入研究Java技术的从业人员来说,虚拟机是绕不开的话题。目前国内市场上还鲜见一本全面、细致、深入剖析Java虚拟机源码的书籍,这正是本书要填补的市场空
司腾
·
2023-09-20 18:00
Java
JVM
后端
java
jvm
开发语言
程序人生
后端
c++入门99题61-70
解题报告1.力扣剑指OfferII098.路径的数目原题链接剑指OfferII098.路径的数目
源码剖析
classSolution{public:intuniquePaths(intm,intn){intdp
野生的小小风256
·
2023-09-20 13:02
c++入门99例
c++
leetcode
算法
java CAS详解(深入
源码剖析
)
CAS是什么CAS是compareandswap的缩写,即我们所说的比较交换。该操作的作用就是保证数据一致性、操作原子性。cas是一种基于锁的操作,而且是乐观锁。在java中锁分为乐观锁和悲观锁。悲观锁是将资源锁住,等之前获得锁的线程释放锁之后,下一个线程才可以访问。而乐观锁采取了一种宽泛的态度,通过某种方式不加锁来处理资源,比如通过给记录加version来获取数据,性能较悲观锁有很大的提高。CA
猪大侠0.0
·
2023-09-20 05:34
并发编程
Java
java
CAS
并发编程
Python生成器
源码剖析
生成器是个什么鬼?生成器(Generator)在python2.3时成为python的标准特性,因此也多加了一个yield的关键字.(是的,就是java线程让步的那个yield).生成器最神奇的特性就是:一个函数可以返回多次结果,而不是像普通函数一样只返回一次.(神不神奇,惊不惊喜~)普通的python函数内部,加个yield关键字,python解析器就将该函数视为一个生成器函数.但是生成器函数不
VxCoder
·
2023-09-19 17:02
Animate.css动画库,简单的使用,以及
源码剖析
项目演练地址推荐的在线文档社区-MDNcss在线手册包含css3animate.css是什么?能做些什么?animate.css是一个css动画库,使用它可以很方便的快捷的实现,我们想要的动画效果,而省去了操作js的麻烦。同时呢,它也是一个开源的库,在GitHub的点赞高达5万以上。功能非常强大。性能也足够出色。如何使用它?首先你需要到github上下载它,地址拿到它之后,把animate.css
Unknowncheats
·
2023-09-18 12:02
技术
activeMQ-12消息持久化机制
以下这是对MQ可持久化的说明:1)介绍:避免意外宕机后消息丢失,需要做到重启服务后可以恢复消息队列,即宕机后消息不会丢失的机制;2)持久化机制有:AMQ、kahaDB、jdbc、
levelDB
.....
誓俭草
·
2023-09-17 17:58
Kubernetes源码阅读环境搭建
参考博文:Kubernetes
源码剖析
-环境准备安装Go语言wgethttps://studygolang.com/dl/golang/go1.14.10.linux-amd64.tar.gz下载源代码
seasidezhb
·
2023-09-16 12:49
Kubenetes学习
kubernetes
容器
云原生
parameter server
源码剖析
首先调用Start(intcustomer_id,constchar*argv0=nullptr)。这个函数其实就是把进程block,直到所有的node准备完毕。Postoffice:负责初始化相关的操作全局维护一个static对象,Postoffice::InitEnvironment():该函数主要是读取配置文件,获取work/server数量,以及通过DMLC_ROLE得到该node的类型(
辛苦搬砖的码农
·
2023-09-15 02:18
【设计模式从入门到精通】03-原型模式
笔记来源:尚硅谷Java设计模式(图解+框架
源码剖析
)文章目录原型模式1、克隆羊问题2、基本介绍3、原理结构图(UML类图)4、原型模式解决克隆羊问题5、JDK源码分析6、浅拷贝和深拷贝浅拷贝基本介绍深拷贝基本介绍
VectorUx
·
2023-09-15 00:27
设计模式从入门到精通
原型模式
深拷贝
浅拷贝
clone
cpp-httplib
源码剖析
文章目录前言一、cpp-httplib是什么?二、Server类整体架构三、绑定和监听bind_internallisten_internal四、路由添加路由路由五、处理接受请求process_server_socket_coreprocess_request前言之前实现自己的http库的时候感觉有一些设计的不是很好,这几天对cpp-httplib源码进行剖析,对如何设计http库有了更深入的认识
UPUP小亮
·
2023-09-13 07:03
c++
http
数据结构
Kafka
源码剖析
Kafka
源码剖析
Kafka
源码剖析
之源码阅读环境搭建首先下载源码:http://archive.apache.org/dist/kafka/1.0.2/kafka-1.0.2-src.tgzgradle
奋斗的蛐蛐
·
2023-09-13 03:39
多线程与高并发——并发编程(5)
2.1FixedThreadPool2.2SingleThreadExecutor2.3CachedThreaPool2.4ScheduleThreadPool2.5WorkStealingPool3ThreadPoolExecutor应用&
源码剖析
斗志昂-杨
·
2023-09-11 17:25
Java多线程并发编程
并发编程
线程池
阿里10年开发大牛带你学习SpringBoot自动配置原理
源码剖析
SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,SpringBoot致力于在蓬勃发展的快速应用开发领域(rapidapplicationdevelopment)成为领导者。SpringBoot特点1.创建独立的Spring应用程序2.嵌入的
程序员创新营
·
2023-09-10 14:00
ucore
源码剖析
lab1
源码剖析
从实模式到保护模式初始化ds,es和ss等段寄存器为0使能A20门,其中seta20.1写数据到0x64端口,表示要写数据给8042芯片的OutputPort;seta20.2写数据到0x60
amgtgsh3150267
·
2023-09-10 09:10
运维
嵌入式
内存管理
源码剖析
:Elasticsearch 段合并调度及优化手段
1、背景经常看到集群的merge限流耗时比较高,所以想分析其原因、造成的影响、以及反思merge的一些优化手段。比如下图中测试集群相关监控截图:可是从磁盘的写入来看,并不高:那么目前的情况带来哪些影响?资源利用率低下从写IO监控可以看出,其实ES节点的IO压力并不大,这导致IO资源的浪费pendingMerges队列增加,导致很多待合并的段一直等待队列中的元素迟迟无法得到处理,严重的甚至浪费内存合
铭毅天下
·
2023-09-10 09:08
elasticsearch
大数据
搜索引擎
全文检索
Redis高并发分布式锁实战
高并发场景秒杀抢购超卖bug实战重现秒杀抢购场景下实战JVM级别锁与分布式锁大厂分布式锁Resisson框架实战Lua脚本语言快速入门与使用注意事项Redisson分布式锁
源码剖析
Redis主从架构锁失效问题解析从
Tacy0213
·
2023-09-10 04:01
Redis
redis
分布式
数据库
AQS
源码剖析
,完整流程解读
目录1AQS是什么2AQS加锁流程3结构4AQS方法概览5AQS
源码剖析
5.1加锁方法5.2释放锁5.3await等待5.4signal唤醒1AQS是什么AQS即AbstractQueuedSynchronizer
猪大侠0.0
·
2023-09-09 18:05
并发编程
java
JUC
并发编程
面试
SpringMVC自定义视图完成步骤 和 视图解析的
源码剖析
自定义视图完成步骤:●7.2.1自定义视图完成步骤1.自定义视图**:**创建一个View的bean,该bean需要继承自AbstractView,并实现renderMergedOutputModel方法**.**2.并把自定义View加入到IOC容器中3.自定义视图的视图处理器,使用BeanNameViewResolver**,这个视图处理器也需要配置**到ioc容器4.BeanNameView
加棉
·
2023-09-09 09:55
SpringMVC
java
开发语言
Linux内核
源码剖析
之kmem_cache_create
写在前面:版本信息:Linux内核2.6.24(大部分centos、ubuntu应该都在3.1+。但是2.6的版本适合学习,后续版本本质变化也不是很大)一个操作系统对于内存的管理是非常的重要,关乎到整个系统的运行效率和内存最大使用率。内存管理从宏观来看,无非就是使内存达到最大使用率,减少内存的内/外碎片。而在Linux内核中使用伙伴算法(Buddy)管理一组页,使用Slab算法管理单独页,伙伴算法
程序员李哈
·
2023-09-09 07:21
深入理解Linux2.6内核
源码解读
linux
Linux内核
JDK
源码剖析
之PriorityQueue优先级队列
写在前面版本信息:JDK1.8PriorityQueue介绍在数据结构中,队列分为FIFO、LIFO两种模型,分别为先进先出,后进后出、先进后出,后进先出(栈)而一切数据结构都是基于数组或者是链表实现。在Java中,定义了Queue接口,接口中定义了CRUD的基本方法。分别add、offer、remove、poll等等,而PriorityQueue实现此接口实现了基本的CRUD的同时拥有了自己的特
程序员李哈
·
2023-09-09 07:21
源码解读
Java底层
java
数据结构
优先级队列
Netty
源码剖析
之HashedWheelTimer时间轮
版本信息:JDK1.8Netty-all:4.1.38.Final时间轮的介绍我们知道钟表分为很多块,每时钟滴答一次就往前走一个块,而时间轮就是使用这个思想。如下图上图总共分为8块,每过100ms就往前走一块,然后周而复始。此时,我们能不能在每一块上挂载任务呢,然后每过100ms就执行块上的任务,实现类似于Scheduled延迟调度任务的功能。下面使用一个案例+画图介绍一下时间轮。此时,每块的间隔
程序员李哈
·
2023-09-09 07:21
Netty源码
源码解读
java
时间轮
Netty源码
Netty
源码剖析
之IdleStateHandler空闲检测机制
版本信息:JDK1.8Netty-all:4.1.38.Final空闲检测机制的介绍:在各种论坛上,笔者看到大部分的博客都是把netty的IdleStateHandler说成心跳机制,而笔者认为这并不是心跳机制,仅仅是跟心跳机制比较相似,并且IdleStateHandler能做的并不仅仅只有"心跳机制",笔者认为叫做空闲检测机制比较适合。为什么说叫做空闲检测机制比较合适呢?因为netty是封装了N
程序员李哈
·
2023-09-09 07:15
Netty源码
源码解读
java
netty源码
Tomcat架构设计&
源码剖析
Tomcat架构设计&
源码剖析
Tomcat架构设计Tomcat的功能(需求)浏览器发给服务端的是一个HTTP格式的请求,HTTP服务器收到这个请求后,需要调用服务端程序来处理,所谓的服务端程序就是你写的
Allen-xs
·
2023-09-09 04:52
源码分析
tomcat
java
Ubuntu16.04+NVIDIA驱动418.56+CUDA10+CUDNN7.5.1+opencv3.4.0
NVIDIA驱动Ubuntu18.04安装英伟达显卡驱动安装nvidia驱动418.56安装后续步骤或环境必需的依赖包,依次输入以下命令:sudoapt-getinstalllibprotobuf-devlib
leveldb
-devlibsnappy-devlibopencv-devlibhdf5
Vegetable__
·
2023-09-08 20:46
ubuntu安装caffe
配置Caffe(1)安装相关依赖sudoapt-getinstalllibprotobuf-devlib
leveldb
-devlibsnappy-devlibopencv-devlibhdf5-serial-devprotobuf-compilersudoapt-getinstall
原来可以不用真名_f64d
·
2023-09-08 18:14
Eureka
源码剖析
之六:自我保护机制
Eureka
源码剖析
之一:初始化-启动Eureka
源码剖析
之二:服务注册Eureka
源码剖析
之三:服务拉取Eureka
源码剖析
之四:服务续约Eureka
源码剖析
之五:服务下线当EurekaServer由于自身发生网络故障等原因无法接收到
搬运工来架构
·
2023-09-08 11:34
darknet
源码剖析
(五)box_iou详细分析
在darknet中iou的计算是调用box_iou函数(box.c文件)floatbox_iou(boxa,boxb){returnbox_intersection(a,b)/box_union(a,b);}iou的计算公式比较简单,交集面积/并集面积。先来看并集面积计算方式:floatbox_union(boxa,boxb){floati=box_intersection(a,b);floatu
mazinkaiser1991
·
2023-09-08 11:13
darknet源码剖析
darknet
iou
源码剖析
golang中sync.Mutex
go语言以并发作为其特性之一,并发必然会带来对于资源的竞争,这时候我们就需要使用go提供的sync.Mutex这把互斥锁来保证临界资源的访问互斥。既然经常会用这把锁,那么了解一下其内部实现,就能了解这把锁适用什么场景,特性如何了。引子在我第一次看这段代码的时候,感觉真的是惊为天人,特别是整个Mutex只用到了两个私有字段,以及一次CAS就加锁的过程,这其中设计以及编程的理念真的让我感觉自愧不如。在
PureWhiteWu
·
2023-09-08 00:38
上一页
6
7
8
9
10
11
12
13
下一页
按字母分类:
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
其他