自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (1)
  • 收藏
  • 关注

原创 1.2万物皆对象

2021-11-15 11:39:24 257

原创 1.1 初入书院

爪哇岛处于山海大陆西部地带,是一座历史悠久 ,呈细长状的岛屿,其民风纯朴,岛民日出而作、日落而息。某一天清晨,所有岛民都来到港口为一个十五六岁的少年送行。只见那少年虽然身体瘦弱,可是目中却绽放出异彩;身躯虽然不壮实,倒也挺拔。“唐迦,你是我们全岛民的骄傲,是百年来唯一具备修行java甲等资质的孩子!马上会有宵朝的大人来接你,今后你一定要认真修行,给我们岛争光!”他叫唐迦,几天前通过了修行资质的检验,符合了修行java的资质。“宵朝!”唐迦眼前一亮,语气中伴随着激动,两眼放光。宵朝在山海大陆是数一

2021-11-12 18:13:29 386

原创 RabbitMq介绍及实战

为什么使用消息队列优点比较核心的有 3 个:解耦、异步、削峰。缺点有以下几个:系统可用性降低系统引入的外部依赖越多,越容易挂掉。系统复杂度提高硬生生加个 MQ 进来,如何保证消息的传递及消费成功一致性问题A 系统处理完了直接返回成功了,人都以为你这个请求就成功了;但是问题是,要是 BCD 三个系统那里,BD 两个系统写库成功了,结果 C 系统写库失败了,这数据就不一致了。所以...

2020-04-21 14:12:05 242 1

原创 Docker搭建Rabbitmq集群(可用)

本文基于镜像队列实现RabbitMQ的高可用性(HA)具体的实现策略如下所示: ha-mode ha-params 功能 all 空 镜像队列将会在整个集群中复制。当一个新的节点加入后,也会在这个节点上复制一份。exactly count 镜像队列将会在集群上复制count份。如果集群数量少于count时候,队列会复制到所有节点上。如果大于Count集群,有一个节点crash后,新进入节点...

2020-04-21 13:00:32 607

原创 Dubbo原理及实战

