- 博客(23)
- 收藏
- 关注
原创 macbook pro m1 芯片,2021版本安装nacos报错踩坑
1、最新版本的2.1.2以及2.0.3版本都无法再 amd64 启动,应该是命令无法适配或者文件描述符不对。2、高版本的数据库报错,原因是默认是sql不是mysql,改成自己环境的mysql解决。我后面用的是1.4.2版本才能正常启动,建议都用这个版本的。
2022-10-31 14:50:01
993
原创 阿里云服务器上rabbitMQ报错;解决方案Error: unable to connect to node rabbit@localhost: nodedown
阿里云mq安装报错Error: unable to connect to node rabbit@localhost: nodedown
2022-10-12 23:35:17
829
原创 SpringCloud feign 调用get,post踩坑
今天使用feign调用服务提供者,服务提供者也指定了是get方式。 但是服务消费者通过feign调用时,提供者服务方报错,说用的post调用,但是并不支持这种方式。 但是我服务消费者这边页眉设置什么内容啊。 解决方式: 服务提供者,入参加上@RequestParam注解后解决,估计时加了这个注解feign才走get,不加这个注解默认走post ...
2022-05-18 20:29:12
748
原创 Stream 流关于是否是可读流的验证
今天在某个推文中看到说stream流是可读流,类似于数据库查询操作,只能查询数据,不会保存数据。这个说法有悖于我常用stream遍历对象并重新set属性。所以做了个测试程序 package com.logisitics.job.util; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class Test {
2022-03-29 19:57:11
1220
原创 springboot 使用函数式编程(流式编程)替代if/else方法及代码简洁性案例
替代if/else 方案 以异常为例子,自定义一个异常接口类: package lambda.iforelse; @FunctionalInterface public interface ThrowExceptionFunction { /** * 抛出异常信息 * @param message 异常信息 */ void throwMessage(String message); } 然后定义一个工具类(不一定是工具类,可以是任何类) p..
2022-03-12 20:24:14
2075
原创 单体架构、微服务架构讲解
三层架构 三层架构分为表现层,业务逻辑层,数据访问层。三层架构的出现,解决了系统间调用复杂,职责不清的问题,也有效降低了层与层之间的依赖关系,称为软件架构的经典模式之一。 虽然三层架构将系统在逻辑上分成了三层,但它并不是物理上的分层。也就是说,对不同层的代码而言,经历编译、打包、部署后,所有的代码最终还是运行在同一个进程中。 对于这种功能集中、代码中心化、一个发布包、部署后运行在同一进程的应用程序,我们通常称之为单体架构应用。 单体架构 优势: 1、易于开发 ...
2022-03-12 19:59:35
3071
原创 springboot 使用责任链模式优化项目代码案例
项目背景: 由于做的物联网项目,需求是接入子设备(智能家居设备),由于各种子设备厂家,设备型号都不一样,举个例子,美的空调和格力空调,都属于空调类,但是属于两个厂家,物模型能力大致相同但存在差异; 移动端又有自己需求展示对应子设备属性数据。举个例子:假设这次接入了一个双键开关,接到一个需求说必须在首页展示一个快捷开关控制按钮。(首页不是指设备详情/控制页,控制页是所有开关都可以控制的)。默认是第一个开关 按键1 作为首页快捷控制,后期是可以更新的。 ...
2022-03-03 10:20:01
1366
原创 springboot 使用工厂模式+策略模式替代多重if 案例
项目背景: 由于做的是物联网项目,现在需要实现的是网关入网+子设备注册;网关有3个逻辑,分别为首次入网、解绑后同一个人入网(恢复)、解绑后换人入网(换人)、子设备注册; 原先写法是: if(type == 1){ doSomeThing() //首次入网 }else if(type == 2){ doSomeThing() //恢复 }else if(type == 3){ doSomeThing() //换人注册 }else if(type == 4){ ..
2022-03-03 09:55:01
6611
2
转载 happens-before是什么?JMM最最核心的概念,看完你就懂了
happens-before是JMM最核心的概念。对应Java程序员来说,理解happens-before是理解JMM的关键。 我的并发系列文章,前面三篇学习了 Java并发机制底层实现的三个关键要素:volatile、synchronized、原子性操作。以及Java内存模型是为了解决在并发环境下由于 CPU缓存、编译器和处理器的指令重排序 导致的可见性、有序性问题。 其中重点学习了 volatile 的内存语义,以及JMM是如何定义和实现的,在学习 volatile 内存语义实现原理时我们了解到了 J
2022-02-13 22:56:28
249
原创 看完这篇让你彻底搞懂 Dockerfile
Dockerfile 作用: Dockerfile 就是Docker 中用来一键安装项目所有依赖的一个“命令文件” ,这里面都是按照Docker 官方要求进行命令编写, build 时候 就会按照 类似shell 命令一步一步执行并构建一个镜像; 说明: 从应用软件的角度来看,DockerFile,docker镜像与docker容器分别代表软件的三个不同阶段。 DockerFile 是软件的原材料 (代码) Docker 镜像则是软件的交付品 (.apk) Docker 容器则是软件的运
2022-01-15 14:41:52
1351
3
原创 Docker 安装
安装环境: centos7 安装命令: yum install docker 设置开机自动启动: service docker start 查看版本: docker version 修改docker仓库地址: 命令: vi /etc/docker/daemon.json 内容: { "registry-mirrors":[ "https://hub-mirror.c.163.com", ...
2022-01-10 15:43:28
734
原创 使用 Docker 构建 SpringBoot 项目
Docker是一种运行于 Linux 和 Windows 上的软件,用于创建、管理和编排容器。
2022-01-03 18:30:34
795
转载 替代VmWare,VitualBox虚拟机的工具 --- Multipass
Multipass 介绍 说起虚拟机工具大家最熟悉的自然是 VMware,功能很多很强大,最让我认可的地方就是可以非常方便的修改虚拟机的配置,让虚拟机达到自己想要的性能~~ 可是 VMware 好用是真的好用,但就是要付费呀!还不便宜,每次续费的时候我多多少少都有点心疼~~ #Multipass 推荐了一款虚拟机工具:Multipass,非常轻量级的虚拟机命令管理工具。运行环境支持 Linux、Windows 和 macOS。(注意:需要依赖于 viturlbox 使用) # 开始使用
2022-01-03 17:59:42
3768
原创 Mybatis源码解析,一级缓存+二级缓存
介绍 Mybatis可以说是当今使用度最广的ORM框架了,由其自由,灵活,配置少受到了国内所有研发人员的热爱,今天我们来聊聊Mybatis 中的一级缓存和二级缓存。 大致介绍,mybatis一级缓存是SqlSession级别的缓存,即缓存一个SqlSeesion;二级缓存是NameSpace级别的缓存,即缓存一个mapper文件中的sql语句,不同SqlSession访问同一个mapper文件的sql是可以走二级缓存的。 如图是整体一...
2021-09-19 14:07:29
453
原创 小白都能秒懂的EXPLAIN关键字,对300w测试数据进行优化
下面都是以MYSQL8.0版本测试。 关闭MYSQL缓存 Explain关键字使用 直接通过在查询语句前加上explain ,如 explain select * from test ; Explain 下各个字段作用 id:从id属性可以得知表的执行顺序 举个例子: 查询1 explain select * from test ; 查询2 explain select * from score sc where sc.s_id in (select stu.s_id ...
2021-04-13 13:17:19
322
原创 TCP/IP到底是什么?一文弄懂
计算机通信网络发展路程 从独立模式到网络互连模式 起初,计算机以单机模式被广泛使用(这种方式也叫独立模式)。然而随着计算机的不断发展,人们已不再局限于单机模式,而是将一个个计算机连接在一起,形成一个计算机网络。连接多台计算机可以实现信息共享,同时还能在两台物理位置较远的机器之间及时传递信息。 计算机网络 计算机网络,根据规模分为WAN(Wide Area Network,广域网)和(Local Area Network,局域网)。 计算机通信协议参考模型:OSI七层参考模型 首先介...
2021-04-09 15:41:55
540
原创 记录一次启动consumer报错Failed to load property source from location ‘classpath:/application.yml‘
大家先照网上的教程一个一个试一下,若还不行,再来选择我这个方法。 其实很简单,就是设置一下yml文件的格式,看与项目的文件格式对应的上不。若项目是UTF-8,你的yml文件用GBK就会有问题,那么只要修改成对应的就可以成功启动。 设置路径如下: 保存后,再去启动就成功了。 这个报错要么就是pom文件依赖冲突,要么就是yml文件格式不对,比如多了空格等等,再就是我这个情况。 ...
2021-03-03 00:10:16
351
原创 HashMap为什么要同时重写hashCode和equals方法
今天说说HashMap为什么要同时重写hashCode和equals方法 , 为什么不只重写hashCode或者只重写equals呢 ? 算是自己也写个笔记记录记录吧 ! 首先是hashmap的put方法 , 这个put方法的过程一定是要保证hashmap的键值对的唯一性 、 键的唯一性 。 hashmap 初始化的时候是一个table 数组 , 默认是16大小 , 然后如果有了ha...
2020-05-06 17:26:32
1192
原创 mysql隔离级别深入理解
今天彻底的学习一下数据库中的四种隔离机制,也算个人记录一下学习情况。 先上概念,所谓概念不清,理解混淆。 MySQL的S锁和X锁: **共享锁(shared lock):**也叫读锁,读锁是共享的,或者说是互不阻塞的。 **排它锁(exclusive lock):**也叫写锁,写锁是互斥的,一个写锁会和其他的写锁或者读锁互斥,相互阻塞。 事务的四种隔离级别: **读未提交:**Read Unco...
2020-04-03 18:42:14
473
原创 一张图详解分布式事务之两阶段提交和三阶段提交,还不懂算我输!
不多说,直接上图,整理好久的! 参考于https://segmentfault.com/a/1190000012534071,写的很好,推荐! 写的不好,欢迎交流!
2020-03-06 01:34:47
344
转载 Java中关于子类调用父类无参还是有参构造方法的各个类型
1.子类和父类都定义了带参和无参构造方法,且在子类中第一行写了super(xx);并且测试类里面实例化的是子类的带参构造方法,那么,此时不会先调用父类的无参构造方法,而是先调用父类有参构造方法再调用子类的有参构造方法; 下面上代码和结果: 结果是: 2.2、子类和父类同时具有有参和无参的构造方法,子类有参构造方法中第一行写的没有super.(xx),且子类实例化时用的是...
2019-04-14 12:20:01
11030
5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