- 博客(115)
- 资源 (2)
- 收藏
- 关注
原创 Git常用命令
切换到本地分支(如果本地没有dev分支,远程有dev分支,则是创建本地dev分支并把远程dev分支的代码拉取到本地)(5)没有冲突,则提交本地dev分支的代码到远程dev分支 git push origin dev。(4)更新远程dev分支的代码到本地dev分支 git pull origin dev。在本地创建新分支并将当前分支的代码复制到新的分支,同时切换到新创建的分支。创建本地分支(创建新分支并将当前分支的代码复制到新的分支)删除已提交到本地分支(commit操作)的所有修改。
2019-12-17 20:18:28 907 1
原创 Linux上,启动Java应用程序,并将启动成功后的进程id写入指定文件
6.给 shutdown.sh 赋予可执行权限。1.创建 .sh 命令文件,用于启动项目。3.给 start.sh 赋予可执行权限。4.创建 .sh 命令文件,用于关闭项目。
2024-11-01 17:34:59 100
原创 记录生产环境,通过域名访问的图片展示不全,通过ip+端口的方式访问图片是完整的
删除该文件,重启nginx服务,问题解决。排查发现nginx日志文件占用了大量硬盘。原因:部署nginx的服务器硬盘满了。
2024-09-18 15:28:18 232
原创 npm install报错 request to https://registry.npm.taobao.org/yallist/-/yallist-2.1.2.tgz failed
原因:淘宝镜像域名更新成了:https://npmmirror.com/然后npm install,会继续报错,如下。
2024-08-22 17:28:51 330
原创 启动nginx时报错:signal process started
【代码】启动nginx时报错:signal process started。
2024-04-14 22:45:08 7627
原创 查询时报错:No property create found for type HbHouse!
create是一个字段,HbHouse是实体类,实体类的完整字段是:createDate,页面传到后端的是create_date,系统日志只读取到了create,下图是页面查询js里传给后端的字段,与实体类不一致。No property 字段名 found for type 实体类!错误总结:传入的字段与实体类中的名称不一致。
2024-04-04 03:50:18 164
原创 MySQL数据库下,使页面传入的数据与保存的数据编码一致
(1)登录MySQL数据库(Windows系统):win+R打开命令终端,cd到MySQL的bin目录,输入。修改连接字符集:set character_set_connection=utf8;修改数据库字符集:set character_set_database=utf8;修改结果字符集:set character_set_results=utf8;修改服务器字符集:set character_set_server=utf8;修改系统字符集:set character_set_system=utf8;
2024-03-30 19:21:52 260
原创 大厂HashMap源码面试
迁移发现next字段不是null,说明这个slot发生过hash冲突,这个时候需要把当前slot中保存到这个链表,拆成两个链表,分别是高位链和低位链,低位链因为高位是0,所以迁移到node新表的时候,slot下标和老的是一样的,那高位链,当高位是1时,存储到新表后的位置是老表位置+老表的tablesize,比如说老表长度是16,存储在老表的位置是8,那存储扩容后的表位置就是8+16,下标24的桶位。两次输入要保证hash值不同;treeNode,继承了node,指向父节点,左右节点,表示颜色等4个字段,
2024-03-29 18:11:49 386
原创 java锁
(5)尽量避免嵌套锁的使用,如果必须使用嵌套锁,可以采用锁的升级和降级策略,即先获取较低级别的锁,再获取较高级别的锁,避免死锁的发生。(1)避免一个线程同时获取多个锁,并且其他线程也需要这些锁的情况,可以通过对锁的获取顺序进行统一,降低死锁的概率。(2)尽量减小锁的作用域,即只在必要的部分进行加锁,这样可以减少锁的竞争,降低死锁的概率。用于针对特定变量的原子操作,提供线程安全的增加、减少、更新等操作,无需显式的锁机制。(3)使用定时锁,即在获取锁的时候设置超时时间,如果超时则放弃获取,避免长时间等待。
2023-10-19 11:58:16 202
原创 synchronized锁的升级过程
答:不一定,比如在一开始已经知道某个资源就需要被多个线程争抢,此时就不需要开启偏向锁,因为偏向锁给了标识之后,还需要取消这个标识,重新抢锁,比如在JVM中,偏向锁默认是延迟4秒才开始的,因为JVM在启动的时候需要多个线程竞争资源,并且这个都是一开始知道的。答:只有一个线程的时候就是偏向锁(当偏向锁开启的时候,偏向锁默认开启);:多个线程争抢锁,向内核申请锁资源,将未争抢成功的锁放到队列中直接阻塞。答:无锁 --> 偏向锁 --> 轻量级锁 --> 重量级锁。2:什么情况下偏向锁才会升级为轻量级锁。
2023-04-20 00:19:12 413
原创 使用RedisTemplate存储到redis的值乱码了怎么解决?
(2)为什么会产生乱码?RedisTemplate可以接收任意Object作为值写入Redis,只不过写入前会把Object序列化为字节形式,默认是采用JDK序列化,直接使用下图的代码就会出现(1)图所示现象。重新启动,若报了如下错误,说是缺少jackson依赖,引入依赖即可。(1)如下图,key和value都乱码了。至此,问题解决,如有疑问可评论区留言!(2)修改RedisTemplate。(1)创建redis配置类。
2023-04-01 18:57:41 2793 1
原创 英语口语练习:服装店
请先填这张表,星期五以后就可以来取件。让我看看其他分店是不是有黑色和M号。我来查电脑看看我们还有没有库存。不过我们现在只有红色有M号的。史密斯街分店有黑色M号。要不要请他们送到这里?那件毛衣有黑和红两色。
2023-03-15 11:13:00 374
原创 英语口语练习:购买鞋子
我可以放一根手指头在你的脚跟和鞋子之间。但是我不知道他们是否有一点太大。我想8号跟9号的都试穿看看。这种登山靴有八号半的吗?所以8号再来就是9号。我拿到收银机那里结账。
2023-03-14 16:05:00 195
原创 什么情况下MySQL索引会失效?
当or左右查询字段只有一个是索引,该索引失效,只有当or左右查询字段均为索引时,才会生效。(3)如果列类型是字符串,那一定要在条件中将数据使用引号引用起来,否则不使用索引。or语句前后没有同时使用索引,如下图:user_code没有加索引,此时索引失效。LIKE 查询,以%开头,索引失效;(7)当全表扫描速度比索引速度快时,mysql会使用全表扫描,此时索引失效。(5)在索引字段上使用“not”,“”,“!在索引列上使用“IS NOT NULL”,索引失效。在索引字段上使用“not”,“”,“!
2023-03-14 15:23:54 932
原创 Mysql搭建数据库主从复制,会有同步延迟问题,怎么解决?
(1)主从复制是单线程操作,当主库TPS高,产生的超过从库sql线程执行能力。(2)业务适合的话,写入主库后,再写缓存,读的时候可以读缓存,没命中再读从库。(1)业务需要有一定的容忍度,程序和数据库直接增加缓存,降低读压力。:主从同步,在大数据场景下,会发现写入主库的数据,在从库没找到。(3)、服务器硬件问题,如磁盘,CPU,还有网络延迟等。(6)业务侧解决,比如核心业务强制走主库,结合缓存使用。(3)读写分离,一主多从,分散主库和从库压力。(2)从库执行了大的sql操作,阻塞等待。
2023-03-02 17:23:55 246
原创 MySQL单表数据1000万,主键id是无序的,手写sql查出第900万条数据
使用LIMIT查出id,再根据id找到这一行的数据,查询速度一般,1.753s。数据库配置:阿里云RDS,MySQL5.7,4核16G。:直接使用 LIMIT,查询速度最慢,6.676s。:把id设置成索引,使用。(1)设置id为唯一索引。
2023-02-27 12:06:22 243
原创 MySQL之EXPLAIN
using index for group-by:类似于访问表的using index方式,using index for group-by表示mysql发现了一个索引,可以用查询group by或distinct查询的所有列,而不要额外搜索硬盘访问实际的表。ref:对于每个来自前面的表的行组合,所有匹配索引值的行将从这张表读取。index_merge:该连接类型表示使用索引合并优化方法,在这种情况下,key列包含了使用的索引的清单,key_len包含了使用的索引的最长的关键元素。
2023-02-27 11:51:12 229
原创 SpringBoot整合RabbitMQ
spring_topic_exchange交换机,绑定了spring_topic_queue_start、spring_topic_queue_swell、spring_topic_queue_well2。spring_fanout_exchange交换机,绑定了spring_fanout_queue1、spring_fanout_queue2 两个消息队列。(4)创建 spring-rabbitmq-producer.xml 配置文件。(3)创建 rabbitmq.properties 配置文件。
2023-02-16 18:03:39 1185
原创 RabbitMQ简介
如果每一次访问RabbitMQ都简历一个Connection,在消息量大的时候建立TCP Connection的开销将时巨大的,效率也较低,Channel是在connection内部简历的逻辑连接,如果应用程序支持多线程,通常每个thread创建单独的channel进行通讯,AMQP method 包含了channel id 帮助客户端和message broker 识别 channel,所以channel之间是完全隔离的。2006年,AMQP规范发布。:消息最终被送到这里等待 consumer 取走。
2023-02-15 11:51:34 375
原创 MQ的基本概念
RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ、MetaMq等,也有直接使用Redis充当消息队列的案例,而这些消息队列产品,各有侧重,在实际选型时,需要结合自身需求及MQ产品特征,综合考虑。:MQ的加入大大增加了系统的复杂度,以前系统间是同步的远程调用,现在是通过MQ异步调用。:A系统处理完业务,通过MQ给B、C、D三个系统发送消息数据,如果B系统、C系统处理成功,D系统处理失败。如何保证MQ的高可用?即解耦、提速、削峰这些方面的收益,超过加入MQ,管理MQ的这些成本。
2023-02-15 10:34:59 265
原创 Windows系统,安装RabbitMQ
(7)安装,rabbitmq-server-3.10.7.exe。(10)测试地址:http://localhost:15672。(6)安装,otp_win64_24.3.4.8.exe。(8)启动,进入rabbitmq安装目录(看下图)版本:RabbitMQ 3.10.7。(11)账号、密码默认是:guest。(5)下载好后的安装包如下。
2023-02-14 17:40:16 1132
原创 Nacos的下载与安装
(3)启动,双击bin目录下的startup.cmd命令文件。(5)登录控制台,默认账号密码都是nacos。(2)解压,下图是Windows。
2023-01-09 15:58:47 1142
原创 MySQL删除表数据总结(DELETE、TRUNCATE、DROP)
(4)DELETE与TRUNCATE的区别。,数据删除后,无法找回。,会连表一起删掉,无法找回。(2)保留表结构,只删除表数据,使用。(3)保留表结构,只删除表数据,使用。,可恢复删除的数据,速度较慢,可以与。(1)当我们不再需要该表时,使用。
2022-11-17 17:04:46 2115
原创 解决IDEA的application.properties文件中文乱码问题
解决IDEA的application.properties文件中文乱码问题
2022-11-16 18:29:14 780
原创 Redis哨兵集群搭建
(2)Sentinel给所有其它slave发送slaveof ip 端口号命令,让这些slave成为新master的从节点,开始从新的master上同步数据。:如果用的是云服务器,redis端口和哨兵端口都要放行,如果云服务器开启了防火墙,防火墙端口也要放行,或者直接关闭防火墙。(3)最后,Sentinel将故障点标记为slave,当故障节点恢复后会自动成为新的master的slave节点。(3)如果slave-prority一样,则判断slave节点的offset值,越大说明数据越新,优先级越高。
2022-11-10 00:01:33 318
原创 Redis一主两从集群搭建
一主两从,读写分离(1)3台服务器都安装上redis(2)打开RDB,关闭AOF(3)开启主从关系,修改从节点的配置文件。要配置主从可以使用或者(5.0以前)命令。有临时和永久两种模式:(1)修改配置文件(永久生效):在redis.conf中添加配置:(2)使用redis-cli客户端连接到redis服务,执行命令(重启后失效)注:修改配置文件后需重启redis:
2022-11-09 17:43:31 567
原创 SpringBoot和SpringCloud版本选型
(2)往下滑,可以看到SpringCloud对应的SpringBoot版本,如下图。(1)打开SpringCloud官网查看说明。Maven:3.5及以上。MySQL:5.7及以上。
2022-11-09 13:33:46 598
原创 Redis数据持久化
因为是记录命令,AOF文件回避RDB文件大很多,而且AOF回记录对同一个key的多次写操作,但只有最后一次写操作才有意义。通过执行bgrewriteaof命令,可以让AOF文件执行重写功能,用最少的命令达到相同效果。900秒内,如果至少有1个key被修改,则执行bgsave,如果时save"",则表示禁用RDB。写命令执行完先放入AOF缓冲区,然后表示每隔1秒将缓冲区数据写到AOF文件,是默认方案。Redis处理的每一个写命令都会记录在AOF文件,可以看作是命令日志文件。
2022-11-08 22:42:51 64
原创 项目名后面出现中括号如何解决?
(1)中括号如下图,和其他应用显示不一样,多了一个别名。(2)发现项目名称和文件夹名称不一致,改成一直即可。(3)改完后,别名消失。
2022-11-01 10:16:12 727
原创 CentOS 7.6系统,安装RabbitMQ
ip + 15672访问管理界面,用户密码都是guest。(1)上传安装包到 /usr/src/RabbitMQ。(5)安装 rabbitmq。(3)安装 erlang。(4)安装 socat。,执行后如果报错如下。
2022-10-31 10:41:38 756
原创 SpringBoot + SpringCloud,pom.xml配置依赖说明
Spring web,使用SpringMVC,Tomcat作为默认容器。指定JDK版本,打jar时跳过test包下的测试代码。指定SpringBoot版本。
2022-10-29 11:52:31 640
原创 使用IDEA快速创建一个SpringBoot项目
(2)Next,勾选Spring web依赖(该依赖会使用SpringMVC和tomcat容器),然后点击Create。application.properties:全局配置文件。templates:模板页面文件夹。(3)创建一个测试类,代码如下。Application:启动类。static:静态资源文件夹。test包下用于写测试代码。
2022-10-29 11:26:07 489
javax.faces-api-2.2.jar
2019-12-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人