自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 可达性算法中的并发标记属实有点东西

谈到JVM我们肯定会谈到垃圾回收,而垃圾回收最前置的知识点一定是如何判断对象是否死亡。引用计数法和可达性分析算法大家肯定已经耳熟能详了,今天深入讲解下可达性算法中的那些事儿。如何判断对象是否死亡对堆垃圾回收前的第一步就是要判断哪些对象已经死亡引用计数法给对象中添加一个引用计数器,每当有一个地方引用它,计数器就加 1;当引用失效,计数器就减 1;任何时候计数器为 0 的对象就是不可...

2022-06-23 23:50:38 134

原创 解决RocketMQ跨域问题导致无法发送消息

报错信息org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to [马赛克 我的服务器内网IP地址]:10911 failed at org.apache.rocketmq.remoting.netty.NettyRemotingClient.invokeSync(NettyRemotingClient.java:390) ~[rocketmq-remoting-4.7.0.jar:4.7.0] at org

2021-12-19 18:31:07 625

原创 实战SpringSecurity+OAuth2

上篇我们讲了OAuth2.0的概念这一篇针对实战详细说说

2021-12-19 18:28:07 1000

原创 啥是OAuth2

什么是OAuth2OAuth 2.0 是目前流行的一种授权机制,用来授权第三方应用,获取用户数据。为什么需要用到OAuth2几乎每个人在使用一个APP或网页应用的时候都看过他们支持第三方登录比如微信登录、 QQ 登录、微博登录、 Google 账号登录、github 授权登录等等。这些都是典型的 OAuth2 使用场景。假设我们做了一个自己的服务平台,如果不使用 OAuth2 登录方式,那么我们需要用户先完成注册,然后用注册号的账号密码或者用手机验证码登录。相信很多人使用过、甚至开发过公众号网页服

2021-12-19 18:26:53 537

原创 SpringCloud远程连接Nacos报错

问题描述使用Spring Cloud Alibaba微服务架构,服务发现和配置中心使用nacos一开始使用本地启动Nacos运行项目一切正常,Nacos迁移到云端之后,改掉配置文件中的Nacos地址网关的服务就报错java.net.ConnectException: no available server,原因是它一直连接localhost:8848。控制台输出如下截图:原因定位因为父pom依赖引入:spring-cloud-starter-alibaba-nacos-config 和s.

2021-12-19 18:24:49 1726 1

原创 SpringCloud-Eureka与生产者消费者

今天继续学习SpringCloud。上篇我们讲了微服务的概念这一篇针对Eureka详细说说以下代码皆用最简单的代码示例,并非真正的业务代码学习中用到的学习资料如下:文章:SpringCloud极简入门视频:Spring Cloud从入门到实战Eureka分为两部分Eureka Server,注册中心Eureka Client,所有要进行注册的微服务通过 Eureka Client 连接到 Eureka Server,完成注册。Eureka Server代码实现创建父工程,pom

2021-11-07 23:00:07 584

原创 SpringCloud-Zuul服务网关与Ribbon负载均衡

今天继续学习SpringCloud。上篇我们讲了Eureka和服务提供者、消费者这一篇针对服务网关和负载均衡详细说说以下代码皆用最简单的代码示例,并非真正的业务代码学习中用到的学习资料如下:文章:SpringCloud极简入门视频:Spring Cloud从入门到实战服务网关的概念在分布式项目架构中,会将服务进行拆分,不同的微服务负责各自的业务功能,实现软件架构层面的解耦合。但是如果拆分之后的微服务数量太多,是不利于系统开发的,因为每个服务都有不同的网络地址,客户端多次请求不同的微服务需要

2021-11-07 22:58:55 1615

原创 SpringCloud-Feign和Hystrix

今天继续学习SpringCloud。上篇我们讲了服务网关Zuul和负载均衡Ribbon这一篇针对Feign和Hystrix详细说说以下代码皆用最简单的代码示例,并非真正的业务代码学习中用到的学习资料如下:文章:SpringCloud极简入门视频:Spring Cloud从入门到实战Feign在实际开发中,还有另外一种更加便捷的方式来实现相同的功能,这就是Feign,现在就来使用Feign实现服务消费的负载均衡。什么是Feign与Ribbon一样,Feign也是由Netflix提供的,F

2021-11-07 22:57:50 354

原创 SpringCloud-配置中心和服务跟踪

今天继续学习SpringCloud。上篇我们讲了Feign和Hystrix这一篇针对配置中心和服务跟踪详细说说以下代码皆用最简单的代码示例,并非真正的业务代码学习中用到的学习资料如下:文章:SpringCloud极简入门视频:Spring Cloud从入门到实战配置中心在基于微服务的分布式系统中,存在一个问题,多个微服务所对应的配置项也会非常多,一旦某个微服务进行了修改,则其他服务也需要作出调整,直接在每个微服务中修改对应的配置项是非常麻烦的,改完之后还需要重新部署项目。Spring C

2021-11-07 22:55:11 354 1

原创 SpringCloud-微服务概述

