自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 kafka命令--简单粗暴有效

踩坑:查看topic时报错 ERROR org.apache.kafka.common.errors.TimeoutException: Timed out waiting for a node assignment. Call: listTopics。解决办法:命令的ip地址换成localhost。

2024-06-03 18:47:18 355 1

原创 mysql启动停止重启命令--linux

service mysqld restart重启。

2024-03-21 11:20:33 334 1

原创 十分钟掌握HTTP

1. HTTP协议与TCP/IP协议的关系         HTTP的长连接和短连接本质上是TCP长连接和短连接。HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议。IP协议主要解决网络路由和寻址问题,TCP协议主要解决如何在IP层之上可靠的传递数据包,使在网络上的另一端收到发端发出的所有包,并且顺序与发出顺序一致。...

2022-03-22 15:41:34 299

原创 Java8中的Stream API详解:Stream的背景及使用

摘要:      Stream是Java8的一大亮点,是对容器对象功能的增强,它专注于对容器对象进行各种非常便利、高效的 聚合操作(aggregate operation)或者大批量数据操作。Stream API借助于同样新出现的Lambda表达式,极大的提高编程效率和程序可读性...

2022-01-04 17:25:40 507 1

原创 谈谈BeanUtils.copyProperties的使用(深拷贝,浅拷贝)

文章目录 场景BeanUtils是深拷贝,还是浅拷贝? 什么情况适合用BeanUtils有子对象就一定不能用BeanUtils么 代码例子dest ,src 还是 src,dest 这里说的是spring的BeanUtils.copyProperti...

2021-12-28 17:22:54 2071

原创 IntelliJ idea 中的todo和fixme

TODO是什么说白了它就是一个高亮显示的注释,方便定位的工具。(eclipse也有,小白估计没用过) 附一个W3Cschool上面关于TODO的说明文档:https://www.w3cschool.cn/intellij_idea_doc/intellij_idea_doc-nx4b2dto.html IntelliJ idea  预定义了两种TODO模式如下: \btodo\b.*\bf...

2021-11-18 11:05:37 1319

转载 从机械硬盘和固态硬盘的结构来看IO

“磁盘”这个词,对于程序员来说并不陌生,我们知道它是一种存储介质,主要用来存储数据的,可以说常用的中间件基本上都离不开它,比如我们常用的MySQL数据库、kafka消息引擎,甚至redis缓存都离不开磁盘。 我们在优化某个业务逻辑的时候,经常需要用到缓存,尽量让热数据都从缓存里读取,因为我们知道磁盘是缓慢的,特别在高并发的场景下,我们要保证极少的请求走磁盘IO。不知道你有没有思考过以下问题: 机械硬盘为什...

2021-11-18 10:20:21 183

原创 RestTemplate 用法详解

上篇文章带大家学习了一下基本的微服务环境搭建,由 provider 提供服务, consumer 通过 DiscoveryClient 先去 eureka 上获取 provider 的服务的地址,获取到地址之后再去调用相关的服务。在服务的调用过程中,使用到了一个工具,叫做 ...

2021-11-17 22:33:02 934

原创 MySQL 的全局锁、表锁、行锁

01 前言 小胖真的让人不省心。继上次小胖误删数据之后,这次这货直接给我把整个表锁住了。页面无响应,用户疯狂投诉,我特么脸都绿了。。。 事情是这样的,线上有个数据库几十万的数据,由于一开始没做好规划并没有给热点字段加索引。我就让小胖有空加个索引,没想到这货在用户使用高峰期加。。。...

2021-11-16 13:01:14 425

原创 toString() 和强制类型转换 (String) 和String.valueOf()区别

toString()方法先看API 中关于 toString()的描述:返回该对象的字符串表示。通常,toString 方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。Object 类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于:getClass().getName() + ‘@’ + Intege

2021-11-15 13:42:41 261

原创 RedisTemplate - 常用集合之opsFor系列

一、opsForValue 简单的Key-Value操作 1、set(K key, V value) 该方法是向Redis新增一个key-value,由方法参数可知k-v可以是泛型,也就是说我们k-v不一定要是传统的String-String,还可以是Object-Object...

2021-11-15 10:08:47 2947

