自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 分页数据做缓存的思考

缓存处理方案

2022-09-29 10:26:02 1490 2

原创 Statement cancelled due to timeout or client request报错

微服务报错

2022-08-26 09:07:45 2260

原创 【java面试合集】--更新中

1.Arraylist和Linkedlist的区别 1.数据结构不同,Arraylist底层是数组,Linkedlist底层是链表 2.正是因为底层数据结构不同,使用场景略有差别 随机查找 用arraylist更合适一些 插入删除等用linkedlist 此外 linkedlist还能作为队列使用2.Hashmap的put方法 参数为key,value1.通过传入的key进行hash运算,得到数组的下标...

2022-05-12 15:05:29 330

原创 java笔记【8.类加载的7个阶段】

按照java虚拟机规范,从class文件到加载进入内存中的类,再到类卸载出内存为止,整个生命周期分为七个阶段分别为:加载、验证、准备、解析、初始化、使用、卸载加载:平时我们写的java文件,会生成.class文件,那么当使用这个类的时候,jvm就会去读取这个文件验证:就是jvm根据java规范,来校验你加载进来的class文件中的内容是否符合规范准备:给类的静态变量分配内存,并赋予默认值。这里的默认值是指例如int类型默认值是0,而不是具体值解析:将符号引用变为..

2022-05-11 13:49:08 262

原创 java笔记【7.单例模式】

概念:通过 单例模式的方法 创建的类 在当前系统中只有一个实例即 一个类只有一个实例对象特点:1.某个类只能有一个实例2.它必须自行创建这个实例3.它必须自行向整个系统提供这个实例使用场景:频繁实例化又销毁的对象 经常使用的对象如数据库连接池,使用单例模式,可以提高性能,降低资源损坏。 使用线程池之类的控制资源时,使用单例模式,可以方便资源之间的通信实现方式: 最常用的两种方式:1.饿汉式 ...

2022-05-09 14:51:29 282

原创 springboot学习笔记1-构建和启动

第一步:创建项目1. File->new->project2. maven->next3. 写项目名和路径->finish4.添加pom文件只需添加<parent>和 <dependencies>即可,上面的是自动带出来的<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0....

2022-03-21 16:02:52 463

原创 java笔记【6.@Transactional失效及其解决办法】

介绍:我们日常开发中很常用的就是spring的事务管理,我们通常使用声明式事务声明式事务:基于AOP面向切面的,它将具体业务与事务处理部分解耦,代码侵入性很低,所以在实际开发中声明式事务用的比较多。声明式事务也有两种实现方式,是基于TX和AOP的xml配置文件方式,二种就是基于@Transactional注解了,现在我们通常使用注解的方式使用场景:@Transactional 可以作用在接口、类、类方法,我们通常使用在方法上作用:当作用于方法上时,此 public 方法将具有该类型的事务属性..

2022-01-17 10:19:12 1966

原创 oracle数据库备份一个表数据并恢复

使用场景:当我们平时想要大批量替换数据的时候,在生产上往往会先备份,然后如果遇到问题再回退,那么可能涉及下面两个语句:1.创建一个备份表并存储原始数据CREATE TABLE备份表as SELECT * FROM旧表2.恢复原始数据INSERT INTO旧表 SELECT * FROM备份表备注:这样的话我们就可以把要修改的表数据大胆删除,然后插入最新的数据,当有异常的时候,回退方法就是将备份表的数据还原回去即可...

2021-12-07 20:15:00 5768 2

原创 Thinkpad解决不按Fn就可以直接使用F8 F9解决方案

我们平时开发debug的时候,经常用到F8 F9 F6等按键,但是有时候必须同时按住Fn才可以,很麻烦那么解决办法是:按住Fn,再按住ESC(ESC下面有Fnlock),即可解决

2021-12-06 18:00:00 2335

原创 java笔记【5.KMP算法】

参考自:字符串匹配的KMP算法 - 阮一峰的网络日志KMP 算法,它是用来解决字符串查找的问题,这种算法可以将复杂度缩小到很可观的地步举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"?首先,要理解KMP算法,需要知道的是部分匹配表还要了解两个概念:"前缀"和"后缀"。 "前缀"指除了最后一个字符以外,一个字符串的全部头部组合;"后缀"指除了第一个字符以外,一个字符串的全部尾部组合。"部分匹配值"就是"前缀"

2021-11-18 23:00:00 67

原创 java笔记【4.MYSQL数据库如何存储时间最好】

