- 博客(28)
- 收藏
- 关注
原创 HashMap
比较常见Map家族数组的特点:查询效率高,插入,删除效率低。链表的特点:查询效率低,插入,删除效率高。java1.7 之前是数组+链表 ,1.8 之后是 数组+链表+红黑树HashMap是基于哈希表的Map接口的非同步实现。默认初始化容量。这个是在采用无参构造方法实例化HashMap的时候,默认使用16作为初始化容量。在第一次put的时候使用16来创建数组。当超出阈值(默认是0.75*16=12),数组容量为扩容为之前的2倍。默认负载因子;默认负载因子值为0.75,但是可以通过构造方法来指定。
2023-03-13 14:50:36
312
1
原创 简单工厂及二十三种设计模式(二),附代码详解
该方法委托策略变量调用具体策略所实现的策略接口中的方法(实现接口的类重写策略(接口)中的方法,来完成具体功能)上下文是依赖于接口的类(是面向策略设计的类,如下图Context类),即上下文包含用策略(接口)声明的变量(如下图的strategy成员变量)。策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。传统的实现方式,通过传统if代码判断。适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
2023-02-14 12:06:59
196
原创 MySQL Explain执行计划key_len附加实际计算场景
索引是:`ent_id`, `delete_flag`, `alarm_date`, `device_code`的情况下,explain后的结果是多少呢?DEFAULT NULL需要多加1;DEFAULT NULL需要多加1。DEFAULT NULL需要多加1。DEFAULT NULL需要多加1。DEFAULT NULL需要多加1。DEFAULT NULL需要多加1。DEFAULT NULL需要多加1。使用utf8mb4,255*4。动态列类型,需要多加2。动态列类型,需要多加2。tinyint都是1。
2023-01-05 17:15:31
339
原创 SpringBoot使用Knife4j无法引入@EnableSwagger2WebMvc注解
SpringBoot使用Knife4j无法引入@EnableSwagger2WebMvc注解, 报错以下问题。
2022-11-16 14:18:13
4944
4
原创 Mybatis-Plus基于SpringBoots框架和H2数据库踩得坑
错误:我的mybatis-plus-core原来是2.1.8版本,mybatis-plus-boot-starter是3.5.2版本。正确:mybatis-plus-core->3.5.2版本,mybatis-plus-boot-starter->3.5.2版本。注意mybatis-plus相关依赖的版本号,解决方案去https://mvnrepository.com/官网上查询版本号。官方使用的是application.xml, 不习惯我使用的是applicaion.properties。
2022-11-14 13:54:05
1399
原创 使用IDEA连接h2数据库报“org.h2.jdbc.JdbcSQLSyntaxErrorException...”
通过添加OLD_INFORMATION_SCHEMA=TRUE 到URL来解决。当连接h2数据库的时候,idea尝试使用以下sql语句。而h2新版本不再支持该语句。
2022-11-14 10:57:33
3528
1
原创 解决H2创建表的时候出现的expected “ARRAY, INVISIBL...问题
在使用里的H2作为初始项目的时候,出现了一直创建不了表的问题。(id BIGINT(20) NOT NULL COMMENT '主键ID',name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',age INT(11) NULL DEFAULT NULL COMMENT '年龄',email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',);
2022-11-11 18:09:06
2187
原创 简单工厂及二十三种设计模式(一),附代码详解
在学习之初,可以先了解一下三个问题。设计模式从何而来?设计模式是什么?设计模式分别解决的是什么问题?
2022-09-20 16:46:43
1173
2
原创 接口注入优于实现类注入的详细论证
介绍一个场景,客户想要使用某种存储方式(数据库存储,或者text文件格式)来进行对象的写入。首先,我们写了一个存储的接口(IStorage ),并且提供了一个写入(write)的方法。/*** 写入*/}现在有两种方式来实现这个接口,一种是数据库存储(DataBaeStorage ),一种是text文件格式(TextFileStorage )来进行存储。这两种方式实现了存储的接口(IStorage ),所以重写各自的写入方法。@Override。
2022-09-06 15:19:33
724
原创 @RequestMapping、@PostMapping、@GetMapping区别
介绍@RequestMapping、@PostMapping、@GetMapping均为映射请求路径,可作用于类或方法上。@RequestMapping、@PostMapping、@GetMapping区别@RequestMapping(value = "xxx", method = RequestMehod.POST)等价于@PostMapping("xxx")@RequestMapping(value = "xxx", method = RequestMehod.GET)等价于@..
2022-05-26 10:52:37
2101
原创 springcloudtencent模块尝试
熔断降级验证Feign调用执行以下命令发起Feign调用,其逻辑为ServiceB抛出一个异常curl -L -X GET "localhost:48080/example/service/a/getBServiceInfo"预期返回情况:在出现hello world ! I'm a service B1时,表示 B2 已经被熔断了,请求只会打到 B1。验证多场景调整 example-b 和 example-b2 中 resource/bootstrap.yml
2022-05-26 10:34:20
582
2
原创 JVM里 堆(stack) 栈(heap) 总结
堆 栈 英文名 heap stack 相关数据类型 包装类,如Integer,String, Double 放基本数据类型,即int,short, long, byte, float, double, boolean, char 缓存 二级缓存 生命周期是由虚拟机的垃圾回收算法来决定的 一级缓存 通常都是被调用时处于存储空间中,调用完毕立即释放 数据结构 堆排序 先进后出的数据结构 相关代码 ne...
2022-05-17 16:14:53
202
1
原创 模块“DevicePowerOn”启动失败
解决方案:1. 记事本打开.vmx文件2.vmci0.present = "TRUE"改成vmci0.present = "FALSE"
2022-05-12 11:09:07
5328
原创 Typora使用PicGo及Github搭建属于自己的图床
目录1. 创建github仓库2. 设置图床所需要的个人token3. 设置PicGo的GitHub图床4. 上传失败(服务端出错,请重试)1. 创建github仓库2. 设置图床所需要的个人token生成token后,把出现的token保存好了。见过这次之后就不会再出现了!!!见过这次之后就不会再出现了!!!见过这次之后就不会再出现了!!!如果不幸忘记了,没保存,那就重新生成一次。。。3. 设置PicGo的Gi
2022-05-11 11:21:31
331
原创 Kubernetes学习
概念: Master 组件 1.1kube-apiserver 1.2ETCD 1.3kube-controller-manager 1.4cloud-controller-manager 1.5kube-scheduler 1.6插件 addons 1.6.1DNS 1.6.2用户界面 1.6.3容器资源监测 1.6.4Cluster-leve..
2022-05-10 14:48:01
127
原创 curl: (1) Protocol “‘http“ not supported or disabled in libcurl
其实非常简单就是把单引号变成双引号
2022-05-06 16:30:02
381
原创 apache-maven-3.8.5安装指南(window)
1. 下载并且解压下载地址:Maven – Download Apache Maven将解压后文件里的apache-maven-3.8.5文件夹放到你想要放到的安装位置2. 环境变量的设置a. 按照步骤进入设置环境变量b. 新建系统变量M2_HOMED:\apache-maven-3.8.5c. 新增PATH变量%M2_HOME%\bind. 打开cmd验证mvn -version...
2022-05-03 18:05:58
1448
原创 反射初始化
背景反射,何为反,那一定是有正的存在。名词解释正射:我们写代码的时候都是要先知道类,然后实例化对象,俗称new它。反射:根据实例化的对象找到类。初始化Class是所有反射的开端,java定义了三种方式获取这个类的实例化对象。1. 通过Object类的getClass方法获取2. 使用"类.class"获取3. 使用Class类内部定义的一个static方法package com.jiling.selfstudy.reflect;/** * @desc.
2021-08-11 10:11:58
482
原创 多线程初始化
背景1. 面试高频考点2. 接口优化:大量请求同一个接口时,并发问题的出现。3. 扩展:线程池,线程安全问题,生产者消费者问题名词解释进程关键词:资源分配的基本单位,程序执行实例顺序一个人写三个项目,完成一个项目的所有的开发才能开始下一个项目的。例如:先开始写项目A的代码再写项目B的代码,再写项目C(线程)的代码,在没完成任何一个项目前不允许参与其他项目的开发。线程关键词:程序执行时的最小单位,堆栈,局部变量,CPU独立调度执行单核CPU:多个线程
2021-07-30 18:26:10
346
原创 java时间类使用
背景想要的时间类型format格式化后会变成String类型,但是如果需要Date类型,可以使用的工具类。Date beginTime = DateUtil.beginOfDay(new Date());Date endTime = DateUtil.date().setField(DateField.MINUTE,0).setField(DateField.SECOND,0);#输出结果#2021-07-15 00:00:00#2021-07-15 13:00:00..
2021-07-15 13:39:53
193
原创 修改docker容器中文件(配置文件)
背景:在使用docker搭建hadoop时需要修改docker容器里的文件,不想装ubutu所以在容器里用不了vim命令修改文件。1. 查看容器名称docker ps2.
2021-07-14 19:24:38
1609
原创 Git 分支管理(Mac)
创建项目连接github1. 根据自己的喜好在指定位置新建文件夹,打开terminal并且进入到这个空文件夹内部cd /Users/jilingy/IdeaProjects/GitStart/2. 通过命令git init把这个文件夹变成Git可管理的仓库git init3. 复制粘贴想要上传的代码或者文件到新建的文件夹内4. 添加文件夹里所有的文件到仓库(或git add .把该目录下的所有文件添加到仓库,注意点是用空格隔开的)git add .5.git co.
2021-07-08 15:12:34
424
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人