自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 win11下wsl2 安装乌班图以及shell工具连接

造成该问题的原因是WSL版本由原来的WSL1升级到WSL2后,内核没有升级,前往微软WSL官网下载安装适用于 x64 计算机的最新 WSL2 Linux 内核更新包即可。1、在window11的搜索框内(所有你找不到的应用都可以用这个搜索功能),搜索"Windows功能",出现了“启用或关闭Windows功能”,双击打开。2、勾选"适用于Linux的Windows子系统",“虚拟机平台”,“Windows虚拟机监控程序平台”,点击"确定"。点击"立即重新启动"。

2023-06-10 23:53:10 541 1

原创 学习java的IO相关知识(1)

装饰者(Decorator)和具体组件(ConcreteComponent)都继承自组件(Component),具体组件的方法实现不需要依赖于其它对象,而装饰者组合了一个组件,这样它可以装饰其它装饰者或者具体组件。所谓装饰,就是把这个装饰者套在被装饰者之上,从而动态扩展被装饰者的功能。装饰者的方法有一部分是自己的,这属于它的功能,然后调用被装饰者的方法实现,从而也保留了被装饰者的功能。可以看到,具体组件应当是装饰层次的最低层,因为只有具体组件的方法实现不需要依赖于其它对象。

2023-05-05 17:19:52 130

原创 学习Nacos 源码1 => 环境搭建和结构分析

nacos

2023-01-18 23:32:12 161

原创 为什么不要用ArrayList的subList方法?

subList的问题

2023-01-18 14:36:03 208

原创 学习文章:高性能 Java 计算服务的性能调优实战

学习

2022-12-13 20:55:44 98

原创 Mongodb如何将值为null的字段通过排序排在最后

学习mongoDB

2022-10-03 15:25:41 1316

原创 学习CLR via C#(第4版)(六) - 方法

方法8.1实例构造器和类(引用类型)类实例构造器是允许将类型的实例初始化为良好状态的一种特殊的方法。类实例构造器方法在"方法定义元数据表"中始终叫.ctor(代表constructor)。创建一个引用类型的实例时,首先为实例的数据字段分配内存,然后初始化对象的附加字段(类型对象指针和同步块索引),最后调用类型的实例构造器来设置对象的初始化状态。构造引用类型的对象时,在调用类型的实例构造器之前,为对象分配的内存总是先被归零。构造器将没有显式重写的所有字段保证都有一个0或null值。其他方法不同,实例

2022-01-20 22:11:09 269

原创 学习CLR via C#(第4版)(五) - 常量和字段

常量和字段7.1常量常量(constant)是一个特殊的值,它是一个从不变化的值。在定义常量时,它的值必须在编译时确定。确定之后,编译器将常量的值保存到程序集的元数据中。这就意味着只能为编译器认定的基元类型定义常量。C#是允许定义一个非基元类型的常量变量(constant variable),但这个值应设为null。public sealed class SomeType { //SomeType不是基元类型,但C#允许定义 //值为null的这种类型的一个常量变量 pub

2022-01-19 23:18:29 144

原创 学习CLR via C#(第4版)(四) - 类型和成员变量

类型和成员变量6.1类型的各种成员在一个类型中,可以定义0个或多个以下种类的成员:1)常量 常量就是指出数据值恒定不变的符号。这些符号通常用于使代码更容易阅读和维护。常量通常与类型关联,而不与类型的实例关联。从逻辑上讲,常量始终是静态成员。2)字段 字段表示一个只读或可读/写的数据值。字段可以是静态的,这时是类型状态的一部分;字段也可以是实例(非静态)的,这时字段是对象状态的一部分。强烈建议将字段声明成为私有字段,防止类型或对象状态被外部代码破坏。3)实例构造器 实例构造器是将新对象的实例

2022-01-19 22:49:21 220

原创 学习CLR via C#(第4版)(三)- 基元类型、引用类型和值类型