存储时间是我们日常开发中离不开的事情,在mysql数据库中对于时间存储选择哪个字段类型好呢?1.字符串2.Datetime3.Timestamp4.int 或者 bigint直接说结论,最好的是Timestamp原因:1.字符串是非常不可取的选择,有两大弊端:a.占用空间大b.无法使用日期相关的API 对于比较时间等操作非常不灵活2.Datetime和Timestamp这两个是在最常用的表示时间的类型,它们的区别为:a.DateTime ...

2021-11-12 20:30:00 1275

原创 java笔记【3.数组和链表的区别】

最主要的区别是:数据结构不同数组是基于索引的数据结构,其中每个元素与索引相关联。数组占用的是一块连续的内存区链表依赖于引用,其中每个节点由数据和对前一个和下一个元素的引用组成。链表在内存中,是分散的正是因为这样的区别,那么有如下特性:对于访问,访问一个a[3]的元素与访问一个a[10000],使用数组下标访问时,这两个元素的时间消耗是一样的;而对于链表,只能通过头节点指针,一个一个往下找,访问时间是不一样的对于增加,因为数组在内存中是连续存储的,要想在某个节点之前增加,且保持增加

2021-11-03 21:00:00 131

原创 java笔记【2.jdk动态代理和cglib动态代理】

