自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Miss Dan的博客

每天进步一点点

  • 博客(61)
  • 收藏
  • 关注

原创 Spring事务失效的几种场景及原因

@Transactional方法导致的synchronized失效原因:synchronized保证的仅是目标方法的原子性,环绕目标方法的还有commit等操作,他们并未处于sync块内;

2023-02-05 10:14:41 685

转载 Spring中@Transactional注解使用过程中失效的12种场景

Spring中@Transactional注解使用过程中失效的12种场景

2022-11-29 15:35:21 126

原创 Mysql-SQL优化

一个常见又非常头疼的问题就是limit 2000000,10,此时需要MySql 排序为啥呢2000010记录,仅仅返回 2000000-2000010的记录,其他记录丢弃,查询排序的代价非常大。Using filesort:通过表的索引或全表扫描,读取满足条件的数据行,然后再缓冲区sort buffer中完成排序操作,所有不是通过索引直接返回排序结构的排序豆角FileSort排序。InnoDB的行锁是针对于索引加的锁,不是针对于记录加的锁,并且该索引不能失效,否则会从锁升级为表锁。6:update优化。

2022-10-31 15:15:02 196

原创 Mysql 索引

针对于数据量较大,且查询比较频繁的表建立索引;针对于常作为查询条件(where)、排序(order)、分组(group by)操作的字段建立尽量选择区分度高的列作为索引,尽量建立唯一索引,区分度越高,使用效率越高;如果是字符串类型的字段,字段的长度较长,可以针对字段的特点,建立前缀索引;

2022-10-29 15:39:48 197

原创 springboot-cache+redis中@CachePut无法正确更新缓存的问题

CachePut标注的方法在执行前不会去检查缓存中是否存在之前执行过的结果,而是每次都会执行该方法,并将执行结果以键值对的形式存入指定的缓存中,我查看使用修改方法前后Redis缓存存储的对象值,完全不一样。当调用update方法时,该方法体会被执行,并且执。分析过程:为类型转化异常,如果不使用。那么问题出现在修改方法存缓存的过程中。,从Redis缓存取是没有问题的,...

2022-08-17 15:37:20 1922

原创 org.springframework.web.HttpMediaTypeNotAcceptableException:Could not find acceptable represe

无法接受的类型,可能是序列化的时候失败了。

2022-07-21 16:03:09 3402

转载 JavaIo流

"流",最早从C语言中引入的,其可以看成是一个流动的数据缓冲区,数据从数据源方向经过缓冲区流向数据的目的地,在传送的过程中,其传送的方式是串行的,在Java中的java.io包中定义了Java中常见的接口与类,其中包括两个最基本的抽象类,他们分别是OutputStream与InputStream。其余的流都是分别从这两个基本类中继承而来。......

2022-06-12 14:59:46 63

转载 Error:Cannot determine path to ‘tools.jar‘ library for openjdk-18

错误:无法确定 16 的“tools.jar”库的路径问题分析1、java版本问题:(摘:版本更新到9.0后的变化)JDK 9的核心变化就是引入了一种新的Java编程组件,也就是模块,按照Oracle的说法,它是一个可命名的、自描述的代码和数据集合。模块技术的核心目标是减少Java应用和Java核心运行时环境的大小与复杂性。为此,JDK本身进行了模块化,Oracle希望通过这种方式提升性能、安全性和可维护性。为了支持Java 9的模块,引入一种新的模块化JAR文件形式,按照这种形式会在其根目录中包含一个m

2022-06-02 15:41:03 5239

转载 http的长连接和短连接

首页下载APPIT技术http的长连接和短http的长连接和短连接(史上最通俗!)1.以前的误解很久之前就听说过长连接的说法,而且还知道HTTP1.0协议不支持长连接,从HTTP1.1协议以后,连接默认都是长连接。但终究觉得对于长连接一直懵懵懂懂的,有种抓不到关键点的感觉。今天通过一番研究,终于明白了这其中的奥秘。而之前,也看过长连接相关的内容,但一直都是云里雾里的。这次之所以能在这么短的时间里搞清楚,和自己技术的沉淀密不可分。因此,这里借着这个机会,再次强调一下,千万不要试图去研究

2021-08-08 12:17:10 125

转载 使用nginx 代理,后端通过request获取header自定义头信息(access_token)为null问题

