![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java全套学习计划
文章平均质量分 86
IT枫斗者
大家好,我是程序员枫哥,csdn全栈领域优质创作者,华为云专家博主,阿里云专家博主,51CTO专家博主,目前组建的团队,专注Java技术分享,一对一学习辅助,春招/秋招/社招/跳槽,Java带徒等求职辅助,欢迎来技术交流,有问必答。
展开
-
如何有效地解决代码的圈复杂度
首先介绍了什么是圈复杂度,然后介绍了解决圈复杂度的几种方法。通过圈复杂度计算的两种方式我们可以看到,圈复杂度的核心是分支语句。那解决问题的核心就集中在如何去减少分支语句。不过最后我们也看到了,实际上,只是刻板的使用圈复杂度的算法,去度量一个段代码的清晰度,有时候也是不可取的,所以我们在重构系统的时候,可以通过圈复杂度的工具,进行复杂度的统计,然后对复杂度高的代码,具体场景,具体分析。而不能一味的教条。原创 2023-07-22 05:45:00 · 434 阅读 · 0 评论 -
Spring Cloud面试题(分布式)
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、智能路由、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。原创 2023-07-21 07:22:02 · 93 阅读 · 0 评论 -
消息队列经典十连问
什么是消息队列消息队列的应用场景消息队列如何解决消息丢失问题消息队列如何保证消息的顺序性。消息队列有可能发生重复消费吗?如何幂等处理?如何处理消息队列的消息积压问题消息队列技术选型,Kafka还是RocketMQ,还是RabbitMQ消息中间件如何做到高可用?如何保证数据一致性,事务消息如何实现如果让你写一个消息队列,该如何进行架构设计?原创 2022-03-01 11:49:55 · 167 阅读 · 0 评论 -
还在用Feign?推荐一款微服务间调用神器,跟SpringCloud绝配
在微服务项目中,如果我们想实现服务间调用,一般会选择Feign。之前介绍过一款HTTP客户端工具Retrofit,配合SpringBoot非常好用!其实Retrofit不仅支持普通的HTTP调用,还能支持微服务间的调用,负载均衡和熔断限流都能实现。今天我们来介绍下Retrofit在Spring Cloud Alibaba下的使用,希望对大家有所帮助!原创 2022-02-19 14:35:18 · 249 阅读 · 0 评论 -
速度更快的Maven来啦,功能增强了180%
Mvnd是Mavendaemon的缩写,翻译成中文是Maven的守护进程。mvnd是apache/maven的一个子项目,它不是一个全新的构建工具,而是对maven的扩展。它内置了maven,实现原理是构建一个或多个maven守护进程来执行构建服务原创 2022-02-10 15:43:36 · 1944 阅读 · 0 评论 -
Redis为什么会这么快
Redis的操作都是基于内存的,CPU不是 Redis性能瓶颈,,Redis的瓶颈是机器内存和网络带宽。在计算机的世界中,CPU的速度是远大于内存的速度的,同时内存的速度也是远大于硬盘的速度。redis的操作都是基于内存的,绝大部分请求是纯粹的内存操作,非常迅速。原创 2022-02-06 11:42:51 · 127 阅读 · 0 评论 -
MyBatisplus3.12.CRUD扩展:自动填充。乐观锁。分页查询。逻辑删除SpringBoot环境
MyBatisplus3.12.CRUD扩展:自动填充。乐观锁。分页查询。逻辑删除SpringBoot环境原创 2022-02-05 21:52:02 · 243 阅读 · 0 评论 -
TCP协议详解
TCP协议属于传输层协议。从通信和信息处理的角度来看,属于通信部分的最高层,只有位于网络边缘的主机协议栈才有传输层协议;同时也是用户功能的最低层,一些重要的socket选项与TCP协议有关。原创 2022-02-04 20:31:48 · 1359 阅读 · 0 评论 -
Servlet异步请求如何开启
在研究长轮询的实现过程,有使用到Servlet3的异步请求。下面就来学习一下Servlet3的异步请求原创 2022-02-03 16:52:12 · 678 阅读 · 0 评论 -
HashMap 的产生与原理
数组:一片物理上连续的大小确定的储存空间。好处:根据下标快速的查找和修改里面的内容。缺点:大小确定,无法修改。添加新的元素或者删除元素比较麻烦。原创 2022-01-20 12:57:17 · 201 阅读 · 1 评论 -
【深入浅出版】Java全套学习路线规划及配套视频和笔记
文章目录前言:如果想要入坑,请看完下面这段话!零、计划的使用与优缺点?一、第一章 Java基础语法二、 第二章 面向对象基础三、第三章 API基础四、第四章 集合框架(很重要,面试必问)五、第五章Git六、第六章面向对象进阶七、第七章常用API&异常八、第九章IO流)九.第九章 多线程(很重要,面试必问)十、第十章网络编程(整体了解)十一、第十一基础加强JavaWeb1、linux2、HTML+CSS+Nginx3...原创 2021-12-16 16:49:44 · 3697 阅读 · 5 评论 -
Log4j 被曝核弹级漏洞,开发者炸锅了
知名的开源项目Apache Log4j出事情了2021年12月9日,该项目被暴露出严重的安全漏洞。攻击者只需将特殊代码传输到目标机器,即可触发漏洞,并自由执行任何远程代码来控制目标机器!说实话,光听到这个消息我就觉得很可怕。因为Log4j作为Java著名的日志记录框架,不仅被等众多自主研发项目使用,还被Redis、Kafka、Elasticsearch、ApacheFlink、Apachedruid等众多明星项目作为基本框架使用。你可以想象这个漏洞的影响有多大,甚至被很多媒体称为核弹级漏洞!漏洞原创 2021-12-13 10:45:36 · 3560 阅读 · 6 评论 -
深度剖析Saga分布式事务
saga是分布式事务领域里一个非常重要的事务模式,特别适合解决出行订票这类的长事务,本文将深度剖析saga事务的设计原理,以及在解决订票问题上的最佳实践01.saga的理论来源saga这种事务模式最早来自这篇论文:sagas在这篇论文里,作者提出了将一个长事务,分拆成多个子事务,每个子事务有正向操作Ti,反向补偿操作Ci。假如所有的子事务Ti依次成功完成,全局事务完成假如子事务Ti失败,那么会调用Ci, Ci-1, Ci-2 ....进行补偿论文阐述了上述这部分基本的saga逻辑之后原创 2021-12-12 10:13:49 · 3859 阅读 · 0 评论 -
再见 Xshell ,这款开源的终端工具逼格更高
作为后端开发,我们经常与Linux系统打交道,避免不了要使用Xshell等终端工具进行远程管理。最近发现了一款主题丰富、功能强大的酷终端工具Tabby,推荐给大家!原创 2021-12-11 16:10:09 · 8449 阅读 · 15 评论 -
上了容器和K8s的IT基础就完美了吗?
当普罗大众还在以为服务器、虚拟机就是很高端的IT应用时,许多企业已经完成了业务上云;当普罗大众还在以为私有云、公有云、混合云就是最高效、弹性、灵活的IT基础时,越来越多的企业上了容器和K8s;当普罗大众还在以为Docker、容器技术、K8s等就是最前沿、最新型的IT技术时,Top级的企业已经在使用边缘计划、数据中台、PaaS平台等;.............容器和K8s普罗大众,也许就是企业的CTO,技术负责人等。你看到的是,企业已经处在最完美的IT基础架构上了,用着容器,上了K原创 2021-12-03 10:53:51 · 268 阅读 · 0 评论 -
SpringBoot快速入门
1.SpringBoot简介SpringBoot是由Pivotal团队提供的全新框架。它是基于Spring4.0(SpringBoot2.X基于Spring5.0)设计的,不仅继承了Spring框架原有的优秀特性,还通过简化配置进一步简化了Spring应用的整个构建和开发过程。此外,SpringBoot通过集成大量框架,很好地解决了依赖包的版本冲突和引用的不稳定性。2.SpringBoot特性 为所有Spring开发者创建独立的Spring应用程序,...原创 2021-11-28 22:44:06 · 442 阅读 · 0 评论 -
使用自定义类加载器打破双亲委派机制实现自定义String类
今天我和大家如何用自定义加载器打破双亲委派机制。在介绍双亲委派机制前,我先来聊聊Java里面有几种类加载器。 引导类加载器:Bootstrap classloader 扩展类加载器:ExtClassLoader 应用程序类加载器:AppClassLoader 自定义加载器:MyClassLoader(这个名字自定义的) 接下来我们来介绍下什么是双亲委派机制,如下图所示:在这里类加载其实就是个双亲委派机制,比如加载某个类时会先委托父加载器寻找目标类,找.原创 2021-11-04 21:23:54 · 1338 阅读 · 6 评论 -
(Java跳蚤网/IT枫斗者)详细步骤Jdk16下载安装与环境变量配置
一:首先去官网下载Jdk如下地址复制到浏览器。1、下载地址:https://www.oracle.com/java/technologies/javase-jdk16-downloads.html2、点击下载,下载完了之后双击它。点击下一步:这里我们换成自己想要安装的目录(注意:如果安装失败,尝试卸载然后默认安装在c盘)以上说明Jdk16已经安装成功了。二:Jdk环境变量配置详细步骤回到电脑桌面找到“我的电脑/此电脑”==》右键==》属性点击高级系统设置=原创 2021-07-02 16:50:40 · 2206 阅读 · 0 评论