jdk实现动态代理步骤1.创建一个接口和实现接口的类(这个就是我们要增强或者补充的方法)package com.demo.jdk;public interface UserService { public void run();}package com.demo.jdk;public class UserServiceImp implements UserService{ @Override public void run() { Sy

2021-11-02 20:15:00 114 1

原创 java笔记【1.==和equals的区别】

首先:如果equal方法不被重写的话 equal就是用的 ==它们完全相同== 比较的是内存地址 比较的是对象的引用但是平常我们更多的是使用String等引用类型,String或者Interger等会重写equals方法它们会比较对象的值是否相等...

2021-11-02 13:45:00 67

原创 Server returned HTTP response code: 400 for URL: http://xxx.xxx:1111/a/a/a错误解决方案

前提: postman可以访问,代码中报错问题原因:1.URL编码问题访问的url地址中含有特殊字符或者中文2.参数异常(json格式错误等)解决办法:1.使用URLEncoder.encode("str","charset");方法编码2.仔细检查参数注意:1.编码只编码特殊字符...

2021-09-23 09:52:44 5225

原创 HashMap基础知识

1.最基础的a.HashMap基于Map接口实现;b.允许使用null建和null值,因为key不允许重复,因此只能有一个键为null;c.HashMap不能保证放入元素的顺序,它是无序的;d.HashMap是线程不安全的。2.数据结构 先要了解什么是链表链表有如下四种情况1.单向链表  单向链表就是通过每个结点的指针指向下一个结点从而链接起来的结构,最后一个节点的next指向null。  2.单向循环链表  单向循环链表和单向列表的不...

2021-09-13 15:53:04 240

原创 最简单的 springboot 集成 shiro

借鉴了https://blog.csdn.net/bicheng4769/article/details/86668209写的非常好shiro作为一个权限控制框架,可以很友好的兼容springboot实现的功能: 用户登录成功之后1.对于有些需要验证用户的路径,这个框架可以帮助我们进行判断,如果是登录成功后,才可以继续访问2.对于有些需要验证用户权限的路径,这个框架可以帮助我们进行对这个用户的权限进行校验,只有当这个用户满足这个路径的权限,才可以继续访问实现步...

2021-07-23 09:16:13 249 2

原创 Lock wait timeout exceeded; try restarting transaction解决方案

当出现报错Lock wait timeout exceeded; try restarting transaction时一般时出现在mysql 数据库 update语句解决方案:SHOW GLOBAL VARIABLES LIKE 'innodb_lock_wait_timeout'; 默认值一般为50调整为120SET GLOBAL innodb_lock_wait_timeout=120;如果不行 就调整为500原因:线程被锁,也可以kill掉对应线程...

2021-03-29 15:31:55 357

原创 java操作mongoDb

服务器搭建好mongo之后,可以使用mongo compass这个工具来连接如果是集群,那么上面这个图的 Read PreFerence 主服务器选择Primary,从服务器选择Secondaryjava操作为:1.pom文件添加mongo所需要的jar包<dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-jav...

2020-12-22 09:45:08 788

原创 mysql批量替换数据库表中某一个字段

需求:我要替换附件表中附件的地址,比如把前缀为www.baidu.com 将几十万条数据全换成www.taobao.com例子为:我想替换一个表里的字段,比如我要替换name这个字段,这个name是省份的名称(辽宁省,湖南省,江西省。。。),我要替换为(辽宁哈哈哈,湖南哈哈哈,江西哈哈哈。。。)我只需要执行UPDATE address SET name = (REPLACE(name,'省','哈哈哈')); 这个语句就好了解释:UPDATE ad...

2020-12-04 13:24:24 1266

原创 mysql之LIMIT分页

mysql使用分页查询,可以使用limit关键字当我们不使用框架时,手写分页查询,可以用如下公式select * from table limit 0,10;limit后面的参数(limit page,pageSize)含义为:page为0的含义是:从第一页开始pageSize为10的含义是:每一页需要展示多少条数据(假设一共93条,当到最后一页时,只展示3条)实际的写法为:select * from table limit (page-1)*pageSize,pageSize;

2020-10-26 11:09:25 1195

原创 ORACLE数据库查询存储过程内容

两个语句:1.查看所有存储过程select distinct name From user_source where type = 'PROCEDURE'2.查询具体存储过程内容SELECT text FROM user_source WHERE NAME = 'PRC_APP_GETTALENTALLARTICLES'ORDER BY line;注意:存储过程一定要大写,否则查询不到...

2020-09-23 13:12:11 15248

原创 数据库可以查询数据,但是mybatis查询不到解决方案

除了基本的变量名写错了等基础问题,现在还有一种情况为如下的数据库用的mysql数据库可以查询出字段数据(红框字段),但是走mybatis后,发现字段解析不出phonecid = "1306430874992340991"usercode = "17188900421"vmobile = "17188900421"growthvalue = nullvshortname = "哈哈哈1"vsex = "1"dregister = {Date@12998} "Fri Sep 11

2020-09-17 16:44:45 9396

原创 idea for循环快捷键能识别上面的集合

从Eclipse转到idea的小伙伴,一开始可能对于idea的Fore循环不太适应比如:当敲入fore的时候,展示如下图,这并不是我们想要的我们想要的是:这样可以自动识别上面的集合只需要敲入 iter 即可,快试试吧...

2020-07-20 17:43:54 298

原创 大白话说说Spring AOP

这篇文章旨在向大家说明AOP的基本概念和用法,对于入门来讲一定会有帮助AOP的官方概念:Aspect-oriented programming 面向切面编程AOP的用处:AOP是处理一些横切行问题。这些横切性问题不会影响到主逻辑的实现,但是会散落到代码的各个部分,难以维护。AOP就是把这些问题和主业务逻辑分开,达到与主业务逻辑解耦的目的。其实AOP就是:在不修改源码的情况下,给程序中的多个点上动态统一添加功能的一种编程技术常用术语的解释通知(Advice) 切面的工...

2020-05-29 14:55:00 551

原创 java程序中常用的判空方法(List判空,Map判空)

背景:程序中经常会出现空指针异常,如Exception in thread "main" java.lang.NullPointerException现在提供两个常用的工具类,可以使代码更加简洁和安全1.安全使用Listimport org.apache.commons.collections.CollectionUtils;boolean b = CollectionUt...

2020-01-15 16:36:59 6149

原创 java实现字符串和Date之间的转换

引入包为:import java.text.SimpleDateFormat;import java.util.Date;将字符串转换为Date格式例如,我想把3000年1月2日,转化为Date格式实现:SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date parse = s...

2019-12-06 19:00:08 256

原创 navicat查看密码方案

参考https://blog.csdn.net/u011935340/article/details/88823884解决问题:我们经常使用navicat连接数据库,有时候时间久了之后,会忘记之前的密码,那么现在我们有办法获得只要正常连接的数据库的密码步骤:1.导出连接a.选择想要获取密码的数据库即可b.拿到保存到本地的connections.ncx文件中的Pass...

2019-11-25 10:03:31 41041 41

原创 数据库中验证一个表是否有重复字段

需求:我们想要知道一个表中的某个字段是否有重复值,并且想要得知重复的数量方法:我们可以用group by函数即可样例:1.比如我们想要得知offer表中的offer_type这个字段下,都有什么数据并且对应的数量是多少,就可以用下面的sqlSELECT offer_type,COUNT(*)as count FROM offer GROUP BY offer_type...

2019-10-29 14:54:38 1228

原创 公钥私钥简单介绍

在密码学中,有公钥和私钥,这两个概念总是成对存在每个用户都有公钥和私钥。公钥可以公开;私钥要保存好,只有自己知道通常我们用公钥和私钥来实现两个功能:1.加密场景:张三和李四要对数据进行传输操作步骤:a.张三用李四的公钥加密自己想写的内容得到加密后的内容X;b.李四用自己的私钥来解密X,从而得知张三的内容;2.签名认证场景:张三想要对自己的身份进行确认操...

2019-08-10 04:16:01 378

原创 get请求乱码解决方案

我们从前台传入参数时,正常写法为:http://localhost:8080/index.jsp?name=zhangsan然后我们从后台获取为:String name = request.getParameter("name");这时候没有任何问题,但是有时候会有这样的情况http://localhost:8080/index.jsp?url=http://localhos...

2019-07-28 11:30:13 634

原创 简单说明xml文件中foreach中collection的含义和用法

前提:一般出现在mybatis框架中,写sql的xml文件中目的:方便在xml文件中写含有in的sql;例如:select * from table where name in (“11”,“22”,“33”);好处:这样我们就不用把每个变量都传值到xml里面,而只要把一个集合或者数组传入即可常见样例为:1 <select id="dynamicForeachT...

2019-07-13 15:04:51 4238

原创 Idea中的SVN与资源库同步功能

从eclipse转入到idea中,发现eclipse中经典的与资源库同步功能没有了,这样我们想要有选择的更新文件就变得困难那么idea的这个功能在哪呢?我们选中界面下方的Version Control,这时候页面是空的,因为还没有和资源库进行对比,然后我们点击左上角的刷新,等待对比完成之后,就和eclipse中的界面差不多了,我们可针对性的更新文件了!...

2019-05-23 14:59:13 21816

原创 wait()方法和sleep()方法的关系和区别

相同点:sleep与wait,在非多线程运行条件下的情况是一样的,都是当前线程让出执行机会,进入休眠/等待。不同点:1.这两个方法来自不同的类,sleep来自Thread类,和wait来自Object类。2.sleep方法没有释放锁 wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。3.wait、notify和notifyAll方法只能在同步方法或者同步代...

2019-04-24 16:45:55 1135

原创 清晰理解Mysql的四种事务隔离级别

基础知识:事务的基本要素 :ACIDA:Atomicity(原子性) 事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节C:Consistency(一致性) A向B转账,不可能A扣了钱,B却没收到I:Isolation(隔离性) A正在从一张银行卡中取钱,在A取钱的过程结束前,B不能向这张卡转账D:Durabil...

2019-04-23 15:31:05 193

转载 github使用方法

https://blog.csdn.net/Hanani_Jia/article/details/77950594源博客地址首先,我先对GitHub来一个简单的介绍,GitHub有一个很强大的功能就是,你在服务器上边可以创建一个库(稍后会介绍怎么创建),写代码是一件很重的任务,尤其是很多人完...

2019-04-08 20:22:23 155

原创 js中./和../的区别

./代表的是同级目录../代表的是上级目录例如:在editSaleOppFollow页面中,想要引入同目录下的oppSaleAgency.js,那么可以使用&lt;script src="./oppSaleAgency.js"&gt;&lt;/script&gt;也可以使用&lt;script src="../preSaleAdd/oppSaleAgency.js...

2019-03-13 13:55:10 5521

原创 白话理解设计模式之工厂设计模式

工厂模式分为三种:简单工厂,工厂方法,抽象工厂工厂模式的概念和作用:代替new操作也就是代替了平时我们都在使用的Student a = new Student();这种工厂模式的好处:给你系统带来更大的可扩展性和尽量少的修改量也就是为了解耦:把对象的创建和使用的过程分开。就是Class A 想调用 Class B ,那么A只是调用B的方法,而至于B的实例化,就交给工厂类...

2019-03-07 13:30:25 197

原创 简单理解SpringMVC流程

SpringMVC是什么:SpringMVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架MVC设计模式:它是用一种业务逻辑、数据与界面显示分离的方法来组织代码。目的:它将这些对象、显示、控制分离以提高软件的的灵活性和复用性,MVC结构可以使程序具有对象化的特征,也更容易维护。请求驱动指的就是使用请求-响应模型流程图:具体...

2019-02-27 20:28:43 730

原创 简单理解Map中的putAll方法

使用例子HashMap map1=new HashMap();        HashMap map2 = new HashMap();         map1.putAll(map2);  功能:将map2中的所有key,value都放在map1中;具体参考:           HashMap map1=new HashMap();            map1...

2019-02-25 13:44:45 49193

空空如也

空空如也

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

TA关注的人

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