自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 变量声明与可变性

Rust的变量系统不是凭空设计,而是对数十年软件工程实践的反思结晶。默认不可变迫使我们正视状态管理的复杂性,借用规则在编译期消除并发隐患,而内部可变性则在必要时提供了安全的逃生舱。掌握这些机制,意味着我们能够在安全与灵活之间做出明智的工程决策,写出既高效又可靠的系统级代码。

2025-10-30 23:20:38 809

原创 安装与切换Rust版本

Rust的版本管理不仅是技术工具,更是工程哲学的体现。通过rustup的灵活机制,我们能够在稳定性与创新性之间自由切换,在不同项目需求间无缝迁移。掌握这些机制,意味着我们不仅会使用Rust,更理解了现代编程语言生态的构建逻辑。

2025-10-30 23:10:24 626

原创 Rust 迭代器适配器

Rust 允许我们定义自己的适配器,融入标准迭代器生态。iter: I,where// 首次填充窗口// 滑动窗口} else {None这个适配器在时序数据分析中非常实用,可以优雅地表达移动平均等算法。虽然涉及clone()和remove(),但对于小窗口(N < 10)性能完全可接受。Rust 的迭代器适配器是语言设计的巅峰之作:函数式编程的优雅表达力,系统编程的极致性能,惰性求值的内存效率,三者完美统一。核心建议优先使用迭代器:除非有明确理由,否则选择迭代器而非循环。

2025-10-29 23:43:22 716

原创 Rust Option 与 Result深度解析

在实际应用中,我们常需要定义自定义错误类型。// 低效版本:使用 Box<dyn Error>// 每次错误都需要堆分配// ...// 高效版本:使用具体错误类型// 错误在栈上分配,零堆分配// ...基准测试结果:在一个高频调用的配置解析场景中,具体错误类型版本比版本快 35%,主要因为避免了堆分配和动态分发。Rust 的Option和Result用最富表达力的方式编写代码,由编译器负责生成最高效的机器码。这不是编译器魔法,而是精心设计的类型系统、内存布局和优化策略的综合产物。核心建议。

2025-10-29 23:31:38 830

原创 Rust HashSet 与 BTreeSet深度剖析

HashSet 和 BTreeSet 的选择不是简单的"快"与"慢",而是对应用场景特征的深刻理解。HashSet 以空间换时间,适合查询密集型场景;BTreeSet 以稳定性换峰值性能,适合需要有序性的场景。核心建议默认使用 HashSet,除非需要有序性对性能敏感的代码,务必进行实际测量注意 Hash-Eq 和 Ord 的正确实现大规模数据时考虑内存布局对缓存的影响掌握这些实现细节,能让我们在 Rust 开发中做出更明智的数据结构选择,写出既高效又优雅的代码。🚀。

2025-10-29 23:21:53 879

原创 Rust BTreeMap 红黑树

Rust 的 BTreeMap 实现不是简单的教科书式红黑树移植,而是在理解硬件特性、内存安全和性能权衡基础上的工程杰作。最优的数据结构不是理论上最优秀的,而是最适合实际应用场景和硬件特性的。在实际开发中,选择 BTreeMap 还是 HashMap 应该基于具体需求:需要有序性、范围查询或预测性能时选择 BTreeMap;需要最快的单点查询且不关心顺序时选择 HashMap。理解底层原理让我们能做出更明智的技术决策。🚀。

2025-10-29 23:08:23 728

原创 CSS定位

(2).都发生定位的两个元素,后写的元素会盖在先写的元素之上。1. 定位元素的显示层级比普通元素高,无论什么定位,显示层级都是一样的。3. 绝对定位、浮动不能同时设置,如果同时设置,浮动失效,以定位为主。1.不会脱离文档流,元素位置的变化,只是视觉效果上的变化,不会对其他元素产生任何影响。粘性定位和相对定位的特点基本一致,不同的是:粘性定位可以在元素到达某个位置时将其固定。发生固定定位、绝对定位后,元素都变成了定位元素,默认宽高被内容撑开,且依然可以设。4.相对定位的元素,也能继续浮动,但不推荐这样做。

2025-01-21 18:11:22 812

原创 计算属性、监视属性

