- 博客(182)
- 收藏
- 关注

原创 设计模式——工厂方式模式、抽象工厂模式(简单工厂、静态工厂、配置文件+简单工厂)(创建型模式)
设计模式——创建型模式(简单工厂、静态工厂、工厂方式、抽象工厂、配置文件+简单工厂)
2022-07-26 19:09:01
150

原创 String、StringBuffer、StringBuilder原理详解
String、StringBuffer、StringBuilder原理详解
2022-07-17 13:55:51
909

原创 数据结构:HashMap、ConcurrentHashMap底层原理
HashMap底层原理JDK1.7put方法存的是键值对对象第一步:初始化一个数组(第一次需要初始化,后面不需要)第一次放元素的时候还没有开辟空间,默认值为16(这个值一定是2的幂次方)第二步:根据key的值计算一个哈希值h右移动再异或的原因:让高位参与运算,防止计算出的数组下标相同的太多第三步:根据哈希值和数组容量计算数组下标与运算,算出一个数组下标值(与运算比取余要快)与运算的过程:二进制运算,都为1才为1,否则为0这就是...
2022-03-17 10:00:12
504

原创 算法:二分查找、插值查找、斐波那契查找
public class 二分查找 { public static void main(String[] args) { int[] arr = {4, 9, 12, 16, 16, 16, 16, 16, 20, 33, 34, 56, 77};// ArrayList<Integer> list = binarySearch3(arr, 16, 0, arr.length - 1);// System.out.printl...
2022-03-09 00:40:13
756
1

原创 经典问题:01背包、完全背包、多重背包、二维费用背包
public class 背包01 { public static void main(String[] args) { int[] weight = {0, 1, 4, 3};//物品的重量 int[] value = {0, 1500, 3000, 2000};//物品的单价 int c = 4;//书包的容量 dp(weight, value, c); } public s...
2022-02-26 14:16:06
243
原创 设计模式——适配器模式(类适配器、对象适配器)(结构型模式)
适配器模式(Adapter)包含以下主要角色目标(Target)接口当前系统业务所期待的接口,它可以是抽象类或接口。适配者(Adaptee)类它是被访问和适配的现存组件库中的组件接口。适配器(Adapter)类它是一个转换器,通过继承或引用适配者的对象,把适配者接口转换成目标接口,让客户按目标接口的格式访问适配者。.........
2022-07-27 11:24:19
666
原创 设计模式——建造者模式(创建型模式)
将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。分离了部件的构造(由Builder来负责)和装配(由Director负责)。从而可以构造出复杂的对象。这个模式适用于某个对象的构建过程复杂的情况。由于实现了构建和装配的解耦。不同的构建器,相同的装配,也可以做出不同的对象;相同的构建器,不同的装配顺序也可以做出不同的对象。也就是实现了构建算法、装配算法的解耦,实现了更好的复用。建造者模式可以将部件和其组装过程分开,一步一步创建一个复杂的对象。......
2022-07-27 09:32:25
121
原创 JUC(生产者消费者模型、Lock&Condition)
目录1. 信号灯法(Synchronized实现)解决虚假唤醒编辑2. 信号灯法(Lock实现)2.1 基本实现2.2 Condition精准通知3 管程法 3 管程法
2022-07-12 11:16:05
176
原创 JUC(静态代理、死锁、开线程、Synchronized/Lock)
目录1.基本概念1.1 进程、线程1.2 并发、并行编辑2.线程有几种状态编辑3. wait/sleep4.静态代理5.死锁5.1 产生死锁的四个必要条件5.2 代码死锁解除死锁6.开线程标准写法6.1 synchronized标准写法6.2 Lock标准写法7. Synchronized和Lock区别 解除死锁6.开线程标准写法6.2 Lock标准写法7. Synchronized和Lock区别...
2022-07-12 00:11:17
160
原创 Redis——SpringBoot整合、持久化、集群(主从、哨兵、分片)
1.2 自定义RedisTemplate1.2.1 传递对象的两种方式1.pojo序列化——jdk默认的序列化2.手动转json1.2.2 配置序列化方式RDB全称Redis Database Backup file(Redis数据备份文件),也被叫做Redis数据快照。简单来说就是把内存中的所有数据都记录到磁盘中。当Redis实例故障重启后,从磁盘读取快照文件,恢复数据。快照文件称为RDB文件,默认是保存在当前运行目录。RDB持久化在四种情况下会执行:(1
2022-07-06 00:04:37
1284
原创 Redis——基本使用(key、String、List、Set 、Zset 、Hash、Geo、Bitmap、Hyperloglog、事务、全局唯一ID )
1.下载下载redis-6.0.6.tar.gz到/usr/local/src目录2.解压tar -zxvf redis-6.0.6.tar.gz3.进入目录cd /usr/local/src/redis-6.0.64、基本的环境安装yum install -y gcc tclmakemake installmyconfig->redis.conf 1.进入安装目录cd /usr/local/bin2.指定配置文件开启redis-server myconfig/redis.confredis命令手册http
2022-07-02 19:08:56
189
原创 微服务——SpringCloud
在order-service服务中的OrderApplication启动类中,注册RestTemplate实例:1.2 实现远程调用修改order-service服务中OrderService类中的queryOrderById方法:2.Eureka2.1搭建eureka-server微服务在cloud-demo父工程下,创建一个子模块引入SpringCloud为eureka提供的starter依赖3)编写启动类给eureka-server服务编写一个启动类,一定
2022-06-16 12:50:55
103
原创 Linux、VMware
目录1.概述2.文件结构3.基本命令3.1关机3.2目录管理4.文件4.1查看文件属性4.2 修改文件属性4.3文件内容查看 编辑5.Linux链接6.Vim编辑器6.1三种模式6.2基本使用流程编辑编辑7.账号管理编辑8.用户组管理9.磁盘管理10.进程管理......
2022-06-14 08:56:28
75
原创 MyBatisPlus
目录1.MyBatisPlus标准数据层开发1.1 开发步骤1.2 lombok编辑安装插件导坐标使用1.3 标准数据层CRUD功能——基本增删改查1.4 标准数据层CRUD功能——分页配置拦截器测试开日志2.DQL控制(条件查询)2.1 条件查询方式条件查询null值处理2.2 查询投影2.3 查询条件设定2.4 字段映射与表名映射 编辑3.DML控制 3.1 Insert3.1.1 id生成策略控制 1. 指定id 2. 采用数
2022-06-08 19:39:39
312
原创 SpringBoot——基础配置、整合第三方技术
目录1. 基础配置1.1 配置文件格式(3种)自动提示功能消失解决方案1.2 yaml1.2.1数据格式1.2.2 读取方式(application.yaml)1.3 多环境启动1.3.1多环境开发配置 yml / yaml properties编辑1.3.2 多环境启动命令格式1.3.3 Maven与SpringBoot关联操作(多环境配置)1.4 配置文件分类2.整合第三方技术2.1 整合JUnit2.2 基于SpringBoot实现SSM整合 方式一:方式二:
2022-06-07 10:23:20
170
原创 SpringBoot——创建、快速启动
目录1.入门案例1.1 IDEA创建SpringBoot工程(必须联网)1.2 Spring官网创建SpringBoot工程 1.3 Spring程序与SpringBoot程序对比2. SpringBoot项目快速启动2.1 启动步骤2.2 快速启动原理编辑2.2.1 起步依赖 2.2.2 引导类编辑 Spring | Homehttps://spring.io/ Spring Initializrhttps://start.spring.io/ 换技术、加技术...
2022-06-06 18:47:17
306
原创 Maven高级
目录1. 分模块开发2. 依赖管理2.1 依赖传递2.2 依赖传递冲突问题编辑2.3 可选依赖 2.4 排除依赖 编辑3. 聚合与继承3.1 聚合3.2 继承4. 属性与版本管理 4.1 属性 4.1.1 属性配置与使用4.1.2 资源文件引用属性编辑4.1.3 其他属性4.2 版本管理5. 多环境配置与应用5.1 多环境配置使用方式1——常用使用方式25.2 跳过测试5.2.1 跳过全部测试5.2.2 跳过部分测试6.私服6.1 私服简介6.2 私服仓库分类6.3 资源上传与下载
2022-06-06 11:03:17
66
原创 SpringMVC——拦截器Interceptor
目录1.拦截器概念编辑2.入门案例2.1定义 ProjectInterceptor类,实现HandlerInterceptor接口,配上@Component2.2配置类SpringMvcSupport,继承WebMvcConfigurationSupport,配上@Configuration2.3加上包扫描2.4测试拦截生效拦截不生效3.拦截器配置文件3.1 路径可以通过可变参数设置多个 "/books","/books/*拦截生效 3.2 简化写法4.拦截器参数5.拦截器工作流程5.
2022-06-04 10:13:55
499
原创 SSM整合
目录准备数据库表1.框架整合1.1导坐标1.2准备配置文件jdbc.properties1.3配置类整合框架1.4开启事务2.业务层2.1 pojo 2.2 dao2.3 service2.4 业务层测试3.表现层3.1数据封装3.2controller3.3异常处理4.前后台联合4.1静态资源放行4.2前后台联合1.框架整合1.1导坐标1.4开启事务2.2 dao2.3service2.4业务层测试
2022-06-03 10:52:28
56
原创 SSM整合——表现层(返回数据封装、异常处理)
目录表现层目录结构编辑 1.数据封装1.1自定义Result类1.2 自定义状态码1.3控制器类2.异常处理器2.1自定义异常(系统级、业务级)2.2自定义异常编码(持续补充)2.3 触发自定义异常2.4拦截并处理异常 1.2 自定义状态码2.异常处理器所有的异常均抛出到表现层进行处理!!!.........
2022-06-01 19:00:13
489
原创 SpringMVC——REST风格
目录1.基本使用1.1REST简介编辑1.2 入门案例1.3 RESTful入门小结2. RESTful快速开发3. REST数据交互案例3.1 后台接口3.2 页面访问处理静态资源放行3.3 页面后台绑定 3.2 页面访问处理静态资源放行3.3 页面后台绑定
2022-06-01 10:58:29
199
原创 SpringMVC——请求与响应
目录1.请求映射路径2.请求参数2.1参数传递get请求编辑post请求2.2中文乱码处理2.4五种类型参数传递普通参数(解决请求参数名与形参名不同)pojo参数嵌套pojo参数数组参数集合参数3 json数据传递参数3.1 json数组1.导坐标2.改核心配置3.参数前面加@RequestBody4.发送请求3.2 json对象 (pojo)3.3 json数组(pojo)@RequestBody与@RequestP
2022-05-31 19:34:17
283
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人