JAVA八股文
一、JAVA基础
1.面向对象:
面向对象编程是一种以对象为核心的编程,通过封装、继承、多态和抽象管理代码。
1.封装:将数据(属性)和行为(方法)绑定在一个对象中,隐藏内部细节,仅通过公开接口与外界交互。
目的:保护数据完整性、降低模块耦合度
2.继承:从已有的类得到继承信息创建新类的过程,子类继承父类的属性和方法,实现代码复用和层次化设计
单继承:一个类只能继承一个父类(接口可以多继承)
3.多态:允许不同类型子类的对象对同一消息做出不同的响应
编译时多态:方法重载
运行时多态:方法重写、向上转型
4.抽象:将同一类对象的共同特征总结出来构造类的过程,数据抽象(属性)、行为抽象(方法)
2.重载重写
重载:在同一个类中,多个方法方法名相同,但参数列表不同(参数类型、个数或顺序不同)。重载与返回值类型和访问修饰符无关,是编译时多态的体现。
重写:子类重新定义父类中已有的方法,要求方法名、参数列表、返回类型完全相同(或返回类型为父类方法返回类型的子类),是运行时多态的体现。重写方法的权限大于父类的权限,构造方法不能重写。
3.接口、抽象类
接口:被类实现,可多继承,不能有构造器,只能用public修饰,只能声明变量
抽象类:被类继承,单继承,可以有构造器,可以有public、protected和default这些修饰符,可以有成员变量,不能被实例化
4.深拷贝、浅拷贝
深拷贝:既会拷贝基本数据类型的值,也会针对实例对象的引用地址所指向的对象进行复制,深拷贝出来的对象,内部的类执行指向的不是同一个对象
浅拷贝:拷贝基本数据类型的值,实例对象的引用地址,并不会复制一份引用地址所指向的对象,也就是浅拷贝出来的对象,内部的类属性指向的是同一个对象
-
浅拷贝:只复制表面,内部的东西还是原来的(共享)。只复制表面一层
数据简单,或者你希望共享内部对象(比如多个配置共用同一个默认参数)
-
深拷贝:里里外外全部复制一份(完全独立)。彻底复制所有东西
数据复杂(比如多层嵌套的字典/列表),且需要完全独立修改。
5.sleep、wait
sleep(休眠):
作用:让当前线程(或程序)暂停一段时间,不释放任何资源(比如锁)
特点:
不参与线程间协作:单纯地等待时间流逝,时间到了自动恢复。
不释放锁:如果线程持有锁,其他线程会一直等待。
适用场景:
模拟耗时操作(如下载延迟)。
定时任务(每隔一段时间执行一次)。
wait(等待):
作用:让当前线程主动让出资源并等待,直到被其他线程唤醒。会释放锁。
特点:
用于线程间协作:通常和 notify()
/notify_all()
配合使用。
释放锁:其他线程可以获取锁并执行任务。
适用场景:
生产者-消费者模型(消费者等待生产者生产数据)。
多线程任务协调(如等待某个条件达成)。
-
sleep
:暂停一段时间,不关心其他线程,自己到点继续执行。 -
wait
:主动让出资源,等待其他线程唤醒自己(协作必备)。
6.自动装箱、自动拆箱, int和Integer
装箱:将基本类型转换成包装类对象
拆箱:将包装类对象转换成基本类型的值
基本数据类型和包装类之间的自动互相转换
1.Integer是int的包装类,int是java的一种基本数据类型
2.Integer必须实例化后才能使用,int不需要
3.Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象,而int则是直接存储数据值
4.Integer默认值是null,int默认值是0
7.==、equals
==:
基本数据类型:比较的是变量的值
引用数据类型:比较的是地址值(两个对象是否指向同一块内存)
equals(equals方法是从Object类中继承的,默认的实现就是使用==):
没有重写:比较的是两个对象的地址值
重写:比较的是两个对象中的属性内容
8.Strin为什么不能被继承 为什么用final修饰
不能被继承,因为String类有final修饰符,而final修饰的类是不能被继承的。
为什么String要用final修饰?
保证不可变性:
一旦创建,其值不能被修改
final防止子类破坏不可变性:如果允许继承,子类可能通过重写方法改变内部字符数组
安全性:
String广泛用于敏感操作:如网络连接、文件路径、密码存储等。如果允许子类化,恶意代码可能伪造一个“看起来正常”的String,实际在内部窃取数据。
防止哈希漏洞:String
是HashMap
的常用键。若子类重写hashCode()
或equals()
,可能导致哈希表行为异常。
9.String buffer和String builder
1.StringBuffer 与 StringBuilder 中的方法和功能完全是等价的
2.只是StringBuffer 中的方法大都采用了 synchronized 关键字进行修饰,因此是线程安全的,而 StringBuilder 没有这个修饰,可以被认为是线程不安全的。
3.在单线程程序下,StringBuilder效率更快,因为它不需要加锁,不具备多线程安全而StringBuffer则每次都需要判断锁,效率相对更低
10.final、finally、finalize :
1.final:修饰符(关键字)有三种用法:修饰类、变量和方法。修饰类时,意味着它不能再派生出新的子类,即不能被继承,因此它和abstract是反义词。修饰变量时,该变量使用中不被改变,必须在声明时给定初值,在引用中只能读取不可修改,即为常量。修饰方法时,也同样只能使用,不能在子类中被重写。
2.finally:通常放在try…catch的后面构造最终执行代码块,这就意味着程序无论正常执行还是发生异常,这里的代码只要JVM不关闭都能执行,可以将释放外部资源的代码写在finally块中。
3.finalize:Object类中定义的方法,Java中允许使用finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在销毁对象时调用的,通过重写finalize() 方法可以整理系统资源或者执行其他清理工作。
11.集合体系:
Collection(单列集合):List(有序、可重复):ArrayList(数组实现,查询快)、LinkedList(链表实现,增删快)、Vector(线程安全,已过时):Stack(栈结构)Set(无序、唯一):TreeSet(红黑树实现,有序)、HashSet(哈希表实现):LinkedHashSet(保持插入顺序)
Map(双列集合,键值对):Hashtable(线程安全,已过时)、TreeMap(红黑树实现,按键排序)、 ConcurrentHashMap(线程安全的高效实现)、HashMap(哈希表实现):LinkedHashMap(保持插入顺序)
13.ArrarList和LinkedList
1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。
2.对于随机访问get和set,ArrayList效率优于LinkedList,因为LinkedList要移动指针。
3.对于新增和删除操作add和remove,LinkedList比较占优势,因为ArrayList要移动数据。 这一点要看实际情况的。若只对单条数据插入或删除,ArrayList的速度反而优于LinkedList。但若是批量随机的插入删除数据,LinkedList的速度大大优于ArrayList. 因为ArrayList每插入一条数据,要移动插入点及之后的所有数据。
14.HashMap底层是 数组+链表+红黑树,为什么要用这几类结构
1.数组:
作用:数组是hashmap的主干,通过哈希函数快速定位元素的位置
用数组的原因:哈希表单本质是用空间换时间,数组的索引访问时间复杂度o(1),可以快速定位到目标
2.链表(解决哈希冲突):
作用:当不同键的哈希值冲突(被映射到一个数组)时,用链表将这些键值对串联起来
用链表的原因:
简单高效:链表的插入和操作是o(1)
冲突处理:哈希冲突不可避免(不同键可能哈希值相同),链表是经典解决方案
如果链表过长(哈希函数设计差或恶意攻击),查询效率会退化为o(n),性能急剧下降
3.红黑树(优化链表过长问题)
作用:当链表长度超过阈值(默认8)时,链表会转为红黑树,当长度减少到阈值以下(默认6),红黑树会退化为链表
用红黑树的原因:
平衡性:红黑树是近似平衡的二叉搜索树,查询、插入、删除的时间复杂度均为o (logn),避免链表退化o(n)
性能稳定:即使哈希冲突严重,也能保证比较好的性能
为什么不同其他树?红黑树的平衡条件更宽松,插入/删除时旋转操作更少,综合性能更高
15.HashMap和HashTable区别
1.线程安全:
hashmap是线程不安全的,使用HashMap时必须自己增加同步处理;hashtable是线程安全的,其中的方法是Synchronized,在多线程并发的情况下,可以直接使用HashTable
2.contains方法:
hashmap:只有containsValue和containsKey方法
hashtable:有contains、containsKey和containsValue三个方法,其中contains和containsValue方法功能相同。
3.key和value:
hashtable中,key和value都不允许出现null值
hashtable中,null可以作为键,这样的键只有一个;可以有一个或多个键所对应的值为null
16、线程的创建方式
1.继承Thread类创建线程:
(1)定义一个子类继承线程类,重写run()方法
(2)创建子类对象
(3)调用对象start()方法启动线程(启动后还是执行run()方法)
优点:代码简单
缺点:已经继承了Thread类无法继承其他类,不利于扩展,任务逻辑和线程不够灵活
2.实现Runnable接口创建线程:
(1)定义一个线程任务类实现Runnable接口,重写run()方法
(2)创建任务对象
(3)把任务对象交给Thread处理
(4)调用start()方法启动线程
优点:线程任务只是实现接口,可以继续继承和实现接口,扩展性强
缺点:不能直接返回结果
3.使用Callable和Future创建线程 有返回值:
(1)得到任务对象:定义类实现Callable接口,重写call方法,封装要做的事,用FutureTask把Callable对象封装成线程任务对象
(2)把线程任务对象交给Thread处理
(3)调用Thread的start方法启动线程,执行任务
(4)线程执行完毕后,通过FutureTask的get方法去获取结果
优点:扩展性强,实现接口的同时还可以继承其他类,同时还能得到线程执行的结果
缺点:代码复杂
4.使用线程池创建线程:
线程池接口:ExecutorService
创建:
1.使用ExecutorService的实现类ThreadPoolExectutor创建一个线程池对象
2.使用Executor(线程池的工具类)调用方法返回不同特点的线程池对象
public ThreadPoolExecutor(int corePoolSize,//核心线程数int maximumPoolSize,//最大线程数long keepAliveTime,//线程空闲时间TimeUnit unit,//时间单位BlockingQueue<Runnable> workQueue,//任务队列ThreadFactory threadFactory,//线程工厂RejectedExecutionHandler handler//拒绝策略)
{...
}
17.线程的状态:
1.新建状态(New) :线程对象被创建后,就进入了新建状态。例如,Thread thread = new Thread()。
2.就绪状态(Runnable): 也被称为“可执行状态”。线程对象被创建后,其它线程调用了该对象的start()方法,从而来启动该线程。例如,thread.start()。处于就绪状态的线程,随时可能被CPU调度执行。
3.运行状态(Running):线程获取CPU权限进行执行。需要注意的是,线程只能从就绪状态进入到运行状态。
4.阻塞状态(Blocked):阻塞状态是线程因为某种原因放弃CPU使用权,暂时停止运行。直到线程进入就绪状态,才有机会转到运行状态。阻塞的情况分三种:
(1)等待阻塞 -- 通过调用线程的wait()方法,让线程等待某工作的完成。
(2)同步阻塞 -- 线程在获取synchronized同步锁失败(因为锁被其它线程所占用),它会进入同步阻塞状态。
(3)其他阻塞 -- 通过调用线程的sleep()或join()或发出了I/O请求时,线程会进入到阻塞状态。当sleep()状态超时、join()等待线程终止或者超时、或者I/O处理完毕时,线程重新转入就绪状态。
5.死亡状态(Dead):线程执行完了或者因异常退出了run()方法,该线程结束生命周期。
18.流
字节流:
InputStream(输入流):
File InputStream:从文件系统中的某个文件获得输入字节用于读取诸如图像数据之类的原始字节流
Buffered InputStream:缓冲流,是InputStream的间接子类
OutputStream(输出流):
File OutputStream:用于写入诸如图像数据之类的原始字节流
Buffered OutputStream:缓冲流,是OutputStream的间接子类
字符流:
Reader(输入流):
Buffered Reader:缓冲流,特有方法readLine()
InputStreamReader:转换流,字节流通向字符流的桥梁
(FileReader:读取字符文件的便捷类)
Writer(输出流):
Buffered Writer:缓冲流,特有方法newLine()、write(String str)
OutputStreamWriter:转换流,字符流通向字节流的桥梁
(FileWriter:写入字符文件的便捷类)
19.异常
NullPointerException:空指针异常;调用了未经初始化的对象或者是不存在的对象
ClassNotFoundException:指定的类找不到;类的名称和路径加载错误,通常都是程序试图通过字符串来加载某个类时可能引发异常
NumberFormatException:字符串转换为数字异常;字符型数据中包含非数字型字符
IndexOutOfBoundsException:数组角标越界异常,常见于操作数组对象时发生
IllegalArgumentException:方法传递参数错误。
ClassCastException:数据类型转换异常。
20.反射
反射:java语言在运行时拥有一项自观的能力。通过这种能力可以了解自身的情况为下一步动作做准备。
反射机制的实现要借助4个类:class(类对象),Constructor(构造器对象),Field(属性对象),Method(方法对象)
作用:在Java运行时环境中,对于任意一个类,可以知道这个类有哪些属性和方法。对于任意一个对象,可以调用它的任意一个方法。这种动态获取类的信息以及动态调用对象的方法的功能来自于Java 语言的反射(Reflection)机制。
反射提供的功能:
在运行时判断任意一个对象所属的类。
在运行时构造任意一个类的对象。
在运行时判断任意一个类所具有的成员变量和方法。
在运行时调用任意一个对象的方法
21.序列化:
序列化是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可以将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。
序列化的实现:
将需要被序列化的类实现Serializable接口,该接口没有需要实现的方法, implements Serializable只是为了标注改对象是可以被序列化的,然后使用一个流(如:FileOutputStream)来构造一个ObjectOutputStream(对象流)对象,接着使用ObjectOutputStream 对象的writeObject(Object obj)方法就可以将参数为obj 的对象写出(即保存其状态),要恢复的话则用输入流
对象序列化:
作用:以内存为基准,把内存的对象存储到磁盘文件中去,使用到的流是对象字节输出流,把对象数据存入到文件中去
要求:实现序列化的接口
反序列化:
把磁盘中的对象数据恢复到内存的java对象中,使用的是对象字节输入流
22.Http
200 OK 客户端请求成功
301 Permanently Moved (永久移除),请求的 URL 已移走。Response 中应该包含一个 Location URL, 说明资源现在所处的位置
302 Temporarily Moved 临时重定向
400 Bad Request //客户端请求有语法错误,不能被服务器所理解
401 Unauthorized //请求未经授权,这个状态代码必须和 WWW-Authenticate 报头域一起使用
403 Forbidden //服务器收到请求,但是拒绝提供服务
404 Not Found //请求资源不存在,eg:输入了错误的 URL
500 Internal Server Error //服务器发生不可预期的错误
503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常
23.GET、POST
1.用途:
GET:
用于请求数据(查询、搜索、读取资源)
参数通过URL传递,适合非敏感信息
POST:
用于提交数据(如提交表单、上传文件)
参数通过请求体(Body)传输,适合敏感或大量数据(密码、文件)
2.安全性:
GET:
参数暴露在URL中,可能被浏览器历史、服务器日志记录,存在泄露风险
不安全,但可以通过HTTPS加密URL内容
POST:
参数在请求体中,不直接可见,安全性更高,但若未使用HTTPS仍可能被截获
3.数据长度限制:
GET:
URL长度受浏览器和服务器限制(通常为2KB----8KB)
超长参数可能被截断
POST:
数据通过请求体传输,理论上无长度限制,但服务器可能配置限制
4.缓存与历史记录
GET:
可被浏览器缓存,保留在历史记录中(如后退按钮可直接重新请求)
适合幂等操作(多次请求相同结果)
POST:
默认不缓存,不保留在历史记录中
避免重复提交(如支付操作需防重复)
5.幂等性:
GET:
幂等:多次请求对服务器状态无影响(仅读取数据)
可安全重试
POST:
非幂等:多次提交可能产生不同结果(如重复提交订单)
需后端防重机制(如Token校验)
6.参数类型:
GET:URL编码
POST:支持多种编码
7.使用场景:
GET:
获取数据(搜索、分页、查看)
无副作用的操作
POST:
修改数据(如增、删、改)
提交敏感或复杂数据(登录、注册)
24.Cookie、Session
Cookie 是 web 服务器发送给浏览器的一块信息,浏览器会在本地一个文件中给每个 web 服务器存储 cookie。以后浏览器再给特定的 web 服务器发送请求时,同时会发送所有为该服务器存储的 cookie
Session 是存储在 web 服务器端的一块信息。session 对象存储特定用户会话所需的属性及配置信息。当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去
无论客户端做怎样的设置,session 都能够正常工作。当客户端禁用 cookie 时将无法使用 cookie
在存储的数据量方面:session 能够存储任意的java 对象,cookie 只能存储 String 类型的对象
相关文章:
JAVA八股文
一、JAVA基础 1.面向对象: 面向对象编程是一种以对象为核心的编程,通过封装、继承、多态和抽象管理代码。 1.封装:将数据(属性)和行为(方法)绑定在一个对象中,隐藏内部细节&#…...
『深夜_MySQL』数据库操作 字符集与检验规则
2.库的操作 2.1 创建数据库 语法: CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,create_specification]….]create_spcification:[DEFAULT] CHARACTER SET charset_nam[DEFAULT] COLLATE collation_name说明: 大写的表示关键字 …...
1688拍立淘搜索相似商品API接口概述,json数据示例参考
1688拍立淘搜索相似商品API接口概述 1688拍立淘是阿里巴巴1688平台提供的以图搜图功能,允许开发者通过上传商品图片或图片URL,快速检索1688平台上的相似商品。该接口基于图像识别技术,结合1688的海量商品库,为商家、采购商或开发…...
使用 Java 11 的 HttpClient 处理 RESTful Web 服务
在现代 Web 开发中,与 RESTful Web 服务交互是一项核心任务。Java 作为一种广泛使用的编程语言,提供了多种处理 HTTP 请求的方法。在 Java 11 之前,开发者通常使用 HttpURLConnection 或第三方库(如 Apache HttpClient)。然而,这些方法要么过于底层,要么需要额外依赖。J…...
学习笔记:黑马程序员JavaWeb开发教程(2025.3.30)
11.6 案例-文件上传-阿里云OSS-集成 从程序中获取URL给前端,前端显示图片 拿到URL,但是在浏览器里面是直接下载,展示可以使用html中的<image>标签 Spring环境下,不建议再去new对象,将其交给IOC容器管理ÿ…...
【MySQL】-- 联合查询
文章目录 1. 简介1.1 为什么要使用联合查询1.2 多表联合查询时MySQL内部是如何进行计算的 2. 内连接2.1 语法2.2 示例 3. 外连接3.1 语法3.2 示例 4. 自连接4.1 应用场景4.2 示例4.3 表连接练习 5. 子查询5.1 语法5.2 单行子查询5.3 多行子查询5.4 多列子查询5.5 在from 子句中…...
《C++ Templates》:有关const、引用、指针的一些函数模板实参推导的例子
1.T按值传递 最简单的模板例子: template<typename T> void func(T x) {std::cout << typeid(T).name() << std::endl;x 20;cout << x; } 这种情况下,T永远不会被推导成带顶层const或引用的类型 【顶层const即变量本身不能…...
【算法】随机快速排序和随机选择算法
文章目录 1、随机快速排序1.1 什么是随机快排1.2 随机快排的好处 2、随机选择算法 前言: 快速排序就是每次划分前,通过一种方法将一个基准值的位置确定好,再进入不同的部分重复相同的工作以此确定好每个值的位置以达到有序。如果你之前并不了…...
si551x时钟芯片linux下调试总结
目录 前言一、依赖文档、工具二、让芯片工作的流程三、以上步骤的SOC下代码实现 前言 本文总结调试SKYWORKS芯片厂商Si5512时钟芯片时的笔记,基于linux5.10.xxx内核,在arm64架构的SOC上验证; 一、依赖文档、工具 文档名说明下载链接Si5518…...
5.6-DAE实现
解决问题: 随机缺失(实验室指标未检测)系统性噪声(设备测量误差)类别不平衡(健康/患病人群比例悬殊) 思路:引入可控噪声 → 重建原始数据 实现步骤 (1)…...
MCU怎么运行深度学习模型
Gitee仓库 git clone https://gitee.com/banana-peel-x/freedom-learn.git项目场景: 解决面试时遗留的问题,面试官提了两个问题:1.单片机能跑深度学习的模型吗? 2.为什么FreeRTOS要采用SVC去触发第一个任务,只用Pend…...
背单词软件开发英语app开发,超级单词表开发,河南数匠软件开发
在数字化教育浪潮席卷全球的当下,英语教育行业面临着教学模式创新与教学效率提升的双重挑战。如何借助技术力量,为学生提供更优质、更高效的英语学习体验,成为众多英语教育机构亟待解决的问题。河南数匠软件开发有限公司,作为专注…...
AI视觉质检的落地困境与突破路径
摘要 人工智能(AI)视觉质检技术凭借其在提升效率、降低成本和优化质量控制方面的巨大潜力,正成为现代制造业转型升级的关键驱动力。然而,尽管前景广阔,AI视觉质检在实际落地过程中仍面临诸多严峻挑战,主要…...
检测内存条好坏有工具,推荐几款内存检测工具
检测内存条的好坏其实很重要,这直接就关系到计算机是不是能够稳定的运行,也有一部分人就会关注内存检测的工具。你应该如何来选择的,不如看一下以下的这几个。 MemTest86是一个比较受到大家喜欢的内存检测工具,会支持各种类型&…...
认识tomcat(了解)
启动 1. windows版本 解压后,就能用,启动,是bin路径下的startup.bat , 关闭是ctrl C . 启动后,可以访问 http://127.0.0.1:8080。为什么是8080,因为如下这个配置文件 部署 将项目放置到webapps目录下,即…...
[20250507] AI边缘计算开发板行业调研报告 (2024年最新版)
[20250507] AI边缘计算开发板行业调研报告 (2024年最新版) 一、行业背景 随着物联网设备激增与AI模型轻量化,边缘计算成为AI落地核心场景。AI边缘计算开发板(Edge AI Board)作为硬件载体,需满足低延迟…...
前端实现文件下载
目录 1.说明 2.示例--excel 3.示例--csv 1.说明 在开发中经常会出现下载csv或者excel文件,可以通过后端下载,也可以通过前端下载,如果在前端页面中可以直接获取到要下载的数据,可以通过前端下载的方式,更加高效便捷…...
深入理解Redis缓存与数据库不一致问题及其解决方案
什么是Redis缓存数据与数据库不一致 在现代应用中,Redis作为一种高速缓存系统,被广泛用于提升系统性能。Redis缓存数据与数据库不一致,指的是缓存中的数据与数据库中的数据不匹配,导致读取缓存时得到的不是最新或正确的数据。 R…...
六级阅读———2024.12卷一 仔细阅读2
文章 An awakening has been taking place in the physical world against the beauty model that has been dictated to us for years.But in the digital arena,social media determines what is considered beautiful.(51) The two opposing struggles are taking place i…...
【Python】字符串 转为 JSON 格式的注意事项
1. 字符串转json 我们如果使用sql存储json格式,要将json转为字符串才能转。 存入sql前,字典格式转json字符串可以用这个: Table_ [{"id": 1,"name": "Alice","task": 25,"work": &quo…...
镜像和容器的管理
一、镜像的管理 获取镜像并生成相关容器 # 拉取镜像 docker pull alpine # 默认是latest,也就是最新版本,也可指定版本(在镜像名后边加“:版本号”) # 或者 # 从主机中导入镜像到docker中 docker image load -i /test#生成容器 …...
Scrapy框架之Scrapyd部署及Gerapy分布式爬虫管理框架的使用
Scrapyd Scrapyd 是一个用于部署和运行 Scrapy 爬虫的服务器。 1.安装 Scrapyd服务端:pip install scrapyd Scrapyd客户端:pip install scrapyd-client 运行scrapyd 浏览器输入http://127.0.0.1:6800/ 2.配置 安装完成后,需要对 Scra…...
【uniapp】errMsg: “navigateTo:fail timeout“
项目场景: 在点击编辑的时候不能跳转的编辑的页面,然后直接报错errMsg: "navigateTo:fail timeout" 解决方案: 看看是否是出现了盒子的冒泡事件导致了两次调用跳转路径 tap.stop...
亿级流量系统架构设计与实战(五)
高并发写场景方案 1 : 数据分片之数据库分库分表 数据分片思想:可以将资源拆开分为多份,拆分的多份小的资源一起构成完整资源。 分库和分表 分库: 分库指的是将数据库拆分为多个小数据库,原来存储在单个数据库中的数据被分开存储到各个小数据库中。 分表:分表指的是将…...
机器学习——逻辑回归ROC练习
一、 题目要求: 给定以下二分类模型的预测结果,手动绘制ROC曲线并计算AUC值: y_true [0, 1, 0, 1, 0, 1] # 真实标签(0负类,1正类) y_score [0.2, 0.7, 0.3, 0.6, 0.1, 0.8] # 模型预测得分 代码展示…...
Kubernetes学习笔记
云计算三层模型 IaaS(基础设施即服务):提供虚拟化计算资源(如虚拟机、存储、网络)。 PaaS(平台即服务):提供应用开发和部署环境(如数据库、中间件、运行时)。…...
【DB2】DB2启动失败报错SQL1042C
在本地某次启动db2时报错SQL1042C,具体报错如下 [db2inst1standby ~]$ db2start 05/07/2025 16:32:53 0 0 SQL1042C An unexpected system error occurred. SQL1032N No start database manager command was issued. SQLSTATE57019在网上百度到说是需要…...
Redis相关命令详解与原理
Redis是什么? Redis 是Remote Dictionary Server(Redis) 的缩写,是一个使用 C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型的Key-Value数据库,并提供多种语言的API。 它是一种 NoSQL(not-only sql,…...
[吾爱出品][Windows] 产品销售管理系统2.0
[Windows] 产品销售管理系统 链接:https://pan.xunlei.com/s/VOPej1bHMRCHy2np9w3TBOyKA1?pwdgjy7# 使用方法:1、先设置一下图片保存路径 2、维护产品。客户等基础信息。例如:销售类型:一次性 销售编码:RCX。 3、销…...
基于OpenTelemetry的分布式链路追踪Trace实现(PHP篇)
目录 引言一、OpenTelemetry是一套可观测性标准协议二、分布式追踪(Trace)是OpenTelemetry的核心功能之一三、OpenTelemetry的架构原理四、OpenTelemetry的分布式追踪(Trace)实践1、准备PHP环境2、下载SDK3、编写实例代码…...
电气工程中漏源电压Vds的平台电压是什么?
在MOSFET(金属 - 氧化物 - 半导体场效应晶体管)中,漏源电压 VDS 的平台电压是其输出特性曲线中的一个关键概念。 定义 在MOSFET的输出特性曲线里,当器件工作于饱和区时,漏源电流ID对漏源电压VDS的变化不太敏感&…...
第35周Zookkeeper+Dubbo Dubbo
Dubbo 详解 一、Dubbo 是什么 官网与定义 Dubbo 是一款高性能、轻量级的开源服务框架,其官网为 double.apache.org,提供中文版本(网址含 “zh”)。 核心能力 Dubbo 具备六大核心能力: 面向接口代理的高性能 RPC …...
allegro出gerber时,单击Artwork并没有弹窗的问题
使用allegro出gerber时,有时点击 Artwork图标并未如愿以偿的弹出窗口。。。 可按下面尝试恢复,注,删除前可先备份该两支文件。。。 看时间戳,删除最近的下面标红两支文件即可。...
【神经网络与深度学习】VAE 中的先验分布指的是什么
VAE 中的先验分布是什么? 在 变分自编码器(VAE) 中,先验分布指的是对潜在空间中随机变量的概率分布假设。通常情况下,VAE 设定潜在变量服从 标准正态分布 ( N(0, I) ),其中 ( 0 ) 代表均值为零的向量&…...
信息革命对经济、货币体系及权力结构的颠覆性影响
一、地理束缚的瓦解与权力转移 生产要素去实体化 思想、知识与数据取代实物资产成为核心价值来源,光速传播特性使经济活动突破物理边界。跨境远程医疗、跨国虚拟企业等新形态挑战传统管辖权概念,政府难以通过地域垄断攫取超额收益。 管辖权竞争白热化 …...
leetcode文件级全局变量会在测试用例之间相互影响
背景:在做Leetcode 743使用文件级全局变量idx,不同用例之间idx一直在。参考leetcode的文档: 解决办法:我选择在核心函数的开头,加入初始化代码(每次用例调用都会重新初始化至原始状态)...
如何查看电脑显卡配置参数 一文读懂
显卡是电脑的重要硬件之一,尤其对于游戏玩家、设计师、视频编辑等用户来说,显卡的性能直接影响电脑的使用体验。如果您想知道电脑的显卡信息,或者打算升级显卡,那么了解如何查看显卡配置是非常必要的。本文将为您提供多种简单实用…...
获取嵌入(Embeddings)的方法与实践
获取嵌入(Embeddings)的方法与实践 摘要 本文详细介绍了获取嵌入(Embeddings)的多种方法,包括降维技术和神经网络训练方法。通过具体的实例和可视化展示,我们将了解如何将高维数据转换为有意义的低维表示,以及如何根据具体任务需求选择合适…...
【国产化】在银河麒麟ARM环境下离线安装docker
1、前言 采用离线安装的方式。 关于离线安装的方式官网有介绍,但是说的很简单,网址:Binaries | Docker Docs 官网介绍的有几种主流linux系统的安装方式,但是没有kylin的,所以在此记录一下。 在安装过程中也遇到了些…...
基于大模型的子宫平滑肌瘤全周期预测与诊疗方案研究
目录 一、引言 1.1 研究背景与意义 1.2 研究目的与创新点 二、大模型技术原理与应用现状 2.1 大模型概述 2.2 相关技术原理 2.3 医疗领域应用现状 三、子宫平滑肌瘤术前预测 3.1 预测指标与数据收集 3.2 大模型预测模型构建 3.3 预测结果分析与应用 四、子宫平滑肌…...
SpringBoot 集成 Ehcache 实现本地缓存
SpringBoot 集成 Ehcache 实现本地缓存_springboot ehcache-CSDN博客...
linux下MySql的安装与配置
一键三联,把mysql的安装与配置也写了,供各位参考。 --------------------------------------MySql的安装与配置-------------------------------------- 1 将下载的 压缩包解压到指定目录 tar -zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz 卸载…...
普通IT的股票交易成长史--20250507晚复盘
声明:本文章的内容只是自己学习的总结,不构成投资建议。价格行为理论学习可参考简介中的几位,感谢他们的无私奉献。 送给自己的话: 仓位就是生命,绝对不能满仓!!!!&…...
准确---Typora配置Gitee图床并实现自动图片上传
下载地址:https://github.com/Molunerfinn/picgo/releases 安装就直接下一步,下一步就行 安装完以后然后回到Typora上偏好设置指定一下路径 默认是 C:\Program Files\PicGo\PicGo.exe 并且还需要选择规则 接下来就需要去PicGo上面配置了 配置之前需要去…...
力扣热题100之回文链表
题目 给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。 代码 方法一: 将链表值复制到数组中,在数组中判断是否是回文列表 # Definition for singl…...
基于Node.js的Web爬虫: 使用Axios和Cheerio抓取网页数据
1. 环境准备 在开始之前,请确保计算机上已安装Node.js mkdir webScraper cd webScraper npm init -y npm install axios cheerio expressaxios: 用于发送HTTP请求。cheerio: 用于解析和操作HTML。express: 用于创建Web服务器。 2. 创建爬虫 在文件夹中创建一个新…...
如何用命令行判断一个exe是不是c#wpf开发的
在powershell下执行 $assembly [Reflection.Assembly]::ReflectionOnlyLoadFrom("你的exe全路径") $references $assembly.GetReferencedAssemblies() echo $assembly $references | Where-Object { $_.Name -match "PresentationFramework|PresentationCore…...
SpringBoot项目接入DeepSeek
在这个demo当中,我使用的是JDK8Spring Boot 2.6.x,下面直接给大家附上完整的代码。 一、项目结构 deepseek - demo/ ├── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── cn/ │ │ │ └── mzl/ │ │ │ …...
C++ lambda表达式的捕获原理
目录 C Lambda表达式捕获机制的详细原理分析Lambda的本质机制关键实现细节特殊捕获方式[ ]空捕获[&]全引用捕获[]全值(拷贝)捕获混合捕获[,&variable]拷贝及部分引用捕获[&,variable]引用及部分拷贝捕获 显式捕获[variable]拷贝捕获部分变量[&variable]引用捕获…...
修改图像分辨率
在这个教程中,您将学习如何使用Python和深度学习技术来调整图像的分辨率。我们将从基础的图像处理技术开始,逐步深入到使用预训练的深度学习模型进行图像超分辨率处理。 一、常规修改方法 1. 安装Pillow库 首先,你需要确保你的Python环境中…...