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
golang锁源码分析
std::unique_lock<std::mutex> lock(_mutexSwathDone);
std::unique_locklock(_mutexSwathDone);是C++中用于管理互斥
锁
(mutex)的常见用法。
Ring__Rain
·
2025-02-19 20:48
c++
Golang
的消息队列架构
一、消息队列的定义和作用消息队列是一种在不同组件之间传递消息的通信机制。它可以解耦系统的各个部分,提高系统的可靠性和扩展性。消息队列可以在系统之间传递消息,并且在消息发送者和消息接收者之间进行异步通信,使得系统可以更加灵活和高效地工作。消息队列的作用消息队列在实际开发中有着广泛的应用,比如在电商行业中,可以用消息队列来处理订单的各种状态变更通知;在游戏行业中,可以用消息队列来处理玩家之间的交互信息
caihuayuan4
·
2025-02-19 20:45
面试题汇总与解析
大数据
spring
sql
java
Android从
源码分析
handler.post(runnable),view.post(runnable),runOnUiThread(runnable)执行时机
大家好,我是听者,耳听心受的听,孙行者的者,感谢大家阅读我的文章。废话不说直接进入主题,不管是Android还是其他语言,线程之间通信都是一个比较“头疼”问题,开发Android的码农应该都知道回到主线程的方式有handler.post(runnable),view.post(runnable),runOnUiThread(runnable)。但是这三种方式的区别以及其执行的时机如何呢?今天就给大
听者110
·
2025-02-19 18:27
Android高级开发系列笔记
Android
线程
Golang
面试题
常见的Go语言面试题及其答案和代码示例:一、高频面试题1.Goroutine和线程的区别?答案:Goroutine是Go语言中的轻量级线程,由Go运行时管理,初始栈大小约为2KB,可以动态扩展和收缩,创建和切换成本非常低。线程是操作系统级别的线程,栈大小通常为MB级,创建和切换涉及内核态和用户态的切换,成本较高。Go使用M:N调度模型,将多个Goroutine映射到少量的操作系统线程上,从而高效利
ox0080
·
2025-02-19 15:37
#
北漂+滴滴出行
程序员面试指南
Golang
golang
开发语言
后端
【
Golang
】
golang
中 regexp.MustCompile与regexp.MatchString的区别
在Go语言中,regexp.MustCompile和regexp.MatchString都是regexp包中用于处理正则表达式的函数,但它们的功能和使用场景有所不同,下面为你详细介绍。功能概述regexp.MustCompile:用于将正则表达式字符串编译成一个*regexp.Regexp对象。如果编译过程中出现错误,它会触发一个panic。regexp.MatchString:用于检查一个字符串
小镇学者
·
2025-02-19 15:59
Golang
golang
mysql
开发语言
MySQL深入原理
MySQL深入原理索引、事务、日志原理、InnoDB引擎、缓存、
锁
有4个数据库是属于MySQL自带的系统数据库:mysqlMySQL系统自带的核心数据库,它存储了MySQL的用户账户和权限信息,一些存储过程
yourkin666
·
2025-02-19 13:49
数据库
mysql
adb
数据库
Ubuntu 下 nginx-1.24.0
源码分析
- ngx_localtime 函数
ngx_localtime函数声明在src\os\unix\ngx_time.h中:voidngx_localtime(time_ts,ngx_tm_t*tm);定义在src/os/unix/ngx_time.c中voidngx_localtime(time_ts,ngx_tm_t*tm){#if(NGX_HAVE_LOCALTIME_R)(void)localtime_r(&s,tm);#els
若云止水
·
2025-02-19 13:14
nginx
运维
Redis在实际应用中的最佳实践:缓存加速、分布式
锁
与消息队列
Redis在实际应用中的最佳实践:缓存加速、分布式
锁
与消息队列Redis作为一个高性能的内存数据库,凭借其高吞吐量、低延迟的特性,已成为开发者在构建现代应用时的首选技术之一。
一碗黄焖鸡三碗米饭
·
2025-02-19 12:10
Redis技术全景解析
redis
java
后端
架构
微服务
Go语言入门指南
一、Go语言的历史背景Go语言(
Golang
)由Google公司于2007年9月30日启动研发,并在2009年11月10日正式开源。它的设计初
茶颜悅色
·
2025-02-19 12:08
golang
开发语言
后端
Ubuntu 下 nginx-1.24.0
源码分析
- ngx_pnalloc函数
ngx_pnalloc声明在src\core\ngx_palloc.hvoid*ngx_pnalloc(ngx_pool_t*pool,size_tsize);定义在src\core\ngx_palloc.cvoid*ngx_pnalloc(ngx_pool_t*pool,size_tsize){#if!(NGX_DEBUG_PALLOC)if(sizemax){returnngx_palloc_
若云止水
·
2025-02-19 11:31
nginx
运维
C++ 中的 std::timed_mutex 和 std::recursive_timed_mutex
1、背景在多线程编程中,互斥
锁
(Mutex)是用于保护共享资源的重要工具。
哎呦,帅小伙哦
·
2025-02-19 09:48
C++
c++
golang
哈希算法性能对比md5,crc32,sha1,murmur3
packagemainimport("crypto/md5""crypto/sha1""hash/crc32""github.com/spaolacci/murmur3")varstr="helloworld"funcmd5Hash()[16]byte{returnmd5.Sum([]byte(str))}funcsha1Hash()[20]byte{returnsha1.Sum([]byte(s
raoxiaoya
·
2025-02-19 09:44
golang
golang
哈希算法
MySQL 中各种日志简介
获取初始
锁
的时间不计⼊执⾏时间,mysqld在执⾏完SQL语句并释放所有
锁
后才将符合条
C语言扫地僧
·
2025-02-19 09:41
MySQL专栏
mysql
数据库
学习
Java多线程【4】interrupt打断线程、两阶段终止模式
系列文章目录Java多线程【1】synchronized对象
锁
、内置
锁
使用Java多线程【2】Javawait/notify的使用于同步模式保护性暂停Java多线程【3】同步模式之保护性暂停案例相亲问题
王乐乐君
·
2025-02-19 07:33
Java
java
jvm
开发语言
十四、Flink源码阅读--JobGraph生成过程
上篇分析了client整个提交任务过程,最终提交的是一个JobGraph对象,那么是如何从jar或sql任务转为JobGraph的呢,这篇我们仔细研究一下,版本为1.6.3
源码分析
上篇我们介绍client
灰二和杉菜
·
2025-02-19 06:54
Apache
Flink
Flink
JobGraph生成源码分析
RocketMQ
源码分析
-Rpc通信模块(remoting)二
前言今天继续RocketMQ-Rpc通信模块(remoting)的
源码分析
。
吃水果的猪儿虫
·
2025-02-19 05:13
java-rocketmq
rocketmq
rpc
QT 3D渲染技术详解
QT3D渲染技术详解使用AI技术辅助生成QT界面美化视频课程QT性能优化视频课程QT原理与
源码分析
视频课程QTQMLC++扩展开发视频课程免费QT视频课程您可以看免费1000+个QT技术视频免费QT视频课程
QT性能优化QT原理源码QT界面美化
·
2025-02-19 04:36
qt
3d
qt6.3
qt5
c++
QT教程
golang
调用 c++ (cgo)
文章目录目录结构各文件对应的代码library.hpplibrary.cpplibrary-bridge.hlibrary-bridge.cppmain.go方式一:调用静态链接库编译静态链接库运行方式二:调用动态链接库生成动态链接库运行注意:调用动态库会有加载不到的情况参考文章目录结构[root@localhostexample03]#tree.├──library│├──library-bri
LRZ0001
·
2025-02-19 03:27
Go
c++
golang
golang
调用c库函数
golang
调用c库函数c语言相关代码
golang
相关代码
golang
编译本文章介绍了
golang
如何调用c语言库函数。
wx_kingstone
·
2025-02-19 03:57
cpp
golang
c++
golang
go
c语言
cgo
Golang
使用viper读取配置到结构体,但是获取的数据为空
1.viper库viper库是一个读取配置文件的库,支持多种配置文件,如JSON/TOML/YAML/HCL/envfile/Javaproperties等2.遇到的问题在使用viper库的时候发现按照相应的配置已经读取到了对应的配置,但是转换为结构体的时候发现怎么拿结构体里面的数据都是空的3.解决步骤1.打印所有的viper读取到的配置database:host:127.0.0.1port:33
又菜又爱玩呜呜呜~
·
2025-02-19 03:56
golang
ERROR: Get https://registry-1.docker.io/v2/
在使用docker搭建
golang
项目的时候,突然docker拉取
golang
镜像都出现一下错误:刚开始觉得是自己使用
golang
版本有问题,就直接去https://hub.docker.com/_/
golang
·
2025-02-19 03:45
dockergo
设计模式2:单例模式
双重检查
锁
(doublechecklocking)publicclassLazySingleton{//volatile防止指令重排序privatestaticvolatileLazySingletoninstance
卷福同学
·
2025-02-19 00:56
设计模式
设计模式
单例模式
java
基于eBPF的智能诊断平台:实现云原生系统的自愈型运维体系
引言:从被动运维到预测性自愈的进化当某电商平台通过eBPF实时诊断系统提前48小时预测到MySQL集群的
锁
竞争风暴时,其核心是千万级指标粒度的内核状态分析与AI驱动的根因定位算法的结合。
桂月二二
·
2025-02-18 21:58
云原生
运维
ffmpeg
源码分析
:avformat_open_input()
目录一、avformat_alloc_context()二、init_input()2.1av_probe_input_format2()2.2av_probe_input_buffer2()2.3io_open三、read_header()本文简单分析FFmpeg中一个常用的函数:avformat_open_input()。该函数用于打开多媒体数据并且获得一些相关的信息。它的声明位于libavf
风雨兼程8023
·
2025-02-18 21:22
ffmpeg
ffmpeg
FFMpeg
源码分析
(3)avformat_open_input()
这个函数主要用来打开媒体资源。完成媒体格式的探测和获取相关的媒体信息的工作。函数完成定义如下:intavformat_open_input(AVFormatContext**ps,constchar*filename,AVInputFormat*fmt,AVDictionary**options){AVFormatContext*s=*ps;inti,ret=0;AVDictionary*tmp=
雷霆小屁熊
·
2025-02-18 21:52
FFmpeg
ffmpeg
【为什么有些公司禁止使用@Transactional声明式事务?】
长事务会带来
锁
的竞争和性能的消耗,同时也会导致数据库连接池耗尽,影响程序的正常执行。例如,在事务
@Corgi
·
2025-02-18 21:51
Java面试题
面试题
事务
Transactional
FFMPEG
源码分析
:avformat_open_input()(媒体打开函数)
本文分析了FFMPEG中的媒体打开函数avformat_open_input()//参数ps包含一切媒体相关的上下文结构,有它就有了一切,本函数如果打开媒体成功,//会返回一个AVFormatContext的实例.//参数filename是媒体文件名或URL.//参数fmt是要打开的媒体格式的操作结构,因为是读,所以是inputFormat.此处可以//传入一个调用者定义的inputFormat,
sunshineywz
·
2025-02-18 20:18
ffmpeg
Go分布式爬虫笔记(五)_
golang
分布式爬虫架构
系统级别优化与架构设计:如何对服务进行拆分如何将服务链接在一起服务调用的关系以及调用频率各种问题:如何让服务随着负载的增加具有可扩展性?是否采用DDD的架构设计?如何进行分布式的协调?选择何种中间件、缓存数据库与存储数据库?使用何种通信方式?如何设计缓存与数据库的关系,才能避免缓存失效之后大量数据直接打到数据库导致的服务响应变慢甚至服务雪崩的问题呢?分布式系统中数据的一致性,如果业务能够接受读取到
2401_87198107
·
2025-02-18 14:35
golang
分布式
爬虫
实用教程:用微服务搭建你的2025项目
接着,选择合适的技术栈,主流的语言如Java、Python和
GoLang
依然是微服务开发的首选。其次,容器化部署是必不可少的步骤,Docker和Kubernete
zxzy_org
·
2025-02-18 14:35
微服务
架构
云原生
算法
Golang
框架介绍
以下是一篇可直接发布到CSDN的关于
Golang
主流框架的技术文章,包含框架对比、使用场景和代码示例:---#
Golang
主流框架全解析:从Web开发到微服务##引言Go语言凭借其高性能和简洁语法,已成为云原生时代的宠儿
wwwenhx
·
2025-02-18 12:49
golang
开发语言
后端
Golang
学习笔记_31——原型模式
Golang
学习笔记_28——工厂方法模式
Golang
学习笔记_29——抽象工厂模式
Golang
学习笔记_30——建造者模式文章目录一、原型模式核心概念1.定义2.解决的问题3.核心角色4.类图二、原型模式的特点三
LuckyLay
·
2025-02-18 11:05
Golang学习笔记
golang
学习
笔记
原型模式
Java CopyOnWriteArrayList
源码分析
及使用案例
CopyOnWriteArrayList是Java中一种线程安全的List实现,它通过在每次修改时复制底层数组来实现线程安全。本文将详细分析CopyOnWriteArrayList的源码,并结合具体使用案例来展示其使用场景和优缺点。一、CopyOnWriteArrayList简介CopyOnWriteArrayList是java.util.concurrent包中的一个类,适用于读多写少的场景。它
铁甲小宝摸鱼
·
2025-02-18 09:10
Java面试八股文
java
windows
开发语言
Ubuntu 下 nginx-1.24.0
源码分析
- ngx_time_update函数
定义在src\core\ngx_times.c中ngx_time_init函数后面voidngx_time_update(void){u_char*p0,*p1,*p2,*p3,*p4;ngx_tm_ttm,gmt;time_tsec;ngx_uint_tmsec;ngx_time_t*tp;structtimevaltv;if(!ngx_trylock(&ngx_time_lock)){retu
若云止水
·
2025-02-18 09:39
ubuntu
nginx
linux
Android N(全志平台A40i)添加adb登录密码
需求:在adbshell登录终端时加入鉴权密码,鉴权开关可配置且密码可修改问题分析:见下文AndroidN:adb及adbd
源码分析
解决方案:思路:pc上终端输入adbshell命令后,实际上是adbd
阿姨打太极
·
2025-02-18 02:55
android
adb
golang
代码规范
golang
代码规范1.gofmt和goimports格式化:所有的代码都需要用gofmt格式化。
几窗花鸢
·
2025-02-17 23:49
golang
golang
代码规范
单元测试
Golang
的代码质量评估
Golang
的代码质量评估一、代码质量的重要性在软件开发过程中,代码质量是至关重要的,它直接关系到软件的稳定性、可维护性和安全性。而
Golang
作为一门快速发展的编程语言,其代码质量也备受关注。
苹果酱0567
·
2025-02-17 23:18
面试题汇总与解析
课程设计
spring
boot
layui
毕业设计
java
Golang
的代码结构规划
Golang
的代码结构规划是一种具有高效性能的开发语言,其代码结构规划对于项目的可维护性和可扩展性至关重要。在
Golang
中,合理的代码结构可以使代码更加清晰易懂,方便团队协作和项目维护。
苹果酱0567
·
2025-02-17 22:07
面试题汇总与解析
课程设计
spring
boot
vue.js
java
mysql
Kubernetes
源码分析
之kubelet
本节所有的代码基于1.13.4版本。启动分析Kubelet的启动参数有两种,kubeletFlags和kubeletConfig。其中,kubeletFlags与我们使用的kubelet的--参数命令保持一致;kubeletConfig通过解析特定的配置文件完成参数的配置,它们共同构成kubelet启动参数的配置。如图基本参数配置完成之后,接下来就是配置启动的Run方法。Kubelet启动的Run
「已注销」
·
2025-02-17 21:02
runtime
操作系统
运维
50 【Go版本变化】
Go的版本介绍:https://
golang
.org/project/https://
golang
.org/doc/go1.4#Go1.4#语言层面变化较少,但是编译器而言是有巨大的突破的,体现在指针间的转换
weixin_30270561
·
2025-02-17 19:10
runtime
golang
c/c++
Mac
Golang
开发环境配置
Mac
Golang
开发环境配置
Golang
介绍Go(又称
Golang
)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。
武昌库里写JAVA
·
2025-02-17 19:39
面试题汇总与解析
java
学习
开发语言
课程设计
spring
boot
【
Golang
面试题】每日 3 题(十)
✍个人博客:Pandaconda-CSDN博客专栏地址:http://t.csdnimg.cn/UWz06专栏简介:在这个专栏中,我将会分享
Golang
面试中常见的面试题给大家~❤️如果有收获的话,欢迎点赞收藏
Pandaconda
·
2025-02-17 18:03
#
Golang
面试专栏
golang
开发语言
后端
笔记
面试
go
职场和发展
【
Golang
面试题】每日 3 题(一)
✍个人博客:Pandaconda-CSDN博客专栏地址:http://t.csdnimg.cn/UWz06专栏简介:在这个专栏中,我将会分享
Golang
面试中常见的面试题给大家~❤️如果有收获的话,欢迎点赞收藏
Pandaconda
·
2025-02-17 18:33
#
Golang
面试专栏
golang
开发语言
后端
面试
笔记
基础题
go
使用新版本
golang
项目中goyacc依赖问题的处理
goyacc涉及到编译原理的词法分析,文法分析等功能,可以用来生成基于
golang
的语法分析文件。本期是记录一个使用中遇到的依赖相关的问题。因为用到goyacc,需要生成goyacc的可执行文件。
武昌库里写JAVA
·
2025-02-17 18:00
面试题汇总与解析
课程设计
spring
boot
vue.js
算法
数据结构
ReentrantLock 公平
锁
与非公平
锁
的源码实现分析
一、ReentrantLock的
锁
类型ReentrantLock内部通过Sync类(继承自AbstractQueuedSynchronizer)实现锁机制,其子类FairSync(公平
锁
)和NonfairSync
·
2025-02-17 15:19
java
ReentrantLock
1.Synchronized和ReentrantLock的区别①ReentrantLock是API级别的,是接口,显示地获得
锁
,释放
锁
。需要在finally块中释放
锁
。
·
2025-02-17 15:41
lock
ReentrantLock 公平
锁
与非公平
锁
的源码实现分析
一、ReentrantLock的
锁
类型ReentrantLock内部通过Sync类(继承自AbstractQueuedSynchronizer)实现锁机制,其子类FairSync(公平
锁
)和NonfairSync
·
2025-02-17 15:40
java
AQS 核心原理与高频面试题详解
前言AQS(AbstractQueuedSynchronizer)是Java并发包(java.util.concurrent)中的核心基础类,它提供了一个框架来实现阻塞
锁
和相关的同步器(如信号量、CountDownLatch
·
2025-02-17 15:40
java
PHP 使用 Redis 实现分布式
锁
要在PHP中使用Redis实现分布式
锁
,可以使用类似的逻辑:通过SETNXPX命令获取
锁
,并通过唯一标识符(UUID)确保释放
锁
的正确性。以下是基于PHP的实现。
半桶水专家
·
2025-02-17 12:08
php
Redis
php
redis
分布式
共享内存的数据结构 ——循环队列+信息量 ——互斥
锁
、多进程的消费者模型 源码模型 测试代码 C++
前言:简单来说,共享内存不能自动扩展,申请多少就是多少,而且只能用C++内置的数据类型。也不能用STL容器,例如vector会自动扩展,容易造成内存泄漏,越界等问题。移动语义也不能用。要想实现多进程的生产/消费者模型只能采用循环队列。循环队列类值得一提的是这里面头尾指针的移动算法:(指针+1)取最大长度的余数。其他都很简单。#include#include#include#include#incl
sevenysq
·
2025-02-17 11:03
数据结构
c++
centos
linux
还活在上个时代,Etcd 3.0 实现分布式
锁
竟如此简单
为了解决该问题需要引入一种跨进程、跨机器的互斥锁机制来控制共享资源的访问,这也就是分布式
锁
的由来。所以,分布式
锁
的引入是为了保障多台机器或多个进程对共享资源读写的同步,保证数据的最终一致性。
程序员荒生
·
2025-02-17 10:19
开源学习
etcd
分布式
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
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
其他