自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 详解Nacos和Eureka的区别

1.Eureka是什么Eureka 是Spring Cloud 微服务框架默认的也是推荐的服务注册中心,由Netflix公司与2012将其开源出来,Eureka基于REST服务开发,主要用于实现AWS云的中服务定位,以实现中间层服务器的负载均衡和故障转移,2018年7月份.................................

2021-10-21 14:35:09 74944 2

原创 分布式理论

分布式是由单体系统演化而来,当单体服务节点无法满足日益增长的计算和存储,且硬件的提升(cpu,内存,磁盘)和集群价格高昂时,就需要引入分布式系统,但是分布式系统要解决的问题也并不比单体系统少,由于分布式多节点,网络通信和一致性问题,需要引入更多的机制,协议来处理...........................

2022-07-21 15:54:21 673 1

原创 canal meta.dat引起数据同步问题

destination = example , address = rm-bp1735850pf3d3jnh.mysql.rds.aliyuncs.com/172.18.48.45:3306 , EventParser] ERROR c.a.o.c.p.inbound.mysql.rds.RdsBinlogEventParserProxy - dump address rm-bp1735850pf3d3jnh.mysql.rds.aliyuncs.com/172.18.48.45:3306 has an..

2022-05-11 17:23:25 3580 1

原创 Jmeter对webSocket测试

Jmeter对webSocket压测以及观察Jmeter压测工具之前用WebSocket开发了消息的即时推送功能,也了解WebSocket的连接是比较占内存的,如果管理不好连接数,很容易触发jvm堆内存溢出最近工作上的事也忙完了,所以花点时间也对WebSocket进行压测,以及深入WebSocket连接数为什么占内存Jmeter压测工具Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域Jme

2022-01-04 10:34:45 5881 10

原创 Java线程中的用户态和内核态

内核态用户态是什么?操作系统对程序的执行权限进行分级,分别为用户态和内核态。用户态相比内核态有较低的执行权限,很多操作是不被操作系统允许的,简单来说就是用户态只能访问内存,防止程序错误影响到其他程序,而内核态则是可以操作系统的程序和普通用户程序内核态: cpu可以访问计算机所有的软硬件资源用户态: cpu权限受限,只能访问到自己内存中的数据,无法访问其他资源为什么要有用户态和内核态?系统需要限制不同的程序之间的访问能力,防止程序获取不相同程序的内存数据,或者外围设备的数据,并发送到网络,所有cpu

2021-05-04 17:45:16 5311 2

原创 @Scheduled定时任务线上环境不执行问题和解决

文章目录使用@Scheduled出现的问题使用@Scheduled出现的问题公司线上的一个项目,用户偶尔反馈App上部分功能没有数据,运营也是紧急联系我们技术,我经过排查发现app没有数据的功能,都是通过@Scheduled任务执行放入缓存的,但是又排查下来发现也并不是所有的定时任务没有执行,只是部分定时任务没有执行,由于情况紧急只能叫运维重启线上定时任务服务由于问题出现的断断续续,且一般偶尔周末发生,断断续续的花了几个月时间才完全解决...

2021-04-06 23:36:26 16282 2

原创 Mysql 影响性能因素和性能优化

文章目录介绍影响性能因素业务需求对性能的影响系统架构和业务实现的性能影响SQL引起性能原因介绍mysql作为中小型数据库,免费,开源等,受到中小型公司和用户的青睐,在项目中数据库作为基石,承载了项目生产的数据,一个好的项目能否给用户带来好的体验,往往和数据库设计优化密不可分影响性能因素业务需求对性能的影响不合理的需求需求:一个论坛帖子总量的统计附加要求:实时更新1,初级阶段:SELECT COUNT(*)2,新建一个表,在这个表中更新这个汇总数据(频率问题)3,真正的问题在于,实时?创建

2021-01-31 18:28:22 650 1

原创 深入了解RabbitMQ 基础概念和原理

文章目录什么是RabbitMQRabbitMQ应用场景AMQP协议AMQP核心概念什么是RabbitMQRabbitMq用Erlang语言开发的基于AMQP协议开源实现的AMQP全全称Advanced Message Queue,高级消息队列协议,它是应用层协议的一个开发标准,为面向消息的中间件设计,基于此协议的客户端与消息中间件,不受产品和开发语言的条件限制,RabbitMQ 最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性,扩展性,高可用性等方面有表现不俗表现RabbitMQ应用场