dubbo是什么Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的RPC实现服务的输出和输入功能,可以和Spring框架无缝集成。Dubbo框架,是基于容器运行的,容器是Spring。Dubbo系统分为五个部分:远程服务运行容器(Container),远程服务提供方(Provider)、注册中心(Register)、远程服务调用者(Consumer)、监控中心(...

2020-04-15 15:27:12 147

原创 Zookeeper集群搭建

zookeeper是什么Zookeeper: 是一个分布式的、开源的程序协调服务zookeeper有什么用他提供的主要功 能包括:配置管理、名字服务、分布式锁、集群管理。如何搭建zookeeper本文基于docker搭建单机版及集群版单机版首先拉取zookeeper镜像docker pull zookeeper查看镜像创建目录cd /opt/zookeeperm...

2020-04-15 14:33:25 131

原创 重试机制用法与实现

在RPC外部调用,如果网络不稳定的情况下,重试功能是比较重要的必备项。解决方案例如:根据失败重试时间,创建延迟队列,如果请求失败,入队列,消费,spring retry,guava retrying,sisyphus本文使用最简单的方式springboot+spring retry,其他的阔以自己去看看spring retry实现首先导入相关pom依赖 <dep...

2020-04-09 10:06:00 1351

原创 多数据源快速开发实战

什么时候需要多数据源切换①、项目中存储的数据量很大,一个服务器扛不住,需要将一部分数据存储在另外一个服务器里,然而我们还要每天去访问这些存储的数据。②、项目与其他项目对接,需要连接另外一个项目的数据库(这里可能有人会提议使用API,但这是相对于第三方公司,人家不会把数据库信息暴露给你的,所以才提供的api。)实现多数据源切换实现(springboot+aop)添加相关pom &l...

2020-03-31 15:16:23 199

原创 分布式限流实战

为何要限流由于API接口无法控制调用方的行为,因此当遇到瞬时请求量激增时,会导致接口占用过多服务器资源,使得其他请求响应速度降低或是超时,更有甚者可能导致服务器宕机。限流(Rate limiting)指对应用服务的请求进行限制,例如某一接口的请求限制为100个每秒,对超过限制的请求则进行快速失败或丢弃。限流可以应对:热点业务带来的突发请求;调用方bug导致的突发请求;恶意攻击请求。...

2020-03-27 10:05:26 128

原创 分布式事务解决方案介绍与实现

分布式事务为何存在随着架构的演变,分布式、微服务变得流行起来,各个拆分的项目之间存在调用问题,每个服务对应的数据库也可能不一致,这时候数据安全就存在隐患,也就是CAP问题,所以分布式事务就出来了。如何实现分布式事务演变过程2PC3PCTCCLCD本文基于LCD Manager 实现分布式事务...

2020-03-26 09:27:52 126

原创 Redis主从哨兵与集群介绍及实现

什么是Redisredis是非关系型、开源,支持水平扩展的NoSQL数据库,基于key-value存储,提供海量的数据访问,支持数据持久化(RDB、AOF模式),可用来做分布式缓存中间件。采用单线程模型使的线程安全且性能瓶颈不束于cpu,避免了不必要的上下文切换和竞争条件,同时它是非阻塞的,采用epoll作为I/O多路复用技术的实现。RDB模式:就是每隔一段时间,定时保存,有点像MySQL中...

2020-03-24 16:48:00 155

原创 分布式锁-快速实战

目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题就存在问题,解决方案分布式锁。下面介绍两种首先分布式锁的方案:基于Spring Integration实现分布式锁基于redisson实现分布式锁优缺点:第一种引入简单,使用方便,但只支持重入锁。第二种较第一种麻烦一点点,但支持重入锁、公平锁、读锁、写锁等多种类型。第一种方案:提供的全局锁目前为以下存储提供了实现...

2019-10-29 16:35:58 930 1

原创 简单的EXCEL导入实战(错误数据记录原因,正确数据入库)

以导入招生信息为例首先在项目pom文件中引入 &lt;dependency&gt; &lt;groupId&gt;cn.afterturn&lt;/groupId&gt; &lt;artifactId&gt;easypoi-web&lt;/artifactId&gt; &lt;version&gt;3.0.3&lt...

2019-03-01 13:34:30 5022

原创 构建简易Java虚拟机执行器

我们将深模拟构建一个简易的Java虚拟机(JVM)执行器。这个过程不仅能够帮助我们理解JVM的工作原理,也是对我们编程能力的一次实质性提升。

2024-05-21 14:05:05 354

原创 MilvusPlus向量数据库增强操作库

🔥🔥🔥MilvusPlus(简称 MP)是一个Milvus的操作工具,旨在简化与 Milvus 向量数据库的交互,为开发者提供类似 MyBatis-Plus 注解和方法调用风格的直观 API,提高效率而生。简化开发流程:通过注解直接在代码中声明数据库结构,不用手动创建集合、属性、索引、分区,项目启动即自动构建,减少手动编写Milvus API调用的需要。提高开发效率:注解驱动的方式使得数据库结构的创建和管理更加快捷,加快开发速度。增强代码可读性。

2024-05-21 14:02:10 900

原创 《构建简易Java虚拟机执行器》

我们将模拟构建一个简易的Java虚拟机(JVM)执行器。这个过程不仅能够帮助我们理解JVM的工作原理,也是对我们编程能力的一次实质性提升。

2024-05-20 00:17:32 345

原创 【javpower:后端技术革新的开源之旅】

技术之路,是一场永无止境的探索。我在Java后端开发的世界里,用每一个精心设计的项目,诠释着对技术的深刻理解和无限热爱。

2024-04-27 04:08:13 739 2

原创 Java视觉智能识别

JavaVision是一个基于Java开发的全能视觉智能识别项目,不仅实现PaddleOCR-V4、YoloV8物体识别、人脸识别、以图搜图等核心功能,还可以轻松扩展到其他领域,如语音识别、动物识别、安防检查等。这使得JavaVision成为一个全面解决多种场景需求的自适应平台。

2023-11-12 14:46:44 334 2

原创 Error-NioEndpoint-打开文件过多

1. 场景:使用javacv将rtsp流转为flv,服务跑几天后报错。2022-01-20 09:32:41.214 [http-nio-9145-Acceptor-0] ERROR org.apache.tomcat.util.net.NioEndpoint - Socket accept failedjava.io.IOException: 打开的文件过多 at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method) ~