好久不见,从今天起开启新的学习连载---SpringCloud。由于篇幅过多,我会把我的学习笔记分成几大块展开今天只讲概念,谈谈什么是微服务。学习中用到的学习资料如下:文章:SpringCloud极简入门视频:Spring Cloud从入门到实战为什么要使用微服务?传统的 Java Web 都是采用单体架构的方式来进行开发、部署、运维的,所谓单体架构就是将 Appl...

2021-11-06 01:53:06 218

原创 《深入理解Java虚拟机》读书笔记----线程安全与锁优化

本篇为JVM专栏第七篇,也是最终章,讲解线程安全和锁优化相关知识。上篇是内存模型与线程,还没看的可以补补课哈。 点击跳转线程安全Java并发编程实战的作者BrianGoetz为“线程安全”做出了一个比较恰当的定义:“当多个线程同时访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行...

2021-11-06 01:49:25 138

原创 《深入理解Java虚拟机》读书笔记----Java内存模型与线程

本篇为JVM专栏第六篇,讲解内存模型与线程相关知识。上篇是字节码,还没看的可以补补课哈。 点击跳转Java内存模型主内存与工作内存Java内存模型规定了所有的变量都存储在主内存,也叫main memory。除此之外,每条线程有自己的工作内存。线程的工作内存中保存了被该线程使用的变量的主内存副本,线程对变量的所有操作都必须在工作内存中进行,而不能直接读写主内存中的数据。...

2021-11-06 01:48:21 105

原创 《深入理解Java虚拟机》读书笔记----虚拟机字节码执行引擎

本篇为JVM专栏第五篇,讲解字节码相关知识。上篇是类的加载机制,还没看的可以补补课哈。 点击跳转执行引擎是Java虚拟机核心的组成部分之一。“虚拟机”是一个相对于“物理机”的概念,这两种机器都有代码执行能力,区别是物理机的执行引擎是直接建立在处理器、缓存、指令集和操作系统层面上的,而虚拟机的执行引擎则是由软件自行实现的,因此可以不受物理条件制约地定制指令集与执行引擎的结构体系...

2021-11-06 01:46:43 382

原创 @Autowired和@Resource的区别

最近开发过程中经常看到项目中有的地方用@Autowired有的地方用@Resource。所以这篇文章主要谈谈这两个注解有什么区别。共同点@Resource和@Autowired都可以作为注入属性的修饰,在接口仅有单一实现类时,两个注解的修饰效果相同,可以互相替换,不影响使用。不同点1、@Resource是JDK原生的注解,@Autowired是Spring2.5 引入的注解2、...

2021-10-24 13:57:43 435

原创 《Java并发编程的艺术》读书笔记

目的并发编程的目的是为了让程序运行得更快,但是,并不是启动更多的线程就能让程序最大限度地并发执行。在进行并发编程时,如果希望通过多线程执行任务让程序运行得更快,会面临非常多的挑战,比如上下文切换的问题、死锁的问题,以及受限于硬件和软件的资源限制问题。单核处理器是不是不支持并发?即使是单核处理器也支持多线程执行代码,CPU通过给每个线程分配CPU时间片来实现这个机制。时间片是CPU分配给...

2021-10-18 22:49:53 194

原创 设计模式学习笔记

这是一篇偏基础的设计模式学习笔记,希望对大家有帮助。学习中用到的学习资料如下:视频:案例上手设计模式Java版,通俗易懂,轻松学会书:《重学Java设计模式》六大原则单一职责一个类和方法只做一件事里氏替换子类继承父类尽量别重写父类方法,增加自身功能就好依赖倒置细节依赖抽象、下层依赖上层接口隔离接口尽量设计细化,不要太多方法迪米...

2021-10-10 19:39:47 183

原创 《深入理解Java虚拟机》读书笔记----虚拟机类加载机制

类的生命周期一个类型从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期将会经历七个阶段加载(Loading)验证(Verification)准备(Preparation)解析(Resolution)初始化(Initialization)使用(Using)卸载(Unloading)验证、准备、解析三个部分统称为连接(Linking)。这七个阶段的发生顺序如下图...

2021-10-07 01:03:18 87

原创 《MySQL实战45讲》读书笔记

《MySQL实战45讲》读书笔记,原课程链接:https://time.geekbang.org/column/intro/100020801 作者:JaneRoad基础架构MySQL分为Server层和存储引擎层两部分Server层连接器连接器负责跟客户端建立连接、获取权限、维持和管理连接。连接命令是mysql -h$ip -p$port -u$user -...

2021-10-07 01:01:01 256

原创 双重检查锁

原文:https://www.cnblogs.com/xz816111/p/8470048.html在实现单例模式时,如果未考虑多线程的情况,就容易写出下面的错误代码:javapublic class Singleton { private static Singleton uniqueSingleton;​ private Singleton() { ...

2021-10-06 15:07:27 252

原创 《深入理解Java虚拟机》读书笔记----虚拟机性能监控和故障处理工具