基元类型、引用类型和值类型5.1编程语言的基元类型FCL(Framework Class Library) Framework 类库,FCL是 .net Framework 包含的一组DLL程序集的统称,FCL包含了提供了很多功能,它是生成.NET Framework 应用程序、组件和控件的基础。FCL由命名空间组成。每个命名空间都包含可在程序中应用的类、结构、委托和接口等。常见的命名空间有System、System.Windows等。什么是基元类型编译器直接支持的数据类型称为基元类型(primit

2022-01-19 21:00:11 296

原创 学习CLR via C#(二) - 类型基础

学习CLR via C#(二)4.1所有类型都从System.Object派生CLR要求所有类型最终都要从System.Object派生。也就是所,下面的两个定义是完全相同的,//隐式派生自System.Objectclass Employee { .....}//显示派生子 System.Objectclass Employee : System.Object { ..... }由于所有类型最终都是从System.Object派生的,所以可以保证每个类型的每个对象都有一组

2022-01-19 16:05:34 493

原创 学习 CLR via C#(第4版)(1) - CLR的执行模型【2,3略】

CLR的执行模型*1.1将源代码编译成托管模块什么是CLR公共语言运行时(Common Language Runtime)和Java虚拟机一样也是一个运行时环境它负责资源管理(内存分配和垃圾收集等),并保证应用和底层操作系统之间必要的分离CLR的核心功能CLR的核心功能包括:内存管理,程序集加载,安全性,异常处理和线程同步。CLR与使用的编程语言有关吗?无关。只要编译器是面向CLR的就行。编译过程一个程序写完肯定要编译,以前什么C啊什么的都是编译成本机的CPU指令,但是我们的C#不是。

2022-01-17 23:05:37 1059

原创 Visual Studio代码段及快捷键

//1. 【 ~ 】 创建析构函数Program(){}//2. 【 checked 】 创建checked块checked{}//3. 【 class 】 创建类声明class MyClass{}//4. 【 ctor 】 创建对应类的构造函数public Program (){}//5. 【 cw 】 创建对Console.WriteLine();的调用Console.WriteLine();//6. 【 do 】 创建do(while)循环do{}whil

2022-01-07 21:37:13 450

原创 LeetCode_memo - 645. 错误的集合

集合 s 包含从 1 到 n 的整数。不幸的是,因为数据错误,导致集合里面某一个数字复制了成了集合里面的另外一个数字的值,导致集合丢失了一个数字 并且 有一个数字重复 。给定一个数组 nums 代表了集合 S 发生错误后的结果。请你找出重复出现的整数,再找到丢失的整数,将它们以数组的形式返回。示例 1:输入:nums = [1,2,2,4] 输出:[2,3] 示例 2:输入:nums = [1,1] 输出:[1,2]提示:2 <= nums.length <= 104 .

2021-08-15 00:45:42 75

原创 LeetCode_memo - 378. 有序矩阵中第 K 小的元素(中等难度)

给你一个 n x n 矩阵 matrix ,其中每行和每列元素均按升序排序,找到矩阵中第 k 小的元素。 请注意,它是 排序后 的第 k 小元素,而不是第 k 个 不同 的元素。示例 1:输入:matrix = [[1,5,9],[10,11,13],[12,13,15]], k = 8 输出:13 解释:矩阵中的元素为[1,5,9,10,11,12,13,13,15],第 8 小元素是 13 示例 2:输入:matrix = [[-5]], k = 1 输出:-5提示:n == ma.

2021-08-14 23:52:29 108

原创 LeetCode_memo - 240. 搜索二维矩阵 II

编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性:每行的元素从左到右升序排列。 每列的元素从上到下升序排列。示例 1:输入:matrix = [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24],[18,21,23,26,30]],target = 5 输出:true示例 2:输入:matrix = [[1,4,7,11,15],[2,5,8,12,19],.

2021-08-14 23:38:16 168

原创 LeetCode_memo - 485. 最大连续 1 的个数

给定一个二进制数组, 计算其中最大连续 1 的个数。示例:输入:[1,1,0,1,1,1] 输出:3 解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3.提示:输入的数组只包含 0 和 1 。 输入数组的长度是正整数,且不超过 10,000。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/max-consecutive-ones著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 p.

2021-08-14 22:12:53 92

原创 LeetCode_memo - 566. 重塑矩阵

在 MATLAB 中,有一个非常有用的函数 reshape ,它可以将一个 m x n 矩阵重塑为另一个大小不同(r x c)的新矩阵,但保留其原始数据。给你一个由二维数组 mat 表示的 m x n 矩阵,以及两个正整数 r 和 c ,分别表示想要的重构的矩阵的行数和列数。重构后的矩阵需要将原始矩阵的所有元素以相同的 行遍历顺序 填充。如果具有给定参数的 reshape 操作是可行且合理的,则输出新的重塑矩阵;否则,输出原始矩阵。示例 1:输入:mat = [[1,2],[3,4]], r.

2021-08-14 20:48:54 215

原创 LeetCode_memo - 283. 移动零

移动零(简单)给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明:必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/move-zeroes著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。public void moveZeroes

2021-08-14 20:12:31 102

原创 npm install碰到错误reason: getaddrin fo ENOTFOUND registry.npm.taobao.org

Npm config delete proxyNpm config delete https-proxy即可正常npm install

2021-08-03 16:10:39 848

原创 学习基于springboot的java分布式中间件-消息中间件RabbitMQ(1)应用场景和Spring的事件驱动模型

概述安装和介绍略典型应用场景介绍异步通信和服务解耦以用户注册为实际场景,传统企业级应用处理用户注册的流程,首先是用户在界面上输入用户名、邮箱或者手机号等信息,确认无误之后,点击注册,前端会将这些信息提交到后端相关接口进行处理;后端在接收到这些信息后,会先对这些信息进行最基本的校验,校验成功之后会将信息写入数据库相关数据表,而为了用户注册信息的安全性,后端会调用邮件服务器提供的接口发送一封邮件用于验证用户账号的合法性,或者是调用短信服务的发送短信验证码接口对用户进行验证;验证通过后,才将响应信息返回给

2021-07-13 14:05:41 333

原创 学习基于springboot的java分布式中间件-Redis(4) redis之抢红包案例实战

抢红包系统业务流程一个抢红包系统主要由以下三大部分组成信息流 : 包括用户操作背后的通信请求和红包信息在不同用户与群中的流转等业务流 : 包括发红包、点红包和抢红包等业务逻辑资金流 : 包括红包背后的资金转账和入账等流程场景模拟:用户发出一个固定金额的红包,让若干个人抢。业务流程分析主要有两大业务模块组成:发红包和抢红包,其中抢红包又可以拆分成两个小业务,即:用户点红包和用户拆红包。首先是用户发红包,用户进入某个群,然后点击红包按钮输入总金额与红包个数,点击塞红包按钮,输入支付密码后将在

2021-07-12 22:34:18 384 1

原创 学习基于springboot的java分布式中间件-Redis(3) redis之缓存穿透等典型问题

Redis缓存的使用极大提升了程序的整体性能和效率,但同时也有一些其他的问题,其中比较典型的问题包括缓存穿透,缓存雪崩,缓存击穿等什么是缓存穿透如果前端频繁的发起访问请求,恶意的请求数据库中不存在的key,此时数据库中查询到的数据永远是null,由于null的数据是未存入缓存的,故而每次的访问请求都将会查询数据库,如果此时有恶意攻击,发起洪流式的查询,则很可能会对数据库造成极大的压力,甚至是压垮数据库,这个过程称之为缓存穿透。缓存穿透的解决方案目前业界有多种比较成熟的解决方案,其中比较典型的是改造上

2021-07-12 15:14:44 129

原创 学习基于springboot的java分布式中间件-Redis(2) redisTemplate实战

redis的安装配置这里直接略过,可直接寻找其他安装教程,下载地址github最新版即可Redis自定义驻入Bean组件配置对于SpringBoot整合redis来说,最重要的莫过于RedisTemplate和StringRedisTemplate了RedisTemplate使用的是 JdkSerializationRedisSerializerStringRedisTemplate使用的是 StringRedisSerializer简单来说:当你的redis数据库里面本来存的是字符串数据或

2021-07-11 23:29:43 172

原创 学习基于springboot的java分布式中间件-Redis(1) springboot项目搭建

搭建springboot项目然后直接下一步构建父工程pom.xml <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.8</java.version> <maven.compiler.source>${java.version}</

2021-07-11 20:59:38 162

原创 关于新版本AS中不自动导入kotlin-android-extensions改用viewBinding获取

kotlin-android-extensions失效原来的使用方法解决方案使用ViewBinding

2021-06-18 23:25:47 312 1

原创 Android:Layout控件

Android:Layout控件FrameLayoutFrameLayout一般用于整个页面只有一个子控件的场景或者用于实现翻页效果的场景LinearLayout线性布局,里面的子控件是依次排列的,由纵向和横向之分

2021-06-18 23:20:30 108

原创 Android: UI资源与Layout

Android: UI资源与LayoutLayout名称功能Common一些常用的控件Text文本显示控件和各种文本输入控件,他们都不能容纳孩子Buttons各种按钮Widgets包含各种不好分类的控件,他们的共同特点是不能容纳孩子Layouts专门用于排版的控件,他们是容器,专用于容纳控件,按某种规则排列他里面的控件Containers容器,与layout相似,专门用于容纳控件,支持内容滚动,控件的排列方式固定,不能更改Google

2021-06-18 19:54:51 111

空空如也

空空如也

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

TA关注的人

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