1.定义:要用的属性不存在,要通过已有属性计算得来。2.原理:底层借助了Objcet.defineproperty方法提供的getter和setter。3.get函数什么时候执行?(1).初次读取时会执行一次。(2).当依赖的数据发生改变时会被再次调用。4.优势:与methods实现相比,内部有缓存机制(复用),效率更高,调试方便。5.备注:(1).计算属性最终会出现在vm上,直接读取使用即可。

2024-12-20 19:29:33 513

原创 MVVM模型、数据代理、事件处理

1.M:模型(Model) :对应 data 中的数据2.V:视图(View) :模板3.VM:视图模型(ViewModel) : Vue 实例对象观察发现:1.data中所有的属性,最后都出现在了vm身上。2.vm身上所有的属性 及 Vue原型上所有属性,在Vue模板中都可以直接使用。

2024-12-20 19:03:06 873

原创 初识Vue2

1.想让Vue工作,就必须创建一个Vue实例,且要传入一个配置对象;2.root容器里的代码依然符合html规范,只不过混入了一些特殊的Vue语法;3.root容器里的代码被称为【Vue模板】;4.Vue实例和容器是一一对应的;5.真实开发中只有一个Vue实例,并且会配合着组件一起使用;6.{{xxx}}中的xxx要写js表达式,且xxx可以自动读取到data中的所有属性;7.一旦data中的数据发生改变,那么页面中用到该数据的地方也会自动更新;注意区分:js表达式 和 js代码(语句)

2024-12-08 23:01:36 823

原创 Vue2简介

动态构建用户界面的。

2024-12-08 22:36:01 411

原创 CSS浮动

在最初,浮动是用来实现文字环绕图片效果的,现在浮动是主流的页面布局方式之一。

2024-08-24 20:55:10 338

原创 CSS盒子模型(三)

但如果本身没有设置某个样式,会从父元素开始一级一级继承(优先继承离得近的祖先元素)。一个规律:能继承的属性,都是不影响布局的,简单说:都是和盒子模型没关系的。行内块元素与文本的基线对齐,而文本的基线与文本最底端之间是有一定距离的。即:可以像处理文本对齐一样,去处理:行内、行内块在父元素中的对齐。行内元素、行内块元素,彼此之间的换行会被浏览器解析为一个空白字符。,所以如果要重置元素的默认样式,选择器一定要直接选择器到该元素。行内元素、行内块元素,可以被父元素当做文本处理。元素:下划线、字体颜色、鼠标小手。

2024-08-24 20:55:07 1063

原创 CSS盒子模型(一)

CSS 会把所有的 HTML 元素都看成一个盒子

2024-08-16 08:00:00 742

原创 CSS盒子模型(二)

margin。

2024-08-16 08:00:00 1071

原创 CSS常用属性(列表属性、表格属性、背景属性、鼠标属性)

CSS的列表属性、表格属性、背景属性、鼠标属性

2024-07-28 22:30:50 1300

原创 CSS常用属性(文本属性)

CSS的文本属性

2024-07-28 22:12:29 1933

原创 CSS常用属性(字体属性)

可以设置多个字体,按照从左到右的顺序逐个查找,找到就用,没有找到就使用后面的,且通常在最后写上。使用字体的英文名字兼容性会更好,具体的英文名可以自行查询,或在电脑的设置里去寻找。不同浏览器默认的字体大小可能不一致,所以最好给一个明确的值,不要用默认大小。实际开发中更推荐复合写法,但这也不是绝对的,比如只想设置字体大小,那就直接用。且无单位,数值越大,字体越粗 (或一样粗,具体得看字体设计时的精确程度)。系统中,默认的字体就是微软雅黑。:斜体(使用字体自带的斜体效果)作用:控制字体的粗细。

2024-07-25 23:54:11 508

原创 CSS常用属性(像素的概念、颜色的表示)

