API的学习总结(上)
在 Java 中,API 指的是 Java 提供的一系列类、接口、方法和工具,用于开发 Java 应用程序。Java API 是 Java 平台的核心组成部分,它提供了丰富的功能,包括基础数据类型、集合框架、输入输出、网络编程、多线程、数据库连接等。
核心API包
1. java.lang:提供 Java 语言的基础类,如 Object、String、Integer、Thread 等。所有其他包都隐式导入了这个包。
2. java.util:包含集合框架(如 List、Set、Map)、日期时间处理、随机数生成、事件模型等工具类。
3. java.io:提供输入输出功能,用于文件操作、网络数据流等。
4. java.net:支持网络编程,包含 URL、Socket、ServerSocket 等类。
5. java.sql:提供数据库访问功能,用于连接和操作数据库。
6. java.text:包含格式化和解析数据的类,如 DateFormat、NumberFormat 等。
7. java.time(Java 8+):现代日期和时间 API,替代了旧的 java.util.Date 和 Calendar 类。
8. java.math:提供高精度计算(BigInteger、BigDecimal)和数学运算工具。
Math
在 Java 中,java.lang.Math类提供了执行基本数学运算的方法,如指数、对数、平方根和三角函数等。这个类包含了许多静态方法和常量,可以直接通过类名调用,无需创建对象。
(私有化构造方法,所以的方法都是静态的)
Math类的常用方法:
1. 常用数学常量
Math.PI
:圆周率 π(约 3.14159)。Math.E
:自然对数的底数 e(约 2.71828)。
e.g.
System.out.println("π的值:" + Math.PI); // 输出:3.141592653589793
System.out.println("e的值:" + Math.E); // 输出:2.718281828459045
2. 基本算术运算
绝对值
Math.abs(x)
:返回 x 的绝对值。
示例:
java
System.out.println(Math.abs(-5)); // 输出:5
System.out.println(Math.abs(3.14)); // 输出:3.14
最大值和最小值
Math.max(x, y)
:返回 x 和 y 中的较大值。Math.min(x, y)
:返回 x 和 y 中的较小值。
e.g.
System.out.println(Math.max(10, 20)); // 输出:20
System.out.println(Math.min(-3, -5)); // 输出:-5
四舍五入
Math.round(x)
:返回最接近 x 的整数(long
或int
类型)。Math.ceil(x)
:返回大于或等于 x 的最小整数(double
类型)。Math.floor(x)
:返回小于或等于 x 的最大整数(double
类型)。
e.g.
System.out.println(Math.round(3.5)); // 输出:4
System.out.println(Math.ceil(3.2)); // 输出:4.0
System.out.println(Math.floor(3.8)); // 输出:3.0
3. 幂运算与对数运算
Math.pow(x, y)
:返回 x 的 y 次幂(double
类型)。Math.sqrt(x)
:返回 x 的平方根(double
类型)。Math.cbrt(x)
:返回 x 的立方根(double
类型)。Math.log(x)
:返回 x 的自然对数(底数为 e)。Math.log10(x)
:返回 x 的常用对数(底数为 10)。
e.g.
System.out.println(Math.pow(2, 3)); // 输出:8.0
System.out.println(Math.sqrt(16)); // 输出:4.0
System.out.println(Math.log(Math.E)); // 输出:1.0
4. 三角函数与角度转换
Math.sin(rad)
:返回弧度 rad 的正弦值。Math.cos(rad)
:返回弧度 rad 的余弦值。Math.tan(rad)
:返回弧度 rad 的正切值。Math.toRadians(deg)
:将角度转换为弧度。Math.toDegrees(rad)
:将弧度转换为角度。- e.g.
double rad = Math.toRadians(90); // 90度转弧度
System.out.println(Math.sin(rad)); // 输出:1.0(近似值)
5. 随机数生成
Math.random()
:返回一个大于等于 0 且小于 1 的随机double
值。范围[0.0,1.0]
e.g.:生成 1 到 10 之间的随机整数:
int randomNum = (int) (Math.random() * 10) + 1;
System.out.println(randomNum); // 输出1~10之间的随机整数
完整示例代码
以下是一个使用 Math
类各种方法的完整示例:
public class MathExample {public static void main(String[] args) {// 常量System.out.println("π = " + Math.PI);System.out.println("e = " + Math.E);// 基本运算System.out.println("|-7| = " + Math.abs(-7));System.out.println("max(5, 9) = " + Math.max(5, 9));System.out.println("min(3.2, 4.5) = " + Math.min(3.2, 4.5));// 四舍五入System.out.println("round(3.7) = " + Math.round(3.7));System.out.println("ceil(3.2) = " + Math.ceil(3.2));System.out.println("floor(3.8) = " + Math.floor(3.8));// 幂运算与对数System.out.println("2^3 = " + Math.pow(2, 3));System.out.println("√25 = " + Math.sqrt(25));System.out.println("log(e) = " + Math.log(Math.E));// 三角函数double angle = 45;double radian = Math.toRadians(angle);System.out.println("sin(45°) = " + Math.sin(radian));System.out.println("cos(45°) = " + Math.cos(radian));// 随机数System.out.println("随机数(0~1): " + Math.random());System.out.println("随机整数(1~100): " + ((int) (Math.random() * 100) + 1));}
}
System
System也是一个工具类,提供了一些与系统相关的方法。
方法名 | 说明 |
public static void exit(int status) | 终止当前运行的Java的虚拟机 |
public static long currentTimeMills() | 返回当前系统的时间毫秒值形式 |
public static void arratcopy(数据源数组,起始索引,目的地数组,起始索引,拷贝个数) | 数组拷贝 |
public static void exit(int status)
- 参数:
status
是一个整数状态码,用于表示程序的退出状态。- 0:表示程序正常退出(通常用于成功执行的情况)。
- 非零值(如 1、-1):表示程序异常退出(通常用于发生错误的情况)。
常见应用场景
(1)程序正常结束
public class Chillingheart {public static void main(String[] args) {// 执行某些操作...System.out.println("程序执行完毕,正常退出");System.exit(0); // 显式退出,状态码0表示成功}
}
(2)处理严重错误
public class Chillingheart {public static void main(String[] args) {try {// 尝试打开一个不存在的文件java.io.FileInputStream file = new java.io.FileInputStream("nonexistent.txt");} catch (java.io.FileNotFoundException e) {System.err.println("错误:文件未找到!");System.exit(1); // 状态码1表示文件操作失败}}
}
public static long currentTimeMills() 返回当前系统的时间毫秒值形式
常见应用场景
(1)计算代码执行时间
long startTime = System.currentTimeMillis();// 执行需要计时的代码
for (int i = 0; i < 1000000; i++) {// 模拟耗时操作
}long endTime = System.currentTimeMillis();
long elapsedTime = endTime - startTime;
System.out.println("代码执行时间:" + elapsedTime + " 毫秒");
public static void arratcopy(数据源数组,起始索引,目的地数组,起始索引,拷贝个数) 数组拷贝
//拷贝数组
int [] arr1 = {1,2,3,4,5,6,7,8,9,10};int [] arr2 = new int [10];
//把arr1数组中的数据拷贝到arr2中
//arratcopy(数据源数组,起始索引,目的地数组,起始索引,拷贝个数)
System.arraycopy(arr1,0,arr2,0,10);//验证
for(int i=0;i<arr2.length;i++){System.out.print(arr2[i]+" ");}
Runtime
Runtime表示当前虚拟机的运行环境
java.lang.Runtime
类提供了与当前 Java 虚拟机(JVM)运行时环境交互的功能。每个 Java 应用程序都有一个与之关联的Runtime
实例,通过它可以访问和控制 JVM 的某些特性,如内存管理、进程执行、系统资源等。
方法名 | 说明 |
public static Runtime getRuntime() | 当前系统的运行环境对象 |
public void exit(int status) | 停止虚拟机 |
public int availableProcessors() | 获取cpu的线程数 |
public long maxMemory() | JVM能从系统重获取总内存大小(单位byte) |
public long totalMemory() | JVM已经从系统重获取总内存大小(单位byte) |
public long freeMemory() | JVM剩余内存大小(单位byte) |
public Process exec(String command) | 运行cmd指令 |
获取 Runtime 实例
Runtime
类采用单例模式,只能通过静态方法getRuntime()
获取其实例:
Runtime runtime = Runtime.getRuntime();
2. 核心功能与方法
(1)内存管理
- 获取内存信息:
long totalMemory = runtime.totalMemory(); // JVM当前总内存(字节) long freeMemory = runtime.freeMemory(); // JVM当前空闲内存(字节) long maxMemory = runtime.maxMemory(); // JVM最大可用内存(字节)System.out.printf("总内存: %.2f MB%n", totalMemory / 1024.0 / 1024); System.out.printf("空闲内存: %.2f MB%n", freeMemory / 1024.0 / 1024); System.out.printf("最大内存: %.2f MB%n", maxMemory / 1024.0 / 1024);
建议垃圾回收:
runtime.gc(); // 提示JVM执行垃圾回收(不一定立即执行)
Object
1. Object是 Java 中的顶级父类,所有的类直接或间接继承于Object类。
class MyClass {} // 隐式继承自Object
// 等价于
class MyClass extends Object {}
2. Object 类中的方法可以被所以子类访问,所以我们要学习Object类和其中的方法。
Object构造方法
方法名 | 说明 |
public Object () | 空参构造 |
public class Object {// 默认构造方法(隐式存在,无需显式定义)Object() {}
}
注意:顶级父类中只有无参构造方法!!!
Object成员方法
方法名 | 说明 |
public String toString ( ) | 返回对象的字符串表示形式 |
public boolean equals (Object obj) | 比较两个对象是否相等 |
public Object clone (int a) | 对象克隆(默认浅克隆) 如果需要深克隆需要重写方法或者使用第三方工具类 |
toString()
- 功能:返回对象的字符串表示。
- 默认格式:
类名@16进制哈希码
(如Point@123456
)。 - 重写建议:提供更有意义的信息。
e.g.
@Override
public String toString() {return "Point{x=" + x + ", y=" + y + "}";
}
equals (Object obj)
在 Java 中,Object
类的equals()
方法是用于比较两个对象是否相等的核心方法。
String a = new String("hello");
String b = new String("hello");
System.out.println(a == b); // false(引用不同)
System.out.println(a.equals(b)); // true(String类重写了equals())String s = "abc";
StringBuilder sb = new StringBuilder("abc");System.out.println(s.equals(sb));// false//因为equals方法是被s调用的,而s是字符串//所以equals要看string类中的//字符串中的equals方法,先判断参数是否为字符串// 如果是字符串,再比较内部的属性//但是如果参数不是字符串,直接返回falseSystem.out.println(sb.equals(s));// false//因为equals方法是被sb调用的,而sb是StringBuilder//所以这里的equals方法要看StringBuilder中的equals方法//那么在StringBuilder当中,没有重写equals方法//使用的是Object中的//在Object当中默认是使用==号比较两个对象的地址值//而这里的s和sb记录的地址值是不一样的,所以结果返回false
注意:
equals()
与==
的区别
==
:比较对象引用(内存地址)。equals()
:比较对象内容(需重写)。
对象克隆
把A对象的属性值完全拷贝给B对象,也叫对象拷贝、对象赋值。
基本数据类型:存储的是真实的值
引用数据类型:存储的是另一个空间的地址值
浅 克隆 | 不管对象内部的属性是基本数据类型还是引用数据类型,都完全拷贝过来 |
深 克 隆 | 基本数据类型拷贝过来; 字符串复用; 引用数据类型会重新创建的 |
int[] data = this.data;//创建新的数组int[] newData =new int[data.length];//拷贝数组中的数据for (int i = 0; i < data.length; i++) {newData[i] = data[i];}//调用父类中的方法克隆对象User u=(User)super.clone();//因为父类中的克隆方法是浅克隆,替换克隆出来对象中的数组地址值u.data =newData;return u;
Objects
成员方法
方法名 | 说明 |
public static boolean equals (Object a,Object b) | 先做非空判断,比较两个对象 |
public static boolean isNull(Object obj) | 判断对象是否为null,为null返回true,反之 |
public static boolean nonNull (Object obj) | 判断对象是否为null,跟isNull的结果相反 |
String a = null;
String b = null;
System.out.println(Objects.equals(a, b)); // trueString c = "hello";
String d = "hello";
System.out.println(Objects.equals(c, d)); // true
String str = null;
Objects.requireNonNull(str); // 抛出NullPointerException
String str = "hello";
System.out.println(Objects.nonNull(str)); // true
今天就先到这啦!
相关文章:
API的学习总结(上)
在 Java 中,API 指的是 Java 提供的一系列类、接口、方法和工具,用于开发 Java 应用程序。Java API 是 Java 平台的核心组成部分,它提供了丰富的功能,包括基础数据类型、集合框架、输入输出、网络编程、多线程、数据库连接等。 核…...
Spring Boot之Web服务器的启动流程分析
如何判断创建哪种web容器:servlet?reactive? 我们在启动Spring Boot程序的时候,会使用SpringApplication.run方法来启动,在启动流程中首先要判断的就是需要启动什么类型的服务器,是servlet?或者…...
代码随想录算法训练营第六十三天| 图论9—卡码网47. 参加科学大会,94. 城市间货物运输 I
每日被新算法方式轰炸的一天,今天是dijkstra(堆优化版)以及Bellman_ford ,尝试理解中,属于是只能照着代码大概说一下在干嘛。 47. 参加科学大会 https://kamacoder.com/problempage.php?pid1047 dijkstra(…...
RAG之大规模解析 PDF 文档全流程实战
PDF 文档在商业、学术和政府领域无处不在,蕴含着大量宝贵信息。然而,从 PDF 中提取结构化数据却面临着独特的挑战,尤其是在处理数千甚至数百万个文档时。本指南探讨了大规模解析 PDF 的策略和工具。 PDF解析挑战 PDF 的设计初衷是为了提供一致的视觉呈现,而非数据提取。这…...
uart16550详细说明
一、介绍 uart16550 ip core异步串行通信IP连接高性能的微控制器总线AXI,并为异步串行通信提供了 控制接口。软核设计连接了axilite接口。 二、特性 1.axilite接口用于寄存器访问和数据传输 2.16650串口和16450串口的软件和硬件寄存器都是兼容的 3.默认的core配置参数…...
Docker 环境安装(2025最新版)
Docker在主流的操作系统和云平台上都可以使用,包括Linux操作 系统(如Ubuntu、 Debian、Rocky、Redhat等)、MacOS操作系统和 Windows操作系统,以及AWS等云平 台。 Docker官网: https://docs.docker.com/ 配置宿主机网…...
Comparator不满足自反性错误,Comparison method violates its general contract
APP运行退出,跟踪信息 java.lang.IllegalArgumentException: Comparison method violates its general contract! Collections.sort(idxsList);//按score升序排列 查看idxs类 public int compareTo(Idxs o) { //重写compareTo方法 return (int) (this.g…...
[Java实战]Spring Boot 3 整合 Apache Shiro(二十一)
[Java实战]Spring Boot 3 整合 Apache Shiro(二十一) 引言 在复杂的业务系统中,安全控制(认证、授权、加密)是核心需求。相比于 Spring Security 的重量级设计,Apache Shiro 凭借其简洁的 API 和灵活的扩…...
如何界定合法收集数据?
首席数据官高鹏律师团队 在当今数字化时代,数据的价值日益凸显,而合法收集数据成为了企业、机构以及各类组织必须严守的关键准则。作为律师,深入理解并准确界定合法收集数据的范畴,对于保障各方权益、维护法律秩序至关重要。 一…...
Flask+HTML+Jquery 文件上传下载
HTML 代码: <div id"loadingIndicator" style"display:none;"><div class"spinner"></div> </div> <!-- 请求过程中转圈圈 --> <form action"" method"post" enctype"m…...
MapReduce打包运行
(一)maven打包 MapReduce是一个分布式运算程序的编程框架,是用户开发“基于Hadoop的数据分析应用”的核心框架。 MapReduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序(例如:jar…...
国产化Word处理控件Spire.Doc教程:如何使用 C# 从 Word 中提取图片
通过编程方式从 Word 文档中提取图片,可以用于自动化文档处理任务。E-iceblue旗下Spire系列产品是国产文档处理领域的优秀产品,支持国产化,帮助企业高效构建文档处理的应用程序。本文将演示如何使用 C# 和 Spire.Doc for .NET 库从 Word 文件…...
07 mysql之DQL
一、什么是DQL DQL 是 SQL 的一部分,专门用于查询数据。核心命令是 SELECT,是最常用的命令,支持: 简单查询条件过滤排序与分页多表连接聚合统计子查询与复杂逻辑二、基础查询语法 SELECT 字段1, 字段2, ... FROM 表名 WHERE 条件表达式 GROUP BY 分组字段 HAVING 分组条件…...
spark-standalone
一、定义:Standalone 模式是一种独立的集群部署模式,自带完整服务,可单独部署到一个集群中,无需依赖任何其他资源管理系统。 二、配置步骤 1.和前面一样拉到hadoop101的/opt/module这个目录里面。 2.压缩 3.重命名为spark-sta…...
运行Spark程序-在shell中运行 --SparkConf 和 SparkContext
SparkConf 类用于配置 Spark 应用程序的各种参数。通过 SparkConf 类,你可以设置应用程序的名称、运行模式(如本地模式、集群模式)、资源分配(如内存、CPU 核心数)等。主要作用配置应用程序参数:可以设置 S…...
分割任务 - 数据增强
语义分割 - FCN : 数据预处理/数据增强 算法源码实例 base_size520 crop_size480 flip_prob0.5if train_val train:self.transforms transforms.Compose([transforms.RandomResize(int(base_size*0.5), int(base_size*2)),transforms.RandomHorizontalFlip(flip_…...
基于C#+MySQL实现(WinForm)企业设备使用信息管理系统
企业设备使用信息管理系统 引言 企业的设备管理在企业的生产制造和管理过程之中意义比较重大,明确企业的设备的产权和维护成本对于企业的成本控制和财务管理之中起到了重要的作用。随着市场竞争的加剧,现代企业所处的市场环境发生了深刻的变革…...
JavaScript异步编程 Async/Await 使用详解:从原理到最佳实践
🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Micro麦可乐的博客 🐥《Docker实操教程》专栏以最新的Centos版本为基础进行Docker实操教程,入门到实战 🌺《RabbitMQ》…...
Babylon.js学习之路《四、Babylon.js 中的相机(Camera)与视角控制》
文章目录 1. 引言:为什么相机是 3D 场景的“眼睛”?1.1 相机的核心作用1.2 常见相机类型概览 2. 相机基础参数解析2.1 通用属性2.2 相机坐标系 3. 详解常用相机类型3.1 自由相机(FreeCamera)3.2 弧形旋转相机(ArcRotat…...
MCP Server多节点滚动升级一致性治理
飞书云文档原链接地址:https://ik3te1knhq.feishu.cn/wiki/W8ctwG2sAiPkrXkpl7ocP0g0njf [!TIP] MCP Server 多节点部署时,滚动发布,MCP Client 侧使用的 Client 连接保证使用的是最新的工具配置信息 后续推进:按比例使用旧、新实…...
多线程(二)
今天先来了解一个上一期的遗留概念 —— 前台线程与后台线程 一 . 前台线程与后台线程 大家应该多多少少都听过酒桌文化,咱们平常吃饭,座位次序是没有那么多讲究的,但是在跟领导吃饭,或者出席宴会和一些重要场所的饭局时&#…...
2025年,大模型LLM还有哪些可研究的方向?
近两年LLM在学术界与工业界的发展大家都有目共睹。到了今年,以预训练LLM为代表的大模型PK上半场已然结束,接下来就要进入下半场大模型2.0时代了。 那么在这新赛道,关于大模型我们还有什么可做的创新?要知道,如今的大模…...
VS打断点调试,无法命中断点或断点失效,解决方法
1.打开需要打断点的模块,点击属性,将C/C常规的调试信息格式改为程序数据库(/Zi) 2.将C/C的优化禁用(/Od) 3.将链接器中的生成调试信息改为生成调试信息(/DEBUG) 注:如果需…...
ELF文件详解
ELF 文件不仅仅是一个格式,它是 Linux 世界中程序的"灵魂容器",承载着程序从编译到执行的整个生命周期。 今天咱们来聊一个看起来高深,实际上理解起来其实挺简单的话题—— ELF 文件。 不知道你有没有想过:我们敲下./…...
【学习笔记】Shell编程---流程控制语句
最近学了好多个流程控制语句,都有点混乱了,赶紧先把各种用法记录下来! if 语句 语法格式: if 条件测试命令串 then 条件为真时执行的命令 else 条件为假时执行的命令 fi 以关键字if开头,后跟条件测试表达式&…...
TensorFlow 常见使用场景及开源项目实例
TensorFlow 常见使用场景及开源项目实例 摘要 本文详细介绍了 TensorFlow 在多个领域的典型应用及其对应的开源项目案例。涵盖了图像处理、自然语言处理、语音音频处理、推荐系统与时间序列预测、移动端与边缘计算以及生成式模型与创意应用等多方面内容,列举了大量…...
王炸组合!STL-VMD二次分解 + Informer-LSTM 并行预测模型
往期精彩内容: 单步预测-风速预测模型代码全家桶-CSDN博客 半天入门!锂电池剩余寿命预测(Python)-CSDN博客 超强预测模型:二次分解-组合预测-CSDN博客 VMD CEEMDAN 二次分解,BiLSTM-Attention预测模型…...
OpenCV进阶操作:风格迁移以及DNN模块解析
文章目录 前言一、风格迁移1、风格迁移是什么?2、步骤1)训练2)迁移 二、DNN模块1、什么是DNN模块2、DNN模块特点3、流程图4、图像预处理功能 三、案例实现1、数据预处理2、加载模型 总结 前言 风格迁移(Style Transfer࿰…...
使用bitNet架构
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、配置二、报错总结 前言 大型语言模型(LLM)面临的挑战:高能耗、高内存需求、部署门槛高。 微软提出 BitNet 架构&#x…...
OpenCV中的光流估计方法详解
文章目录 一、引言二、核心算法原理1. 光流法基本概念2. 算法实现步骤 三、代码实现详解1. 初始化设置2. 特征点检测3. 光流计算与轨迹绘制 四、实际应用效果五、优化方向六、结语 一、引言 在计算机视觉领域,运动目标跟踪是一个重要的研究方向,广泛应用…...
Java集合框架详解与使用场景示例
Java集合框架是Java标准库中一组用于存储和操作数据的接口和类。它提供了多种数据结构,每种数据结构都有其特定的用途和性能特点。在本文中,我们将详细介绍Java集合框架的主要组成部分:List、Set和Queue,并通过代码示例展示它们的…...
多模态融合【十九】——MRFS: Mutually Reinforcing Image Fusion and Segmentation
目录 一.摘要 二.Introduction 三. 背景与动机 四.方法 4.1. 概述 4.2. IGM-Att模块 4.3. PC-Att模块 4.4. 任务头 五.实验 5.1. 数据集与实现细节 5.2. 语义分割 5.3. 图像融合 5.4. 消融研究 5.5. IGM-Att和PC-Att的应用增益 5.6. 复杂度讨论 5.7. 目标检测的…...
音频转文字-在线工具包及使用记录
资料来源:https://zhuanlan.zhihu.com/p/269603431(多种方案) 视频教程:https://www.youtube.com/watch?vL1H5ov4WTBg https://github.com/openai/whisper // 创建虚拟环境 python -m venv myvnev// 激活虚拟环境 source myvne…...
集合-进阶
Collection collection的遍历方式 迭代器遍历 不依赖索引 import java.util.ArrayList; import java.util.Collection; import java.util.Iterator;public class mycollection {public static void main(String[] args) {//1.创建集合并添加元素Collection<String> co…...
【阿里云】阿里云 Ubuntu 服务器无法更新 systemd(Operation not permitted)的解决方法
零、前言 目前正在使用的Ubuntu服务器中,仅阿里云(不止一台)出现了这个问题,因此我判定是阿里云服务器独有的问题。如果你的服务器提供商不是阿里云,那么这篇文章可能对你没有帮助。 如果已经因为升级错误导致依赖冲突…...
wpf DataGrid 行选择 命令绑定
在WPF中实现DataGrid行选择与命令绑定的MVVM模式,可通过以下方式结合代码示例实现: 1. 基础绑定与命令触发(SelectionChanged事件绑定) 通过Interaction.Triggers捕获SelectionChanged事件,并绑定到ViewModel中的命令: <DataGrid ItemsSource="{Binding I…...
【认知思维】验证性偏差:认知陷阱的识别与克服
什么是验证性偏差 验证性偏差(Confirmation Bias)是人类认知中最普遍、最根深蒂固的心理现象之一,指的是人们倾向于寻找、解释、偏爱和回忆那些能够确认自己已有信念或假设的信息,同时忽视或贬低与之相矛盾的证据。这种认知偏差影…...
大容量存储的高性能 T-BOX 方案对智能网联汽车的支撑
在智能网联汽车快速发展的当下,车载 T-BOX(Telematics Box)作为车辆与云端互联的核心枢纽,其性能和可靠性直接决定了用户体验的上限。米客方德(MK)推出的基于 STM32H7RX 主控芯片与 MKDV4GIL-AST࿰…...
Linux 内核网络协议栈:从 Socket 类型到协议注册的深度解析
Linux 内核的网络协议栈是一个复杂而高效的体系,涉及多层次的协议处理与数据流转。本文通过分析核心数据结构(如 inetsw 数组、sock_type 枚举)和关键函数(如 inet_add_protocol),深入探讨其工作原理与设计哲学。 一、Socket 类型与 sock_type 枚举 1.1 Socket 类型的定…...
vim,gcc/g++,makefile,cmake
一、vim:你的小帮手——文本编辑器 它是干嘛的? 想象你的代码就像是写在一本“程序的笔记本”里,vim就是一个超级厉害的“数字笔记本”或“文字编辑器”。 它有什么用? 编写代码:编辑、修改你的源代码代码高亮&…...
解决 CentOS 7 镜像源无法访问的问题
在国内使用 CentOS 系统时,经常会遇到镜像源无法访问或者下载速度慢的问题。尤其是默认的 CentOS 镜像源通常是国外的,如果你的网络环境无法直接访问国外服务器,就会出现无法下载包的情况。本文将介绍如何修改 CentOS 7 的镜像源为国内镜像源…...
“傅里叶变换算法”来检测货物外形损坏
“傅里叶变换算法”来检测货物外形损坏 要使用傅里叶变换算法来检测货物外形损坏,首先需要理解基本概念。傅里叶变换是一种数学变换,用于将信号从时域(或空间域)转换到频域。在图像处理中,二维傅里叶变换可以用来分析…...
python打卡day24
可迭代对象、OS模块 知识点回顾: 元组可迭代对象os模块 作业:对自己电脑的不同文件夹利用今天学到的知识操作下,理解下os路径 1.元组 在day3的打卡内容中就介绍了元组,跟列表比起来就是用了圆括号,有序可以重复&#x…...
MapReduce 入门实战:WordCount 程序
一、引言 在大数据处理领域,MapReduce 是一种开创性的编程模型和处理框架,它使得我们能够高效地在大规模分布式系统上处理海量数据。而 WordCount 程序作为 MapReduce 的经典入门案例,堪称大数据领域的 “Hello World”,帮助无数…...
深度剖析:Vue2 项目兼容第三方库模块格式的终极解决方案
当我们为 Vue2 项目引入某些现代 JavaScript 库时,常常会遇到这样的报错: error in ./node_modules/some-lib/lib/index.mjs Cant import the named export xxx from non EcmaScript module这类问题的本质是模块格式的世纪之争 —— ES Moduleÿ…...
5.11作业
拓扑图: 需求分析: 要求五台路由器的环回地址均可以相互访问 配置: r1 int g 0/0/0 i…...
MyBatis 批量新增与删除功能完整教程
一、功能概述 通过 MyBatis 动态 SQL 实现以下功能: 批量新增:一次性插入多条员工记录,支持自增主键回填。批量删除:根据 ID 数组一次性删除多条记录。二、代码逐行解析 1. Mapper 接口定义 // 批量新增:传入员工对象集合 void insertAll(List<Emp> empList);// …...
Spark,RDD中的行动算子
RDD中的行动算子 collect算子 格式:def collect(): Array[T] 参数说明:该算子没有参数。 并以数组的形式返回 统计个数 reduce算子 格式:def reduce(func: (T, T) > T): T 返回值:返回一个单一的值,其类型与…...
Linux:进程控制2
一:进程程序替换 1. 一旦程序替换成功,就去执行新代码了,原始代码的后半部分已经不存在了 2. exec*系列的函数,没有成功返回值,只有失败返回值-1 在程序替换的过程中,并没有创建新的进程,只是…...
Java jar包程序 启动停止脚本 shell bash
启动 启动时 可指定前缀(名称) start.sh #!/bin/bash # 使用时直接运行# 寻找当前目录下后缀为 .jar 的文件 #options($(find . -maxdepth 1 -type f -name "*.jar")) # 寻找当前目录下后缀为 .jar 的文件,并按时间倒序排序 opt…...