自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 通过yum一分钟安装NGINX

yum安装nginx命令。

2023-05-10 15:25:29 233

原创 k8s基于kubeadm部署集群 含集群NotReady解决方案

kubernetes简称k8s。是用于自动部署,扩展和管理容器化应用程序的开源系统。中文官网:https://kubernetes.io/Zh/中文社区:https://www.kubernetes.org.cn/官方文档:https://kubernetes.io/zh/docs/home/社区文档:https://docs.kubernetes.org.cn/

2022-12-31 17:07:14 2575

原创 Mysql 杀死进程 | 解决Lock wait timeout exceeded

Mysql 杀死进程 | 解决Lock wait timeout exceeded

2022-11-08 00:18:23 2054

原创 ava.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/Str

Windows安装Hadoop

2022-08-23 22:53:43 3543

原创 Strapi如何发送邮件 | 设置注册自动发送邮件

图文介绍strapi的邮件配置,注册邮件发送,步骤图解

2022-08-08 15:59:44 1477

原创 为什么要用redis而不是直接在java里hashMap 为什么用消息队列而不是直接在java里开个队列

俩个问题是一个问题①首先JVM数据进程内共享,进程间不共享。②jvm保存数据量过大,很容易导致OOM。③Java适合保存小数据,毕竟通过中间件中间会多一跳网络请求。④没有内存缓存到磁盘机制,实现起来麻烦拓展举例:【要用redis而不是直接在java里hashMap】这个问题类似【为什么token不存在session而不是redis】,当服务器水平拓展的时候,单个服务器只保存了部分session,为了解决这一问题,tomcat需要冗余其他tomcat的session。总结:体量不大,项目处于开发

2022-04-23 21:58:24 1435

原创 什么叫异步编程

**同步:**一个请求发出到响应结果,这段时间请求方处于阻塞状态;**异步:**一个请求发出,立马返回请求发出成功,结果通过回调返回;发布订阅模式就是异步思想,典型实现是mq

2022-04-23 21:55:05 248

原创 什么是摩尔定律,和高并发有什么关系

摩尔定律是戈登摩尔提出:每隔近2年,集成电路上的晶体管会增加一倍,后来由大卫 豪斯提出18个月芯片性能会提升一倍。芯片性能提升可以分为横向(Scale-out)或纵向(Scale-up)提升。一个应用可以纵向提升单机性能,提高并发量;也可以横向拓展机器数量提升并发量。...

2022-04-23 21:53:55 432

原创 修改 Docker 的默认存储路径【官方推荐】

Docker 默认安装的情况下,会使用 /var/lib/docker/ 目录作为存储目录先查看自己硬盘内存使用:df -h命令查看默认docker路径 docker info官方文档的修改办法是编辑 /etc/docker/daemon.json 文件:修改之后如下默认情况下这个配置文件是没有的,这里实际也就是新建一个,然后写入以下内容保存退出,然后重启 docker 服务:systemctl restart docker再次查看 docker 信息:docker info...

2021-12-17 17:40:55 2273

转载 Netty03-进阶

