自定义博客皮肤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)
  • 收藏
  • 关注

原创 Python利用pyecharts实现数据可视化

小编我今天闲来无事,打算学习一下py,结果你猜怎么着,竟然看到py可以将数据可视化,做成报表显示,这对于一直学Java的我来说,这东西可太东西了,这要是不学一下你受得了吗?高低得学他一下啊。这个py数据可视化也是用了第三方技术叫做Echarts,是由百度开发得一个数据可视化的框架,本来嘛使用于JS的,但是py那么火,自然他也就提供了py可用的第三方包了,但是有没有提供Java的jar包呢,这个有时间倒是可以去考察一下。

2024-09-07 11:23:50 1781 6

原创 分布式事务

通过前面微服务保护中,我们知道当项目拆分到不同服务后,每个服务都有自己独立的数据库,独立的tomcat,所以事务的ACID的这种特性就没法满足了。例如下面我们订单服务调用了购物车服务和库存服务,如果调用库存服务出现失败,尽管可以通过抛出异常控制订单服务回滚,但是购物车服务不能感知到异常的。在分布式系统中,如果一个业务需要多个服务合作完成,并且每一个服务都有事务,多个事务必须同时成功或失败,这样的事务就是分布式事务。其中的每个服务的事务就是一个分支事务。整个业务称为全局事务。

2024-09-04 15:48:28 1267 2

原创 微服务保护

前面我们已经学习了远程调用、服务治理、请求路由、身份认证、配置管理这些与微服务密不可分的知识,但是既然我们拆分了许多服务的模块,那对于某些模块可能发生的问题,我们要做准备一些兜底的方案,又或者是做好健壮性的处理,这就是对于真个微服务的保护。另外之前单体项目时,无论业务多么复杂,操纵多少张表,最终都能够去满足事务的ACID的特性。但是拆分成很多服务以后,由于服务之间相互独立,各自操作数据库,这就破坏了ACID的特性,这就属于分布式事务的问题,我们下次再说,这次我们主要讲微服务保护。

2024-09-03 18:32:33 1500 2

原创 微服务配置管理

在前面我们已经学习了远程调用,Nacos注册中心,OpenFeign以及网关这些微服务组件。但是我们现在又会面临新的问题,就是微服务、注册中心、网关之中存在许多重复配置,维护成本比较高,另外就是业务配置经常变动,每次修改都要重启服务非常麻烦,网关路由配置写死,如果变更要重启网关。那么现在我们就可以用到配置管理服务。配置管理服务一方面读取配置,另一方面当配置发生改变时,它也可以去推送配置变更。

2024-09-03 15:25:25 1951 2

原创 微服务组件----网关

在我们把一个单体架构拆分成微服务时会遇到,服务端口过多,并且将来有可能发生变化,前端不知道该请求谁,又或者是每个服务都可能需要登录用户信息,各自去做不仅麻烦,还有密钥泄露的风险诸如此类的等等问题。为了解决上述问题,我们就需要了解网关相关的知识。网关就是网络的关口,负责请求的路由、转发、身份校验。微服务就相当于小区的住户,网关就是小区的保安,记录着每位业主的住址信息,几楼几号,对于陌生人要进小区会查验身份,身份合格后才会放你进来,并告诉你要找的人的住址。

2024-09-02 16:04:58 1366 2

原创 OpenFeign

在前面我们已经清楚并且学会使用远程调用以及注册中心Nacos,现在让我们来学习一下OpenFeign它会给你带来意想不到的惊喜。OpenFeign是一个声明式的Http客户端,是SpringCloud在Eureka公司开源的Feign基础上改造而来。其作用就是基于SpringMVC的常见注解,帮助我们优雅的实现http请求的发送。Spring Cloud OpenFeign 中文文档 (springdoc.cn)

2024-09-01 16:21:37 965 2

原创 远程调用以及注册中心Nacos