原创 RedisTemplate

因工作需要,学习redis 找了很多资料…都不是很全面…我这里借鉴一下前人写好的资源整合一下… 1、set(K key, V value) 新增一个字符串类型的值,key是键,value是值。 Java代码 收藏代码 1.redisTemplate.opsForValu...

2021-11-11 22:52:51 423

原创 String.spit()的使用方法总结

  java.lang.string.split split 方法 将一个字符串分割为子字符串,然后将结果作为字符串数组返回。 stringObj.split([separator,[limit]]) stringObj 必选项。要被分解的 String 对象或文字。该对象不会被 split 方法修改。 separator 可选项。字符串或 正则表达式 对象,它标识了分隔字符串...

2021-11-08 17:41:32 892

原创 遍历map的四种方法

 Map.entrySet() 这个方法返回的是一个Set<Map.Entry<K,V>>,Map.Entry 是Map中的一个接口,他的用途是表示一个映射项(里面有Key和Value),而Set<Map.Entry<K,V>>表示一个映射项的Set。Map.Entry里有相应的getKey和getValue方法,即JavaBean,让我们能够从一个项中取出...

2021-11-01 13:36:09 170850 8

原创 @RequestBody的用法

提示:建议一定要看后面的@RequestBody的核心逻辑源码以及六个重要结论!本文前半部分的内容都是一些基            本知识常识,可选择性跳过。欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右Smar...

2021-10-22 01:03:27 321

原创 服务的隔离,熔断,降级,限流

1.服务的隔离:           默认情况下,一个项目的接口都是由一个线程池去维护的,当某个接口被大量访问的时候,其他的接口就会被迫等待,当达到线程池的极限的时候甚至会造成服务的丢失,造成服务的雪崩效应(A接口被大量访问,会造成其他接口等待,不可用)。       解决方案:       &nbs...

2021-09-28 16:53:07 365

原创 面试官:同样是注册中心,Zookeeper和Eureka有哪些区别?

CAP定理 在分布式系统的发展中,影响最大的莫过于CAP定理了,是分布式系统发展的理论基石。 2000年,加州大学的计算机科学家 Eric Brewer提出了CAP猜想2002 年,麻省理工学院的 Seth Gilbert 和 Nancy Lynch 从理论上证明了 CAP...

2021-09-28 16:43:39 244

原创 本地缓存与分布式缓存的优缺点、适用场景与实现分析

一、缓存的概念 在服务端编程当中,缓存主要是指将数据库的数据加载到内存中,之后对该数据的访问都在内存中完成,从而减少了对数据库的访问,解决了高并发场景中数据库容易成为性能瓶颈的问题;以及基于内存的访问速度高于磁盘的访问速度的原理(数据库读取数据一般需要从磁盘读取),提高了数据的访问...

2021-09-28 16:33:04 857

原创 数据库和缓存同步机制

  之前写了三篇关于秒杀的文章,里面提到了通过分布式缓存来缓解数据库压力。最近有朋友私信回复问,缓存和数据库是如何进行同步的,通过大家的问题,让我感到这个点确实可以聊一下,所以今天准备写一写,供大家做一个参考。 缓存同步的常用模式 缓存同步的模式,可以按照缓存的用途(主要用于读或者写)分为两类:读缓存的同步和写缓存的同步。 读缓存的同步: 缓存预加载模式 ...

2021-09-28 12:13:12 765

原创 史上最全最简洁的事务说明

文章目录 数据库事务事务是什么事务的四大特性 MySQL事务隔离级别查看MySQL当前事务隔离级别MySQL默认操作模式为自动提交模式 JDBC处理事务Spring事务Spring的事务传播PROPAGATION_REQUIREDPROPAGATION_SUPPO...

2021-09-27 23:34:28 112

原创 JAVA 设计的六大基本原则

目录(?)[+] 1.遵循单一职责原则 一个类只专注于做一件事;  高内聚,低耦合; 2.开放-封闭原则 对拓展开放,对修改关闭(尽可能不动原有代码进行拓展);  高内聚,低耦合;  为达到目的,需对系统进行抽象化设计(关键);  UML举例:  ...

2021-09-27 12:12:17 349

