- 博客(33)
- 问答 (15)
- 收藏
- 关注
原创 SQL优化——优化分组查询
在很多张连表的分组查询情况下,有很多字段会有重复的的结果,并且我们又需要这些字段,然后进行group by的时候就不得不加上这些分组条件,如何进行优化减少这些分组条件,让SQL看起来更优雅?其实在select的时候给这些字段用max()函数聚合一下就好。
2024-01-06 16:43:35 397
原创 Lock进行unlock为什么一定要在try finally里面进行unlock?
有的小伙伴可能认为,我直接调用unlock解锁也行啊,为什么一定要在finally里面解锁?由于循环中break结束循环,跳过unlock方法导致死锁,这种一般容易粗心导致。真实项目环境复杂,我们不可能保证dosomething()里面不报错吧,而且现在。使用也比较频繁,就有可能导致锁不能释放导致其他线程一直阻塞。正确做法:依然是给该锁住的代码进行try finally。由于报错或者抛异常导致死锁。
2023-06-24 23:33:05 339
原创 docker部署zookeeper/执行docker-compose报错:Permission denied
docker部署zookeeper/执行docker-compose报错:Permission denied
2023-05-05 23:23:55 1003 1
原创 使用原子类替代synchronized和Lock(重量级锁)
我们都知道,synchronized和Lock是比较重量级的锁,多线程进行操作时,会锁住一段代码,这样高并发下效率就比较低。而juc提供了原子类和volatile,就是解决重量级锁的效率问题,原子类会调用native方法,native方法调用操作系统的接口(汇编指令:cmpxchg),在硬件层面对变量进行加锁,这种细粒度的锁,效率更高。而volatile保证了多线程之间变量的可见性,修改变量后立即写回到主存并让其他线程可见。
2023-01-01 06:16:40 368
原创 关于redis过期时间的问题
1.多次修改一个redis的String过期键,如何保证他仍然能保留第一次设置时的删除时间 2.修改hash、set、hset、list的值,会使过期时间重置吗?2.修改hash的值,会使过期时间重置吗?
2022-11-24 21:25:09 6298 2
原创 RabbitMQ如何保证消息的可靠性
消息抵达Broker,Broker要将消息写入磁盘(持久化)才算成功。此时Broker尚 未持久化完成,宕机。这里只列出了解决方案的总结,方案的具体解决过程、代码请大家根据具体业务来进行设计。自动ACK的状态下。消费者收到消息,但没来得及消息然后宕机。消息发送出去,由于网络问题没有抵达服务器(下面三个都要做)消息丢失、消息重复、消息积压。
2022-09-28 21:00:24 160
原创 rabbitmq java/springboot客户端详解——生产者与消费者区别 、channel.exchangeDeclare与channel.queueDeclare区别、交换机和队列如何绑定
rabbitmq java/springboot客户端详解——生产者与消费者区别 、channel.exchangeDeclare与channel.queueDeclare区别、交换机和队列如何绑定
2022-09-16 14:30:40 1253
原创 请求的session为null 或 每次请求的session都不同的问题。
在项目开发中,使用了session保存邮箱验证的验证码,当使用swagger测试时没有问题,但是vue项目中测试的时候,明明验证码都发送成功了,也填写了发送过来的验证码,却返回“验证码未发送”。这是验证验证码的代码,返回“验证码未发送”,则可以知道,该浏览器在服务器的session为null,即传过来的sessionid为空,因为服务器要根据请求cookie中的sessionid找服务器中对应的session。可是,......
2022-08-17 15:27:25 4336
原创 springboot使用阿里云oss教程,oss使用+安全访问(防盗链、防盗刷、流量控制)
防盗链功能通过设置Referer白名单以及是否允许空Referer,限制仅白名单中的域名可以访问您Bucket内的资源。oss添加东西不用钱,访问花费的流量要收费,为了防止恶意访问刷流量,损失大量的钱,使用的时候一定要加一些安全措施!文件③不是生成了文件的url吗?把这个url存入数据库,下次要访问这个文件直接在数据库查这个文件url返回即可。当请求的Header中包含Authorization字段,不进行防盗链验证(类似token验证)。仅当通过签名URL或者匿名访问Object时,进行防盗链验证。...
2022-08-02 03:37:44 5345 2
原创 docker删除镜像后容器还能运行吗?
这就好比于,我下载了一个redis,reids相当于镜像,我可以通过不同的redis.conf配置文件启动多个redis进程(每一个进程相当于一个容器)。如果我把这个redis删了,由于我的redis进程要使用到这个redis,就删不了,要把redis进程停了才能删。失败内容是不能强制删除这个镜像,因为这个镜像被运行中的容器使用着。容器是基于镜像创建的,即容器中的进程依赖于镜像中的文件。...
2022-07-25 10:16:41 3201
原创 linux中nginx部署前端项目
1.linux安装nginx看这两篇博客:这个是安装nginx:https://blog.csdn.net/t8116189520/article/details/81909574这个是将nginx安装到指定目录,如果有这个需求:https://blog.csdn.net/gotheon/article/details/904094922.把编译好的dist包放到linux指定的文件夹中3.修改nginx的配置文件nginx.conf① 进入安装好的nginx文件夹,找到配置文件
2022-05-31 19:45:28 4924 1
原创 java.sql.SQLSyntaxErrorException: Unknown column ‘***‘ in ‘field list‘最终解决方法
如果!试了别的博客的方法都不行,什么有没有空格啊,java属性名和字段名不对应啊,都没这些问题,但还是报这个错误然后,我在sqlyog中选择这个字段搜索,假如这个字段叫 picture_url我的sql语句是select picture_url from picture然后就报错:Unknown column ‘picture_url’ in ‘field list’?????!!!!!明明!字段名没错,数据库中也有,怎么会报这个???然后把这个表的字段名改了,然后就可以了!!!然后我又
2022-05-29 18:42:19 1254
原创 maven打包报错:-source 1.5 中不支持 diamond 运算符
先修改完idea设置的java版本、项目使用的java版本1.2.然后修改pom的pluginspom中设置:<plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId>
2022-05-28 17:16:49 489
原创 微信小程序开发踩坑记录
1. 微信小程序给组件的data赋值2.微信小程序本地存储wx.getStorageSync和wx.setStorageSync的坑3.微信小程序对data{}的监听机制4.微信小程序给组件的properties传参时,properties一定要指定数据类型,否则真机测试会报错!!!5 微信小程序报错Do not have xxx handler in current page,xxxx6 微信小程序异步转同步
2022-04-20 02:34:06 1258
原创 关于java的String一些问题(创建过程、intern()方法、字符串常量池),jdk6/jdk7/jdk8,详细到底层源码和jvm
关于java的String一些问题(创建过程、intern()方法、字符串常量池),jdk6/jdk7/jdk8,详细到底层源码和jvm
2022-03-14 00:38:25 922
原创 几句话讲清楚jvm逃逸分析
1.未逃逸:如果方法内的对象没有被外部引用,或者没有return出去,那么方法结束后,当发生gc时,这些对象占用的内存就被回收,就是未逃逸,就是没躲过gc被清理了。2.逃逸:就是方法内的对象指向的那块占用的内存躲过了gc若开启逃逸优化:3.未逃逸的对象存储很可能在“栈”中,这样随着方法执行完,就出栈,可减少gc频率4.逃逸的对象存储在“堆”中,逃逸的对象一般很少被gc掉.........
2022-03-11 18:04:19 137
原创 springboot/springcloud父子工程项目 打包 部署 到linux cenos7全流程 及 注意事项
一、打包例如如图所示的父子工程common模块是放置一些全局可用的工具类或者配置类service模块是具可运行的springboot模块1.父工程pom.xml配置:做依赖管理,依赖版本管理 <!--定义父工程--> <!--表明整个项目用的是springboot工程--> <parent> <groupId>org.springframework.boot</groupId> <
2022-03-06 01:41:22 5171 3
转载 js获取dom节点数组的索引
var lis = getElementsByTagName("li");for(var i=0;i<lis.length;i++){ lis[i].index = i;//赋予每个li索引值,重点!!!!! lis[i].onclick = function(){ console.log(this.index); }}
2021-12-03 22:17:04 908
原创 java获取数组中最大数的位数的方法 或 求一个整数是多少位
获取数组中最大数的位数:int max = arr[0]; //假设第一数就是最大数for(int i = 1; i < arr.length; i++) { if (arr[i] > max) { max = arr[i]; }}//得到最大数是几位数 int maxLength = (max + "").length();求一个整数是多少位int num = 159852357;//求num的位数int length = (max+"").length();
2021-11-02 23:15:23 786
原创 Error creating bean with name ‘Controller‘: Unsatisfied dependency expressed through field ‘Service‘
如果其他一切正常,则可能resources没有变成配置类型。右键resources,然后make directory as ——》Resources Root
2021-09-23 00:37:01 1088
原创 myBatisPlus 要更新字段的值为null,此字段的值更新不了,仍然是之前的数据?
#myBatisPlus 要更新字段的值为null,此字段的值更新不了,仍然是之前的数据?本来此字段保存的值不是null,我要更新把它的值变为null,直接用mybatisplus的update或updateById更新不了,加上这个注解就可以更新时插入null值了在此字段上加个注解//记得value要改成数据库字段名,然后重启服务器@TableField(value="abnormal",updateStrategy = FieldStrategy.IGNORED)private String
2021-09-07 23:41:35 383
原创 JSON parse error: Unexpected character (’ ’ (code 160)): was expecting double-quote to start field n
开发细节:JSON parse error: Unexpected character (’ ’ (code 160)): was expecting double-quote to start field name;在postman上面发送http请求,在请求体中写json时,前面有空格的话是有“······”来填充的,没有的话会解析不出来。微信复制json发送到别人手上,别人直接复制到postman上可能会导致json格式错误...
2021-08-31 21:58:07 6485 6
原创 将稀疏数组以对象流ObjectInputStream形式存入文件和取出
import java.io.*;import java.util.Arrays;import java.util.stream.Stream;public class SapreArray1 { public static void main(String[] args) throws Exception { //创建一个原始的二维数组 11 * 11 int chessArr1[][] = new int[11][11]; //忘原始数组中
2021-07-31 23:29:10 226
原创 Java中的名称命名规范
Java中的名称命名规范:包名:多单词组成时所有字母都小写:xxxyyyzzz类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz变量名、方法名:多单词组成时,每一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ...
2021-01-06 23:23:53 119
计算机24届java后端,现在找寒假实习,还是明年冲暑假实习?
2022-12-27
开发微信小程序用uniapp还是原生微信小程序好?
2022-04-17
树莓派入门要多久,树莓派开发,树莓派socket通信
2022-03-24
后端推送消息到微信公众号要钱吗
2022-03-20
讲讲三种创建String的区别,详细到字符串常量池和堆
2022-03-13
这两个有什么区别?为什么append了之后就能返回false
2022-03-13
String的intern问题
2022-03-12
!拉取gitee代码后全部依赖都无效了!
2022-03-07
linux可以同时运行两个不同版本的redis吗?
2022-02-28
为什么java不可以在方法中这样改变对象的值
2022-02-12
在controller的方法上可以加@Transactional有效果吗
2021-09-15
mybatisPlus使用乐观锁时,wrapper不能复用是什么意思?
2021-09-05
为什么我mybatisplus中的serviceImpl要重写
2021-08-12
TA创建的收藏夹 TA关注的收藏夹
TA关注的人