主页

java中的常量池

JVM常量池主要分为Class文件常量池、运行时常量池,全局字符串常量池,以及基本类型包装类对象常量池。 1、Class文件常量池 class文件是一组以字节为单位的二进制数据流,在java代码的编译期间,我们编写的java文件就被编译为.class文件格式的二进制数据存放在磁盘中,其中就包括class文件常量池。 class文件中存在常量池(非运行时常量池),其在编译阶段就已经确定,jvm规范对class文件结构有着严格的规范,必须符合此规范的class文件才能被jvm任何和装载。为了方便说明,我们写个简单的类 <code>class JavaBean{ private int value = 1; public String s = "abc"; ...

阅读更多

简述HashMap的扩容机制(JDK7 和JDK8 对比)

名词简述: capacity 容量,默认16 loadFactor 负载因子,默认0.75 threshold 阈值 阈值=容量*负载因子,默认12,空参构造hashMap时。当map中的元素个数大于阈值时会触发扩容 什么情况下会扩容 (JDK7和JDK8的情况不同) 一般情况下,在元素个数大于阈值时会发生扩容,每次扩容的容量都是之前容量的两倍。 HashMap的容量是有上线的,容量最大为1»3​0,自行百度计算大小。超过了这个值则不会再增长,并且阈值会设置成,即永远都不会超过阈值 对比JDK7 和JKD8 的扩容机制 JDK7的扩容机制相对简单,有以下特性: ...

阅读更多

浅谈 ArrayList 及其扩容机制

ArrayList类又称动态数组,同时实现了Collection和List接口,其内部数据结构由数组实现,因此可对容器内元素实现快速随机访问。但因为ArrayList中插入或删除一个元素需要移动其他元素,所以不适合在插入和删除操作频繁的场景下使用。   ArrayList的容量可以随着元素的增加而自动增加,因此不用担心ArrayList容量不足的问题。   ArrayList是非线程安全的。   接下来,我们将解析ArrayList的构造方法,在看构造方法之前,我们先来明确一下ArrayList源码中的一些概念。这些变量和对象大家可能有疑惑,先记住就好了,后面会看到它们的用途。 <code>// 默认的容量大小(常量) private static final in...

阅读更多

MyBatis Plus 代码生成器(最新版本:V3.5.3)使用指南

官方文档 快速入门 代码生成器配置(新) 示例项目技术栈 spring boot 2.7.4 mybatis 3.5.9 mybatis plus 3.5.2 mybatis plus generator 3.5.3 mysql 8 velocity 2.3 hutool 5.8.8 lombok 1.2.11 示例程序选择的技术都是目前为止的最新版本。 示例项目创建步骤 1、创建测试数据表 建表脚本: <code>DROP TABLE IF EXIST...

阅读更多

CE修改器使用教程

Cheat Engine 一般简称为CE,它是一款开放源代码的作弊软件,其主要功能包括、内存扫描、十六进制编辑器、动态调试功能于一体,且该工具自身附带了安全工具,可以用它很方便的生成自己的脚本,CE可以说是目前最优秀的游戏修改器不是之一,这款修改工具绝对值得你去学习,只需要花一点点时间就够了。 环境准备::配置CE 该工具打开后默认是英文的,你需要修改一下,如下所示,选择 edit -> setting -> 选择中文,重启即可。 1.打开解压后的CE目录你可以看到下面的目录结构,其中 Cheat Engine.exe 就是CE的主进程,而 Tutorial-i386.exe 则是一个练习环境,我们后续内容都会围绕这个练习环境展开. 2.接着我们打开...

阅读更多

Pandownload 加速脚本制作

如何制作百度网盘不限速接口 自制 Pandownload 接口适用于一个会员账户可多人共享下载不限速特权,无需登录,下载可直接轻松跑满带宽! 保姆级教程,大家跟着操作一遍即可学会 自制需要准备东西: 一个百度网盘会员账户 百度网盘获取 Cookie 工具 脚本生成器 v1.7 会员账号需要各位自行准备,但软件和工具我都有给大家准备好 1.1 自动获取 Cookie 首先打开文件夹”百度网盘获取 Cookie 工具”,找到文件夹内的“百度网盘获取 Cookie 工具.exe”,打开此软件 点击左上角的“开启”,开启后此软件会自动抓取制作者的网盘 Cookie 开启后,请切记不要关闭此软件,将其最小化放置在后台即可 1.2 登录网盘 Cookie 工具打开后,需要电脑登录百度...

阅读更多

更新docker容器内文件

Docker修改容器内部文件的方法一共有三种,下面进行一一介绍。 1、进入容器内部修改 使用下面的命令以命令行的形式可以进入容器的内部对文件进行修改。 <code>docker exec -it 容器ID /bin/bash</code> 不过里面没有vim,需要自行安装,安装代码如下所示。不过不推荐这种形式,因为里边的文件是临时的,容器被删除之后,配置就失效了,需要从新配置。 <code>apt-get update apt-get install vim</code> 2、通过docker cp拷贝进行修改 可以通过下面的代码将需要修改的文件拷贝出来,修改完成之后再拷贝回去。这种方式其实和第一种差不多,只是不用安装v...

阅读更多