前言:本篇文章是《深入理解Java虚拟机》读书笔记第三篇章,本篇文章并非JVM的重点知识,了解即可。 点击跳转第二篇虚拟机性能监控和故障处理工具基础故障处理工具bin目录JDK的bin目录下有java.exe、javac.exe这两个命令行工具,除了编译和运行Java程序外,打包、部署、签名、调试、监控、运维等各种场景都可能会用到它们JPSJPS是虚拟机进程状况工具,全程J...

2021-09-04 23:04:35 96

原创 Spring中的事务&分布式事务

事务的基本概念1、事务是一系列的动作,一旦其中有一个动作出现错误,必须全部回滚,系统将事务中对数据库的所有已完成的操作全部撤消,滚回到事务开始的状态,避免出现由于数据不一致而导致的接下来一系列的错误。事务的出现是为了确保数据的完整性和一致性。2、事务有四大特性原子性要么全部完成,要么完全不起作用。一致性事务在完成时,必须是所有的数据都保持一致状态。隔离性...

2021-09-04 22:54:41 2365 1

原创 《深入理解Java虚拟机》读书笔记----垃圾收集器与内存分配策略

前言:本篇文章是《深入理解Java虚拟机》读书笔记第二篇章 垃圾收集就是Garbage Collection,也就是GC。判断对象是否存活堆里面存放几乎所有的对象实例,垃圾收集器在对堆进行回收前,第一件事情就是要确定这些对象之中哪些还“存活”着,哪些已经“死去”。判断对象是否存活有以下几种算法。引用计数法在对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加一...

2021-08-15 20:47:26 198

原创 《凤凰架构》读书笔记

按照作者分的章节名称来区分重点,进行总结和提炼。什么是凤凰架构1、提出重编程能力还是重架构的问题问:做一个高质量的软件,应该把精力集中在提升其中每一个人员、过程、产出物的能力和质量上,还是该把更多精力放在整体流程和架构上?答:这两者都重要。前者重术,后者重道;前者更多与编码能力相关,后者更多与软件架构相关;前者主要由开发者个体水平决定,后者主要由技术决策者水平决定。2、提出构建...

2021-08-07 23:02:18 1203

原创 《深入理解Java虚拟机》读书笔记----Java内存区域及内存溢出异常

Java内存区域及内存溢出异常运行时数据区域程序计数器Java虚拟机栈本地方法栈Java堆方法区运行时常量池HotSpot虚拟机对象对象的创建对象的内存布局对象的访问定位堆溢出排查Java堆内存溢出虚拟机栈和本地方法栈溢出方法区和运行时常量池溢出前言:最近粗略读完了《深入理解Java虚拟机》,根据自己做的读书笔记,整理输出,希望对大家有所帮助。能力有限可能会有些错误或纰漏,希望大家海涵!同时也致敬作者周志明前辈,这本书不愧是”JVM圣经“,写的真的好,推荐大家去看看原书!众所周知,JVM拥有自动内存管

2021-08-01 23:28:42 187

原创 git push github失败,提示:SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:

问题描述刚刚刷题IDEA提交完代码后,push到Github上一直报错~~~bashPush failed: Failed with error: unable to access 'https://github.com/weidongcao/bigdata/': OpenSSL SSLconnect: SSLERROR_SYSCALL in connection to github....

2021-07-10 00:11:34 186

原创 GoLand控制台显示太多

在某些场景下,我们可能会遇到控...

2021-04-17 17:37:00 865

原创 LeetCode 470. 用 Rand7() 实现 Rand10()

题目 已有方法 rand7 ...

2021-03-30 20:23:00 99

原创 手撕堆排序

题目 手撕堆排序 解题思路...

2021-03-30 15:37:00 221

原创 LeetCode 3. 无重复字符的最长子串

题目 给定一个字符串,请你找...

2021-03-30 14:13:53 90

原创 Redis主从同步

我们知道,当有多台 Redis...

2021-03-25 00:14:00 119

原创 为什么HashMap使用红黑树而不是AVL树或者B+树

红黑树和AVL树都是最常用的平...

2021-03-25 00:04:00 6676 3

原创 物理内存与虚拟内存

前言:读这篇文章带着一个问题 ...

2021-03-24 21:17:00 156

原创 JVM init和clinit方法区别

init和clinit方...

2021-03-14 10:50:00 117

原创 HTTP报文格式

请求报文 HTTP的请求报文由四部分组成:请求行(request line)、请求头部(header)、空行和请求数据(request data) 请求...

2021-03-11 11:17:00 114

原创 【LeetCode】 144 二叉树的层序遍历

题目: 解题思路: ...

2021-03-07 23:28:00 58

原创 Secondary NameNode和Standby NameNde的区别

Secondary NameN...

2021-03-04 16:37:00 1596 1

原创 【LeetCode】 143 二叉树的后序遍历

题目: 解题思路: ...

2021-03-03 21:07:00 98 1

原创 【LeetCode】 141 接雨水

题目: ![image-...

2021-03-03 20:24:00 84 1

原创 【LeetCode】 140 柱状图中最大的矩形

题目: 解题思路: ...

2021-03-02 10:58:00 68

原创 【LeetCode】 139 二叉树的前序遍历

题目: 解题思路: ...

2021-03-02 10:25:00 74

空空如也

空空如也

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

TA关注的人

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