2022-01-25 15:44:32 1118

原创 JVM内存结构

组成部分jvm内存结构包含程序计数器、java虚拟机栈、本地方法栈、堆、元数据区、直接内存,其中堆、元数据区、直接内存线程共享,程序计数器、java虚拟机栈、本地方法栈线程私有。(java1.7没有元数据区,在jvm虚拟机数据区内使用永久代)程序计数器程序计数器是一块较小的内存空间,是当前线程正在执行的那条字节码指令的地址。若当前线程正在执行的是一个本地方法,那么此时程序计数器为Undefined。程序计数器的作用字节码解释器通过改变程序计数器来依次读取指令,从而实现代码的流程控制。在多

2021-10-22 17:32:51 85

原创 随机生成值

use rand::Rng;use rand_distr::{Alphanumeric, Distribution, Normal, NormalError, Standard, Uniform};fn main() -> Result<(), NormalError> { let mut rng=rand::thread_rng(); let n1:u8=rng.gen(); let n2:u16=rng.gen(); println!("u8---

2021-09-14 16:51:14 144

原创 packetdrill工具安装

下载packetdrill源码上传到linux文件目录解压进入源码目录cd gtests/net/packetdrill安装 bison和 flex 库:sudo yum install -y bison flex为避免 offload 机制对包大小的影响,修改 netdev.c 注释掉 set_device_offload_flags 函数所有内容执行 ./configure修改 Makefile,去掉第一行的末尾的 -static执行 make 命令编译确认编译无误地生成了 packe.

2021-08-09 13:20:03 263

原创 SpringCloud-Ali

概述Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用服务的必需组件。方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置。就可以将 Spring Cloud 应用接入阿里分布式应用解决方案,通过阿里中间件来迅速搭建分布式应用系统。版本介绍组件关系依赖关系Nacos概述什么是NacosNacos 致力于帮助您发现

2021-06-24 11:17:49 537

原创 理解channel

概述在 Java NIO 中,基本上所有的 IO 操作都是从 Channel 开始。数据可以从 Channel 读取到 Buffer 中,也可以从 Buffer 写到 Channel 中。如下图所示:NIO Channel 对比 Java StreamNIO Channel 类似 Java Stream ,但又有几点不同:对于同一个 Channel ,我们可以从它读取数据,也可以向它写入数据。而对于同一个 Stream ,通畅要么只能读,要么只能写,二选一( 有些文章也描述成“单向”,.

2020-10-17 14:24:41 2895

原创 安装elasticSearch常见问题及处理方法

一、什么是elasticSearch基于Lucene的搜索框架, 它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口上手容易,拓展节点方便,可用于存储和检索海量数据,接近实时搜索,海量数据量增加,搜索响应性能几乎不受影响;分布式搜索框架,自动发现节点,副本机制,保障可用性 二、安装elasticSerachwget 下载elasticsearch安装包wget https://artifacts.elastic.co/downloads/elasticse...

2020-08-25 15:04:36 634

原创 简单的web项目环境搭建及部署(单机)

文章目录一、配置JDK二、安装Docker三、搭建Mysql四、搭建Redis五、启动web服务一、配置JDK1、选择版本安装yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel#或者如下命令,安装jdk1.8.0的所有文件yum install -y java-1.8.0-openjdk*2、查看JDK是否安装成功java -version3、配置环境变量JDK默认安装路径/usr/lib/jvm在/etc/profi

2020-08-25 14:43:57 1282

原创 系统设计

-服务抗压问题评估总访问量评估平均访问的QPS (一天8w秒按4w秒算)评估峰值PQS压测单机QPS(tomcat单机一般1200QPS)据需增添机器-线程数设置问题若单核服务器在执行某业务任务CPU计算时间为x等待时间为y,则N核服务器的线程数设置为N*(x+y)/x-扩展问题负载均衡...

2020-08-24 10:34:04 115

原创 网络原理图

2020-08-08 16:42:38 308

原创 (二)理解Buffer

内附备注,大概了解一下Buffer类的实现public abstract class Buffer { // Invariants: mark <= position <= limit <= capacity /** 一个备忘位置。调用 mark( )来设定 mark = postion。调用 reset( )设定 position = mark。标记在设定前是未定义的(undefined)。 **/ private int mark = -1;.

2020-08-05 09:52:19 455

原创 (一)理解IO

一. 要理解IO操作,首先需要了解计算机的组成、用户空间与内核空间。计算机是由硬件系统(hardware system)和软件系统(software system)两部分组成的。软件系统包括操作系统、语言处理系统、服务程序、数据库管理系统。操作系统分为用户态、内核态。当进程运行在内核空间时,它就处于内核态;当进程运行在用户空间时,它就处于用户态。当我们需要进行IO操作时,如读写硬盘文件、读写网卡数据等,进程需要切换到内核态,否则无法进行这样的操作,无论是从内核态切换到用户态,还是从用

2020-08-04 11:05:20 687

原创 SpringCloud之五大组件

springcloud微服务微服务:拆分、单一、独立、组件化。将一个复杂的庞大的项目拆分成一个一个的小项目独立的运行,通过接口的方式组装成一个大项目。springcloud是基于springboot的一套实现微服务的框架。提供了微服务开发所需要的配置管理,服务管理,断路器,智能路由,微代理,控制总线,全局锁,策略竞选,分布式会话和集群状态管理等组件。五大组件1)Eureka:注册中心:服...

2020-04-15 16:55:49 1126

原创 Mysql体系结构介绍

MySql Server层:连接层和SQL层:连接层:通信协议,线程处理,用户名密码认证SQL层:权限判断,查询缓存,解析器,预处理,查询优化器,缓存和执行计划。存储引擎层InnoDB:支持事务;行锁;高并发;数据和索引文件都存储在.Ibd文件里,并且都缓存在内存里;统计行数需要全表扫描。MyISAM:不支持事务;表级锁;低并发;数据文件的扩展名为.MYD(mydata),索引文...

2020-04-09 10:57:56 198

原创 Mysql实用总结第一篇

什么是MYSQLmysql是一种开源的使用广泛的关系型数据库,支持多种存储引擎。原理MYSQL逻辑分层 :连接层 服务层 引擎层 存储层存储引擎:InnoDB(默认) :事务优先 (适合高并发操作;行锁)MyISAM :性能优先 (表锁)详情:InnoDB是 MySQL 默认的事务型存储引擎,只有在需要它不支持的特性时,才考虑使用其它存储引擎。实现了四个标准的隔离级别,默认级...

2020-03-25 15:12:43 145

翻译 Java 8 Lambda

lambda表达式是一个可以传递执行的代码块。这是一些编程语言的常见功能,例如Lisp,Python,Scala等。但在Java 8之前,我们不能在Java中做同样的事情。如果我们想要执行一个代码块,我们需要创建一个对象并传递对象,例如使用策略设计模式。从Java 8开始,lambda表达式使我们能够将功能视为方法参数并传递一段代码。Java 8中的Lambda表达式非常强大,因此非常引人注目。...

2018-12-04 14:24:44 103

分布式缓存Redis高级应用实战.md

reidis介绍、为什么使用内存缓存数据库、Redis作为单线程模型为什么效率还这么高、Redis服务安装及常用命令解析、数据持久化、持久化化文件是如何恢复的、高可用主从搭建、故障转移哨兵模式、集群

2020-08-25

空空如也

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

TA关注的人

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