原创 高并发下线程安全的单例模式(最全最经典)

在所有的设计模式中,单例模式是我们在项目开发中最为常见的设计模式之一,而单例模式有很多种实现方式,你是否都了解呢?高并发下如何保证单例模式的线程安全性呢?如何保证序列化后的单例对象在反序列化后任然是单例的呢?这些问题在看了本文之后都会一一的告诉你答案,赶快来阅读吧! 什么是单例模式? 在文章开始之前我们还是有必要介绍一下什么是单例模式。单例模式是为确保一个类只有一个实例,并为整个系统提供一个全局访问点的一种模式...

2021-09-26 23:43:05 368 1

原创 为什么enum枚举实现单例模式天然线程安全?

定义枚举时使用 enum 和 class 一样, 是 Java 中的一个关键字。 就像 class 对应一个 Class 类一样, enum 也对应有一个 Enum 类。 通过将定义好的枚举反编译, 我们就能发现, 其实枚举在经过 javac 的编译之后, 会被转换成形如 publi...

2021-09-26 23:36:37 501

原创 如何确保消息不丢失

生产者丢失消息:如网络传输中丢失消息、MQ 发生异常未成功接收消息等情况。  解决办法:主流的 MQ 都有确认或事务机制,可以保证生产者将消息送达到 MQ。如 RabbitMQ 就有事务模式和 confirm 模式。MQ 丢失消息:MQ 成功接收消息内部处理出错、宕机等情况。  解决办法:开启 MQ 的持久化配置。消费者丢失消息:采用消息自动确认模式,消费者取到消息未处理挂掉了。  解...

2021-09-26 23:34:54 443

原创 JAVA面试灵魂108问(四十)---消息队列2

  大家好,我是陈哈哈,北漂五年。相信大家和我一样,都有一个大厂梦,作为一名资深Java选手,深知面试重要性,接下来我准备用100天时间,基于Java岗面试中的高频面试题,以每日3题的形式,带你过一遍热门面试题及恰如其分的解答。   一路走来,随着问题加深,发现不会的也愈来愈多...

2021-09-23 16:35:22 172

原创 MQ消息队列详解、四大MQ的优缺点分析

MQ消息队列详解、四大MQ的优缺点分析 前言面试题切入面试官心理分析面试题剖析①为什么要使用MQ系统解耦异步调用流量削峰消息队列的优缺点四大主流MQ(kafka、ActiveMQ、RabbitMQ、RocketMQ)各自的优缺点 前言 近期有了想跳槽...

2021-09-23 16:30:20 405

原创 JVM内存模型(通俗易懂)

1.什么是jvm? (1)jvm是一种用于计算设备的规范,它是一个虚构出来的机器,是通过在实际的计算机上仿真模拟各种功能实现的。 (2)jvm包含一套字节码指令集,一组寄存器,一个栈,一个垃圾回收堆和一个存储方法域。 (3)JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需...

2021-09-23 10:47:24 118

原创 PostgreSql EXPLAIN 查询计划分析

1.基本语法 EXPLAIN [ ANALYZE ] [ VERBOSE ] sql语句 各参数含义: analyze:执行语句并显示真正的运行时间和其它统计信息,会真正执行SQL语句; verbose:显示额外的信息,尤其是计划树中每个节点的字段列表,schema识别表和函数名称。总是打印统计数据中显示的每个触发器的名字; costs:包括每个计划节点的启动成本预估和总成本的消耗,也包括行数和行宽度的预...

2021-09-22 20:02:30 547

原创 高并发与多线程的关系与区别

一、什么是高并发        高并发(High Concurrency)是一种系统运行过程中遇到的一种“短时间内遇到大量操作请求”的情况,主要发生在web系统集中大量访问收到大量请求(例如:12306的抢票情况;天猫双十一活动)。该情况的发生会导致系统在这段时间内执行大量操作,例如对资源的请求、数据库的操作等。 二、高并发的处理指标 高并发相关常用的一些指标有:响应时...

2021-09-22 11:23:27 2806

原创 在Idea中使用Git后,类名各种颜色代表的含义

