学习日记-day11-5.20
完成目标:
comment.java
package com.zcr.pojo;
import org.hibernate.annotations.GenericGenerator;import javax.persistence.*;
//JPA操作表中数据,可以将对应的实体类映射到一张表上@Entity(name = "t_comment")//表示当前的实体类与哪张表进行直接映射,自动将表中的字段名称与实体类中的属性名称进行一一映射
public class Comment {@Id //表示指定实体类中用于数据映射的主键@GeneratedValue(generator = "uuid")@GenericGenerator(name = "uuid", strategy = "uuid2")@Column(name = "id")private String id;@Column(name = "article_id")private Integer articleID;@Column(name = "content")private String content;@Column(name = "author")private String author;//alt+insert 快捷键生成get,set方法public Integer getArticleID() {return articleID;}public void setArticleID(Integer articleID) {this.articleID = articleID;}public String getId() {return id;}public void setId(String id) {this.id = id;}public String getContent() {return content;}public void setContent(String content) {this.content = content;}public String getAuthor() {return author;}public void setAuthor(String author) {this.author = author;}@Overridepublic String toString() {return "Comment{" +"id=" + id +", articleID=" + articleID +", content='" + content + '\'' +", author='" + author + '\'' +'}';}
}
学习java课程170-200
知识点:
1.static关键字
知识点 | 核心内容 | 重点 |
static关键字 | 用于修饰成员变量和方法,使成员属于类而非对象,实现数据共享 | 静态成员与非静态成员的内存加载顺序(静态优先) |
静态成员特点 | 1. 类加载时即存在; 2. 通过类名直接调用; 3. 所有对象共享同一静态成员 | 区分类名.静态成员与对象.非静态成员的调用方式 |
应用场景 | 解决多对象共享属性问题(如班级换教室只需修改一次静态变量) | 静态方法中不可直接调用非静态成员(需先实例化对象) |
内存机制 | 静态成员存储在方法区,非静态成员存储在堆内存对象中 | 易混淆:静态成员生命周期与类相同,非静态成员与对象绑定 |
代码示例 | static String classroom = "111";; 修改时:Student.classroom = "222"; | 需注意静态变量初始化的线程安全问题 |
2.static内存说明
知识点 | 核心内容 | 重点 |
static成员的内存存储位置 | 静态成员存储在静态域中,静态域在JDK 6时位于方法区(永久代),JDK 7开始移至堆内存 | 方法区 vs. 堆内存:JDK 7后静态域迁移至堆,目的是提高内存回收效率 |
方法区的演变 | JDK 6称“永久代”,JDK 8改为“元空间”,但均为方法区的具体实现 | 永久代、元空间与方法区的关系:需明确三者是同一逻辑区域的不同实现 |
静态域迁移原因 | 堆内存回收效率高,方法区回收效率低;迁移后可及时释放静态成员占用的内存 | 为什么静态域不留在方法区?:避免内存长期占用,优化运行性能 |
静态成员共享机制 | 静态成员随类加载而加载,被该类的所有对象共享;不属于对象成员,仅属于类 | 静态成员访问方式:直接通过类名调用(如Student.classroom),无需实例化对象 |
内存模型示例(Student类) | classroom(静态)存储在堆的静态区,name(实例)存储在对象堆内存;新建对象共享静态成员 | 对象与静态区的关系:对象通过内存地址共享静态成员,但静态成员生命周期独立于对象 |
3.静态成员访问特点
知识点 | 核心内容 | 重点 |
静态方法访问非静态成员 | 静态方法中不能直接访问非静态成员,需通过new对象调用 | 先出生的静态成员无法直接访问后出生的非静态成员(类比秦始皇不知康熙存在) |
非静态方法访问静态成员 | 非静态方法中能直接访问静态成员(同类可直接调用/类名调用,不同类需类名调用) | 反编译证明即使通过对象调用静态方法,底层仍是类名调用 |
静态方法访问静态成员 | 静态方法中能直接访问静态成员(同类可直接调用,不同类需类名调用) | 同类访问时存在两种调用方式(直接调用/类名调用) |
非静态方法访问非静态成员 | 非静态方法中能直接访问非静态成员(同类直接调用,不同类需new对象调用) | 同类访问时new对象调用非必要但可行 |
通用访问规则总结 | 非静态成员始终通过new对象调用;静态成员始终推荐类名调用 | 静态成员生命周期早于非静态成员(类加载vs对象实例化) |
4.静态成员的使用场景
知识点 | 核心内容 | 重点 |
静态成员的使用场景 | 静态成员通过类名直接调用,无需实例化,适用于工具类等场景 | 静态成员与实例成员的区别(内存加载时机) |
静态成员的局限性 | 所有静态成员会在类加载时占用内存,滥用会导致内存浪费 | 需权衡“便利性”与“资源占用” |
工具类设计规范 | 1. 成员全静态化; 2. 构造方法私有化(禁止实例化); 3. 功能需高频复用(如数组求最大值) | 工具类与普通类的设计差异 |
代码复用案例 | 抽取ArrayUtils.getMax()方法,避免重复编写数组遍历逻辑 | 工具类方法的通用性设计(参数/返回值) |
5.可变参数
知识点 | 核心内容 | 注意事项 |
可变参数定义 | 使用数据类型...变量名语法定义(必须三个点) | 必须三个点,两个或四个点都不行 |
可变参数本质 | 底层实现是数组(可通过反编译验证) | 可使用数组遍历方式操作可变参数 |
参数位置规则 | 可变参数必须放在参数列表最后 | 报错提示:varargs parameter must be the last |
多参数共存 | 可与普通参数共存(如int i, int... arr) | 普通参数需在前,顺序不可颠倒 |
方法调用方式 | 可传入任意数量同类型参数(自动转为数组) | 类型必须匹配定义的数据类型 |
6.递归
知识点 | 核心内容 | 重点 |
递归的定义 | 方法内部调用自身的编程技巧 | 与循环的区别(出口条件的必要性) |
递归的经典案例 | "从前有座山"的无限循环故事 | 无出口的递归导致栈溢出错误 |
递归的分类 | 直接递归(方法A调A)和间接递归(方法A→B→C→A循环调用) | 间接递归的代码实现逻辑 |
递归的注意事项 | 必须设置终止条件(出口),且递归次数不宜过多 | 栈内存溢出的原理(StackOverflowError) |
递归的代码演示 | method()无限调用自身导致崩溃 | 实际开发中需通过条件判断控制递归深度 |
7.斐波那契数列
知识点 | 核心内容 | 重点 |
斐波那契数列定义 | 数列中每个数字是前两个数字之和(从1,1开始) | 起始项定义(通常为F(1)=1, F(2)=1) |
兔子繁殖模型 | 1.新生兔1个月成熟; 2.成熟后每月生1对; 3.无死亡假设 | 第二个月不生兔的时间延迟特性 |
递归算法实现 | method(n) = method(n-1) + method(n-2) | 终止条件必须包含n=1和n=2的情况 |
数列计算示例 | 月份:1→1对, 2→1对, 3→2对, 4→3对, 5→5对, 6→8对 | 第6个月结果8对的推导过程 |
递归调用过程 | 方法自调用时的参数传递机制(月份递减) | 递归树展开时的重复计算问题 |
8.数组反转
知识点 | 核心内容 | 重点 |
数组翻转算法 | 中心思想是数组对称索引位置上的元素互换,通过中间变量实现元素位置交换 | 确定交换终止条件(min >= max)和索引移动规则(min++/max--) |
索引对称原理 | 奇数数组中间元素自对称,偶数数组全部成对交换(图示[1,2,3,4,5,6,7]与[7,6,5,4,3,2,1]索引对应关系) | 奇偶数组的不同处理逻辑 |
元素交换技术 | 使用临时变量temp的三步交换法: 1. temp = arr[min]; 2. arr[min] = arr[max]; 3. arr[max] = temp | 类比水杯交换的具象化理解 |
循环控制逻辑 | for(int min=0,max=arr.length-1; min<max; min++,max--) 复合循环条件写法 | 多语句初始化/迭代的语法特性 |
边界条件处理 | 循环终止条件min < max同时覆盖奇偶两种情况 | 避免偶数数组重复交换 |
9.冒泡排序
知识点 | 核心内容 | 重点 |
冒泡排序定义 | 数组排序方法,通过相邻元素比较和交换实现排序 | 默认升序排序,需理解“相邻元素”指 arr[i] 和 arr[i+1] |
排序过程 | 1. 每轮将最大值“冒泡”到末尾; 2. 比较轮数=数组长度-1,每轮比较次数递减 | 易错点:忽略每轮减少一次比较(已排序部分无需重复比较) |
代码实现关键 | 1. 双重循环(外层控制轮数,内层控制比较次数); 2. 相邻元素交换条件 arr[i] > arr[i+1] | 笔试高频:需默写代码框架及边界条件(如 i < arr.length-1) |
性能特点 | 时间复杂度 O(n²),空间复杂度 O(1) | 对比其他排序:效率低但实现简单,适合小规模数据 |
实例演示 | 数组 [5,4,3,2,1] 的完整排序步骤(4轮比较,每轮次数递减) | 重点观察:最大值如何逐步移动到末尾 |
10.二分查找
知识点 | 核心内容 | 重点 |
二分查找原理 | 通过不断折半缩小查找范围,提升查询效率 | 必须保证数组有序(升序/降序) |
中间索引计算 | mid = (min + max) // 2,动态调整min/max | 初始min=0,max=长度-1,非固定长度/2 |
查找流程 | 1. 比较目标值与mid元素; 2. 大于则min=mid+1; 3. 小于则max=mid-1; 4. 等于则命中 | 终止条件:min > max时未找到 |
效率对比 | 原始遍历:O(n); 二分查找:O(log n) | 数据量越大优势越显著(例:100数据仅需7次比较) |
边界案例 | 目标值在首尾/不存在时索引移动逻辑 | min/max更新需严格±1,避免死循环 |
11.对象数组
知识点 | 核心内容 | 重点 |
对象数组定义 | Person[]数组存储Person对象,数组定义语法与基本类型数组类似 | 数组元素类型与对象类型的匹配关系 |
对象数组初始化 | 创建三个Person对象并存入数组,通过索引赋值 | 数组存储的是对象引用(地址值)而非对象本身 |
数组遍历与属性访问 | 使用for循环遍历数组,通过getter方法获取对象属性 | 遍历得到的是对象引用,需通过引用访问成员方法 |
内存模型解析 | 堆内存中数组元素存储对象引用示意图 | 引用传递与值传递的本质区别 |
类型系统应用 | 接收数组元素必须使用Person类型变量 | 编译期类型检查机制 |
12.对象数组应用
知识点 | 核心内容 | 重点 |
对象数组创建 | 创建Student类数组并初始化三个学生对象 Student[] students = new Student[3] | 匿名对象初始化方式 |
类定义规范 | 定义Student类包含私有属性(name/score)和标准方法(构造器/getter) | 无参/有参构造器同时存在的必要性 |
冒泡排序算法 | 通过嵌套循环实现对象数组排序 | 比较成绩但交换整个对象 |
对象属性访问 | 通过getter方法获取私有属性进行比较 | 直接访问私有属性会导致编译错误 |
数组遍历输出 | 排序后遍历数组输出学生信息 | 注意数组越界问题 |
13.基本类型做参数传递
知识点 | 核心内容 | 重点 |
基本数据类型与引用数据类型的区分 | 基本数据类型包括四类八种(byte、short、int、long、float、double、char、boolean),其余均为引用数据类型 | 如何快速区分:只需记住基本数据类型的范围,其余均为引用类型 |
方法参数传递(基本数据类型) | 基本数据类型作为方法参数传递时,传递的是值而非变量本身,方法内部的修改不影响原始变量 | 易混淆点:误认为方法内部修改会影响原变量值 |
方法调用与栈内存机制 | 方法执行时压栈,运行完毕后弹栈,局部变量仅作用于当前方法栈帧 | 关键理解:方法栈的独立性导致变量作用域隔离 |
14.引用类型作参数传递
知识点 | 核心内容 | 重点 |
引用数据类型作为方法参数传递 | 引用数据类型(如数组)作为参数传递时,传递的是地址值,而非值本身。 | 区分基本数据类型和引用数据类型的参数传递方式;理解为何引用数据类型的修改会影响到原数据。 |
数组在内存中的存储 | 数组在堆内存中存储,变量保存的是数组的地址值。 | 数组的内存分配和地址值的概念;数组如何通过地址值进行访问和修改。 |
方法调用与栈的压栈弹栈 | 方法调用时,会在栈中压栈运行;方法执行完毕后,会弹栈返回。 | 方法调用的栈机制;压栈与弹栈对变量值的影响。 |
方法间参数传递的影响 | 引用数据类型作为参数传递时,方法间的修改会相互影响。 | 引用传递导致的修改共享问题;如何理解并避免不必要的修改。 |
基本数据类型与引用数据类型的区别 | 基本数据类型传递的是值,引用数据类型传递的是地址值。 | 两者在参数传递、内存存储和修改影响上的区别。 |
15.命令行参数
知识点 | 核心内容 | 重点 |
命令行参数 | 指main方法中的String[] args参数,通过命令行或IDE配置传递实参 | 参数传递格式(空格分隔)、IDE配置入口位置 |
参数传递方式 | 1. 命令行运行:java 类名 参数1 参数2; 2. IDEA配置:Run → Edit Configurations → Program Arguments | 参数与类名需空格分隔,参数按顺序对应数组元素 |
实际应用场景 | 临时测试方法功能(如method(String s1, String s2)),避免启动完整项目流程 | 与直接调用方法的区别(灵活性 vs 便捷性) |
IDE操作演示 | 1. 创建类并编写main方法; 2. 通过Edit Configurations设置参数(如哈哈 嘿嘿); 3. 运行后遍历args数组输出结果 | 配置路径易忽略(需通过类名旁箭头进入) |
16.快速生成方法
知识点 | 核心内容 | 重点 |
方法定义与调用顺序 | 初学者需先定义方法再调用,否则报错;熟练者可先调用后定义(通过IDE补全) | Alt+Enter快速生成方法(自动补全参数/返回值) |
IDE智能补全功能 | 使用Alt+Enter自动生成方法: - 无参无返回值(默认private修饰); - 有参无返回值(自动匹配参数类型); - 有返回值(自动推断类型) | 修饰符需手动调整 |
代码抽取为方法 | 选中代码块后按Ctrl+Alt+M快速抽取: - 自动识别依赖变量(如数组参数); - 支持修改方法名/修饰符; - 智能提示返回值需求 | 未选中变量时自动补全参数 |
IDE操作效率技巧 | - 通过快捷键生成代码结构; - 抽取重复逻辑为独立方法 | 需熟悉Alt+Enter与Ctrl+Alt+M组合键 |
17..debug调试
知识点 | 核心内容 | 重点 |
Debug调试概述 | 调试代码的手段,用于监测变量变化和定位错误 | 理解断点作用与调试模式启动方式 |
断点设置 | 在代码行左侧点击添加红色圆点(断点),右键选择Debug启动调试 | 断点可多位置设置,点击消失的特性易忽略 |
调试面板功能 | - 下一步(逐行执行); - 进入方法(跳转至被调用方法内部); - 跳出方法(返回调用处); - 放行(执行当前请求代码但不退出调试); - 结束调试(完全退出) | 放行 vs 结束调试的功能差异(是否保留调试模式) |
变量监控 | 调试过程中实时显示变量值变化(如数组索引赋值过程) | 通过变量面板观察I=3时的数组越界问题 |
调试应用场景 | 示例:购物车功能调试(addCart方法逐行检查变量) | 结合循环调用演示放行按钮的多次触发特性 |
相关文章:
学习日记-day11-5.20
完成目标: comment.java package com.zcr.pojo; import org.hibernate.annotations.GenericGenerator;import javax.persistence.*; //JPA操作表中数据,可以将对应的实体类映射到一张表上Entity(name "t_comment")//表示当前的实体类与哪张表…...
手淘不易被清洗销量的4个成交入口
在淘宝运营中,销量是店铺权重的重要指标之一,但平台对虚假交易的打击力度越来越大,许多商家因销量被清洗而损失惨重。那么,通过什么样的手淘成交入口稳定不易清洗呢?经过实测,我们总结了以下手淘4个不易被清…...
【Linux】Linux 多线程
目录 1. Linux线程概念2. 重谈进程地址空间---页表2.1 如何由虚拟地址转化为物理地址的 3. pthread库调用接口3.1 线程的创建---pthread_create3.2 线程等待---pthread_join3.3 线程的退出3.4 分离线程 4. 线程库5. 线程ID6. Linux线程互斥6.1 锁6.2 锁的接口6.2.1 互斥量的初始…...
DAY31
知识点回顾 规范的文件命名规范的文件夹管理机器学习项目的拆分编码格式和类型注解 作业:尝试针对之前的心脏病项目,准备拆分的项目文件,思考下哪些部分可以未来复用。 浙大疏锦行...
大模型应用开发“扫盲”——基于市场某款智能问数产品的技术架构进行解析与学习
本文将从一款问数产品相关技术架构,针对大模型应用开发中的基础知识进行“扫盲”式科普,文章比较适合新手小白,属于是我的学习笔记整理,大佬可以划走啦~产品关键信息已经进行模糊处理,如有侵权请联系删除。 文章目录 前…...
List优雅分组
一、前言 最近小永哥发现,在开发过程中,经常会遇到需要对list进行分组,就是假如有一个RecordTest对象集合,RecordTest对象都有一个type的属性,需要将这个集合按type属性进行分组,转换为一个以type为key&…...
打破建筑与制造数据壁垒:Revit 到 STP 格式转换全攻略(含插件应用 + 迪威模型实战)
引言 在建筑信息模型(BIM)与计算机辅助设计(CAD)领域,数据在不同软件和系统间的高效流转至关重要。Revit 作为 BIM 技术应用的主流软件,常用于建筑设计、施工和运维管理;而 STP(STE…...
RISC-V 开发板 MUSE Pi Pro USB 测试(3.0 U盘,2.0 UVC摄像头)
视频讲解: RISC-V 开发板 MUSE Pi Pro USB 测试(3.0 U盘,2.0 UVC摄像头) 总共开发板有4个USB的A口,1个USB的TypeC口,我们插上两个USB3.0的U盘和一个USB2.0的UVC摄像头来进行测试 lsusb -tv 可以看到有3个US…...
驱动相关基础
一、驱动分类与区别 字符设备驱动 一个字节一个字节进行读写操作的设备,以字符流的形式进行数据传输(如鼠标、键盘、串口)。 块设备驱动 以块为单位进行读写操作的设备,块的大小通常为 512 字节、1024 字节。 块设备驱动主…...
【node.js】核心进阶
个人主页:Guiat 归属专栏:node.js 文章目录 1. Node.js高级异步编程1.1 Promise深入理解1.1.1 创建和使用Promise1.1.2 Promise组合模式 1.2 Async/Await高级模式1.2.1 基本使用1.2.2 并行执行1.2.3 顺序执行与错误处理 1.3 事件循环高级概念1.3.1 事件循…...
高频Java面试题深度拆解:String/StringBuilder/StringBuffer三剑客对决(万字长文预警)
文章目录 一、这道题的隐藏考点你Get到了吗?二、内存模型里的暗战(图解警告)2.1 String的不可变性之谜2.2 可变双雄的内存游戏 三、线程安全背后的修罗场3.1 StringBuffer的同步真相3.2 StringBuilder的裸奔哲学 四、性能对决:用数…...
量子计算的曙光:从理论奇点到 IT 世界的颠覆力量
在信息技术(IT)的飞速发展中,一项前沿技术正以耀眼的光芒照亮未来——量子计算(Quantum Computing)。2025 年,随着量子硬件的突破、算法的优化以及企业对超算能力的渴求,量子计算从科幻梦想逐步…...
c++使用protocol buffers
在 C 里使用 Protocol Buffer,要先定义消息结构,接着生成 C 代码,最后在程序里使用这些生成的代码。 定义消息结构 首先要创建一个.proto文件,在其中定义消息类型和字段。 // person.proto syntax "proto3"; // 指…...
AI驱动发展——高能受邀参加华为2025广东新质生产力创新峰会
当AI浪潮席卷全球产业版图,一场以"智变"驱动"质变"的变革正在发生。5月15日,华为中国行2025广东新质生产力创新峰会璀璨启幕,作为华为生态战略合作伙伴,高能计算机与行业领军者同台论道,共同解码A…...
怎样解决photoshop闪退问题
检查系统资源:在启动 Photoshop 之前,打开任务管理器检查 CPU 和内存的使用情况。如果发现资源占用过高,尝试关闭不必要的程序或重启计算机以释放资源。更新 Photoshop 版本:确保 Photoshop 是最新版本。Adobe 经常发布更新以修复…...
AWS CodePipeline+ Elastic Beanstalk(AWS中国云CI/CD)
问题 最近需要利用AWS云上面的CI/CD部署Spring应用。 一图胜千言 步骤 打开CodePipeline网页,开始管道创建,如下图: 管道设置,如下图: 这里主要设置管道名称,至于服务角色,直接让codepipel…...
人工智能核心知识:AI Agent 的四种关键设计模式
人工智能核心知识:AI Agent 的四种关键设计模式 一、引言 在人工智能领域,AI Agent(人工智能代理)是实现智能行为和决策的核心实体。它能够感知环境、做出决策并采取行动以完成特定任务。为了设计高效、灵活且适应性强的 AI Age…...
Electron+vite+vue3 从0到1搭建项目,开发Win、Mac客户端
随着前端技术的发展,出现了所谓的大前端。 大前端则是指基于前端技术延伸出来的各种终端平台及应用场景,包括APP、桌面端、手表终端、服务端等。 本篇文章主要是和大家一起学习一下使用Electron 如何打包出 Windows 和 Mac 所使用的客户端APPÿ…...
GitLab部署
学git Git最新最新详细教程、安装(从入门到精通!!!!企业级实战!!!工作必备!!!结合IDEA、Github、Gitee实战!!!…...
基于R语言地理加权回归、主成份分析、判别分析等空间异质性数据分析技术
在自然和社会科学领域,存在大量与地理或空间相关的数据,这些数据通常具有显著的空间异质性。传统的统计学方法在处理这类数据时往往力不从心。基于R语言的一系列空间异质性数据分析方法,如地理加权回归(GWR)、地理加权…...
指针深入理解(二)
volatile关键字 防止优化指向内存地址, typedef 指针可以指向C语言所有资源 typedef 就是起一个外号。 指针运算符加减标签操作 指针加的是地址,并且增加的是该指针类型的一个单位,指针变量的步长可以用sizeof(p[0]) 这两个的p1是不一样…...
django回忆录(Python的一些基本概念, pycharm和Anaconda的配置, 以及配合MySQL实现基础功能, 适合初学者了解)
django 说实在的, 如果是有些Python基础或者编程基础, 使用django开发本地网站的速度还是很快的, 特别是配合ai进行使用. 本人使用该框架作业的一个主要原因就是因为要做数据库大作业, 哥们想速通, 结果由于我一开始没有接触过这些方面的知识, 其实也不算快, 而且现在我也没有…...
leetcode hot100刷题日记——5.无重复字符的最长字串
解答:滑动窗口思想(见官方题解) //方法1 class Solution { public:int lengthOfLongestSubstring(string s) {//哈希表记录是否有重复字符unordered_set<char>c;int maxlength0;int ns.size();//右指针初始化为-1,可以假设…...
一文讲清python、anaconda的安装以及pycharm创建工程
软件下载 Pycharm下载地址: https://download-cdn.jetbrains.com.cn/python/pycharm-community-2024.1.1.exe?_gl1*1xfh3l8*_gcl_au*MTg1NjU2NjA0OC4xNzQ3MTg3Mzg1*FPAU*MTg1NjU2NjA0OC4xNzQ3MTg3Mzg1*_ga*MTA2NzE5ODc1NS4xNzI1MzM0Mjc2*_ga_9J976DJZ68*czE3NDczMD…...
[每日一题] 3355. 零数组变换 i
文章目录 1. 题目链接2. 题目描述3. 题目示例4. 解题思路5. 题解代码6. 复杂度分析 1. 题目链接 3355. 零数组变换 I - 力扣(LeetCode) 2. 题目描述 给定一个长度为 n 的整数数组 nums 和一个二维数组 queries,其中 queries[i] [li, ri]。…...
【笔记】与PyCharm官方沟通解决开发环境问题
#工作记录 2025年5月20日 星期二 背景 在此前的笔记中,我们提到了向PyCharm官方反馈了几个关于Conda环境自动激活、远程解释器在社区版中的同步问题以及Shell脚本执行时遇到的问题。这些问题对日常开发流程产生了一定影响,因此决定联系官方支持寻求解…...
mariadb-cenots8安装
更新系统:安装完成 CentOS 8 后,连接到互联网,打开终端并运行以下命令来更新系统,以获取最新的软件包和安全补丁。 bash sudo yum update -y安装 MariaDB:运行以下命令来安装 MariaDB。 bash sudo yum install mariadb…...
Python实现VTK - 自学笔记(4):用Widgets实现三维交互控制
核心知识点 交互器样式(vtkInteractorStyle):自定义鼠标/键盘交互逻辑三维控件(3D Widgets):使用预制控件实现复杂交互回调机制:实现动态数据更新参数化控制:通过控件调整算法参数import vtk# 1. 创建圆锥体数据源 cone = vtk.vtkConeSour…...
在tp6模版中加减法
实际项目中,我们经常需要标签变量加减运算的操作。但是,在ThinkPHP中,并不支持模板变量直接运算的操作。幸运的是,它提供了自定义函数的方法,我们可以利用自定义函数解决:ThinkPHP模板自定义函数语法如下&a…...
Linux:库与链接
库是预先编译好、可执⾏的⼆进制码,可以被操作系统加载到内存中执⾏。 库有两种: 静态库:.a(Linux)、.lib(Windows) 动态库:.so(Linux)、.dil(Windows) 静态库 1.程序在链接时把库的代码链接到可执⾏⽂件中,运⾏时…...
T008-网络管理常用命令:ping,ipconfig,nslookup,route,netstat
ipconfig:网络诊断命令,显示 IP 地址、掩码、网关信息,清除/显示 DNS 缓存信息; route:主要用于管理路由表,确定数据包如何从源主机通过网络到达目的主机 nslookup:用于查询域名到IP地址&…...
Qt文件:XML文件
XML文件 1. XML文件结构1.1 基本结构1.2 XML 格式规则1.3 XML vs HTML 2. XML文件操作2.1 DOM 方式(QDomDocument)读取 XML写入XML 2.2 SAX 方式(QXmlStreamReader/QXmlStreamWriter)读取XML写入XML 2.3 对比分析 3. 使用场景3.1 …...
MySQL 8.0 OCP 英文题库解析(六)
Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题41~50 试题4…...
微软开放代理网络愿景
🌐 Microsoft的开放式智能代理网络愿景 2025年05月20日 | AI日报  欢迎各位人工智能爱好者 微软刚刚在Build 2025大会上开启了备受期待的AI周活动,通过发布大…...
阿尔泰科技助力电厂——520为爱发电!
当城市的霓虹在暮色中亮起,当千万个家庭在温暖中共享天伦,总有一群默默的 "光明守护者" 在幕后坚守 —— 它们是为城市输送能量的电厂,更是以科技赋能电力行业的阿尔泰科技。值此 520 爱意满满的日子,阿尔泰科技用硬核技…...
微软账户无密码化的取证影响
五月初,微软正式宣布,新创建的微软账户现在将默认为无密码,以实现“更简单、更安全的登录”。这一变化延续了Windows 11所设定的方向,即逐步淘汰传统密码,转而采用更安全、更方便用户的身份验证方法,如PIN码…...
idea部署本地仓库和连接放送远程仓库
1.下载git,安装好后任意地方又键会出现两个带git的东西 2.点击bash here的那个,召唤出git的小黑窗,输入 git config --global user.name "你自己取名" git config --global user.email "你自己输入你的邮箱" 3.打开id…...
4大AI智能体平台,你更适合哪一个呐?
好记忆不如烂笔头,能记下点东西,就记下点,有时间拿出来看看,也会发觉不一样的感受. AI的火热程度,应该说是今年IT行业内最热的话题了,以下是根据我对各个智能体平台的了解和熟悉,按照 平台特点、…...
Pandas:Series和DataFrame的概念、常用属性和方法
本文目录: 一、Series和Dataframe的概念二、创建Series对象三、创建Dataframe对象(一)Series1.Series的常用属性总结如下:2.Series的常用方法总结如下: (二)Dataframe1.Dataframe的常用属性2.Da…...
Index-AniSora论文速读:探索Sora时代动画视频生成的前沿
AniSora: Exploring the Frontiers of Animation Video Generation in the Sora Era 一、引言 论文开篇指出动画产业近年来的显著增长,动画内容的需求不断攀升,但传统动画制作流程存在劳动密集和耗时的问题,如故事板创建、关键帧生成和中间…...
扫盲笔记之NPM
简介 npm,全名 node package manger。 NPM(Node Package Manager)是一个 JavaScript 包管理工具,也是 Node.js 的默认包管理器。 NPM 允许开发者轻松地下载、安装、共享、管理项目的依赖库和工具。网址:https://www…...
【Go-2】基本语法与数据类型
基本语法与数据类型 Go语言作为一种静态类型、编译型语言,拥有简洁且高效的语法结构。本章将深入介绍Go的基本语法和数据类型,帮助你建立扎实的编程基础。 2.1 第一个 Go 程序 编写第一个Go程序是学习任何编程语言的传统步骤。通过一个简单的“Hello,…...
Varlet UI-Material Design风格Vue 3框架移动端组件库
#Varlet UI是什么 在现代Web开发中,Vue 3以其强大的组件系统特性,成为了构建可复用、模块化应用界面的首选框架。而在Vue 3的生态系统中,Varlet UI开源组件库以其高效、一致和可维护的设计,为开发者提供了丰富的工具和资源。本文将…...
Golang的文件上传与下载
## Golang的文件上传与下载 文件上传 在Golang中,我们可以使用 net/http 包来实现文件上传功能。文件上传的一般流程包括创建一个接收上传请求的处理器,解析表单数据,然后获取文件并保存到服务器指定的位置。 创建文件上传接口 首先ÿ…...
信奥赛-刷题笔记-栈篇-T3-P4387验证栈序列0520
总题单 本部分总题单如下 【腾讯文档】副本-CSP-JSNOI 题单 (未完待续) https://docs.qq.com/sheet/DSmJuVXR4RUNVWWhW?tabBB08J2 栈篇题单 P4387 【深基15.习9】验证栈序列 题目描述 给出两个序列 pushed 和 poped 两个序列,其取值从 1 到 n ( n ≤ 10…...
jenkins授权管理.
使用背景: 在企业中可能多个开发组织共用同一个Jenkins服务器, 不会让用户具有管理员权限的, 需要给用户分配对应的Group组织权限。例如: 张三, 属于devops1这个组织, 仅允许张三对devops1组织相关的jenkins作业进行构…...
Ubuntu24.04安装Dify
1、win10上安装docker不顺利 参考:Dify的安装_dify安装-CSDN博客等资料,Dify依赖Docker运行,在Win10上安装Docker,先安装wsl。在PowerShell(管理员)中输入: wsl --install 或显示“找不到指定文件”,或显示…...
Spring Boot 集成 Elasticsearch【实战】
前言: 上一篇我们简单分享了 Elasticsearch 的一些概念性的知识,本篇我们来分享 Elasticsearch 的实际运用,也就是在 Spring Booot 项目中使用 Elasticsearch。 Elasticsearch 系列文章传送门 Elasticsearch 基础篇【ES】 Elasticsearch …...
Spark离线数据处理实例
工具:Jupyter notebook # 一、需求分析 (1)分析美妆商品信息,找出每个“商品小类”中价格最高的前5个商品。 (2)每月订购情况,统计每个月订单的订购数量情况和消费金额。 (3&#x…...
window 安装 wsl + cuda + Docker
WSL 部分参考这里安装: Windows安装WSL2 Ubuntu环境 - 知乎 如果出现错误: WslRegisterDistribution failed with error: 0x800701bc 需要运行:https://crayon-shin-chan.blog.csdn.net/article/details/122994190 wsl --update wsl --shu…...