自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 问答 (15)
  • 收藏
  • 关注

原创 使用原子类替代synchronized和Lock(重量级锁)

我们都知道,synchronized和Lock是比较重量级的锁,多线程进行操作时,会锁住一段代码,这样高并发下效率就比较低。而juc提供了原子类和volatile,就是解决重量级锁的效率问题,原子类会调用native方法,native方法调用操作系统的接口(汇编指令:cmpxchg),在硬件层面对变量进行加锁,这种细粒度的锁,效率更高。而volatile保证了多线程之间变量的可见性,修改变量后立即写回到主存并让其他线程可见。

2023-01-01 06:16:40 30

原创 JVM——类与字节码加载篇

类与字节码加载相关内容

2022-12-17 00:50:27 48

原创 关于redis过期时间的问题

1.多次修改一个redis的String过期键,如何保证他仍然能保留第一次设置时的删除时间 2.修改hash、set、hset、list的值,会使过期时间重置吗?2.修改hash的值,会使过期时间重置吗?

2022-11-24 21:25:09 715 2

原创 RabbitMQ如何保证消息的可靠性

消息抵达Broker,Broker要将消息写入磁盘(持久化)才算成功。此时Broker尚 未持久化完成,宕机。这里只列出了解决方案的总结,方案的具体解决过程、代码请大家根据具体业务来进行设计。自动ACK的状态下。消费者收到消息,但没来得及消息然后宕机。消息发送出去,由于网络问题没有抵达服务器(下面三个都要做)消息丢失、消息重复、消息积压。

2022-09-28 21:00:24 56

原创 微服务分布式事务的几种解决方案及应用场景

微服务分布式事务的几种解决方案及应用场景

2022-09-28 20:31:59 333

原创 RabbitMQ知识点全总结

RabbitMQ知识点总结

2022-09-18 23:22:02 125 1

原创 rabbitmq java/springboot客户端详解——生产者与消费者区别 、channel.exchangeDeclare与channel.queueDeclare区别、交换机和队列如何绑定

rabbitmq java/springboot客户端详解——生产者与消费者区别 、channel.exchangeDeclare与channel.queueDeclare区别、交换机和队列如何绑定

2022-09-16 14:30:40 624

原创 jwt和ResponseUtil工具类

jwt和ResponseUtil工具类

2022-09-05 05:44:59 80

原创 springboot使用Filter实现自动登录

用Filter实现自动登录

2022-09-03 13:08:35 410

原创 请求的session为null 或 每次请求的session都不同的问题。

在项目开发中,使用了session保存邮箱验证的验证码,当使用swagger测试时没有问题,但是vue项目中测试的时候,明明验证码都发送成功了,也填写了发送过来的验证码,却返回“验证码未发送”。这是验证验证码的代码,返回“验证码未发送”,则可以知道,该浏览器在服务器的session为null,即传过来的sessionid为空,因为服务器要根据请求cookie中的sessionid找服务器中对应的session。可是,......

2022-08-17 15:27:25 1753

原创 springboot使用阿里云oss教程,oss使用+安全访问(防盗链、防盗刷、流量控制)

防盗链功能通过设置Referer白名单以及是否允许空Referer,限制仅白名单中的域名可以访问您Bucket内的资源。oss添加东西不用钱,访问花费的流量要收费,为了防止恶意访问刷流量,损失大量的钱,使用的时候一定要加一些安全措施!文件③不是生成了文件的url吗?把这个url存入数据库,下次要访问这个文件直接在数据库查这个文件url返回即可。当请求的Header中包含Authorization字段,不进行防盗链验证(类似token验证)。仅当通过签名URL或者匿名访问Object时,进行防盗链验证。...

2022-08-02 03:37:44 2265 2

原创 docker删除镜像后容器还能运行吗?

这就好比于,我下载了一个redis,reids相当于镜像,我可以通过不同的redis.conf配置文件启动多个redis进程(每一个进程相当于一个容器)。如果我把这个redis删了,由于我的redis进程要使用到这个redis,就删不了,要把redis进程停了才能删。失败内容是不能强制删除这个镜像,因为这个镜像被运行中的容器使用着。容器是基于镜像创建的,即容器中的进程依赖于镜像中的文件。...

2022-07-25 10:16:41 1053

转载 get请求能携带请求体吗?

get请求是否能携带body?

2022-07-20 04:08:33 1811

原创 jvm内存与垃圾回收重点总结

jvm内存与垃圾回收的重点总结

2022-07-12 17:38:19 370

原创 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 2178

原创 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 460

原创 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 289

原创 微信小程序开发踩坑记录

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 182

原创 关于java的String一些问题(创建过程、intern()方法、字符串常量池),jdk6/jdk7/jdk8,详细到底层源码和jvm

关于java的String一些问题(创建过程、intern()方法、字符串常量池),jdk6/jdk7/jdk8,详细到底层源码和jvm

2022-03-14 00:38:25 622

原创 几句话讲清楚jvm逃逸分析

1.未逃逸:如果方法内的对象没有被外部引用,或者没有return出去,那么方法结束后,当发生gc时,这些对象占用的内存就被回收,就是未逃逸,就是没躲过gc被清理了。2.逃逸:就是方法内的对象指向的那块占用的内存躲过了gc若开启逃逸优化:3.未逃逸的对象存储很可能在“栈”中,这样随着方法执行完,就出栈,可减少gc频率4.逃逸的对象存储在“堆”中,逃逸的对象一般很少被gc掉.........

2022-03-11 18:04:19 39

原创 springboot/springcloud父子工程项目 打包 部署 到linux cenos7全流程 及 注意事项

一、打包例如如图所示的父子工程common模块是放置一些全局可用的工具类或者配置类service模块是具可运行的springboot模块1.父工程pom.xml配置:做依赖管理,依赖版本管理 <!--定义父工程--> <!--表明整个项目用的是springboot工程--> <parent> <groupId>org.springframework.boot</groupId> <

2022-03-06 01:41:22 2037

转载 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 473

原创 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 463

原创 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 609

原创 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 153

原创 mybatisplus查询 where ? = xx and ? =xx and? = xx… 的多个and拼接的条件查询

mybatisplus查询 where ? = xx and ? =xx and? = xx… 的多个and拼接的条件查询QueryWrapper<Person> queryPerson = new QueryWrapper<>();//第一个参数为数据库对应的列名,第二个为查询的信息queryPerson.eq("name","zhangsan");queryPerson.eq("age",10);queryPerson.eq("province","guangong")

2021-09-04 17:12:02 117

原创 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 2344 2

原创 将稀疏数组以对象流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 63

原创 Java中的名称命名规范

Java中的名称命名规范:包名:多单词组成时所有字母都小写:xxxyyyzzz类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz变量名、方法名:多单词组成时,每一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ...

2021-01-06 23:23:53 67

RabbitMQ知识点总结

RabbitMQ知识点总结,基本能解决项目需求

2022-09-18

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

TA关注的人

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