原因:nginx默认request header包含的下划线 ‘_’会自动忽略。解决:在nginx里的nginx.conf配置文件中的http部分中添加如下配置 underscores_in_headers on

2021-07-27 11:02:55 2080

原创 MyBabits 中当实体类中的属性名和表中的字段名不一样,怎么办?

解决方案:1:写sql语句时起别名;2:在MyBatis的全局配置文件中开启驼峰命名规则(mapUnderscoreToCamelCase);3:在Mapper映射文件中使用resultMap来自定义映射规则。

2021-06-16 19:04:00 85

原创 java int和double

public static void main(String args[]) { int pageSize=6; int totalSize=40; int totalPages1=(int)Math.ceil(totalSize/pageSize); int totalPages2=(int)Math.ceil((double)totalSize/(double)pageSize); System.out.println("total...

2021-06-08 11:28:37 870

原创 Request header field Content-Type is not allowed by Access-Control-Allow-Headers in preflight res

一、问题:跨域请求中包含自定义header字段时,浏览器console报错。Request header field Content-Type is not allowed by Access-Control-Allow-Headers in preflight response二、原因:包含自定义header字段的跨域请求,浏览器会先向服务器发送OPTIONS请求,探测该服务器是...

2019-12-25 16:56:48 5795

原创 PHP 获取一个文件夹下所有文件及文件夹

<?phpfunction getAllFile($path){ if(is_dir($path)){ $re=opendir($path); while(($file==readdir($re))!==flase){ if($file!='.' && $file !='..'){ if(...

2019-10-21 17:25:26 277

转载 【PHP】文件写入和读取详解

可参考

2019-10-21 14:18:23 136

原创 linux查找文件,文件夹及某个目录下包含某个字符串的文件

一、查找文件存放地点1、locate语法:locate<filename>locate命令实际是"find -name"的另一种写法,但是查找方式跟find不同,它比find快得多。因为它不搜索具体目录,而是在一个数据库(/var/lib/locatedb)中搜索指定的文件。次数据库含有本地文件的所有信息,此数据库是linux系统自动创建的,数据库由updatedb程序来...

2019-10-15 14:12:55 3835

原创 Configuration File Path和Loaded Configuration File 都有加载php.ini文件,有什么不同的地方?

如果“Configuration File (php.ini) Path”和“Loaded Configuration File”的路径不一致说明你在apache的httpd.conf文件中设置了PHPIniDir。1:Configuration File (php.ini) PathConfiguration File (php.ini) Path /usr/local/php/l...

2019-09-23 17:47:57 3062

原创 PHP连接MySQL函数总结

常用的mysqli方法有以下几个mysqli_connect:连接认证 mysqli_connect_error:连接失败的错误信息 mysqli_close:关闭连接 mysqli_errno:出现错误的编号 mysqli_error:出现错误的信息 mysqli_query:执行查询SQL指令 mysqli_affected_rows:当前mysql操作受影响的行数(写操作)...

2019-09-18 16:03:53 1592

转载 PHP连接MySQL数据库的三种方式(mysql、mysqli、pdo)

PHP与MySQL的连接有三种API接口,分别是:PHP的MySQL扩展 、PHP的mysqli扩展 、PHP数据对象(PDO) ,下面针对以上三种连接方式做下总结,以备在不同场景下选出最优方案。PHP的MySQL扩展是设计开发允许php应用与MySQL数据库交互的早期扩展。MySQL扩展提供了一个面向过程的接口,并且是针对MySQL4.1.3或者更早版本设计的。因此这个扩展虽然可以与MySQ...

2019-09-18 15:56:07 318

转载 警告:Establishing SSL connection without server's identity verification is not recommended

ringBoot启东时红色警告:Mon Jun 04 00:53:48 CST 2018 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements ...

2019-08-27 17:04:39 242

转载 HTTPS的页面发送不了HTTP请求?

有些人说是跨域问题,真的是这样吗?同源策略:1. 协议相同 2. 域名相同 3.端口相同尽管HTTPS访问HTTP确实不符合同源策略中的协议相同,但是在现代浏览器里,即使是域名相同的请求,也是会出现以下报错,而不是跨域报错。这也很好理解,毕竟混合内容的安全策略是在浏览器端判定的,而是否能跨域要看服务器返回的Response头,请求都被浏览器block掉了,也就不存在是否跨域的问题。...

2019-08-27 16:54:54 2019

转载 linux下mysql开启远程访问权限及防火墙开放3306端口(mysql开放host访问权限)

开启mysql的远程访问权限默认mysql的用户是没有远程访问的权限的,因此当程序跟数据库不在同一台服务器上时,我们需要开启mysql的远程访问权限。主流的有两种方法,改表法和授权法。相对而言,改表法比较容易一点,个人也是比较倾向于使用这种方法,因此,这里只贴出改表法1、登陆mysqlmysql -u root -p2、修改mysql库的user表,将host项,从local...

2019-08-22 15:48:16 180

转载 小技巧两个感叹号(两个!)连用

两个!是为了把非0值转换成1,而0值还是0。(如下表) ! !! 0 1 0 1 0 1 10 0 1

2019-08-09 11:09:43 2298

原创 mysql into outfile导出数据的时候出现错误: The MySQL server is running with the --secure-file-priv option so i

今天尝试使用 into outfile导出数据的时候出现错误:TheMySQLserver is running with the --secure-file-priv option so it cannot execute this statement上网查了一下,应该是mysql设置的权限的问题。1:登录mysql,使用命令:show variables like '%secu...

2019-07-29 17:37:59 683

原创 使用vue.component封装全局组件的步骤

1:写好组件<template > <div class="navbar navbar-default navbar-fixed-top scroll-me" > <div class="container"> <div class="navbar-header"> ...

2019-06-14 15:48:43 1501

转载 PHP 浮点型与整型比较的小坑

今天我们来看一个在 PHP 中比较有意思的事:浮点数(floats)<?phpdie(var_dump(1200.85 * 100 === 120085));你认为上面的代码会出现什么结果呢?1. true 2. false 3. 这种比较视情况而定其实很简单,因为在这里,我们使用了===来做比较,所以这个结果很清晰的就是 false,因为我们左边是一个 floats ...

2019-06-04 17:25:15 1143

原创 愿望

通过学习,我希望有一天,我在面试时有几个offer,让我尽情选择。

2019-06-04 11:17:57 182

转载 分享一个PHP高性能导出excel的好方法

分享一个PHP高性能导出excel的好方法为什么说高性能?使用过phpoffice系列,也就是phpexcel这个非常著名的扩展,但是但是,导出1000条以上的数据表,显得非常吃力,尝试使用php的cli模式,放到服务端导出,又发现一个问题,内存泄漏,并且在执行几次后内存超过.于是自己写了个方法,导出excel,性能远超phpexcel插件原理是什么?简单粗暴,组装html成xls...

2019-06-03 11:17:25 1215

转载 CentOS下php安装mcrypt扩展-源码编译安装

1:去http://www.sourceforge.net下载Libmcrypt,mhash,mcrypt安装包 (安装包后续添加百度云链接) libmcrypt(libmcrypt-2.5.8.tar.gz ): mcrypt(mcrypt-2.6.8.tar.gz ): mhash(mhash-0.9.9.9.tar...

2019-06-03 11:16:55 1139

转载 MySQL分库分表原理

前言在互联网还未崛起的时代,我们的传统应用都有这样一个特点:访问量、数据量都比较小,单库单表都完全可以支撑整个业务。随着互联网的发展和用户规模的迅速扩大,对系统的要求也越来越高。因此传统的MySQL单库单表架构的性能问题就暴露出来了。而有下面几个因素会影响数据库性能:数据量 MySQL单库数据量在5000万以内性能比较好,超过阈值后性能会随着数据量的增大而变弱。MySQL单表的数据量是5...

2019-05-24 14:23:01 141

原创 redis实现高并发下的抢购/秒杀功能

之前对redis高并发下的抢购/秒杀一直是迷迷糊糊的,还是不认真的原因。今天在慕课网学习了一下视频,讲了些基础,也照着他的代码写了案例(有趣的是:免费的课程,老师讲的太简单,甚至还有漏洞):1:数据库连接(单例模式的):class Db{ private static $_instance; private static $_dbConnect; privat...

2019-05-17 18:02:59 1544

原创 Linux 两台机器搭建三主三从 redis 集群

什么是RedisRedis是目前一个非常优秀的key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set有序集合)和hash(哈希类型)为什么要基于3.x安装集群3.x以前,redis仅支持主从模式,并不支持集群模式。安装redis3.x集群本次安装red...

2019-04-19 11:07:11 2013

转载 PHP 页面静态化/纯静态化/伪静态化

概念PHP静态化分为:纯静态化 和 伪静态化;纯静态化又分为:局部静态化 和 完全静态化纯静态化:是把PHP生成的动态页面保存成静态的html文件,用户访问该静态页面,而不是用户每一次访问都重新生成一张相同的网页,优点就是减小服务器开销,  局部静态化:是生成的静态文件中,有局部的数据还是通过ajax技术动态获取的;  完全静态化:即不存在动态获取数据的情况,所以内容都来自静态的h...

2019-04-16 14:30:53 314

转载 数据结构中堆、栈和队列的理解

一、堆堆是一种经过排序的树形数据结构,每个节点都有一个值,通常我们所说的堆的数据结构是指二叉树。所以堆在数据结构中通常可以被看做是一棵树的数组对象。而且堆需要满足一下两个性质:(1)堆中某个节点的值总是不大于或不小于其父节点的值;(2)堆总是一棵完全二叉树。堆分为两种情况,有最大堆和最小堆。将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。下图图一就是一个最大堆,图...

2019-04-09 10:42:26 1208

原创 你“慢”吗?我在追求你

每天例出要做的事,每完成一项,划掉一项; 每周五依次看面试题; 每个月底看下自己的博客,总结下,复习下英语; 每次看到不认识的英语单词,一定要记录下来; 每当工作中遇到的工作难点,应该写好博客,弄清原理,记录好; 每几个月应该看一本书,不必追寻速度,在于理解。 手机看多了,阅读能力成为一种障碍。现在自媒体太多,总能找到你的情感切入点,使你失去思考的能力。从小养成的阅读习惯特...

2019-04-04 15:03:03 237

原创 php strpos 与mb_strpos的区别

$a = '歪麦博客';$b = '博客';$pos = strpos($a, $b);echo $pos;//6echo "<br/>";$pos = mb_strpos($a, $b);echo $pos;//2echo "<br/>";$pos = strpos(mb_convert_encoding($a, 'utf-8'), mb_conver...

2019-04-02 18:05:56 1780

原创 LINUX 端口是否被占用,程序是否安装,查看进程

1、查看某个端口是否被占用netstat -anp |grep 端口号看监控状态为LISTEN表示已经被占用,最后一列显示被服务mysqld占用,查看具体端口号,只要有如图这一行就表示被占用了。注意:LISTENING并不表示端口被占用,不要和LISTEN混淆哦,查看具体端口时候,必须要看到tcp,端口号,LISTEN那一行,才表示端口被占用了。2、根据进程名查看进程信...

2019-03-28 16:34:10 335

原创 MySql 查询今天、昨天等示例

查询当天,格式为YYYY-MM-DD HH:mm:ss SELECT NOW(); --2019-03-27 11:19:14查询当天,格式为YYYY-MM-DD:SELECT CURDATE(); --2019-03-27NOW()取的是MySql服务器自身的时间戳;sysdate()取的是系统的时间戳。具体应用:当进行主从同步的时候,主库执行完一条语句,会把自己的数据库...

2019-03-27 13:47:49 650

原创 git 初始化项目、创建本地分支、本地分支与远程分支关联和远程分支合并

git 初始化项目、创建本地分支、本地分支与远程分支关联和远程分支合并若远程没有有项目:在Git官网上点击New repository新建项目; 在本地新建一个同名文件; 打开git bash切换到新建的文件目录; 新建一个README文件并写入内容 git init //git初始化 git add * .将全部文件添加到git中;git add README.md 将READ...

2019-03-15 16:31:07 6713

原创 PHP assert 和 eval

assert 判断一个表达式是否成立。返回true or false;&lt;?php$s = 123;assert("is_int($s)");?&gt;从这个例子可以看到字符串参数会被执行,这跟eval()类似。不过eval($code_str)只是执行符合php编码规范的$code_str。eval():该函数对于在数据库文本字段中供日后计算而进行的代码存储很有用。(在...

2019-03-14 16:50:44 3130

空空如也

空空如也

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

TA关注的人

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