文章目录写在前面命令执行底层分析写在前面新法颁布,很多也不敢发了,就偶尔写一篇有意思的东西吧命令执行底层分析注意本篇是基于windows平台进行的分析 环境这方面就不多说了VisualStudio、Vscode、php-src源码编译 插件用了c\c++、CodeRunner,环境很简单不想多说,直接干活 故事从一个system('whoami');说起,你明天都输入这些函
原创
2022-10-27 02:10:01
122阅读
众所周知HashMap是一个无序的Map,因为每次根据key的hashcode映射到Entry数组上,所以遍历出来的顺序并不是写入的顺序。因此JDK推出一个基于HashMap但具有顺序的LinkedHashMap来解决有排序需求的场景。它的底层是继承于HashMap实现的,由一个双向链表所构成。LinkedHashMap的排序方式有两种:根据写入顺序排序。根据访问顺序排序。其中根据访问顺序排序时,
原创
2020-12-09 22:33:23
162阅读
Redis为kv的,而Redis底层又是由c语言写成的,一切皆字典dict,和java的一切皆对象ObjectRedis的key类型一般为字符串,value为redis类型Redi
原创
2022-05-26 01:19:41
246阅读
众所周知 HashMap 是一个无序的 Map,因为每次根据 key 的 hashco
原创
2022-11-15 11:44:28
45阅读
众所周知 HashMap 是一个无序的 Map,因为每次根据 key 的 hashcode映射到 Entry 数组上,所以遍历出来的顺序并不是写入的顺序。
因此 JDK 推出一个基于 HashMap 但具有顺序的 LinkedHashMap 来解决有排序需求的场景。
它的底层是继承于 HashMap 实现的,由一个双向链表所构成。
LinkedHashMap 的排序方式有两种:
根据写入顺
转载
2021-06-14 17:05:31
101阅读
String源码底层解析,知识点集合
目录String底层解析关于StringString内部结构String的构造方法String中的对比——equals()和compareTo()的对比String的常用方法清单关于equals()方法:“==”和equals()的区别?为什么用final修饰String类?String和StringBuilder、
转载
2023-06-15 08:15:20
59阅读
集合类开始更新吧~ java的集合类均来自于 java.util包下java单列顶层接口 Collection 先看看该接口的定义:public interface Collection<E> extends Iterable<E> 可以看出顶级接口Collection 继承了 Iterable ,而Iterable 的定义是这样的: package java.lang;
转载
2023-08-11 18:20:32
54阅读
本文从底层原理分析Nginx为什么这么快。
转载
2022-04-20 21:34:14
269阅读
创建对象流程 1.半初始化状态 申请内存空间,成员变量设置为变量类型的默认值 2.调用构造方法,成员变量设置为变量的初始值,初始化完成 3.建立引用关联,把实例变量和内存地址关联起来 半初始化 初始化完成 创建对象完成 this对象逃逸 对象的半初始化状态 指令的重排序 两者结合到一起的话就会出现t
原创
2023-08-18 09:06:33
13阅读
1 认识SpringBoot1.1 介绍SpringBoot的底层是Spring,SpringBoot是为了解决Spring整合开发过程中配置过于复杂而诞生的,它简化了Spring技术栈的开发,是一个开发Spring技术栈的快速开发的脚手架,也可以说是整合Spring技术栈的一站式框架。SpringBoot的字面意思就是”Spring的开始”,也就是说,开发和使用Spring技术栈就从Spring
对IOC的理解: Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。 理解好Ioc的关键是要明确 谁控制谁?控制什么?为何是反转?(有反转就应该有正转了)哪 ...
转载
2021-09-23 00:11:00
119阅读
2评论
1、Redis的数据结构 Redis 的底层数据结构包含简单的动态字符串(SDS)、链表
原创
2022-11-22 10:43:04
69阅读
1 先看构造器按照指定容量初始化一个elementData数组,就是个object数组按照默认容量初始化数组 我们api说是默认容量是10,但是代码里面是0。往下看,其实是在第一次add()的时候才会初始化为10 2 再看add()方法很简单,先判断是否扩容,再赋值。所以重点看扩容的ensureCapacityInternal() ↑ 如果是个默认空数组直
原创
2022-07-04 06:45:43
10000+阅读
文章目录ArrayList 集合底层原理LinkedList 集合(底层双链表)Iterator 迭代器源码分析HashSet 底层原理HashMap 底层原理TreeMap 底层原理 ArrayList 集合底层原理原理: ① 利用空参创建的集合,在内存中是默认长度为0的 ② 添加第一个元素的时候,底层会创建一个长度为10的数组 ③ 存满时,会扩容1.5倍 ④ 如果一次添加多个元素,1.5倍还
转载
2023-09-03 10:43:26
37阅读
5.1 wireshark简介和抓包原理及过程5.2 实战:WireShark 抓包及快速定位数据包技巧5.3 实战:使用 WireShark 对常用协议抓包并分析原理数据包分析称为数据包嗅探,协议分析,我们捕获和解析网络上传输数据包的一个过程。为了更好的了解网络上发生了什么事情,数据包整个分析的过程,是由数据包嗅探器来分析的。通过数据包嗅探器,我们可以了解网络上的特征,查看网络上通信的主体,确认
大家都知道索引的重要性,基本用法在上章《最全面的mysql索引知识大盘点》已
原创
2023-05-14 23:13:08
93阅读
AIGC(Artificial Intelligence Generated Content,人工智能生成内容)领域的底层技术是一个复杂而多维的体系,其核心在于利用人工智能技术,特别是自然语言处理(NLP)、机器学习、深度学习、生成对抗网络(GAN)等技术的累积融合,来自动生成各种类型的文本、图像、音频、视频等内容。以下是对AIGC领域底层技术的详细分析:1. 自然语言处理(NLP)NLP是AIG
转载:http://my.oschina.net/u/2400412/blog/480595一、数据结构 Map将实际数据存储在Entry类的数组中。 代码片段: Java代码 transient Entry[] table;//HashMap
转载
精选
2015-07-20 14:30:15
784阅读
它是HashSet的子类底层是一个LinkedHashMap(HashMap的子类
原创
精选
2023-04-08 08:47:50
308阅读
企业中一般都会封装rocketmq同步异步单向方法,你只需要配置好nameserver地址topictag消息体等,然后调用封装方法进行发送即可。
原创
2022-09-20 16:15:53
227阅读