自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 收藏
  • 关注

原创 常见八大排序算法实现

常见排序算法的实现(8种)冒泡排序快速排序插入排序希尔排序选择排序归并排序基数排序堆排序需要先了解各排序算法的原理冒泡排序/** * TODO * 冒泡排序 * 相邻两个比较,重复多轮 * @author Redamancy * @version 1.0 * @since jdk 1.8 */public class BubbleSort { public static void main(String[] args) { int[] arr = new i

2020-09-13 00:40:14 397

原创 Stable Diffusion

(安装python的时候切记要手动勾选上?to Path 选项,也就是默认安装路径,默认安装在C盘用户目录下,这里用户名建议不要中文,免得后期出问题,虽然我是中文暂时还没问题)坑1.0(资源下载不全)坑2.0(缺少配置文件)

2024-01-15 19:05:56 526

原创 阅读笔记lv.4

当数据表小的时候,这是没问题的,但当数据量大的时候,比如未发送的短信到了百万量级 的时候,你就会发现,上面的sql查询时间会变得很长,最后timeout报错,查不出结果了。的话,可以将更新行数的sql放入到对应事务里,这样既能满足事务隔离性,还能快速读取到行数信息。的话,那可以用explain里的rows,这可以满足大部分的监控场景,实现简单。而事务,有四层隔离级别,其中默认隔离级别就是可重复读隔离级别(RR)但这个过程,根据count()方法括号内的传参,有略有不同。终极进化(责任链工厂改造)

2024-01-12 14:39:42 874

原创 服务器获取Jar包运行目录

如果你只需要获取当前工作目录或启动 JAR 的目录,且不关心 JAR 文件所在路径,那么使用 System.getProperty(“user.dir”) 方法是更简单和直接的选择。但如果你需要获取正在运行的 JAR 文件的路径,并且应用程序是作为 JAR 文件运行的,那么使用 ProtectionDomain 和 CodeSource 类可以提供准确的 JAR 包路径信息。如果应用程序是作为 JAR 文件运行的,那么这个方法将会返回启动 JAR 的目录,而不是 JAR 文件本身的路径。

2023-09-11 16:28:19 1436

原创 【AES对称加密 KeyStore使用 EhCache 使用】

AES对称加密算法例子KEYSTORE 数据存储读取例子EhCache 缓存使用

2023-07-17 16:15:30 186

原创 微信商家支付

【商家付款到零钱】(注意各个参数到底是什么就简单了)

2023-04-04 11:56:13 322 2

原创 【EasyExcel 简单使用】

导入功能的场景较为常见,除了实现导入一般还需要对字段进行一定的校验,并将返回结果返回给前端,提示用户对不符合规范的数据进行修改后重新导入。

2023-04-04 11:18:43 599

原创 领域驱动设计学习记录

DDD模型完整性笔记

2022-12-02 09:49:01 128

原创 MySQL存储过程

学习一波被人遗忘的存储过程

2022-11-14 18:12:14 315

原创 【el-tree 应用】

el-tree 自定义效果

2022-10-11 18:05:04 566

原创 文件差异对比工具

记录文件差异对比工具使用如何将生产环境与测试环境id相同的数据记录,将其中有更改的记录的字段标识出来。例如一张表字段有 id , sex, age生产环境:1 男 16测试环境:1 男 20把id为1的记录,的age字段,标记出来1.将生产环境、测试环境具体数据库表【数据传输】到本地两个表2.假设生产环境表同步到本地表 first, 测试环境同步到本地表 secondselect a.id, a.bom_id as "字段名称1", a.bom_type as "字段名称2",

2022-05-24 19:16:08 677

原创 HashMap1.7扩容成环过程图解

HashMap1.7成环问题详细图解网上许多关于 JDK1.7跟1.8的对比,其中有一点。链表的插入方式从头插法改成了尾插法,简单说就是插入时,如果数组位置上已经有元素,1.7将新元素放到数组中,原始节点作为新节点的后继节点,1.8遍历链表,将元素放置到链表的最后;1.7头插法扩容时,头插法会使链表发生反转,多线程环境下会产生环1.7中的成环问题总是说个结果,没有较为清晰的说明,看了只知道会成环,不知道过程怎么成环。所以还是画一下免得自己的也忘记答不上来。记住这个主要的方法图解

2022-05-24 15:57:18 568

原创 SMB操作远程文件

SMB远程操作文件下载远程文件,逐行修改符合条件的行内容,将修改完的文件重新上传到指定远程目录下主要注意访问的url格式为:smb://账号user:密码password@访问的ip/要访问的文件路径/文件.txtpackage com.jidian.mdcs.util;import jcifs.smb.SmbFile;import jcifs.smb.SmbFileInputStream;import jcifs.smb.SmbFileOutputStream;import lom

2022-04-02 11:22:22 2201

原创 SpringCloud微服务架构学习笔记

SpringCloud微服务架构学习笔记01.什么是微服务架构02.如何把握全局视角去设计微服务工程03.Alibaba Nacos: 服务注册与配置中心04.SpringBoot Admin 微服务应用监控05.授权、鉴权中心微服务06.SpringCloud GateWay 微服务网关07.SpringCloud Sleuth + Zipkin: 分布式日志追踪(待续)01.什么是微服务架构02.如何把握全局视角去设计微服务工程03.Alibaba Nacos: 服务注册与配置中心04.Spri

2022-01-14 12:44:16 1527

原创 Java实操问题避坑

Java实操问题避坑如何从根源上避免空指针?赋值时自动拆箱出现空指针字符串、数组、集合在使用时出现空指针怎么办?使用 Optional 规避空指针时的注意点try catch 了却没有真正的解决好异常?解决使用 try finally 的资源泄露隐患常见异常: 并发修改、类型转换、枚举查找如何从根源上避免空指针?赋值时自动拆箱出现空指针字符串、数组、集合在使用时出现空指针怎么办?使用 Optional 规避空指针时的注意点try catch 了却没有真正的解决好异常?解决使用 try final

2022-01-14 12:29:06 555

原创 Redis简单操作

Jedis简单使用简单通过Jedis工具连接Redis,操作相关 keyMaven依赖简单测试简单通过Jedis工具连接Redis,操作相关 keyMaven依赖<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </depen

2021-09-07 16:08:53 83

原创 实习知识点记录(待)

学习笔记SQL 笔记wm_concat():多字段拼接replace():替换字符codedetail():字典转换to_char():字符类型转换(日期)decode():switch_case 操作nvl():null值赋值综合例子资源链接JReble 2020 激活码WebStorm && Idea 激活码SQL 笔记wm_concat():多字段拼接简单描述:小明,小红,小光都是一班的学生现在要查询所有一班的学生姓名(上面3人)正常结果:出现3条结果使用 wm_con

2021-03-02 11:10:27 215

原创 算法记录

记录java程序的递归算法,列出某个目录下的所有子目录和文件爬楼梯问题0-1背包买股票买股票2.0最长回文子串最长上升子字符串打家劫舍java程序的递归算法,列出某个目录下的所有子目录和文件import java.io.*;class DiGui{ static void getDir(String strPath) throws Exception { try { File f=new File(strPath); if(f.isDirectory()) {

2020-11-20 00:02:33 117

原创 Spring 问题笔记

Spring面试问题Spring中的设计模式Spring模块Spring 事务Spring 事务隔离级别Spring 事务传播属性Spring 中的 IOC&DISpring IOC初始化流程IOC 中的设计模式Spring IOC自动装配AOP 的理解与实现AOP 底层原理举例:JDK 动态代理底层原理-反射动态代理与静态代理区别Spring AOP的调用过程Spring Bean的完整生命周期Bean的完整生命周期Bean的简单生命周期Spring Bean的作用域Spring Bean的注入使

2020-11-07 23:30:40 278

原创 计算机网络面试问题

计算机网络输入url发出请求的过程经历了什么Servlet 的生命周期TCP 的三次握手TCP 的握手为什么是三次TCP 的四次挥手为什么要进行四次挥手TCP 的四次挥手过程中,TIME_WAIT 状态为什么要 2 MSL 时间get 和 post 请求的区别TCP 与 UDP 的区别TCP 与 HTTP 的联系session 与 cookie 的区别拦截器与过滤器区别转发与重定向的区别两者原理区别与相似点使用场景302 状态码http 跟 https 的区别输入url发出请求的过程经历了什么DNS

2020-11-07 22:51:29 261

原创 最新面试问题

设计模式及场景单例模式:网站在线人数统计;数据库连接池;Windows任务管理器等工厂模式:IOC创建 Bean;观察者模式:一对多的关系,如商家上架新产品通知其粉丝;取消订单时其他相关的功能也撤销原有操作;策略模式:会员打折(初级会员无折扣,中级会员9折,高级会员7折);责任链模式:多个对象可以处理同一个请求,但具体由哪个对象处理则在运行时动态决定;装饰者模式:在原有功能的基础上进行功能扩展;集合ArrayListArrayList 的底层是数组队列,相当于动态数组。

2020-11-03 21:34:28 179

原创 数据库相关笔记

数据库学习笔记事务的特点事务隔离级别脏读、不可重复读、幻读不可重复读和幻读的区别Spring事务传播属性数据库重要——索引数据库调优方案可略——常用语句事务的特点事务 是数据库操作的最小工作单元,是作为单个逻辑工作单元执行的一系列操作;这些操作作为一个整体一起向系统提交,要么都执行、要么都不执行;事务是一组不可再分割的操作集合(工作逻辑单元)。事务的四大特性:原子性 (atomicity):强调事务的不可分割.事务是数据库的逻辑工作单位,事务中包含的各操作要么都做,要么都不做一

2020-10-22 01:10:16 182

原创 面试题目相关解答

SpringCloudSpring cloud是一个基于Spring Boot实现的服务治理工具包,在微服务架构中用于管理和协调服务的。常问组件:Eureka:负责服务的注册与实现。各个服务启动时,Eureka Client都会将服务注册到Eureka Server,并且Eureka Client还可以反过来从Eureka Server拉取注册表,从而知道其他服务在哪里。Ribbon:服务间发起请求的时候,基于Ribbon做负载均衡,从一个服务的多台机器中选择一台。Feign:基于Feign的动态

2020-10-20 22:13:18 357 1

原创 常见设计模式

设计模式学习笔记单例模式工厂模式策略模式责任链模式设计模式的目的:将易变的事物与不变的事物分开,隔离代码中的更改。单例模式定义:单例模式确保某个类中只有一个实例,而且自行实例化并向整个系统提供这个实例。(对于多个对象使用同一个配置信息时,就需要保证该对象的唯一性)特点:单例类只能有一个实例单例类必须自己创建自己的唯一实例单例类必须给其他对象提供这一实例单例模式的实现:单例模式的几种实现方式应用:计算机系统、线程池、缓存、日志对象等对象常被设计成单例JDK 源码中的

2020-10-16 02:13:57 107

原创 Spring IOC&DI

IOC - 控制反转谁控制谁:IOC 容器控制对象控制什么:控制了外部资源获取(对象、文件等)传统应用程序是由自己在对象中主动控制去直接获取依赖对象–正转;而反转则是由容器来帮忙创建及注入依赖对象。为何是反转:容器帮我们查找及注入依赖对象,对象只是被动的接受依赖对象,所以是反转反转了什么:依赖对象的获取被反转了DI - 依赖注入谁依赖谁:应用程序依赖于 IOC 容器为什么需要依赖:应用程序需要 IOC 容器来提供对象需要的外部资源谁注入谁:IOC 容器注入应用程序某个对象-应用程

2020-10-12 23:31:24 82

原创 Spring中的AOP实现方式

AOP的几种实现方式AOP概述相关术语AOP 底层实现AOP概述Aspect Oriented Programing 面向切面编程AOP 采取横向抽取机制,取代传统纵向继承体系重复性代码(AOP可以实现 性能监视、事务管理、安全检查、缓存…)相关术语Joinpoint(连接点):指被拦截到的点(方法)。在spring中,这些点指的是方法,spring只支持方法类型的连接点Pointcut(切入点):指要对哪些连接点进行拦截的定义,即连接点中真正要操作到的Advice(通知/增强):指拦截

2020-10-11 00:51:48 246

原创 Java 中的 IO 和 NIO

IO 与 NIO 区别Java IONIOJava IOIO 面向字节流,是阻塞的。Java IO 中读取数据和写入数据都是面向流(Stream),即当从流中读取、写入数据的同时也将数据写入流,流的含义在于没有缓存。如果需要获取某个数据的前一项或后一项数据,就必须主动地去缓存数据,无法直接从流中获取(面向流意味着当前只拥有一个数据流的切面)。NIONIO 面向缓冲区,基于 Selector 的非阻塞。...

2020-10-10 00:27:25 205

原创 HashMap高频问题整理(持续)

HashMap重点知识点整理HashMap的内部结构1.8 版本有哪些变化HashMap 容量的初始化哈希函数的实现为什么用异或运算符HashMap 是否线程安全解决线程不安全方法HashMap 和 HashTable 的区别ConcurrentHashMap 的分段锁原理HashMap,TreeMap,LinkedHashMap 使用场景HashMap内部节点是无序的,根据 hash 值随机插入链表转红黑树为什么长度阈值是8为什么当链表长度达到阈值转用红黑树,而不是二叉查找树?Java 中的另一个线程安全

2020-10-05 17:14:02 291

原创 Java中的一些常问问题

Java问题整理数据库索引的定义与使用索引是怎么加快查询速率的数据库中悲观锁和乐观锁的代码实现Arraylist 的实现一百万个对象存入arraylist要怎么处理线程池怎么实现,工作流程饱和策略HashSet是怎么确保元素不重复输入url发出请求的过程经历了什么上下文切换是什么Java内存中哪些会产生溢出数据库索引的定义与使用索引定义:索引是为了加速对表中数据行的检索而创建的一种分散的存储结构。索引是针对表而建立的,它是由数据页面以外的索引页面组成的,每个索引页面中的行都会含有逻辑指针,以便加速检

2020-09-20 17:21:59 420

原创 关于Redis的一些问题(未)

Redis课程课后问题与 Redis 相比,SimpleKV 中缺少了哪些功能组件?【数据结构】上缺乏广泛的数据结构支持:比如支持范围查询的SkipList,和Stream等等数据结构【高可用】上缺乏,哨兵或者master-slaver模式的高可用设计【横向扩展】上缺乏集群和分片功能【在内存安全性】上,缺乏内存过载时候的key淘汰算法的支持【内存利用率】没有充分对数据结构优化提高内存利用率,例如使用压缩性的数据结构【功能扩展】需要具备后续功能的拓展【不具备事务性】无法保证多个操作的原子性【

2020-09-20 13:17:55 438

原创 Java底层——GC

Java底层GC基础Java垃圾回收机制基础——标记算法引用计数算法可达性分析算法常见可以将对象判定为可回收对象的情况追加:Java中的强引用、软引用、弱引用、虚引用Java垃圾回收机制基础——回收算法标记-清除算法(Mark and Sweep)复制算法(copying)标记-整理算法(Compacting)分代收集算法(Generational Collection)Java垃圾回收机制基础——标记算法当一个对象没有被任何对象引用的情况下,对于系统而言就是垃圾,占据的内存就要被释放,此对象也会被销毁

2020-09-18 18:15:49 164

原创 红黑树理论与实现(待补充)

红黑树相关(待补充)红黑树的定义与性质红黑树自平衡最小单元红黑树自平衡的原子操作红黑树的新增操作(图例)需要注意的情况图例红黑树的代码实现红黑树与平衡二叉树的对比红黑树与 B+ 树用途的区别为什么 MySql 索引使用 B+ 树而不使用红黑树小结红黑树的定义与性质红黑树是一种含有红黑结点,并能自平衡的二叉查找树具有以下性质每个结点要么是黑色,要么是红色根结点是黑色每个叶子结点(NIL)是黑色每个红色结点的两个子结点一定都是黑色任意一个结点到每个叶子结点的路径都包含相同数量的黑结点

2020-09-18 01:07:00 138

原创 面试常问Java基础问题

基础之面向对象与面向过程问:谈谈你对面向过程和面向过程的理解参考面向对象优缺点面向过程优缺点面向对象思想的理解**万物皆对象**Java 面向对象的三大特性延伸——Java语言特点问:谈谈你对面向过程和面向过程的理解参考面向对象主要有三大特性:继承、封装、多态。面向对象关注对象本身和结果,面向过程注重实现的过程。面向对象可以理解成对待每一个问题,都是首先要确定这个问题由几个部分组成,而每一个部分其实就是一个对象。然后再分别设计这些对象,最后得到整个程序。例如:当提问者与自身谈话时以

2020-09-16 23:48:44 149

原创 Spring中的“三级缓存”

Spring的“三级缓存”基础认识常见问题循环依赖代码示例Spring 中三大循环依赖场景 演示Spring 循环依赖小结“三级缓存”意义Spring 解决循环依赖原理分析Spring 容器的“三级缓存”源码解析常见问题循环依赖循环依赖:就是 N 个类循环(嵌套)使用。简单来说,就是多个 Bean 之间互相依赖或引用到对方,最终形成了 闭环。循环依赖的关系可以表示成下图上图中的 A,B,C 代表三个不同的对象,上图表示了三者的引用关系。循环依赖不仅发生在多个类中,还可能发生在本类中,即 N =

2020-09-16 22:39:54 20180 5

原创 MyBatis的缓存机制基础

MyBatis的一级缓存、二级缓存一级缓存与二级缓存联系一级缓存为什么需要一级缓存一级缓存的配置一级缓存工作流程一级缓存命中条件一级缓存的实现一级缓存性能分析一级缓存小结二级缓存为什么需要二级缓存二级缓存的配置二级缓存的工作流程二级缓存的命中条件二级缓存小结一级缓存与二级缓存联系一级缓存的作用域是在SqlSession中,二级缓存的作用域是针对mapper(namespace)做缓存。多个SqlSession去操作同一个Mapper的sql,不管SqlSession 是否相同,只要 mapper 的

2020-09-16 18:52:31 163

原创 数据结构基本类型代码实现

数据结构基本类型的实现代码数组/顺序表数组中的二分查找算法实现链表单链表代码实现单向循环链表代码实现双向循环链表代码实现栈代码实现队列代码实现哈希表/散列表代码实现(取余法为例)散列冲突的解决方法图代码实现(深度优先遍历)堆数组/顺序表数组是可以在内存中连续存储多个元素的结构,在内存中的分配也是连续的,数组中的元素通过数组下标进行访问,数组下标从 0 开始。优点:适用于查询按照索引查询元素速度快按照索引遍历数组方便缺点:数组的大小固定后就无法扩容了数组只能存储一种类型的数据添加、删除

2020-09-15 22:46:15 397

原创 数据结构中的各种树及实现

数据结构中的树与实现树的概念二叉树代码实现(包含3种遍历方式及相关常用方法)满二叉树完全二叉树顺序二叉树代码实现线索二叉树代码实现赫夫曼树代码实现二叉查找树/二叉排序树/二叉搜索树代码实现平衡二叉树/AVL(二叉排序树进化版)单旋转:双旋转代码实现多路查找树- B树 & B+树2-3 树2-3-4 树B树的阶:B+ 树树的概念树是一种非线性数据结构树的定义:树是 n 个结点的有限集合,有且仅有一个根结点,其余结点可分为 m 个根结点的子树树的相关概念结点的度:一个结点拥有子

2020-09-15 01:25:30 651

原创 JAVA的平台无关性

谈谈Java的“一次编译,到处运行”Java相关重要特性“一次编译,到处运行”的实现Java 的执行过程Java相关重要特性跨平台/可移植性Java 的核心优势。Java在设计时就很注重移植和跨平台性。比如:Java的int永远都是32位。不需要为不同的平台开发不同的程序,而是只开发一套应用,就可以运行在不同的平台上。解释执行解释执行的含义是,Java程序编译之后,只是生成了class文件,成为字节码,并不是机器码。在执行时,JVM中的解释器,会根据当前平台的特征,对class文件进行解释

2020-09-14 22:27:40 289

原创 Java 平台的理解

谈谈对 Java 平台的理解?Java是解释执行,这句话对吗?典型回答Java 本身是一种面向对象的语言,最显著的特性有两个方面,一个是所谓的“书写一次,到处运行”(Write once,run anywhere),能够非常容易地获得跨平台能力;另外就是垃圾收集(GC,Garbage Collection),Java 通过垃圾收集器回收分配内存,大部分情况下,程序员不需要自己操心内存的分配和回收。我们日常会接触到 JRE (Java Runtime Enviroment)或者 JDK (Java

2020-09-14 22:00:53 166

原创 Java并发编程(四)

死锁——从产生到消除死锁死锁的影响死锁的必要条件死锁的定位死锁的修复策略实际工程中避免死锁的措施其他活性故障死锁发生在并发中互不相让:当两个或更多的线程/进程 相互持有对方所需要的资源,又不主动释放,导致所有人都无法继续前进,导致程序陷入无尽的阻塞,这就是死锁多个线程造成死锁的情况:如果多个线程之间的依赖关系是环形,存在环路的锁的依赖关系,那么也可能发生死锁死锁的影响死锁的影响在不同系统中是不一样的,这取决于系统对死锁的处理能力数据库中:检测并放弃事务JVM中:无法自动处理(为了安

2020-09-13 23:36:52 148

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除