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
Android-源码学习
java基础-集合-ArrayList(JDK1.8)
源码学习
文章目录类图新增addensureCapacityInternalensureExplicitCapacitygrowhugeCapacity删除removefastRemove遍历Iterator类图新增addpublicbooleanadd(Ee){//根据注释可知IncrementsmodCount!!,modCount下面详解ensureCapacityInternal(size+1);/
Semanteme
·
2023-09-16 23:31
java
学习
开发语言
JAVA
源码学习
之集合-ConcurrentHashMap
一文彻底弄懂ConcurrentHashMap,轻松应对面试官!(baidu.com)https://baijiahao.baidu.com/s?id=1724634306266520505&wfr=spider&for=pc简介ConcurrentHashMap是HashMap的线程安全版本,内部也是使用(数组+链表+红黑树)的结构来存储元素。相比于同样线程安全的HashTable来说,效率等各
花葬-天空之城
·
2023-09-16 05:38
Java源码学习
java
开发语言
后端
【Java8-集合
源码学习
2-ArrayList、Vector
源码学习
】
Collection集合层次结构中的根接口。一个集合表示一组对象,称为它的元素。一些集合允许重复元素,而另一些则不允许。有些是有序的,有些是无序的。JDK不提供此接口的任何直接实现:它提供更具体的子接口(如Set和List)的实现。他可以轻松的帮用户实现数据存储,动态扩容,还有方便的元素遍历和快速的增删改查等操作。Collection的子接口主要是三大类分别是List,Set和Queue。这三个接
Likelong~
·
2023-09-16 05:37
底层作坊
学习
java
java基础-并发编程-ReentrantLock
源码学习
ReentrantLock源码大纲AQS结构非公平锁nonfairTryAcquires实现公平锁TryAcquires实现获取锁失败,将线程添加到链表:addWaiter队列为空或CAS修改链表尾节点失败,将当前节点设置为尾节点尝试再次获取锁,未获取到锁则挂起当前节点线程finalbooleanacquireQueued(finalNodenode,intarg){booleanfailed=t
Semanteme
·
2023-09-16 05:32
java
学习
开发语言
java基础-并发编程-ThreadPoolExecutor
源码学习
ThreadPoolExecutor源码大纲给线程池中添加任务publicvoidexecute(Runnablecommand){if(command==null)thrownewNullPointerException();intc=ctl.get();if(workerCountOf(c)=((core?corePoolSize:maximumPoolSize)&COUNT_MASK))re
Semanteme
·
2023-09-16 05:32
java
学习
开发语言
java基础-集合-ConcurrentHashMap
源码学习
文章目录putValinitTablegetputValfinalVputVal(Kkey,Vvalue,booleanonlyIfAbsent){//不允许key或value为null,HashMap允许key为nullif(key==null||value==null)thrownewNullPointerException();//计算hash,将key的hashCode的高16位和低16位
Semanteme
·
2023-09-16 05:26
java
学习
哈希算法
Android-
推荐一个好用的Banner库
图片来源于网络之前做商城类App的时候,会遇到多个Banner需求,那么我们有没有办法快速实现Banner呢?答案是有的,具体怎么做请看我下面的分享。Banner引入implementation('io.github.youth5201314:banner:2.2.2')截止写博客的时间,最新的版本是2.2.2。需要注意的是2.1.0版本之后,仓库地址变成:repositories{maven{u
阿博聊编程
·
2023-09-15 10:03
android-
截图
截图if(Build.VERSION.SDK_INT>Build.VERSION_CODES.O){valb:Bitmap=Bitmap.createBitmap(resources.displayMetrics.widthPixels,resources.displayMetrics.heightPixels,Bitmap.Config.ARGB_8888)PixelCopy.request(w
病人乙
·
2023-09-14 20:00
android
android
studio
kotlin
Android-
添加新的语言支持(比如繁体)
这几天突然要发一个中国台湾版本,做法比较硬:复制一个工程,改包名,改图标,改api接口。语言全部都是繁体就行:Androidstudio添加新语言资源文件(res/values/....)如下:imageimageimage然后回车即可:image把对应的字符串翻译成繁体就行。至于翻译,有一些工具可以借鉴。同时网上也有很多多语言切换的方式,就是一个工程,一个app进行内部切换多语言支持的方式(像微
MonkeyLei
·
2023-09-14 18:23
JDK
源码学习
笔记(集合篇 - ArrayDeque)
ArrayDeque跟ArrayList以及LinkedList不同点在于,它是Resizable的双向数组,既有随机访问的便捷,也有poll,offer等双向队列的方法。我们先学习下它是个什么样的集合,后续等对java.util的package下的主要集合类有大体了解了再从用途,性能等点出发进行比较总结。构造-ConstructorpublicArrayDeque(){elements=newO
我要做大牛23333
·
2023-09-14 09:19
postgresql
源码学习
(五)—— 提交事务
结束事务分为两类:提交:CommitTransaction回滚(包含清理):AbortTransaction由于比较长,我们分开两篇记录。一、CommitTransaction1.gdb测试会话1,隐式事务会自动提交会话2跟之前一样,我们先只是过一遍这个函数流程,里面具体调用函数的步骤这里都会先跳过,避免深陷泥潭。LetsGo!2.具体代码与跟踪调用栈如下/**CommitTransaction*
Hehuyi_In
·
2023-09-14 03:33
源码学习
PostgreSQL
事务
源码
postgresql
事务
gdb
调试
Electron
源码学习
:Electron加密与安全
Electron加密与安全引言目前网络上主要流传的加密就只是网页文件打包成asar和JS混淆加密,以及用addon的方式,这几种方式的话,基本就没有什么破解难度。针对的官方asar的打包,这种方式就仅仅是将众多的文件以原文的形式放在一个文件中,不存在任何的加密手段;JS混淆加密这种方式仍然是可以通过看代码的方式来分析出原本的逻辑;addon的方式只要找到调用的接口那么很容易就会被干掉。我们这里讨论
星空漫步者
·
2023-09-13 15:52
Electron
Electron源码学习
javascript
node.js
c++
windows
程序人生
Electron
源码学习
:Windows下子进程跟随父进程结束的方式
Electron
源码学习
:Windows下子进程跟随父进程结束的方式前言最近在nodejs中使用了child_process来创建进程,惊奇的发现当使用child_process.spawn函数来创建的子进程会跟随父进程一起被
星空漫步者
·
2023-09-13 15:52
Electron
Electron源码学习
Electron
源码学习
: Electron组成与初始化流程
Electron
源码学习
:Electron组成与结构前言最近研究学习Electron的源码结构已经有一些小的进展,越接触Electron就越发现组成这个软件的大集合不得了.现在学习到的仍然是这个大集合的冰山一角
星空漫步者
·
2023-09-13 15:52
Electron源码学习
Electron
源码学习
: Electron程序体积裁剪(减小体积)
Electron
源码学习
:Electron程序体积裁剪(减小体积)前言此篇专题名称可能叫Electron的编译(虽然并没有具体的编译步骤,但实际上本文里面的各种技术都需要源码编译Electron)更为合适
星空漫步者
·
2023-09-13 15:52
Electron源码学习
Electron
c++
Electron
源码学习
:让管理员运行的Electron(CEF)支持文件拖拽
Electron
源码学习
:让管理员运行的Electron(CEF)支持文件拖拽背景前段时间接到一个任务,需要从Windows桌面拖拽文件或文件夹到Electron网页中;网页本身是支持这种拖拽行为的;我们的程序是以管理员权限运行的
星空漫步者
·
2023-09-13 15:47
electron
学习
Java并发包
源码学习
:阻塞队列实现之LBQ源码解析,负载均衡nginx面试
privatefinalintcapacity;/**原子变量,记录元素个数*/privatefinalAtomicIntegercount=newAtomicInteger();/**哨兵头节点,head.next才是队列的第一个元素*/transientNodehead;/**指向最后一个元素*/privatetransientNodelast;/**用来控制同时只有一个线程可以从队头获取元素
m0_64867152
·
2023-09-13 13:05
程序员
面试
java
后端
Android-
对空包进行签名;
jarsigner-verbose-keystore[game.keystore]-signedjar[D:\signed.apk][D:\unsign.apk][game.keystore.Alias]-digestalgSHA1参数说明:[game.keystore]game.keystore密钥库位置;[D:\signed.apk]生成的签名apk位置;[D:\unsign.apk]需要签名
huangasys
·
2023-09-13 05:39
【Spring Boot
源码学习
】OnClassCondition 详解
SpringBoot
源码学习
系列OnClassCondition详解引言往期内容主要内容1.getOutcomes方法2.多处理器拆分处理3.StandardOutcomesResolver内部类4.getMatchOutcome
Huazie
·
2023-09-12 07:12
开发框架-Spring
Boot
spring
boot
源码学习
OnClass
Condition
【Android
源码学习
】SharedPreferences
源码学习
第一章:SharedPreferences
源码学习
文章目录第一章:SharedPreferences
源码学习
AndroidSharedPreferences的缺陷MMKV、JetpackDataStore
无风子
·
2023-09-12 05:00
Android
源码学习
android
android
studio
java
Vue2.0
源码学习
2:模板编译和DOM渲染
开始上一节总结了Vue的响应式数据原理,下面总结一下Vue中模板编译。模板编译情景众多,复杂多变,现在只学习了普通标签的解析,编译,未能对组件,指令,事件等多种情况进行深入学习总结。模板编译基本流程解析模板代码生成AST语法树,主要依赖正则。image将ast语法树生成代码。with(this){return_c("div",{id:"app"},_c("div",{class:"content"
泰然自若_750f
·
2023-09-11 22:46
【Vue2.0
源码学习
】生命周期篇-初始化阶段(initState)
文章目录1.前言2.initState函数分析3.初始化props3.1规范化数据3.2initProps函数分析3.3validateProp函数分析3.4getPropDefaultValue函数分析3.5assertProp函数分析4.初始化methods5.初始化data6.初始化computed6.1回顾用法6.2initComputed函数分析6.3defineComputed函数分析
itpeilibo
·
2023-09-11 13:19
Vue深入学习
学习
前端
vue.js
【 OpenGauss
源码学习
—— 列存储(analyze)(四)】
列存储(analyze)AcquireSampleCStoreRows函数es_get_attnums_to_analyze函数CStoreRelGetCUNumByNow函数CStore::GetLivedRowNumbers函数InitGetValFunc函数CStoreGetfstColIdx函数CStore::GetCUDesc函数CStore::IsTheWholeCuDeleted函数
J.Kuchiki
·
2023-09-10 19:40
OpenGauss
gaussdb
postgresql
数据库
【 OpenGauss
源码学习
—— 列存储(analyze)(三)】
列存储(analyze)acquire_sample_rows函数RelationGetNumberOfBlocks函数BlockSampler_Init函数anl_init_selection_state函数BlockSampler_GetBlock函数ReadBufferExtendedPageGetMaxOffsetNumber函数HeapTupleSatisfiesVacuum函数heap
J.Kuchiki
·
2023-09-10 19:09
OpenGauss
postgresql
gaussdb
数据库
Android-
忘记签名文件的密码怎么办
今天工作需要,需要对老项目进行再次打包,居然发现大家都忘记了打包密码和别名,然后心态爆炸了一下午来处理这个事情,现在记录下我的解决方案。我的处理方法前提:.jks文件是项目还保留存在的,只是忘记了两个password和alias。Keypassword和Keyalias:1、下载AndroidKeystoreBrute.jar,下载地址。2、新建一个文件夹(随便命名),我命名是find,把下载的.
DP文剑平
·
2023-09-10 18:09
Android-
四种进程类型
程序与进程程序:存储在磁盘上的可运行的代码和数据的集合,是个静态的概念进程:程序的执行过程,是操作系统进行资源分配的基本单位,是个动态概念程序由一个或多个相互协作的进程组合而成。进程的创建当程序启动运行时,系统就会为之创建相应的进程。在进程当中,调用系统资源,执行程序的逻辑。进程的销毁进程什么时候会销毁呢?进程的销毁场景有两种,1.程序不需要继续执行代码,运行结束;2.系统为回收内存,强制销毁。进
Chaoswx
·
2023-09-10 14:43
进程
进程
Java并发包
源码学习
系列:基于CAS非阻塞并发队列ConcurrentLinkedQueue源码解析
文章目录非阻塞并发队列ConcurrentLinkedQueue概述结构组成基本不变式head的不变式与可变式tail的不变式与可变式offer操作源码解析图解offer操作JDK1.6hops设计意图poll操作源码解析图解poll操作总结参考阅读非阻塞并发队列ConcurrentLinkedQueue概述我们之前花了很多时间了解学习BlockingQueue阻塞队列接口下的各种实现,也大概对阻
天乔巴夏丶
·
2023-09-09 21:02
Java并发编程
队列
算法
编程语言
链表
uboot
源码学习
(11)u-boot初始化之board_init_f函数分析
一、在DDR初始化时,是由start.S中第155行blcpu_init_crit再跳转到第356行:ENTRY(cpu_init_crit)blowlevel_init@gosetuppll,mux,memoryENDPROC(cpu_init_crit)去到lowlevel_init.S文件初始化的,现在重新返回blcpu_init_crit执行之后的代码。start.S第158行开始:/*S
Amor Fati
·
2023-09-09 13:24
Uboot
golang
开发语言
后端
Spring容器创建过程
源码学习
-BeanDefinition 的注册(一)
BeanDefinition是在Spring容器创建过程中用来描述Bean的一个对象,包含了Bean属性值、构造函数值以及一些其他定义的信息,在容器创建之后,按照加载的BeanDefinition对象去创建相应的Bean。1、BeanDefinition描述的内容从基础的BeanDefinition接口中提供的方法来看,一个BeanDefinition有以下行为,大部分方法都是为了构建Bean的描
ZHANGDX_
·
2023-09-08 16:18
spring
Java HashMap
源码学习
JavaHashMap
源码学习
基本使用包含创建,添加,删除,迭代,打印valmap=java.util.HashMap()map.put(1,2)map.put(2,2)map.put(3,2)map.remove
自动2004郝金辉
·
2023-09-08 12:57
java
学习
哈希算法
Spring ApplicationContext的加载
配合
源码学习
加载ApplicationContext的加载流程Spring的上下文加载顺序AnnotationConfigEmbeddedWebApplicationContext的加载流程
SaberHaregi
·
2023-09-08 11:03
【Spring Boot
源码学习
】深入 FilteringSpringBootCondition
走近AutoConfigurationImportFilter引言往期内容主要内容1.match方法2.ClassNameFilter枚举类3.filter方法总结引言前两篇博文笔者带大家从源码深入了解了SpringBoot的自动装配流程,其中自动配置过滤的实现由于篇幅限制,还未深入分析。那么从本篇开始,Huazie就带大家走近AutoConfigurationImportFilter,一起从源码
Huazie
·
2023-09-08 09:14
开发框架-Spring
Boot
Spring
Boot
源码学习
自动配置过滤匹配父类
ClassNameFilter
dubbo
源码学习
(2)--服务注册
Dubbo的Provider,Consumer在启动时都会创建一个注册中心,注册中心可以选择Zookeeper,Redis。常用的是Zookeeper,我们这篇博客主要讲的就是Dubbo与Zookeeper的注册交互过程。 Dubbo里默认使用zkclient来操作zookeeper服务器,其对zookeeper原始客户单做了一定的封装,操作zookeeper时能便捷一些,比如不需要手动处理
未名枯草
·
2023-09-08 09:29
AQS
源码学习
1、AQS介绍AQS全称AbstractQueuedSynchronizer,是一个同步器,用来构建锁或者其他同步组件的基础框架。内部主要使用一个volatile修饰的state变量和一个FIFO双向队列来实现的。/***Headofthewaitqueue,lazilyinitialized.Exceptfor*initialization,itismodifiedonlyviamethodse
秃头哥编程
·
2023-09-07 14:25
spring5.x-声明式事务原理及源码实现
spring5.x-AOP实现原理及源码分析本系列文章:spring5.x-AOP实现原理及源码分析spring5.x-监听器原理及源码实现spring5.x-解决循环依赖分析spring5.x-IOC模块
源码学习
逍遥壮士
·
2023-09-06 05:11
源码学习
数据库
sql
mybatis
mysql
spring5.x-AOP实现原理及源码分析
上文:spring5.x-监听器原理及源码实现本系列文章:spring5.x-监听器原理及源码实现spring5.x-解决循环依赖分析spring5.x-IOC模块
源码学习
spring5.x介绍及搭配spring
逍遥壮士
·
2023-09-06 05:11
springmvc5.x-mvc实现原理及源码实现
声明式事务原理及源码实现系列文章:spring5.x-声明式事务原理及源码实现spring5.x-AOP实现原理及源码分析spring5.x-监听器原理及源码实现spring5.x-解决循环依赖分析spring5.x-IOC模块
源码学习
逍遥壮士
·
2023-09-06 05:41
源码学习
spring
mvc
OkHttp
源码学习
之5 ConnectInterceptor
ResponsegetResponseWithInterceptorChain()throwsIOException{//构建一整套拦截器Listinterceptors=newArrayListroutes=routeSelection.getAll();for(inti=0,size=routes.size();i
leilifengxingmw
·
2023-09-05 14:54
【Vue2.0
源码学习
】生命周期篇-初始化阶段(initEvents)
文章目录1.前言2.解析事件3.initEvents函数分析4.总结1.前言本篇文章介绍生命周期初始化阶段所调用的第二个初始化函数——initEvents。从函数名字上来看,这个初始化函数是初始化实例的事件系统。我们知道,在Vue中,当我们在父组件中使用子组件时可以给子组件上注册一些事件,这些事件即包括使用v-on或@注册的自定义事件,也包括注册的浏览器原生事件(需要加.native修饰符),如下
itpeilibo
·
2023-09-05 05:02
Vue深入学习
学习
javascript
前端
【Vue2.0
源码学习
】生命周期篇-初始化阶段(initInjections)
文章目录1.前言2.initInjections函数分析resolveInject函数分析3.总结1.前言本篇文章介绍生命周期初始化阶段所调用的第四个初始化函数——initInjections。从函数名字上来看,该函数是用来初始化实例中的inject选项的。说到inject选项,那必然离不开provide选项,这两个选项都是成对出现的,它们的作用是:允许一个祖先组件向其所有子孙后代注入一个依赖,不
itpeilibo
·
2023-09-05 05:30
Vue深入学习
学习
vue.js
javascript
mybatis
源码学习
-1-调试环境
写在前面,这里会有很多借鉴的内容,有以下三个原因本博客只是作为本人学习记录并用以分享,并不是专业的技术型博客笔者是位刚刚开始尝试阅读源码的人,对源码的阅读流程乃至整体架构并不熟悉,观看他人博客可以帮助我快速入门如果只是笔者自己观看,难免会有很多弄不懂乃至理解错误的地方,观看他人的体会能有效改善这个问题1.依赖工具MavenGitIdea2.源码拉取从官方仓库https://github.com/m
JiuYou2020
·
2023-09-05 03:29
mybatis
学习
mybatis
源码学习
-2-项目结构
写在前面,这里会有很多借鉴的内容,有以下三个原因本博客只是作为本人学习记录并用以分享,并不是专业的技术型博客笔者是位刚刚开始尝试阅读源码的人,对源码的阅读流程乃至整体架构并不熟悉,观看他人博客可以帮助我快速入门如果只是笔者自己观看,难免会有很多弄不懂乃至理解错误的地方,观看他人的体会能有效改善这个问题1.概述本文主要分享MyBatis的项目结构。希望通过本文能让胖友对MyBatis的整体项目有个简
JiuYou2020
·
2023-09-05 03:29
mybatis
学习
tomcat
mybatis
源码学习
-3-解析器模块
写在前面,这里会有很多借鉴的内容,有以下三个原因本博客只是作为本人学习记录并用以分享,并不是专业的技术型博客笔者是位刚刚开始尝试阅读源码的人,对源码的阅读流程乃至整体架构并不熟悉,观看他人博客可以帮助我快速入门如果只是笔者自己观看,难免会有很多弄不懂乃至理解错误的地方,观看他人的体会能有效改善这个问题1.目录结构XNode类:作用:XNode类表示XML文档中的一个节点(Element或Node)
JiuYou2020
·
2023-09-05 02:28
mybatis
学习
tomcat
Laravel
源码学习
基础知识
在学习Laravel源码前,有几个PHP的基础知识是必须熟悉的。基础知识熟悉之后,框架再复杂,也能慢慢地理解和上手。ComposerComposer是PHP的一个包依赖管理工具。你可以在自己的项目中声明所依赖的外部Package,Composer会帮你安装这些依赖的包文件。比如你的项目准备使用monolog/monolog来记录日志,你只需要:在命令行执行composerrequiremonolo
yangjingqzp
·
2023-09-04 22:50
长安链
源码学习
-智能合约 (八)
智能合约包括系统合约、业务合约,这节将阐述长安链合约是如何分类的,以及智能合约执行流程。1.合约分类系统合约1)系统合约名称:varContractName_value=map[string]int32{"SYSTEM_CONTRACT_CHAIN_CONFIG":0,"SYSTEM_CONTRACT_QUERY":1,"SYSTEM_CONTRACT_CERT_MANAGE":2,"SYSTEM
明神特烦恼
·
2023-09-04 18:36
Android-
代号、版本、API 级别和 NDK 版本对应关系
代号版本API级别/NDK版本Android12L12.1API级别32Android1212API级别31Android1111API级别30Android1010API级别29Pie9API级别28Oreo8.1.0API级别27Oreo8.0.0API级别26Nougat7.1API级别25Nougat7.0API级别24Marshmallow6.0API级别23Lollipop5.1API
Serenity那年
·
2023-09-04 15:48
spring 5.0.x
源码学习
系列十: 观察者设计模式与Spring 事件驱动模型
theme:channing-cyan前言上篇博客spring5.0.x
源码学习
系列九:FactoryBean和BeanFactory主要介绍了spring中的两个特殊的bean,FactoryBean
avengerEug
·
2023-09-04 08:24
VUE
源码学习
-全局api初始化
源码阅读路径src/core/global-api/index.js此文件主要做了以下几件事:定义Vue.config的属性,如下图所示(Vue.config.png)Vue.util上定义一些方法,(慎用)定义全局方法Vue.set、Vue.delete、Vue.nextTick、Vue.observable初始化Vue.options[components|directives|filters
一头会飞的大象
·
2023-09-03 09:41
【 OpenGauss
源码学习
—— 列存储(analyze)(二)】
列存储(analyze)概述analyze_get_relation函数VacuumStmt结构体Relation结构体代码段解读try_relation_open函数ConditionalLockRelationOid函数analyze_rel_internal函数BufferAccessStrategy结构体GBLSTAT_HDFS_SAMPLE_ROWS结构体do_analyze_rel函数
J.Kuchiki
·
2023-09-03 04:46
OpenGauss
postgresql
gaussdb
数据库
Android-
一个简单的手机屏保程序
本实例实现了一个手机屏保功能,控制和判断用户静止未触动手机键盘或者屏幕的时间及其事件,并且通过动态全屏幕渐入渐出的交换效果。我们以时间戳的方式,判断距离上一次单击键盘或者屏幕的时间,计算两个时间的差值。当超过了设置的时间后,会进入屏保程序。具体实现代码如下:在activity_main.xml文件中:接下来在MainActivity声明需要的变量privateImageViewimageView;
见哥哥长高了
·
2023-09-02 07:58
上一页
7
8
9
10
11
12
13
14
下一页
按字母分类:
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
其他