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
skynet源码剖析
String
源码剖析
(3)--方法篇
本文基于JDK1.8本篇文章主要是关于String类的内部方法的分析,目录如下:构造函数分析“比较”方法String对“+”的重载构造函数分析1.默认构造函数publicString(){this.value="".value;}该构造方法会创建空的字符序列,注意这个构造方法的使用,因为创造不必要的字符串对象是不可变的。因此不建议采取下面的创建String对象:Stringstr=newStrin
6plus
·
2020-10-11 06:52
taobao-pamirs-proxycache 缓存代理框架
源码剖析
本文先从此工具如何使用讲起,给大家带来点感知~再从
源码剖析
它的实现原理。
xupengwei
·
2020-10-11 01:48
STL
源码剖析
-实现自定义的allocator
为什么需要allocator整个stl的操作对象都是在容器中,而容易一定需要配置空间存放对象,我们通常使用容器的时候没有关心内存是如何分配的,者就是这篇文章要介绍的。这是vector头文件的定义template>classvector;可以看到在我们定义vector时,若没传allocator会使用默认的std::allocator,下面可以按照allocator的定义规范实现一个简单的空间配置器
cp3_1dbc
·
2020-10-10 12:19
Flutter事件分发
源码剖析
概述不管是原生Android、iOS还是JavaScript,只要是涉及手势交互都会有事件的分发处理。和原生Android、iOS的事件分发的步骤和原理一样,Flutter的事件分发总体也由手势触发、拦截和响应等几个部分构成。Flutter所有事件源头是hooks.dart文件的_dispatchPointerDataPacket函数,通过拦截屏幕的点击、滑动等各种事件,进而分发给原生代码进行响应
xiangzhihong
·
2020-10-09 13:27
flutter
android
ios
Flutter事件分发
源码剖析
概述不管是原生Android、iOS还是JavaScript,只要是涉及手势交互都会有事件的分发处理。和原生Android、iOS的事件分发的步骤和原理一样,Flutter的事件分发总体也由手势触发、拦截和响应等几个部分构成。Flutter所有事件源头是hooks.dart文件的_dispatchPointerDataPacket函数,通过拦截屏幕的点击、滑动等各种事件,进而分发给原生代码进行响应
xiangzhihong
·
2020-10-09 13:27
flutter
android
ios
skynet
框架学习专栏开通调研
本人曾在17年接触使用
skynet
框架搭建的手游,并成功上线了好几款游戏。这几年都在使用
skynet
框架的源码搭建服务器,也陆陆续续踩了不少的
skynet
坑。
Mark
·
2020-10-09 13:21
c
后端
lua
服务器
高并发
58套
JAVA高级和架构师进阶课,微服务架构,亿级高并发,分布式架构,
源码剖析
系列,项目实战,设计模式实战,数据结构与算法,消息中间件,并发编程多线程,服务器系列,数据库,分布式事务,大型分布式综合电商项目实战等视频教程
sjtlhg1655
·
2020-10-09 12:56
Spring Bean生命周期
源码剖析
源码剖析
生命周期过程bean的实例化属性填充及Aware接口检测设置依赖如果容器自定义了BeanpostProcessor的实现类,则执行处
browser123
·
2020-10-08 11:36
java
spring
源码剖析
编程语言
阿里中间件seata
源码剖析
六:TCC模式中2阶段提交实现
目录TM通知TC事务状态TC通知RM分支事务提交RM处理TC提交事务请求总结上篇文章中,我们以TCC模式的demo为例,讲解了seata中全局事务的开启。在这个demo中,TM作为一个全局事务的管理者,会依次调用订单服务、账户服务和库存服务,如果其中一个服务抛出异常,TM就会调用失败抛出异常,这时就会通知TC,进而TC会通知RM进行事务的回滚。如果TM没有异常,就会通知TC进行事务的commit,
jinjunzhu
·
2020-10-08 10:07
seata
Mybatis的SQL执行流程
源码剖析
概述源码就是能够被用来执行,生成机器能够识别的代码,通过开源源码,可以引用其功能。重要性1、mybatis中的sql执行,不仅要知道返回的结果是什么,还需要知道这结果是怎么来的,经过了怎样的处理,只有知道了这样的原理,碰到问题才能更好的知道问题出在那个环节。2、能更好的扩展应用程序,可以做到代码的复用,减少开发成本和时间。3、学习其中的设计思想能够在其他应用得已应用。步骤源码阅读,可以从测试用例着
browser123
·
2020-10-02 22:33
mybatis
源码分析
java
编程语言
Linux MMC 驱动子系统简述(
源码剖析
)
1.LinuxMMC驱动子系统块设备是Linux系统中的基础外设之一,而MMC/SD存储设备是一种典型的块设备。Linux内核设计了MMC子系统,用于管理MMC/SD设备。MMC子系统的框架结构如下图所示,其中corelayer根据MMC/SD设备协议标准实现了协议。cardlayer与Linux的块设备子系统对接,实现块设备驱动以及完成请求,具体协议经过corelayer的接口,最终通过host
hueyxu
·
2020-09-29 20:00
SpringBoot原理深入及
源码剖析
传统的Spring框架实现一个Web服务,需要导入各种依赖AR包,然后编写对应的XML配置文件等,相较而言,SpringBoot显得更加方便、快捷和高效。那么,SpringBoot究竟如何做到这些的呢?接下来分别针对SpringBoot框架的依赖管理、自动配置和执行流程进行深入分析依赖管理问题∶(1)为什么导入dependency时不需要指定版本?在SpringBoot入门程序中,项目pom.xm
雪砺青松
·
2020-09-29 00:22
spring
源码剖析
之spring bean循环依赖
springbean循环依赖springbean循环依赖应该是spring源码中比较难的一块知识了,下面我们结合代码还有时序图,来进行分析,看下spring是如何优雅的处理springbean的循环依赖的。什么是bean的循环依赖我们都知道spring的IOC和DI,它可以帮助我们创建对象,并且可以帮我们自动注入需要spring管理的对象。然后会存在一种这样的情况,在对象A中需要依赖B,而在对象B
一个快乐小码农
·
2020-09-19 10:16
spring
java
spring
cmake 构建 lua 及 嵌入c程序 和 lua脚本相互调用
这个lua来自于
skynet
/tree/master/3rd/lua新建uselua目录,把lua文件夹拷贝到uselua目录下lua目录里新建CMakeLists.txt~/cpp/uselua/lua
乃不知有汉
·
2020-09-17 13:42
c
tool
c语言
后端
cmake
Java并发学习笔记12 ThreadLocal
bilibili-Java并发学习笔记12ThreadLocal基于java1.8.0P43_ThreadLocal底层
源码剖析
与解读本质上,ThreadLocal是通过空间换时间,从而实现每个线程当中都会有一个变量的副本
morningcat2018
·
2020-09-17 13:18
Java多线程
GDAL
源码剖析
(十一)之OGR投影说明
一、简介本文参考英文地址:http://www.gdal.org/ogr/osr_tutorial.html。OGRSpatialReference类和OGRCoordinateTransformation类主要用来提供定义坐标系统(投影和水准面)和转换坐标。这两个类都基于OpenGIS的坐标转换说明,并且使用WellKnownText格式来进行表述坐标系统。一些关于OpenGIS坐标系统的资料,
weixin_33937913
·
2020-09-17 10:39
c/c++
python
数据库
lighttpd与fastcgi+cgilua原理、代码分析与安装
原理http://www.cnblogs.com/
skynet
/p/4173450.html快速通用网关接口(FastCommonGatewayInterface/FastCGI)是通用网关接口(CGI
weixin_34414650
·
2020-09-17 09:32
lua
php
运维
skynet
源码
skynet
.pack、
skynet
.unpack分析
skynet
.pack与
skynet
.unpack实现分析
skynet
.lua358行可以看到如下定义
skynet
.pack=assert(c.pack)
skynet
.packstring=assert
lpl312905509
·
2020-09-17 08:47
skynet框架分析
JDK1.7 HashMap
源码剖析
,循环链表是如何产生的
Map这样的KeyValue在软件开发中是非常经典的结构,常用于在内存中存放数据。众所周知HashMap底层是基于数组+链表组成的,不过在JDK1.7和1.8中具体实现稍有不同。今天我们只讲解JDK1.7版本的HashMap。1、HashMap的数据结构图是一个数组+链表结构2、HashMap成员变量/***Thedefaultinitialcapacity-MUSTbeapoweroftwo.*
掘客DIGGKR
·
2020-09-17 07:27
Java
HashMap
Apache Kylin 查询流程
源码剖析
一、Overview1.1、通过Kylin查询其中olap_model_6607769716595835175.json内容如下:{"version":"1.0","defaultSchema":"DEFAULT","schemas":[{"type":"custom","name":"DEFAULT","factory":"org.apache.kylin.query.schema.OLAPSc
ccllcaochong1
·
2020-09-17 04:56
kylin
从
源码剖析
useState的执行过程
长文预警,如果觉得前戏太长可直接从第三章开始看~本文基于React16.8.6进行讲解使用的示例代码:importReact,{useState}from'react'import'./App.css'exportdefaultfunctionApp(){const[count,setCount]=useState(0);const[name,setName]=useState('Star');/
weixin_33854644
·
2020-09-17 02:16
javascript
数据结构与算法
前端
HTTP字符集和字符编码
原文链接转载注明出处:http://www.cnblogs.com/
skynet
/archive/2011/05/03/2035105.html概述计算中存储的信息都是用二进制数表示。
低调小一
·
2020-09-16 22:51
Android应用开发
如果这篇文章说不清epoll的本质,那就过来掐死我吧! (1)
epoll作为linux下高性能网络服务器的必备技术至关重要,nginx、redis、
skynet
和大部分游戏服务器都使用到这一多路复用技术。文/罗培羽因为epoll的重要性,不少游戏公司
Ronbin.L
·
2020-09-16 21:43
linux
socket
epoll
如果这篇文章说不清epoll的本质,那就过来掐死我吧!
epoll作为linux下高性能网络服务器的必备技术至关重要,nginx、redis、
skynet
和大部分游戏服务器都使用到这一多路复用技术。
匿名小城
·
2020-09-16 20:14
转载
Linux开发
epoll
PureMVC游戏框架解析 理解其中包含的设计模式
作者:吴秦出处:http://www.cnblogs.com/
skynet
/本文基于署名2.5中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名吴秦(包含链接).参考资料[1]PureMVC
养不家
·
2020-09-16 15:34
PureMVC
C#
PureMVC
框架
STL源码学习笔记(1):stack及自定义实现
详细参考《stl
源码剖析
》1、stack底层源码,摘自SGISTL:stl_stack.h#ifndef__SGI_STL_INTERNAL_STACK_H#define__SGI_STL_INTERNAL_STACK_H
super-god-boy
·
2020-09-16 14:48
coding
Language
STL源码剖析
配接器
stack
堆栈
容器
epoll底层红黑树使用部分
源码剖析
:为什么使用红黑树以及如何使用红黑树
我们知道epoll的底层使用了红黑树来管理文件描述符,为什么会选择红黑树这种结构呢?以下是个人理解:epoll和poll的一个很大的区别在于,poll每次调用时都会存在一个将pollfd结构体数组中的每个结构体元素从用户态向内核态中的一个链表节点拷贝的过程,而内核中的这个链表并不会一直保存,当poll运行一次就会重新执行一次上述的拷贝过程,这说明一个问题:poll并不会在内核中为要监听的文件描述符
Mr_H9527
·
2020-09-16 14:30
c++&服务端
【Linux 内核网络协议栈
源码剖析
】listen 函数剖析
listen函数仅供服务器端调用,把一个未连接的套接字转换为一个被动套接字,指示内核应接受指向该套接字的连接请求。1、应用层——listen函数#includeintlisten(intsockfd,intbacklog);/*sockfd是bind之后的套接口描述字,第二个参数规定了内核应该为相应套接口排队的最大连接个数*/2、BSDSocket层——sock_listen函数/**Perfor
selfimpr1991
·
2020-09-16 13:53
OpenSource
TCP/IP
epoll
源码剖析
epoll的实现主要依赖于一个虚拟文件系统:eventpollfs。epoll是个module,module的入口eventpoll_init,通过eventpoll_init初始化。在初始化的过程中,eventpollfscreate两个slub分别是:epitem和eppoll_entry。epoll使用过程中有几个基本的函数分别是epoll_create,epoll_ctl,epoll_wa
0Resurrection0
·
2020-09-16 12:04
操作系统
Linux
epoll
源码
文件系统
io复用
Redis
源码剖析
——ziplist的实现
有序集合对象ziplist为Redis中的压缩列表,是列表键和哈希键的底层实现之一,用于存储长度短的字符串和小整数。ziplist采用一段连续的内存来存储节点ziplist的表示因为ziplist的数据结构的长度是变化的所有没有特定的结构体,ziplist在内存中的布局如下entry也是不定长的,没有特定的结构体,entry在内存中的布局如下previous_entry_length的长度可以为1
Coding_Reading
·
2020-09-16 09:56
Redis源码剖析
从
源码剖析
RxJava基本工作原理(4),Schedule调度器的实现
目录Schedule调度器Schedule调度器rxJava的调度器还是比较复杂的,继承关系比较复杂不说,而且有很多内部类,绕来绕去的有点恶心。但是嘛,先把图画出来再说,跟着图的路线走,总不会迷路的。首先我们使用的schedule的方式就是.subscribeOn(Schedulers.io())那么就从这个IO()函数入口去看下,里面是个什么东西,@NonNullpublicstaticSche
Super-B
·
2020-09-16 08:23
源码
android
java
java
队列
android
多线程
STL各容器底层所使用的数据结构
C++STL的实现:1.vector底层数据结构为数组,支持快速随机访问2.list底层数据结构为双向链表,支持快速增删3.deque底层数据结构为一个中央控制器和多个缓冲区,详细见STL
源码剖析
P146
大学笑长
·
2020-09-16 07:02
C++学习
【北京】低价出售C/C++经典书籍
都很新C++程序设计5元高质量C/C++编程指南8元C++对象模型10元STL
源码剖析
12元深入浅出MFC10元设计模式10元C++primer8元面向对象程序设计5元java语言基础教程5元C语言程序设计
bxyill
·
2020-09-16 07:49
Java
源码剖析
(22)--Redis 如何实现高可用
Redis如何实现高可用1)实现高可用的方式1.1)数据持久化1.2)Redis主从同步1.3)Redis哨兵模式1.4)Redis集群2)小结1)实现高可用的方式Redis高可用的手段主要有以下四种:数据持久化主从数据同步(主从复制)Redis哨兵模式(Sentinel)Redis集群(Cluster)其中数据持久化保证了系统在发生宕机或者重启之后数据不会丢失,增加了系统的可靠性和减少了系统不可
姜皓
·
2020-09-16 03:40
#
Java面试
#
Java中间件
redis
Java
源码剖析
(21)--Redis 如何实现消息队列
Redis如何实现消息队列1)实现消息队列的方式2)使用List实现消息队列3)使用Stream实现消息队列1)实现消息队列的方式在Redis中实现消息队列的方式有几种?早在Redis2.0版本之前使用Redis实现消息队列的方式有两种:使用List类型实现使用ZSet类型实现其中使用List类型实现的方式最为简单和直接,它主要是通过lpush、rpop存入和读取实现消息队列的,如下图所示:lpu
姜皓
·
2020-09-16 03:10
#
Java中间件
#
Java面试
redis
队列
java
Java
源码剖析
(23)--JVM 的内存布局和运行原理
JVM的内存布局和运行原理1)JVM的内存布局1.1)堆1.2)方法区1.3)程序计数器1.4)虚拟机栈1.5)本地方法栈2)类的生命周期2.1)加载阶段2.2)验证阶段2.3)准备阶段2.4)解析阶段2.5)初始化JVM(JavaVirtualMachine,Java虚拟机)顾名思义就是用来执行Java程序的“虚拟主机”,实际的工作是将编译的class代码(字节码)翻译成底层操作系统可以运行的机
姜皓
·
2020-09-16 03:10
Java
学习笔记
#
Java面试
jvm
java
面试
Java
源码剖析
(20)--Redis 怎样实现分布式锁
Redis怎样实现分布式锁1)分布式锁1.1)分布式锁的常见实现方式:2)单机锁3)使用Redis实现分布式锁4)锁超时如果在分布式环境下使用就会出现锁不生效的问题,需要使用分布式锁来解决。1)分布式锁分布式锁是控制分布式系统之间同步访问共享资源的一种方式,是为了解决分布式系统中,不同的系统或是同一个系统的不同主机共享同一个资源的问题,它通常会采用互斥来保证程序的一致性,这就是分布式锁的用途以及执
姜皓
·
2020-09-16 03:10
#
Java中间件
#
Java面试
Socket编程Linux或者Windows或Vxworks
原文转自自:http://www.cnblogs.com/
skynet
/archive/2010/12/12/1903949.html“一切皆Socket!”
放牛娃不吃草
·
2020-09-16 01:26
C/C++/.NET/汇编
C++/C原
Unix/Linux编程
C/C++高级用法
STL
源码剖析
之_allocate函数
SGISTL提供的标准std::allocator中的_allocate函数代码如下:templateinlineT*_allocate(ptrdiff_tsize,T*){set_new_handler(0);T*tmp=(T*)(operatornew((size_t)(size*sizeof(T))));if(tmp==0){cerr<<"outofmemory"<
weixin_30325793
·
2020-09-16 00:21
c/c++
mybatis数据库连接池介绍和
源码剖析
mybatis数据库连接池分析介绍一、数据库连接池1、定义数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。(百度百科)2、核心原理连接池基本的思想是在系统初始化的时候,将数据库连接作为对象存储在内存中,当用户
khuangliang
·
2020-09-15 19:09
mybatis
mybatis
数据库
出去面了一波大数据,总结一下
Python工程师标准>>>魔秀科技总结:岗位5-10年,面试人:技术总监:薪资范围25以上问题:1、自我介绍,手写wordcount,分析每个算子,主要问flatmap和map的区别,简单的原理不算,要从
源码剖析
weixin_34259559
·
2020-09-15 18:12
大数据
面试
java
STL
源码剖析
——基础
六大部件模板类模板函数模板成员模板(类拥有本身为类模板或函数模板的成员)特化:优先选择特化版本templatestruct__type_traits{...};template{...};template{...};....偏特化1.限制部分参数类型templateclassvector{...};templateclassvector{...};2.限制为指针、引用、常量等templatestr
I_ren
·
2020-09-15 13:39
c++
STL源码剖析
初学socket编程
读取到内容后再返回给接口就ok了,但学习要深究其原理,因此决定学习下socket相关的内容,该文章参考了下面这位大佬的文章,不做搬运工,写下自己的理解;https://www.cnblogs.com/
skynet
阳光下的我们2019
·
2020-09-15 11:34
socket编程
设计模式(21)——状态模式
目录APP抽奖活动问题状态模式状态模式解决APP抽奖问题状态模式在实际项目-借贷平台
源码剖析
状态模式的注意事项和细节APP抽奖活动问题请编写程序完成APP抽奖活动具体要求如下:假如每参加一次这个活动要扣除用户
minge0001
·
2020-09-15 10:43
设计模式
设计模式
java
分布式架构-Dubbo框架(五):Dubbo协议模块
源码剖析
RPC协议基本组成RPC协议名词解释在一个典型RPC的使用场景中,包含了服务发现、负载、容错、网络传输、序列化等组件,其中RPC协议就指明了程序如何进行网络传输和序列化。也就是说一个RPC协议的实现就等于一个非透明的远程调用实现,如何做到的的呢?协议基本组成:地址:服务提供者地址端口:协议指定开放的端口报文编码:协议报文编码,分为请求头和请求体两部分。序列化方式:将请求体序列化成对象Hessian
_单眼皮男生_
·
2020-09-15 06:58
分布式
Atlas
源码剖析
(一)
信号设置在设置各种配置参数之前,如果支持sigaction,则使用sigaction来设置SIGSEGV信号,指定处理函数调用g_on_error_stack_trace获取相关的堆栈信息后,调用abort退出程序。此信号在程序结束前进行清除,修复默认处理方式。#ifdefHAVE_SIGACTION/*registerthesigsegvinterceptor*/memset(&sigsegv_
wssg3620625
·
2020-09-15 06:36
Atlas
Atlas
源码剖析
(十一)
读写分离和负载均衡在分析完语句后,做好分表的准备工作之后,Atlas会调用check_flags函数检查传过来的语句是否为GET_LOCK、AUTOCOMMIT或SQL_CALC_FOUND_ROWS语句;注解:a、GET_LOCK:get_lock(str,timeout)设法使用字符串str给定的名字得到一个锁,超时为timeout秒。若成功得到锁,则返回1,若操作超时则返回0(例如,由于另一
wssg3620625
·
2020-09-15 06:36
Atlas
embeded linux system create
——————————————————————————————————《我也来学做嵌入式Linux系统V0.1》作者:九贱E-mail:
[email protected]
个人站点:www.
skynet
.org.cn
fanbird2008
·
2020-09-15 04:03
linux
system
脚本
工具
redhat
开发工具
chromium
源码剖析
之chrome进程通信的基本模式
1.Chrome进程通信的基本模式进程间通信,叫做IPC(Inter-ProcessCommunication),在Chrome不多的文档中,有一篇就是介绍这个的,在这里。Chrome最主要有三类进程,一类是Browser主进程,我们一直尊称它老人家为老大;还有一类是各个Render进程,前面也提过了;另外还有一类一直没说过,是Plugin进程,每一个插件,在Chrome中都是以进程的形式呈现,等
农村的我
·
2020-09-14 22:00
c++
strtok
源码剖析
位操作与空间压缩
欢迎关注微博:http://weibo.com/MoreWindowsstrtok
源码剖析
strtok函数可以用于分隔字符串,最近看了下这个函数的源代码,其中有unsignedcharmap[32];/
MoreWindows
·
2020-09-14 18:59
Windows编程
位操作
strtok
空间压缩
上一页
27
28
29
30
31
32
33
34
下一页
按字母分类:
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
其他