在安装了git以后发现idea类名出现了不同的颜色,如下:   它们分别表示的含义: 绿色,已经加入控制暂未提交 红色,未加入版本控制 蓝色,加入,已提交,有改动 白色,加入,已提交,无改动 灰色:版本控制已忽略文件。 ...

2021-09-20 16:11:33 1753

原创 spring中Transactional事务及事务参数配置

@Transactional注解方式:    @Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.SERIALIZABLE, rollbackFor = Exception.class) @Transactional属性 属性名 类型 说明 Isolation 枚举类型 事务隔离...

2021-09-20 16:04:30 1318

原创 JAVA面试灵魂108问(三十九)---实战那些事儿3

  大家好,我是陈哈哈,北漂五年。相信大家和我一样,都有一个大厂梦,作为一名资深Java选手,深知面试重要性,接下来我准备用100天时间,基于Java岗面试中的高频面试题,以每日3题的形式,带你过一遍热门面试题及恰如其分的解答。   一路走来,随着问题加深,发现不会的也愈来愈多...

2021-09-18 19:14:13 98

原创 JAVA面试灵魂108问(三十八)---JVM3

  大家好,我是陈哈哈,北漂五年。相信大家和我一样,都有一个大厂梦,作为一名资深Java选手,深知面试重要性,接下来我准备用100天时间,基于Java岗面试中的高频面试题,以每日3题的形式,带你过一遍热门面试题及恰如其分的解答。   一路走来,随着问题加深,发现不会的也愈来愈多...

2021-09-18 18:59:35 103

原创 idea使用git提交代码时报错Push failed Bad boolean config value ‘“false”‘ for ‘http.sslverify‘

idea使用git提交代码时报错Push failed: Bad boolean config value ‘“false”’ for ‘http.sslverify’ 开始解决办法 在使用git向gitlab提交代码时报错Push failed: Bad boolean con...

2021-09-17 14:43:11 1600 2

原创 Git操作 fatal: bad numeric config value ‘“false”‘ for ‘http.sslverify‘: invalid unit错误

错误显示 解决方法 git config --global --edit 或者找到C:\Users\wang(自己电脑的名)下找到 .gitconfig 删掉 点ESC 然后输入:wq 退出 ...

2021-09-17 14:39:38 5444 4

原创 比较Dubbo(RPC)和Springcloud(Rest风格的HTTP)两种远程服务调用方式

目录 回顾RPC和HTTP 消费者RPC调用生产者 消费者HTTP调用生产者   回顾RPC和HTTP    RPC自定义数据格式,基于网络七层中的传输层,速度快效率高,dubbo是其代表   Http规定了数据传输的格式。基于网络七层中的应用层,浏览器与服务器较普遍采用,灵活性高但消息封装臃肿springcloud是其代表   ...

2021-09-16 18:25:03 510

原创 在idea中使用git管理你的项目

起步 idea是十分智能的Java集成开发环境 而我们在用idea写项目的时候经常遇到版本控制的问题,而git工具如果你只会在终端中的git命令来进行控制,可能会使得效率低下 今天小编就教大家在idea中使用git来管理你的项目 首先创建一个项目 点击create new...

2021-09-16 11:32:19 1401

转载 狂神说SpringCloud学习笔记

笔记整理来源 B站UP主狂神说https://www.bilibili.com/video/BV1jJ411S7xr 学习前言 1.1 学习前提 熟练使用SpringBoot 微服务快速开发框架 了解过Dubbo + Zookeeper 分布式基础 电脑配置内存不低于8G...

2021-09-13 17:49:36 443

原创 Git回滚远程仓库代码

前言 工作中 不小心把未上线代码提交到了 远程master分支该怎么办 淡定 下面开始回滚代码 方式一、使用IDEA回滚远程仓库代码 下图中 123 是错误的提交记录 现在要把远程的master分支 回滚到 测试提交1 时的状态 打开仓库 git push -f 完事 ...

2021-09-12 16:13:20 433

原创 超详细的Git使用教程(图文)

一、Git概述 1.1 Git历史 Git 诞生于一个极富纷争大举创新的年代。Linux 内核开源项目有着为数众多的参与者。 绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)。 到 2002 年,整个项目组开始启用一个专有的分布...

2021-09-11 17:52:52 2285

空空如也

空空如也

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

TA关注的人

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