- 博客(46)
- 收藏
- 关注
原创 maven-antrun-plugin插件的用法
maven-antrun-plugin 是 Maven 中一个非常强大的插件,它允许你在 Maven 构建过程中运行 Apache Ant 任务。通过这个插件,你可以在 Maven 构建的各个阶段(如 compile、package 等)中执行自定义的 Ant 任务,比如复制文件、创建目录、执行命令等。
2025-02-14 17:09:33
853
原创 磁盘如何永久挂载
我们在进行开发程序测试的时候,会安装各种数据库 ,但是服务器的磁盘空间是有限的,这时候我们就需要加磁盘,加磁盘就涉及到了磁盘的挂载,我们如果用命令挂载这个是临时的,万一哪天机器被其他人重启了,那之前挂载就失效了 ,这也导致我们数据库总是连不上,然后重启的时候又说找不到文件报错(头疼 我就是经常遇到这种情况 刚装好一个数据库 过几天突然就连不上了)
2025-02-06 16:17:59
226
原创 Navicat16连接Oracle报错:Oracle library is not loaded
这时候我们就要确定我们安装的oracl客户端工具是64位还是32位,如果是32位的需要换成64位的,升级完成之后,把navicat里的oci.dll路径换成我们已经升级好的oci.dll路径,然后重启navicat就可以了。,这时候我们要首先验证本机上是否已安装oracle的客户端,如果已安装客户段,navicat中的oci.dll选择我们安装的客户段的oci.dll文件。1、有时候我们在用navicat的时候连接oracle的时候,它会提示我们。2、如果我们选中oci.dll文件之后还是报。
2023-08-30 14:25:11
2884
原创 MinIO
MinIO基于Apache License v2.0开源协议的对象存储服务,可以做为云存储的解决方案用来保存海量的图片,视频,文档。Golang语言实现,配置简单,单行命令可以运行起来。MinIO兼容亚马逊S3云存储服务接口,适合于存储大容量非结构化的数据,一个对象文件可以是任意大小,从几kb到最大5T不等。官网文档:http://docs.minio.org.cn/docs/。
2023-06-20 23:31:12
1193
原创 Redis的windows版本下载地址
1、首先搜索进入GitHub2、搜索redis,第一个是linux的版本3、往下拉找到tporadowski/redis4、点进去找到Release5、里面就可以选择我们想要下载的windows版本
2023-04-24 10:03:26
534
原创 为什么日志输出不到文件里
今天在复习spring boot日志的时候,我想把日志输出到文件里 ,然后就在application.properties属性文件里配置了 logging.file.name和logging.file.path。
2023-03-20 09:17:32
698
原创 在SpringBoot中添加发送邮件功能
1、spring.mail.host的值就是smtp的服务器地址,新浪邮箱的可以在如下找到。4、spring.mail.password=这里是你的授权码并不是你邮箱的密码,新浪邮箱。2、spring.mail.port的值就是服务器的端口号这里百度一下就可以知道。3、spring.mail.username=你的邮箱地址。点击重置授权码就可以获得你的授权码了、在这里解释一下各个属性的值。1、首先登录你的新浪邮箱。4、开启你的smtp服务。
2022-10-11 10:30:00
1448
原创 MySql中的日志
二进制日志(BINLOG)记录了所有的 DDL(数据定义语言)语句和 DML(数据操纵语言)语句,但不包括数据查询(SELECT、SHOW)语句。
2022-08-28 10:45:00
624
原创 MySql中的事务原理
事务 是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。全称 Multi-Version Concurrency Control,多版本并发控制。指维护一个数据的多个版本,使得读写操作没有冲突,快照读为MySQL实现MVCC提供了一个非阻塞读功能。MVCC的具体实现,还需要依赖于数据库记录中的三个隐式字段、undo log日志、readView。...
2022-08-28 10:30:00
178
原创 MySql中的锁
锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。全局锁就是对整个数据库实例加锁,加锁后整个实例就处于只读状态,后续的DML的写语句,DDL语句,已经更新操作的事务提交语句都将被阻塞。表级锁,每次操作锁住整张表。...
2022-08-27 21:10:29
338
原创 String
String:字符串,使用一对""引起来表示。1.String声明为final的,不可被继承2.String实现了Serializable接口:表示字符串是支持序列化的。实现了Comparable接口:表示String可以比较大小3.String内部定义了final char[] value用于存储字符串数据4.String:代表不可变的字符序列。简称:不可变性。体现:1.当对字符串重新赋值时,需要重写指定内存区域赋值,不能使用原有的value进行赋值。...
2022-08-25 23:35:09
104
原创 在生产环境中使用axios发送请求不能使用localhost
在生产环境中使用axios发送请求,url中的ip不能使用localhost或者127.0.0.1
2022-07-31 18:24:32
2262
原创 数据库连接池
一、数据库连接池的必要性1、在使用开发基于数据库的web程序时,传统的模式基本是按以下步骤:注册驱动获取连接创建数据库的操作对象执行SQL获得查询结果集并进行处理释放资源2、这种模式开发,存在的问题:普通的JDBC数据库连接使用 DriverManager 来获取,每次向数据库建立连接的时候都要将 Connection 加载到内存中,再验证用户名和密码(得花费0.05s~1s的时间)。需要数据库连接的时候,就向数据库要求一个,执行完成后再断开连接。这样的方式将会消耗大量的资源和时间。
2022-05-18 09:45:46
253
原创 XML学习
一、概念1、概念:XML英文全程 Extensible Markup Language 可扩展标记语言,可扩展是什么意思呢,可扩展代表我们可以自己定义标签,如<student></student>标签。2、功能:XML 被设计用来传输和存储数据3、应用:xml可以当做配置文件、可以在网络中传输4、XML与HTML的区别XML 被设计用来传输和存储数据,其焦点是数据的内容。HTML 被设计用来显示数据,其焦点是数据的外观。XML 标签都是自定义的,HTML标签是预定义。
2022-05-17 18:29:22
279
原创 过滤敏感词
1,什么是前缀树根节点没有数据,每个节点只有一个数据每个分枝都是一个敏感词每个节点所包含的子节点不相同例图:2、前缀树过滤敏感词的思路首先我们需要三个指针,指针1指向根节点,指针2和指针3指向我们要过滤的句子的第一个字符,开始我们先看指针2和指针3指向的第一个字符是否是前缀树根节点的子节点,如果是,执行步骤2,如果不是执行步骤5指针3往后移动看下一个字符是否在前缀树中如果在,执行步骤3,如果不在执行步骤4看这个字符是否是敏感词的最后一个字,如果是替换指针2和指针3范围内的字符.
2022-04-08 21:55:27
957
原创 MD5加密
1、为什么在一个Web系统中,如果注册用户的密码直接以明文的方式存储,则数据库管理员可以直接查看所有用户的密码;如果数据库被黑客侵入,则会造成用户信息的泄漏。为了避免这样的情况发生,通常采用加密技术对用户的密码进行加密之后在存储到数据库中,2、MD5加密算法简介MD5(Message Digest)是一种加密算法,能够对字节数组进行加密,有如下特点。不能根据加密后的信息(密文)得到加密前的信息(明文)对于不同的明文,加密后的密文是不相同的。注:在这里不介绍该算法的具体实现原理,如果感.
2022-04-04 20:00:58
1696
1
原创 剑指 Offer 52. 两个链表的第一个公共节点——浪漫相遇
在做力扣的的时候发现一个浪漫的题解,哈哈哈,记录一下,这个题的解题思路很像你变成我,走过我走过的路。我变成你,走过你走过的路。然后我们便相遇了…1、题目描述输入两个链表,找出它们的第一个公共节点。在节点c1开始相交2、解题思路可能我们第一想到的就是使用hash集合的方法,hash集合的时间复杂度是O(m+n),空间复杂度为O(m)m,n分别为链表的长度,如果使用双指针的话空间复杂度可以降到O(1),在这里只记录下双指针的解法首先我们观察给的实例可以发现如果链表A的长度为a,链表B的.
2022-03-28 21:16:39
322
原创 剑指 Offer 48. 最长不含重复字符的子字符串
1、题目描述:1、请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。2、实例示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串 的长度,“pw.
2022-03-27 23:51:47
149
原创 当使用mybatis中update方法时数据库中的某些字段自动更新
我们在使用mybatis时,一般都会手写一个实体类和数据库中的数据对应。public class Article{public static final int Article_TOP = 1; public static final int Article_Common = 0; private Long id; private String title; private String summary; private int commentCounts;
2021-10-16 22:02:03
2178
原创 ThreadLocal内存泄漏
实线代表强引用,虚线代表弱引用每一个Thread维护一个ThreadLocalMap, key为使用弱引用的ThreadLocal实例,value为线程变量的副本。强引用,使用最普遍的引用,一个对象具有强引用,不会被垃圾回收器回收。当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不回收这种对象。如果想取消强引用和某个对象之间的关联,可以显式地将引用赋值为null,这样可以使JVM在合适的时间就会回收该对象。弱引用,JVM进行垃圾回收时,无论内存是否充足.
2021-10-16 15:14:11
86
原创 解决org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):问题
记录一下一个特别容易犯的错误org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)问题,即在mybatis中dao接口与mapper配置文件在做映射绑定的时候出现问题,简单说,就是接口与xml要么是找不到,要么是找到了却匹配不到在写代码的时候一直报这个错,各种对名字找路径都没有错,找了很久终于发现了,在idea中咱们创建多级文件夹一般都是aa.bb.cc但是如果你在resources下面创建多级文件用
2021-10-14 22:15:00
108
原创 垃圾回收器
1、GC分类与性能指标1.1垃圾回收器概述垃圾收集器没有在规范中进行过多的规定,可以由不同的厂商、不同版本的JVM来实现。由于JDK的版本处于高速迭代过程中,因此Java发展至今已经衍生了众多的GC版本。从不同角度分析垃圾收集器,可以将GC分为不同的类型。1.2. 垃圾收集器分类按线程数分,可以分为串行垃圾回收器和并行垃圾回收器。按照工作模式分,可以分为并发式垃圾回收器和独占式垃圾回收器。按碎片处理方式分,可分为压缩式垃圾回收器和非压缩式垃圾回收器。按工作的内存区间分,又可分为年轻代垃
2021-10-04 22:07:00
111
原创 JVM四步走(二)垃圾回收
垃圾回收1、垃圾回收概述1.1、什么是垃圾1、垃圾是指在运行程序中没有任何指针指向的对象,这个对象就是需要被回收的垃圾。1.2、为什么需要GC1、对于高级语言来说,一个基本的认知是如果不进行垃圾回收,内存迟早都会被消耗完,因为不断的地分配内存空间而不进行回收,就好像不停的生产垃圾而不进行打扫一样。2、除了释放没用的内存,垃圾回收也可以清楚内存里的记录碎片。碎片整理将所占用的堆内存堆到一端,以便jvm将整理出来的内存分配给新的对象。3、随着应用程序所应付的业务越来越庞大,复杂,用户越来越多,没有
2021-10-02 16:03:21
170
原创 JVM四步走(一)
1、入门了解1、什么是JVM 定义:JVM是Java Virtual Machine的缩写,JVM就是java的一个运行环境(java二进制字节码的运行环境) 好处:(1)一次编写,到处运行(2)自动内存管理,垃圾回收功能2、JVM、JRE 、JDK的区别3、JVM学习路线2、内存结构1,程序计数器 1.1、定义:程序计数器全称Program Counter Register 程序计数器(寄存器)
2021-08-30 23:16:10
127
原创 JAVASE多线程知识梳理
1、什么是进程,什么是线程1、进程的狭义定义:进程是正在运行的程序的实例(an instance of a computer program that is being executed)。2,线程:线程是程序中执行的线程,Java虚拟机允许程序同时运行多个执行线程。3、进程和线程的关系:一个进程可以有多个线程4、进程A和进程B内存独立不共享5、线程A和线程B,方法区和堆内存共享,栈内存不共享,一个线程一个栈内...
2021-08-29 01:15:51
115
原创 JDK动态代理入门
1、代理模式百度百科对他的定义是:代理模式是指,为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户类和目标对象之间起到中介的作用。换句话说,使用代理对象,是为了在不修改目标对象的基础上,增强主业务逻辑。客户类真正的想要访问的对象是目标对象,但客户类真正可以访问的对象是代理对象。客户类对目标对象的访问是通过访问代理对象来实现的。当然,代理类与目标类要实现同一个接口。例如: 有 A,B,C 三个类, A 原来可以调用 C 类的方
2021-08-23 23:14:14
113
原创 Swagger2
1、什么设SwaggerSwagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。号称世界上最流行的API框架ResFul Api 文档在线自动生成工具==》Api文档与API定义同步更新直接运行,可以在线测试API接口支持多种语言:(Java,php)2、SpringBoot集成Swagger1、新建一个Sp
2021-07-15 17:13:54
80
原创 乐观锁和悲观锁的简单理解
1、简介1、悲观锁什么是悲观锁呢,总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。Java中synchronized和ReentrantLock等独占锁就是悲观锁思想的实现。2、乐观锁总是假设最好的情况,每次去拿数据的时候都认为别人不会修改,所
2021-07-15 10:49:39
177
原创 图的简单存储
简介由于图的结构比较复杂,任意两个顶点之间都可能存在联系,因此无法以数据元素在存储区中的物理位置来表示元素之间的关系,既图没有顺序存储结构,但可以借助二维数组来表示元素之间的关系,既邻接矩阵表示法。另一方面,由于图的任意两个顶点间都可能存在关系,因此,用链式存储表示图是很自然的事,图的链式存储有多种,有邻接表、十字链表和邻接多重表,应该根据实际需要的不同选择不同的存储结构。在这里只介绍邻接表和邻接矩阵。1、用邻接矩阵存储图1图的结构2、算法步骤输入总顶点数和总边数依次输入点的信息存入顶点表中
2021-06-18 21:00:31
102
原创 File类
File类一概述1. java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。二File类的静态成员变量static String pathSeparator 与系统有关的路径分隔符,为了方便,它被表示为一个字符串。static char pathSeparatorChar 与系统有关的路径分隔符。static String separator 与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串。static char s
2020-12-27 19:11:00
87
原创 Map双列集合
Map集合一概述1.Collection和Map集合的区别: Collection 中的集合,元素是孤立存在的(理解为单身),向集合中存储元素采用一个个元素的方式存储。 Map 中的集合,元素是成对存在的(理解为夫妻)。每个元素由键与值两部分组成,通过键可以找对所对应的 值。2 注意事项:Map 中的集合不能包含重复的键,值可以重复;每个键只能对应一个值。二Map集合常用子类HashMap:. 存储数据采用的哈希表结构,元素的存取顺序不能保证一致,由于要保证键的唯一、不重复,需 要重写键的ha
2020-10-25 21:03:31
171
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人