像素概念:我们的电脑屏幕是,是由一个一个小点组成的,每个小点,就是一个像素(px规律:像素点越小,呈现的内容就越清晰、越细腻。颜色表示:1.颜色名;2.rgb或rgba;3.HEX或HEXA;4.HSLhuoHSLA

2024-07-25 16:29:20 791

原创 选择器的优先级和CSS三大特征

通过,选中,并且为设置时,就发生了样式的冲突。到底应用哪个样式,此时就需要看了。

2024-07-25 00:05:56 399

原创 CSS选择器

CSS基本选择器:

2024-07-15 23:20:50 696 5

原创 CSS基础

项目上线时,我们会通过工具将【展开风格】的代码,变成【紧凑风格】,这样可以减小文。:选择器与声明块之间,属性名与属性值之间,均有一个空格,理论上能省略,但最好。外部样式的优势:样式可以复用、结构清晰、可触发浏览器的缓存机制,提高访问速。件体积,节约网络流量,同时也能让用户打开网页时速度更快。行内样式表,只能控制当前标签的样式,对其他标签无效。:最后一个声明后的分号理论上能省略,但最好还是写上。1. 内部样式、外部样式,这二者的优先级相同。添加样式,实现了:结构与样式的分离。的思想,不推荐大量使用,只。

2024-07-15 18:49:31 834 1

原创 HTML框架标签、全局属性、meta 元信息

给标签设置一个文字提示,一般超链接和图片用得比较多。1. 在网页中嵌入广告。2. 与超链接或表单的。给标签指定语言,具体规范和可选值请参考【要求搜索爬虫不跟随此页面上的链接。标签与表单控件相关联;允许搜索爬虫跟随此页面上的链接。要求搜索引擎不缓存页面内容。框架(在网页中嵌入其他文件)给标签指定类名,随后通过。允许搜索爬虫索引此页面。要求搜索爬虫不索引此页面。配合,展示不同的内容。就可以给标签设置样式。浏览器的兼容性配置。

2024-05-17 19:49:25 445

原创 HTML表单

一个包含交互的区域,用于收集用户提供的数据。

2024-05-01 15:51:35 234

原创 HTML超链接、列表、表格、常用标签补充

概念:所谓自定义列表,就是一个包含。

2024-05-01 15:27:58 1633

原创 HTML基础

概述:扩展名为 .jpg 或 .jpeg ,是一种有损的压缩格式(把肉眼不容易观察出来的细节丢弃了)。概述:扩展名为 .bmp ,不进行压缩的一种格式,在最大程度上保留图片更多的细节。如何使用:直接作为 img 标签的 src 属性的值即可,并且不受文件位置的影响。举例:对于 h1 标签,效果是文字很大(不重要),语义是网页主要内容(很重要)。概述:扩展名为 .webp ,谷歌推出的一种格式,专门用来在网页中呈现图片。概述:扩展名为 .png ,是一种无损的压缩格式,能够更高质量的保存图片。

2024-04-26 18:21:34 726

原创 HTML 入门

全称:Internet Engineering Task Force(国际互联网工程任务组),成立于1985年底,是一个权威 的互联网技术标准化组织,主要负责互联网相关技术规范的研发和制定,当前绝大多数国际互联网技术标准均出自IETF。全称:World Wide Web Consortium(万维网联盟),创建于1994年,是目前Web技术领域,最具影响力的技术标准机构。超文本:暂且简单理解为 “超级的文本”,和普通文本比,内容更丰富。注意:文档声明,必须在网页的第一行,且在 html 标签的外侧。

2024-04-16 22:49:44 1968 1

原创 面向对象9

/2. 声明当前类的对象的实例变量,使用private final修饰//季节的名称//季节的描述​//1. 私有化类的构造器​//3. 提供实例变量的get方法​//4. 创建当前类的实例,需要使用public static final修饰public static final Season SPRING = new Season("春天","春暖花开");

2024-04-05 12:22:26 829

原创 面向对象8

1、理解1:看做是一个普通的静态方法 理解2:看做是程序的入口,格式是固定的。2、与控制台交互如何从键盘获取数据?方式1:使用Scanner 方式2:使用main()的形参进行传值。

2024-03-17 22:07:21 828 1

原创 面向对象7

1、static: 静态的2、static 用来修饰的结构:属性、方法;代码块、内部类;3、static修饰属性 3.1、 复习:变量的分类 方式1:按照数据类型:基本数据类型、引用数据类型方式2:按照类中声明的位置:成员变量:按照是否使用static修饰进行分类:使用static修饰的成员变量:静态变量、类变量不使用static修饰的成员变量:非静态变量、实例变量局部变量:方法内、方法形参、构造器内、构造器形参、代码块内等。3.2、 静态变量:类中的属性使用static进行修饰。

2024-03-10 22:51:10 419 1

原创 面向对象6

1、Object类的说明明确:java.lang.Object 任何一个Java类(除Object类)都直接或间接的继承于Object类 Object类称为java类的根父类 Object类中声明的结构(属性、方法等)就具有通用性。Object类中没有声明属性 Object类提供了一个空参的构造器 重点关注:Object类中声明的方法2、常用方法。

2024-03-10 22:41:36 1928 1

原创 面向对象5

public、protected、default(缺省)、private实际开发中,各权限修饰的使用频率是怎样的?public、private是使用频率最高的!

2024-03-03 21:55:07 817 1

原创 面向对象4

1、目前可能出现的问题?及解决方案?我们在声明一个属性对应的setXxx方法时,通过形参给对应的属性赋值。如果形参名和属性名同名了,那么该如何在方法内区分这两个变量呢?解决方案:使用this。具体来讲,使用this修饰的变量,表示的是属性。没有用this修饰的,表示的是形参。2、this可以调用的结构:成员变量、方法、构造器3、this的理解:当前对象(在方法中调用时)或当前正在创建的对象(在构造器中调用时)4.1、this调用属性和方法。

2024-03-03 21:32:52 501

原创 面向对象3

构造器声明的格式:权限修饰符 类名(形参列表){} 创建类以后,在没有显示提供任何构造器的情况下,系统会默认提供一个空参的构造器,且构造器的权限 与类声明的权限相同。场景1:私有化(private)类的属性,提供公共(public)的get和set方法,对此属性进行获取或修改 场景2:将类中不需要对外暴露的方法,设置为private. 场景3:单例模式中构造器private的了,避免在类的外部创建实例。作用1:搭配new关键字,创建类的对象 作用2:在创建对象的同时,可以给对象的相关属性赋值。

2024-02-05 22:36:24 910 1

原创 面向对象2

定义:在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表不同即可。满足这样特征的多个方法,彼此之间构成方法的重载。总结为:“两同一不同” 两同:同一个类、相同的方法名 一不同:参数列表不同。① 参数个数不同 ② 参数类型不同注意:方法的重载与形参的名、权限修饰符、返回值类型都没有关系。举例 Arrays类中sort(xxx[] arr)、binarySearch(xxx[] arr,xxx)、equals(xxx[] ,yyy[])如何判断两个方法是相同的呢?

2024-02-01 23:45:21 928 1

原创 面向对象1

以类为组织单位。每种事物都具备自己的属性和行为/功能。 种“设计者思维”,适合解决复杂问题。代码扩展性强、可维护性高。

2024-02-01 23:36:18 1661 1

原创 数组

数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。

2023-12-17 23:10:11 1099 1

原创 Scanner:键盘输入功能的实现

注意:需要根据相应的方法,来输入指定类型的值。如果输入的数据类型与要求的类型不匹配时,会报异常 导致程序终止。如何从键盘获取不同类型(基本数据类型、String类型)的变量:使用Scanner类。1、Math类的random()的调用,会返回一个[0,1)范围的一个double型值。请输入你的网名、你的年龄、你的体重、你是否单身、你的性别等情况。小明注册某交友网站,要求录入个人相关信息。调用Scanner类的相关方法(如何产生一个指定范围的随机整数?),来获取指定类型的变量。范围内的随机整数呢?

2023-12-03 23:15:38 466 1

原创 流程控制语句

流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块。程序设计中规定的三种程序从上到下逐行地执行,中间没有任何判断和跳转。根据条件,选择性地执行某段代码。有if…else和两种分支语句。根据循环条件,重复性的执行某段代码。有forwhiledo-while三种循环语句。补充:JDK5.0 提供了foreach循环,方便的遍历集合、数组元素。

2023-11-26 23:14:44 1165 1

原创 运算符(Operator)

运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。运算符的分类:按照功能分为:算术运算符、赋值运算符、比较(或关系)运算符、逻辑运算符、位运算符、条件运算符、Lambda运算符操作数个数。

2023-11-15 15:19:30 808 1

空空如也

空空如也

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

TA关注的人

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