我们知道一旦微服务进行了拆分,那数据产生了隔离,服务之间也产生了隔离,没法像单体服务那样做本地调用了。我们要去做数据查询,查别的服务的数据,我们就必须通过网络调用。我们知道服务进行拆分后,无论是部署到服务器上还是部署到容器上,容器之间以及服务器之间都是可以通过网络连接的,所以我们可以通过网络去请求这个数据。

2024-09-01 11:32:22 1121 2

原创 数据结构----红黑树

在开始之前我想说一下,红黑树其实是算比较难的数据结构了,但是要讲清楚红黑树的特性并没有那么难,所以红黑树难就难在它的实现上,所以手撕红黑树这件事,不能只有理论,更多应该去实践,正所谓纸上得来终觉浅 绝知此事要躬行。本次我们学习的红黑树也是一种自平衡的二叉搜索树,和上一次我们学习的AVL树相比,红黑树的插入和删除时旋转次数更少。红黑树这一块还是有一定难度的,需要深刻理解上一节所介绍的旋转机制。红黑树有以下这些特性:1.所有节点都有两种颜色:红与黑2.所有null都视为黑色3.红色节点不能相邻4.

2024-08-24 18:42:51 1321 2

原创 Docker详解

Docker是一款能够帮助我们快速构建,运行管理应用的工具,如果按照传统的方式在Linux系统上安装一个MySQL,那些命令行可是多的让人头皮发麻,同时也会被繁琐的步骤劝退,现在我们有了Docker这款工具,我们安装MySQL只需要一条命令,就可以直接躺平等着了。接下来让我们来进行一个快速入门案例来感受一下Docker的便捷。Docker的安装与镜像配置-CSDN博客前面我们知道了如何构造java镜像,这时我们就可以尝试构造一下java镜像。

2024-08-21 22:20:12 1758 10

原创 Docker的安装与镜像配置

小编目前大一,刚开始着手学习SSM,小编会把每个框架都整理成知识点发布出来。如果你也同时在学习SSM的话,不妨看看我做的这个笔记。我认为同为初学者,我把我对知识点的理解以这种代码加观点的方式分享出来不仅加深了我的理解,或许在某个时候对你也有所帮助,同时也欢迎大家在评论区分享你们的观点。带着决心起床,带着满意入睡。

2024-08-21 11:48:25 2081 4

原创 数据结构----AVL树

在之前学习二叉搜索树时,我们知道当一颗二叉搜索树的左右高度不平衡时,那这棵树的查询的时间复杂度可能达到O(n)。这显然不是我们想要的。其实在树中存在一种操作----旋转,这种操作的对象是节点,可以达到改变树结构的目的,因此我们可以借助旋转来把上面这颗左右高度不平衡的二叉搜索变得左右高度平衡一点。我们可以把根节点4向右旋转,同时把根节点3也向右旋转,那下面这棵树就变平衡了。在树形结构中规定如果一个节点的左右孩子高度差超过1,则此节点失衡,才需要旋转。

2024-08-19 12:13:37 1683 4

原创 Mybatis-Plus详解

通过JavaWeb的学习,我们知道Mybatis是一个非常流行的持久层框架,主要是做数据库的增删改查的,在日常生活中我们也知道plus表示加强和升级,那今天我们来看一下MybatisPlus在Mybatis上做了哪些升级和优化。下面是Mybatis-Plus的官网。MyBatis-Plus 🚀 为简化开发而生 (baomidou.com)

2024-08-17 18:33:23 1900 3

原创 数据结构----二叉树

在计算机科学中,二叉树就是最多只有两个分支的树形结构,如下图所示,一个分支指向左子节点,也叫做这个节点的左孩子,一个分支指向当前节点的右子节点,也叫做右孩子,我们把当前节点叫做父节点,如果一个节点没有孩子节点,也就是没有分支,我们叫它叶子节点。其实通过我们前面学习优先级队列时我们已经对完全二叉树这种结构有所了解了。对于二叉树的实现呢,可以像下面这样构造节点类来实现二叉树。@Override。