2021-01-27 16:38:33 852 3

转载 Elasticsearch 机制原理 (二)

文章目录分片机制存储原理分段存储段的优越点延迟策略段合并ES的性能优化ES存储设备ES内部索引优化调整ES参数JVM性能调优分片机制分片是Elasticsearch在集群中分发数据的关键把分片想象成数据的容器,文档存储在分片中,然后分片分配到集群中的节点,当集群扩容或缩小,ES将会自动在节点间迁移分片,以使集群保持平衡一个分片在es中是最小级别的工作单元.它只是保存了索引中所数据的一部分分片可以是主分片或者复制分片,在集群中唯一一个空节点创建一个叫做blogs的索引,默认情况下,一个索引被分配5个主

2021-01-22 19:08:08 410

原创 Elasticsearch 基本概念 (一)

文章目录基本概念介绍为什么使用ES数据结构结构化数据非结构化数据Elasticsearc不支持事物核心名词索引类型映射文档分词器分片副本插件Elasticsearch head插件kibana插件ik中文分词器基本概念介绍Elasticseanrch是一个分布式可扩展,RESTful 风格,Java开发的实时搜索和分析引擎,全文搜索引擎底层基于Lucene(搜索引擎工具包)的搜索引擎,Es除了有Lucene的全文全文搜索功能,还有一下功能1:分布式实时文件存储,并将每一个字段编入索引,使其文档可以被

2021-01-21 19:10:11 234

原创 阿里分布式事务框架Seata,AT模式原理解析

什么是分布式事务如今在分布式技术盛行下,许多公司都已经在使用分布式技术了,虽然分布式技术给我们项目带来了三高(高可用,高扩展,高性能)等优点,但是缺点也很明显,分布式项目一般都是分服务开发,且多个服务部署在不同的服务器上,这样就产了分布式事务, 使用本地事务技术处理分布式事务就无法生效,此时就需要一个优秀的分布式事务框架来处理分布式事务基础原理两阶段提交(2pc)方案两阶段提交协议(Two Phase Commitment Protocol)中,基于数据库XA协议(mysql5.0.3支持此协议),

2021-01-17 19:44:39 5759

原创 Redis 缓存雪崩 、击穿、穿透问题和解决方案

缓存雪崩什么是缓存雪崩,缓存雪崩即内存的中缓存,无法正常读取出来,大量请求访问到数据库上,导致数据库内存飙升,压力过大,严重甚至导致数据库岩机,导致项目整体挂了之前自己公司线上服务就有遇到过服务雪崩,大面积缓存数据失效导致的,请求访问到了数据库,导致数据库内存飙升,服务变得卡顿,最后排查原因,发现是我们定时任务服务,线程堵塞了,所有定时任务都不执行,无法从数据库读后写入Redis发生缓存雪崩的几种情况1:redis异常导致岩机2:大面积缓存失效3:请求超出redis最大承受数解决方案1:给r

2021-01-13 18:21:43 126

原创 深入JVM QC对象存活算法和垃圾回收算法

1:JVM 为什么要垃圾回收虚拟机在加载类的时候需要创建对象实例,并且每个对象实例都需要内存空间,如果没有垃圾回收,程序在运行一段时间就会抛出内存溢出等问题,而且虚拟机创建的对象实例,也并是每一个对象都有引用的,没有被引用的垃圾也就是垃圾对象了,完全可以被清除掉2:了解垃圾回收当项目当中遇到了内存溢出,内存泄漏问题时,项目遇到高并发瓶颈时且优化代码已经微乎其微时,优化垃圾收集器就是一个很好的解决方案程序计算器,虚拟机栈...

2020-06-03 09:01:38 405

转载 线程池作用和参数原理

线程池的作用List item减少资源的开销减少了每次创建线程、销毁线程的开销。提高响应速度每次请求到来时,由于线程的创建已经完成,故可以直接执行任务,因此提高了响应速度。提高线程的可管理性线程是一种稀缺资源,若不加以限制,不仅会占用大量资源,而且会影响系统的稳定性。因此,线程池可以对线程的创建与停止、线程数量等等因素加以控制,使得线程在一种可控的范围内运行,不仅能保证系统稳定运行,而且方便性能调优。线程池的实现原理线程池一般由两种角色构成:多个工作线程 和 一个阻塞队列。工作线程

