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
动态代理源码分析
linux的select
源码分析
先说说内核的职责我们已经知道了所有的io操作都是交给内核去处理了,在linux中,已经抽象出了一个文件系统,对任何io设备的读写都可以当做对文件系统的某一个文件进行读写。文件是一个抽象出来的概念(它包含了实际对应的驱动,当前文件指针,文件大小,数据读写缓冲区指针等信息),当用户程序需要读写一个文件时,需要先调用sys_open,这样内核会从文件系统读取该文件的节点信息,每个进程都有一个fd数组,内
柯基是只dog
·
2023-11-03 19:49
JVM
虚拟机规定需要将字节码变成二进制流,但是没有规定二进制流从哪里来,所以可以是解压zip包,从网路中获取,
动态代理
生成,
幻如常
·
2023-11-03 19:07
Arouter
源码分析
之页面跳转
ARouter.getInstance().build("/main/LogoutActivity").navigation();ARouter.getInstance()publicstaticARoutergetInstance(){if(!hasInit){thrownewInitException("ARouter::Init::Invokeinit(context)first!");}e
风月寒
·
2023-11-03 13:17
Tomcat
源码分析
(二)
1.程序入口Bootstrap.java的main方法关键语句:publicstaticvoidmain(Stringargs[]){if(daemon==null){//Don'tsetdaemonuntilinit()hascompleted//创建对象Bootstrapbootstrap=newBootstrap();try{//初始化bootstrapbootstrap.init();}c
我是嘻哈大哥
·
2023-11-03 12:47
Spring-AOP-面向切面编程
文章目录目录文章目录前言一.场景设定和问题复现二.解决技术[代理模式]2.1代理模式2.2静态代理2.3
动态代理
三.面向切面编程思想(AOP)3.1面向切面编程思想3.2AOP思想的应用场景3.3AOP
喜欢吃animal milk
·
2023-11-03 11:38
spring
java
后端
JDK
动态代理
packagecom.test.proxy.jdk;importjava.lang.reflect.InvocationHandler;importjava.lang.reflect.Method;importjava.lang.reflect.Proxy;publicclassProxyTest{publicstaticvoidmain(String[]args){//目标对象finalTarg
黑咔
·
2023-11-03 11:29
写出优美的代码:考虑使用静态工厂方法替代构造方法
文章目录一、静态工厂方法区别于工厂方法模式二、静态工厂方法的优点1、有名字(1)优势(2)
源码分析
:BigInteger(3)
源码分析
:Executors(4)常用命名名称2、不需要每次调用时都创建一个新对象
秃了也弱了。
·
2023-11-03 11:23
设计模式与开发规范
设计模式
【Java 并发编程】深入理解 AQS - ReentrantLock
源码分析
深入理解AQS-AbstractQueuedSynchronizer1.AQS1.1什么是AQS1.2AQS具备的特性2.AQS原理解析2.1AQS原理概述2.1.1什么是CLH锁2.1.2AQS中的队列2.2AQS共享资源的方式:独占式和共享式2.2.1Exclusive(独占式)2.2.2Share(共享式)2.3AQS底层使用了模板方法模式2.4AQS定义了两种队列2.4.1AQS定义了5个
迪曼奥特迦
·
2023-11-03 10:00
#
Java
并发编程
java
开发语言
Django开发使用DRF框架之创建纯净版框架步骤
方法来源武沛齐老师的DRF
源码分析
课程。一、环境Django:3.2Python:3.8编译工具:pycharm二、纯净系统创建步骤djangorestframework框
知远同学
·
2023-11-03 10:49
django
python
后端
GPUImage
源码分析
与使用(一)
GPUImage简介GPUImage是链式编程,可以处理图片和视频,支持iOS和Mac。GPUImage1.0和2.0是基于OpenGLES封装,1.0是OC版本,2.0是swift版本,3.0是基于Metal的swift版本。AVFoundation在GPUImage框架中是用来捕捉视频的CoreImage与GPUImage的对比CoreImage是Apple原生的图片视频处理框架两者都是基于O
紫水依
·
2023-11-03 09:52
RecyclerView
源码分析
publicclassRecyclerViewextendsViewGroupimplementsScrollingView,NestedScrollingChild2,NestedScrollingChild3RecyclerView实现了NestedScrollingChild2,NestedScrollingChild3接口。因为NestedScrollingChild3继承自NestedS
壹元伍角叁分
·
2023-11-03 09:38
mongodb
源码分析
(二十一)mongos 查询与添加
本来简单讲讲mongos对于查询添加的流程,修改和删除的处理流程简单其也与添加差不多不再分析,对于添加修改和删除,mongos都只是将其发往正确的mongod服务器让其处理,对于查询稍微麻烦点,因为查询多个mongod服务器的结果回来时汇总需要mongos自身完成其排序.下面来看具体代码吧,在mongos的初始化部分我们已经知道向mongos发送的请求,其处理函数是Request::process
yhjj0108
·
2023-11-03 09:21
mongodb源码分析
从源码深度剖析 CopyOnWriteArrayList 线程安全集合,一起来看看吧
目录1.前言2.CpoyOnWriteArrayList原理简单概述3.CopyOnWriteArrayList
源码分析
3.1属性构造器解读3.2get方法分析3.3add方法分析3.4set方法分析3.5remove
程序猿ZhangSir
·
2023-11-03 07:56
java
开发语言
Libuv
源码分析
—— 7. 进程/线程间通信
网络I/O运行原理unix(like)世界里,一切皆文件,而文件是什么呢?文件就是一串二进制流而已,不管socket,还是FIFO、管道、终端,一切都是文件,一切都是流。在信息交换的过程中,我们对这些流进行数据的收发操作,简称为I/O操作(inputandoutput),从数据流中读取数据,系统会调用read(读取数据);写入数据,系统调用write(写入数据)。不过话说回来了,计算机里有这么多的
Anita-Sun
·
2023-11-03 07:53
Libuv源码解析
libuv
Libuv
源码分析
—— 10. unix域
unix域Unix域一种进程间通信的方式,他类似socket通信,但是他是基于单主机的。可以说是单机上的socket通信。在libuv中,unix域用uv_pipe_t表示unix域的实现和tcp的实现类似。都是基于连接的模式。服务器启动等待连接,客户端去连接。然后服务器逐个摘下连接的节点进行处理。uv_pipe_t—管道句柄管道句柄对Unix上的本地域套接字和Windows上的有名管道提供一个抽
Anita-Sun
·
2023-11-03 07:53
Libuv源码解析
libuv
Spring
源码分析
之Bean的循环依赖问题
文章目录前言一、什么是Bean的循环依赖二、SpringBean的三级缓存总结思考:前言对于高级开发来说以后可能需要做架构,所以需要对部分常用优秀框架的底层原理有一定的了解,Spring是其中的重中之重,在面试的过程中肯定会问许多Spring源码的知识,Spring中Bean的循环依赖也是中高级开发面试的高频问题,本文就讲解一下Spring的循环依赖问题。一、什么是Bean的循环依赖对于Bean的
浪子阿志
·
2023-11-03 06:55
源码原理
Java
Spring
Bean
循环引用
ArrayList
源码分析
简单介绍ArrayList本质上也是继承于抽象类AbstractList,且实现List、随机数、克隆、以及序列化的Serializable。常量定义1.初始化大小容量为102.Object[]EMPTY_ELEMENTDATA动态数组,用来保存空实例重要的几个方法1.trimToSize。ArrayLsit每次申请空间是按照1.5倍+1来申请的,内存不够的时候可以使用这个方法来减少多出来的一些空
Lapaziente
·
2023-11-03 06:01
Redis学习、缓存、持久化、哨兵模式
—Antirez序号内容1Java基础面试题2JVM面试题3Java并发编程面试4计算机网络知识点汇总5MySQL面试题6Mybatis
源码分析
+面试7Spring面试题8SpringMVC面试题9SpringBoot
程序dunk
·
2023-11-03 04:28
面试专题
redis
nosql
数据库
工厂设计模式详解
文章目录工厂模式(创建型模式)1.工厂模式介绍2.好处3.场景案例4.工厂方法案例源码5.抽象工厂案例源码(适配器、
动态代理
)1.代码结构2.老业务,视频流审核服务接口3.老业务,视频流审核服务具体实现类
专注如一
·
2023-11-03 04:05
设计模式
设计模式
java
抽象工厂模式
工厂方法模式
SpringCloud04-Ribbon、OpenFeign、Hystrix
Ribbon二、Ribbon的负载均衡和Rest调用pomRestTemplate的使用三、Ribbon负载规则四、Ribbon负载规则替换五、Ribbon默认负载轮询算法原理六、RoundRobinRule
源码分析
七
大仙~猛
·
2023-11-03 04:03
JAVA
spring
cloud
Sqlite
源码分析
-- 获取数据库、创建连接池、建立主连接 (API 24)
一、SQLiteOpenHelper调用入口/***Openthedatabaseaccordingtotheflags{@link#OPEN_READWRITE}*{@link#OPEN_READONLY}{@link#CREATE_IF_NECESSARY}and/or{@link#NO_LOCALIZED_COLLATORS}.**Setsthelocaleofthedatabasetoth
_夜
·
2023-11-03 04:31
SpringMvc
源码分析
(三) 请求执行过程之获取MethodHandler
Servlet的生命周期即其出生到死亡的过程中分别会调用Servlet里的以下方法:加载和实例化:可以参考SpringMvc
源码分析
一init方法:初始化,在整个servlet生命周期中,init()方法只会被调用一次
xl649138628
·
2023-11-02 22:55
SpringMvc源码学习
java
前端
开发语言
mvc
springBoot2.6.2映射请求原理(
源码分析
)
文章目录前言1.`分析doGet,doPost请求`二.`查看processRequest方法`三.`查看doServlet方法`四.`回过头看看DipatcherServlet类`五.`分析doDispatch`六`查验映射匹配原理`你来看我啦啊前言由于springBoot底层还是使用的springMVC,因此前端的所有请求都会通过DispatcherServlet前端控制器.因此我们从Disp
呆萌小新@渊洁
·
2023-11-02 22:51
Java体系
java
intellij-idea
spring
spring
boot
Netty
源码分析
系列--15. ByteBuf
创建://非池化,使用完后销毁ByteBufbyteBuf=Unpooled.buffer(10);//复合类型CompositeByteBufcompositeByteBuf=Unpooled.compositeBuffer();当向ByteBuf写入部分数据后,writerIndex会增加;当从ByteBuf中读取部分数据时,readerIndex增加。显然,readableBytes的值等于
ted005
·
2023-11-02 21:40
mybatis plus框架@TableField注解不生效问题及解决方案
目录一、问题描述二、解决方案三、关于@TableField注解失效原因的思考四、Mapper接口LambdaQuery方法调用过程梳理1、Mapper接口调用实际上使用的是
动态代理
技术2、mybatisplus
穗余
·
2023-11-02 20:03
java
开发语言
Android——Retrofit
对于想要了解Java中的
动态代理
应用,想要用更简洁的方式实现网络请求,Retrofit可能是最好的学习案例了,之前的项目中在写网络请求的时候,每次都需要写大量的样板代码
Jaqutter
·
2023-11-02 20:46
android
Android网络框架——Retrofit
源码分析
Retrofit源码解析Retrofit是一个RESTFUL的HTTP网络请求框架(基于OkHttp)。Retrofit的具体流程如下:创建Retrofit实例创建网络请求接口的实例(通过解析注解配置网络请求参数)发送网络请求解析数据切换线程处理结果下来我们一一进行讲解。一、创建Retrofit实例通过内部类Builder(建造者模式)创建出一个Retrofit实例,其具体创建过程配置了一下参数:
Whhang_
·
2023-11-02 20:42
Android
android
安卓
移动开发
网络
源码分析
之 FactoryBean接口不为人知的秘密
FactoryBean接口在spring中是一个非常好用且容易被人忽略的接口。OK借助这个机会我们把它的秘密扒出来,让它落体出镜好吧。首先贴一个代码:importorg.springframework.beans.factory.FactoryBean;publicclassFactoryBeanTestimplementsFactoryBean{privateUserServiceuserSer
架构小白菜
·
2023-11-02 19:57
Eureka
源码分析
(八) 自我保护机制
下面来说下eureka的自我保护机制。当每分钟心跳次数(renewsLastMin)小于numberOfRenewsPerMinThreshold时,并且开启自动保护模式开关(eureka.enableSelfPreservation=true)时,触发自动保护机制,不再自动过期租约publicvoidevict(longadditionalLeaseMs){logger.debug("Runni
skyguard
·
2023-11-02 18:03
spring--AnnotationConfigApplicationContext扫描bean过程
源码分析
AnnotationConfigApplicationContext前言AnnotationConfigApplicationContext和ClassPathXmlApplicationContext与FileSystemXmlApplicationContext类似都是抽象类AbstractApplicationContext的子类,最终都调用父类的refresh方法开始bean工厂的初始化等
工与绩不过兴与兴
·
2023-11-02 18:17
#
spring源码
spring源码
bean扫描过程解析
dubbo
源码分析
(二):超时原理以及应用场景
本篇主要记录dubbo中关于超时的常见问题,实现原理,解决的问题以及如何在服务降级中体现作用等。超时问题为了检查对dubbo超时的理解,尝试回答如下几个问题,如果回答不上来或者不确定那么说明此处需要再多研究研究。我只是针对个人的理解提问题,并不代表我理解的就是全面深入的,但我的问题如果也回答不了,那至少说明理解的确是不够细的。超时是针对消费端还是服务端?超时在哪设置?超时设置的优先级是什么?超时的
Java_2017_csdn
·
2023-11-02 18:31
dubbo
【Spring
源码分析
】非懒加载的单例Bean初始化过程(上篇)
代码入口上文【Spring
源码分析
】Bean加载流程概览,比较详细地分析了Spring上下文加载的代码入口,并且在AbstractApplicationContext的refresh方法中,点出了finishBeanFactoryInitialization
Hack_Bug
·
2023-11-02 18:22
SpringMvc
spring
Spring Aop
基于
动态代理
设计模式。2.AOP中的专业术语Aspect:切面。为方法添加增强功能的过程。joinpoint:切入点。就是我们平时说的目标方法,或说对哪个方法做扩展,
云端之子
·
2023-11-02 15:16
spring
java
mysql
LinkedHashMap介绍和
源码分析
LinkedHashMap的介绍1、LinkedHashMap的简介HashMap和双向链表合二为一即是LinkedHashMap。所谓LinkedHashMap,其落脚点在HashMap,因此更准确地说,它是一个将所有Entry节点链入一个双向链表的HashMap。由于LinkedHashMap是HashMap的子类,所以LinkedHashMap自然会拥有HashMap的所有特性。比如,Lin
high5130
·
2023-11-02 13:02
【并发编程】浅析AQS及并发工具类(Semaphore、CountDownLatch 、CyclicBarrier)
SHARED)2.2.3超时获取方式2.3模板方法3Semaphore(信号量)4CountDownLatch(倒计时器)4.1概述4.2应用场景5CyclicBarrier(循环栅栏)5.1概述5.2
源码分析
Kaiz‘s Blog
·
2023-11-02 13:44
并发编程
多线程
java
并发编程
Sentinel
源码分析
----降级熔断规则与DegradeSlot
上篇文章讲了流控规则,而除了流控规则之后还有降级、热点、系统、授权等规则,这篇文件主要讲降级规则。降级规则主要处理节点是DegradeSlot,其中具体逻辑由DegradeRuleManager.checkDegrade实现publicstaticvoidcheckDegrade(ResourceWrapperresource,Contextcontext,DefaultNodenode,intc
_六道木
·
2023-11-02 12:18
API 攻击分析:黑客利用大量IP低频撞库登录API
近日,某互联网公司在使用永安在线API安全管控平台时捕获到一起账号撞库风险事件,攻击者使用大量
动态代理
秒拨IP对公司的某平台登录接口进行低频的撞库攻击。
永安在线
·
2023-11-02 11:26
安全
api
数据安全
网络安全
JVM
源码分析
(二)jvm中的线程
1.JVM中线程的创建流程jvm剥离了一套公共的无关平台的线程类:Thread抽象类。Thread类声明在jdk8u-dev/hotspot/src/share/vm/runtime/thread.hpp中。Thread有个抽象方法run()。当创建好一个Thread实例,需要调用操作系统底层的os::create_thread方法,传入thread对象和新线程栈大小(64位系统默认是1m,32位
msrpp
·
2023-11-02 08:12
终于把分布式锁搞明白了!
Redis的分布式锁的实现原理,Redisson架构的简要分析和Redisson实现分布式锁的源码大概了解做一个分析目录认识分布式锁分布式锁特性分布式锁实现原理Redisson架构Redisson实现分布式锁
源码分析
embrace110
·
2023-11-02 07:53
后端开发
java
LongAdder
源码分析
LongAdder的由来LongAdder是jdk1.8新增的一个原子性的操作,AtomicLong也是一个原子性的操作,AtomicLong使用CAS算法,尝试修改值,但是在修改失败后一直处于自旋修改,非常消耗CPU资源,正是这个原因,在高并发多个线程同时操作同一个资源会造成大量的线程修改值失败,大量线程处于自旋修改值状态,严重浪费CPU资源,直接降低并发性,AtomicLong在高并发多线程修
ThiAgoCoding
·
2023-11-02 06:15
Android Studio
源码分析
系列一之点击Run背后的秘密
1.1Run背后的Gradletasks1.2Tasks名称1.3部分Tasks详细说明二、AndroidGradlePlugin和AS之间的关系1.AndroidGradlePlugin核心
源码分析
三
布拉德很帅
·
2023-11-02 05:57
android
android
studio
gradle
Java并发编程之LockSupport源码详解
LockSupport
源码分析
构造方法与成员变量LockS
7rulyL1ar
·
2023-11-02 05:21
Java并发编程
java
juc
并发编程
java反射和
动态代理
java反射反射是程序运行时,通过反射直接操作对象或者类。获取类声明的属性和方法,调用方法或者构造对象,设置修改类的定义(包括类的成员访问限制)。说白了就是利用java反射机制我们可以加载一个运行时才得知名称的class,获悉其构造方法,并生成其对象实体,能对其fields设值唤起method。会消耗一定的系统资源,因此如果不要动态创建一个对象,就不需要用反射,另外反射调用方法时可以忽略权限检查,
上官若枫
·
2023-11-02 05:07
Linux-Input入门-一次愉快的
源码分析
看他人如何分析代码最关键的目的是了解别人是怎么思考和探索的,其次才是获取内容相关的知识点。即吃别人的鱼不如学别人怎么钓鱼。本文是我学生时代留下的关于输入子系统的学习笔记,对我个人而言很有纪念意义,对初学者来说也许有一丢丢参考价值。最近工作上需要驱动一些输入设备,不由得感慨:Input子系统设计得真好,这么多年了Inputcore的设计和API可以认为是仅发生了察觉不到的变化,这就是驱动界的典范子系
嵌入式小傻瓜
·
2023-11-02 04:46
Linux
驱动开发
Eureka Client
源码分析
(二)
Eureka客户端加载过程image.png
源码分析
packageorg.springframework.cloud.netflix.eureka;impo
山歌里滴放牛娃
·
2023-11-02 04:23
嵌入式Linux基础学习笔记目录
1.2GCC编译器1.3makefire1.4文件I/O1.5Framebuffer应用编程1.6文字显示及图象显示1.7输入系统应用编程1.8网络编程1.9多线程编程1.10串口编程1.11I2C应用编程2.
源码分析
故山月白
·
2023-11-02 02:16
嵌入式Linux应用开发基础
嵌入式Linux
通信协议
并发编程 — 原子类 AtomicInteger 详解
的基本用法1、创建AtomicInteger2、常用方法说明2.1、自增方法2.2、自减方法2.3、原子性的更新值2.4、其他方法3、AtomicInteger内幕3.1、compareAndSwapInt
源码分析
瞎胡扯
·
2023-11-02 01:33
并发编程
多线程
原子类
AtomicInteger
[Vue CLI 3] @vue/cli-plugin-eslint
源码分析
熟悉eslint-loader的同学一般如下配置:设置一下几项:test:Aconditionthatmustbemet(一般是处理对应文件的正则)exclude:Aconditionthatmustnotbemet(手动添加不需要处理的,一般比如node_modules)loader:Anarrayofpathsorfileswheretheimportedfileswillbetransfor
我的乌托
·
2023-11-02 01:17
Sentinel
源码分析
二 之 流控算法-滑动时间窗口
记录Sentinel中使用的滑动时间窗口之前,先说明下简单的滑动时间窗口是怎样的。对于限流的算法假如时间窗口不滑动,限流qps100。如果在0.5~1s之间发生了80个请求量,会认为在0~1s内qps是不会达到限流阈值的。在1~1.5s内达到80的请求量,也会认为在1-2s内的qps为80没有达到阈值。但是在0.5~1.5秒的请求量却达到160已经超过了阈值。这就出现了问题。有了滑动时间时间窗口之
姑苏冷
·
2023-11-02 00:41
微服务
算法
java
sentinel
AFNetworking
源码分析
之序列化
这个模块主要的类就是下面的这几个(协议)AFHTTPRequestSerializer(根类)(多部分表单,协议)AFJSONRequestSerializerAFPropertyListRequestSerializer(协议)AFHTTPResponseSerializer(根类)AFJSONResponseSerializer(默认的)AFXMLParserResponseSerialize
hallfrita
·
2023-11-01 22:43
上一页
46
47
48
49
50
51
52
53
下一页
按字母分类:
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
其他