2024-08-10 19:00:37 1556 2

原创 数据结构----双端队列和优先级队列

双端队列以及优先级队列的详解和代码实现以及题目练习。

2024-08-08 20:44:31 1474 4

原创 数据结构----队列和栈

计算机科学中,队列(queue)是以顺序的方式维护的一组数据集合,规定只能在一端添加数据,在另一端移除数据。习惯来说,添加的一端称为队尾,移除的一端称为队头,就如同生活中的排队买商品,后面来排队的人都要排在队尾,哪怕你是超雄也不许插队,前面的人排在队头准备结账,结账走了就好比移除操作。环形数组就是一个首尾相连的数组,以前我们的数组是线性的,想象一下抽取其中一部分出来首尾相连也就构成了一个环形数组。主要优点就是不会存在空间浪费,性能更佳等。底层我们还是用一个数组来实现的,只是通过代码程序控制让它变成环形数组。

2024-08-07 20:19:31 1625 6

原创 数据结构----链表

在计算机科学中,链表是数据元素的线性集合,其每个元素都指向下一个元素,元素存储上并不连续。这与我们所认识的数组有相同之处,二者都是线性集合,但是数组在元素存储上是连续的。

2024-08-06 13:19:24 1389 4

原创 BigInteger----高效处理大数

引言相信各位算法大佬的算法学习第一课就是大数运算(高精度),同时大佬们对于大数都有自己的板子,但是今天我要给大家介绍一个新的东西可以高效解决大数问题,那就是java提供的BigInteger类,这个类的底层是将大数转换二进制补码的形式来存储,同时提供了加减乘除模以及幂运算的相关接口。下面就开始正文。

2024-07-15 20:48:37 1132 6

原创 Java快读模板----配详细解析

对于很多走java后端的小伙伴都避免不了用java去写算法题,而对于像力扣这种刷题网站不需要我们处理输入输出,我们就会写的很舒服,但是如果是洛谷,牛客,cf,各大高校的oj之类的刷题网站需要我们自己处理输入输出,我们就会意识到java那个Scanner类读取数据是非常慢的(当然java什么都比c++慢),我这里的慢是指可能读取数据就把那一秒时限给跑完了。补充一句,一般对于输入大于十的五次方的题目,基本上用Scanner就过不了,但是其实我们一直用快读类就好了,直接忘掉Scanner吧。

2024-07-05 21:21:11 1463 6

原创 Spring知识梳理

小编目前大一,刚开始着手学习SSM,小编会把每个框架都整理成知识点发布出来。如果你也同时在学习SSM的话,不妨看看我做的这个笔记。我认为同为初学者,我把我对知识点的理解以这种代码加观点的方式分享出来不仅加深了我的理解,或许在某个时候对你也有所帮助,同时也欢迎大家在评论区分享你们的观点,另外如果这一篇笔记中有对Spring的知识点不够准确和深入的还请海涵。知不可乎骤得,托遗响于悲风。

2024-06-21 21:03:12 820 12

原创 操作系统第二章笔记(上)

本章是关于处理机管理的内容,本章的知识点很重要,同时重难点较多,所以小编决定本章笔记分三篇发布,一方面是本章知识点作一篇的话,篇幅过长,另一方面是小编目前要进行ssm的学习,关于操作系统学习的话可能会搁置一段时间,所以就把目前所完成的笔记作为上篇发布出来。同时小编在学习ssm的同时,也会发布笔记与总结,不仅供自己学习钱塘江上潮信来,今日方知我是我。目录第二章进程管理前言进程的概念,组成,特征概念组成特征总结进程的状态与转换状态转换总结进程的控制原语总结进程通信共享存储消息传递管道通信总结。

2024-06-18 18:20:43 1465 11

原创 操作系统第一章笔记

计算机操作系统第一章笔记

2024-05-23 20:34:02 2191 18

空空如也

空空如也

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

TA关注的人

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