2020-05-31 20:24:44 938

原创 HashMap和ConcurrentHashMap底层原理

1:HashMap1.1:基本原理HashMap是以key,value的存储的容器,它是通过计算key的hash值来进行存储的,在查询的时候也是通过key的hash值进行查询,所有查询效率还是不错的,HashMap不支持key重复,value允许重复,key允许一个为null,底层存储使用到了节点对象数组-单向链表-红黑树存储,红黑数是JDK8加入的主要的是用来优化HashMap的查询,HashMap线程也不是安全的,在高并发容易造成数据混乱1.2数据结构数组: 数组存储在内存区间空间是连续的,

2020-05-28 16:36:27 385

原创 JVM类加载竟然如此简单,不敢相信

什么是类加载虚拟机把类的数据从class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的java类型,这就是虚拟机的类加载机制.在Java语言中,类型的加载,连接和初始化过程都是在程序期间完成的,这种策略虽然会令类加载时稍微增加一些性能开销,但是会为java应用程序提供高度的灵活性,天生可以动态扩展的语言特性就是依赖运行时期动态加载和动态连接的这个特点实现类加载在虚拟机的生命周期,加载,验证,准备,解析,初始化,使用,卸载七个阶段,其中,验证,准备,解析三个部分称之为

2020-05-22 17:42:01 169

原创 分析Mysql事务实现原理

相信大家都用过事务以及了解他的特点,如原子性(Atomicity),一致性(Consistency),隔离型(Isolation)以及持久性(Durability)等。今天想跟大家一起研究下事务内部到底是怎么实现的,在讲解前我想先抛出个问题:事务想要做到什么效果?按我理解,无非是要做到可靠性以及并发处理可靠性:数据库要保证当insert或update操作时抛异常或者数据库crash的时候需要保障数据的操作前后的一致,想要做到这个,我需要知道我修改之前和修改之后的状态,所以就有了undo log和red

2020-05-19 15:47:55 215

原创 Java网络爬虫,基于Jsoup实现 (快速爬取)

1:网络爬虫1.1:为什么要网络爬虫在现在这个大数据时代,信息瞬息万变,在我们做的项目时可能因为某些原因,不会去产生这些数据,但是我们项目中又需要某些数据,这个时候我们就需要网络爬虫了1.2:网络爬虫原理那么什么是网络爬虫呢,顾名思义就是通过我们代码操作去爬取别的网站的数据,然后提取出来变成我们自己的数据,网络爬虫主要就是通过一个url地址链接然后返回一个页面元素,我们在通过提取,把数据提...

2019-08-24 17:08:02 707

原创 Mybatis-使用SpringBoot集成Mybatis(二)

在现在越来越多的项目搭建是使用的springboot集成Mybatis,我就也来写一下springBoot集成Myabtis搭建使用的软件IntelliJ IDEA 2018.3.5 x64Mavenjdk 1.8mysql**1:创建Spring Boot项目**选择需要的依赖,我们这里只需要一个web,和mysql,jdbc,mybatis的依赖就够了,然后next创...

2019-06-28 14:59:10 111

原创 Mybatis-快速上手及其原理-了解什么是Mybatis(一)

什么是Mybatis:Mybatis是支持普通SQL查询,存储过程和高级映射的优秀的持久层框架,Mybatis几乎消除了几乎所有的JDBC代码和参数手工设置及对所有的JDBC和参数的手工设置及对结果的检索,Mybatis可以使用简单xml或注解用户配置和原始映射,将接口和Java的POJO映射成数据库中的记录主流持久层框架比较:jdbc,mybatis,hibernate各自优缺点及区别j...

2019-05-28 15:50:25 262

原创 Spring @Transaction注解及事务解读

首先想了解@Transaction注解,首先就要了解什么是事务没有事务存在的问题: 首先有一段代码他有很多个操作对数据库进行更改,但是代码在运行中,执行到一半的时候一个操作数据库的一个操作报了一个错误,此时咱们知道Java中报了错误,就不会在往下执行代码了,那么还有一半的代码片段就不会执行,但是在这段代码中已经有一半的代码已经执行了,并且也对数据库进行操作了,但是可能没有被执行到的代码片段是...

2019-05-23 14:40:31 2384

空空如也

空空如也

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

TA关注的人

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