三. Netty 进阶1. 粘包与半包1.1 粘包现象服务端代码public class HelloWorldServer { static final Logger log = LoggerFactory.getLogger(HelloWorldServer.class); void start() { NioEventLoopGroup boss = new NioEventLoopGroup(1); NioEventLoopGroup worke

2021-10-27 21:30:00 128

转载 Netty04-优化与源码

四. 优化与源码1. 优化1.1 扩展序列化算法序列化,反序列化主要用在消息正文的转换上序列化时,需要将 Java 对象变为要传输的数据(可以是 byte[],或 json 等,最终都需要变成 byte[])反序列化时,需要将传入的正文数据还原成 Java 对象,便于处理目前的代码仅支持 Java 自带的序列化,反序列化机制,核心代码如下// 反序列化byte[] body = new byte[bodyLength];byteByf.readBytes(body);ObjectIn

2021-10-27 21:30:00 127

转载 Netty02-入门

二. Netty 入门1. 概述1.1 Netty 是什么?Netty is an asynchronous event-driven network application frameworkfor rapid development of maintainable high performance protocol servers & clients.Netty 是一个异步的、基于事件驱动的网络应用框架,用于快速开发可维护、高性能的网络服务器和客户端1.2 Netty 的作者[外

2021-10-27 17:12:09 125

转载 Netty01-nio

一. NIO 基础non-blocking io 非阻塞 IO1. 三大组件1.1 Channel & Bufferchannel 有一点类似于 stream,它就是读写数据的双向通道,可以从 channel 将数据读入 buffer,也可以将 buffer 的数据写入 channel,而之前的 stream 要么是输入,要么是输出,channel 比 stream 更为底层#mermaid-svg-yuLtFxip0psB6wHk .label{font-family:'trebuche

2021-10-27 17:11:39 98

原创 物联网Kafka理论+实战+Zookeeper+深入+错误集合

物联网Kafka配置 Kafka理论+Zookeeper 深入 错误集合前言:用于公司物联网项目,kafka作为消息中间件,kafka作为公司新技术,现行使用单点,不用集群。物联网Kafka配置zookeeper:用于注册发现kafka,使用版本apache-zookeeper-3.7.0-bin.tarkafka:使用版本kafka_2.13-2.8.0eagle:查看和管理zk,kafka,topic等,使用版本kafka-eagle-bin-1.3.7mysql:管理监控kafka数据,使

2021-06-29 09:08:24 1187

原创 多线程和高并发(七) 线程池

多线程和高并发(一)多线程和高并发(二)| volatile关键字文章目录多线程和高并发(七) 线程池捕获线程的执行异常注入Hook钩子线程线程池什么是线程池JDK对线程池的支持核心线程池的底层实现BlockingQueue任务队列RejectedExecutionHandler拒绝策略ThreadFactory监控线程池扩展线程池优化线程池大小线程池死锁线程池中的异常处理ForkJoinPool 线程池保障线程安全的设计技术Java 运行时存储空间无状态对象不可变对象线程特有对象装饰器模式锁的优化及

2021-05-09 16:41:01 486

原创 多线程和高并发(六) ReentrantLock

多线程和高并发(一)多线程和高并发(二)| volatile关键字文章目录多线程和高并发(六) ReentrantLockReentrantReadWriteLock读写锁线程管理线程组创建线程组线程组的基本操作多线程和高并发(六) ReentrantLockReentrantReadWriteLock读写锁synchronized和ReentrantLock都是排他锁(独占锁),同一时间只允许一个线程执行同步代码块,安全但效率低。ReentranReadWriteLock读写锁是一种改进

2021-05-09 16:39:52 293

原创 多线程和高并发(五) ThreadLocal & Lock

多线程和高并发(一)多线程和高并发(二)| volatile关键字文章目录多线程和高并发(五) ThreadLocal & Lock线程间通信ThreadLocal的使用Lock显示锁锁的可重入性ReentrantLockReentrantLock锁的可重入性lockInterruptibly()方法tryLock()方法显示锁的等待/通知公平锁和非公平锁几个常用的方法多线程和高并发(五) ThreadLocal & Lock线程间通信ThreadLocal的使用Threa

2021-05-09 16:39:09 569

原创 多线程和高并发(四) 线程间通信

系列文章目录多线程和高并发(一)多线程和高并发(二)| volatile关键字文章目录系列文章目录多线程和高并发(四)| 线程间通信线程间通信等待/通知机制interrupt()方法会中断wait()方法notify和notifyAll方法wait(long)的使用通知过早生产者消费者模式多线程和高并发(四)| 线程间通信线程间通信等待/通知机制interrupt()方法会中断wait()方法当线程处于wait()等待状态时候,调用线程对象的interrupt()方法会中断线程,产生I

2021-05-07 09:20:28 278

原创 多线程和高并发(三) Compare And Swap

多线程和高并发(三)| Compare And Swap系列文章目录多线程和高并发(一)多线程和高并发(二)| volatile关键字文章目录多线程和高并发(三)| Compare And Swap系列文章目录线程同步CAS(Compare And Swap)原子变量类线程间的通信等待/通知机制什么是等待通知机制等待通知机制的实现线程同步CAS(Compare And Swap)是由硬件实现的,CAS可以将读改写(read - modify - write)这类的操作转化为原子操作。i

2021-05-06 23:48:43 539 1

原创 多线程和高并发(二)volatile关键字

线程同步线程同步机制简介线程同步机制是一套用于协调线程之间的数据访问的机制,该机制可以保障线程安全。Java平台提供的线程同步机制包括:锁,volatile关键字,final关键字,static关键字,以及相关API,例如Object.wait()等方法。锁概述线程安全问题的产生前提是多个线程访问共享数据。将多个线程对共享数据的并发访问转换为串行访问,即一个共享数据一次只能被一个线程访问,锁就是复用这种思路保障线程安全。**锁(Lock)**可以理解为共享数据的许可证,对于同一个许可证保护的共

2021-04-24 15:59:07 760

原创 多线程和高并发(一) Thread

多线程和高并发(一)多线程进程狭义上理解:是运行在电脑中的一个程序,一个进程包含多个线程,再操作系统中是以进程来分配虚拟存储空间,文件描述符等。线程是进程的一个执行单元,每个线程都有自己的线程栈,自己的寄存器环境,自己的线程本地存储。主线程和子线程JVM启动时候会创建一个线程执行main方法,所以main方法所在的线程是主线程,线程之间不独立,例如在主线程创建线程A,A即为主线程的子线程。串行,并发,并行三者传输速度为:串行 <= 并发 <= 并行并发:是一个核心运行多个线程

2021-04-12 17:20:02 950

原创 Docker常用命令 Docker安装、注册中心

Docker1 Docker简介1.1 什么是虚拟化​ 在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储。​ 在实际的生产环境中,虚拟化技术主要用来解决高性能的物理硬件产能过剩和老的旧的硬件产能过低的重组

2021-03-26 09:40:49 387

原创 带有转义字符的字符串转为Json

带有转义字符的字符串转为Json{"event":"dataChanged","eventTime":"2021-03-19 13:59:41","payload":"{\"dev_id\":\"330017BDA092\",\"dev_msg\":{\"DeviceType\":\"B204\",\"HardVer\":\"1.0.0.0\",\"SoftVer\":\"1.0.0.0\",\"SwitchAmount\":2,\"SerialPortAmount\":3},\"control_msg\

2021-03-22 11:10:36 6277

原创 Boot转为Cloud开发Feign常见问题

Boot转为Cloud开发Feign常见问题前言:boot和cloud都是购买的同一家公司产品,在版本切换过程中,远程调用遇到过一些问题,记录如下,很多问题是有多种方法解决,比如序列化问题,使用注解。这是别人写好的组件,或者自己写转化器也可以,我只贴出一种我在开发中的解决方法;另外有些见解不是很正确,但确实解决了开发的一种问题,大家自己斟酌。400 Bad Request during [GET] toGET请求url过长,使用POST请求Feign请求参数null如果是对象,需要在Feign接

2021-03-18 10:36:49 944

原创 dubbo消费者@Reference引入为null,提供者已注册,消费者未消费

dubbo消费者@Reference引入为null,提供者已注册,消费者未消费我的错误解决方法:我遇到的错误是因为@Reference包引入错误,引入的是jdk自带的@Reference,改成alibab的@Reference就好问题描述:项目加新功能点之前可以跑通,新加一个功能点之后,不报错也不提示,但前台就是没有数据回显,于是debug查看代码是否携带数据,查看后得到引入的bean为空解决步骤:因为之前项目可以跑通,所以也顺带查看了下同包下的controller,比如同个包下的Stemea

2020-09-25 10:17:04 2330 1

原创 解决导入依赖慢,导入错误,连接超时!

在使用springboot的时候一个starter下载好几十分钟,下载有时候还会连接超时,推荐一个镜像库(类似中央仓库,下载依赖从镜像库的url下载),阿里镜像库。打开apache-maven\conf\settings.xml,设置标签<mirrors> <!-- mirror | Specifies a repository mirror site to use instead of a given repository. The repository that

2020-07-03 13:05:32 520

原创 ‘dataSource‘: Invocation of init method failed;

‘dataSource’: Invocation of init method failed;org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘dataSource’: Invocation of init method failed; nested exception is java.lang.NullPointerException出现这个错误看看是不是导入多了启动器,比如:

2020-07-02 23:50:20 1767

空空如也

空空如也

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

TA关注的人

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