当前位置: 首页 > article >正文

Java后端开发 笔试知识点复习(一)

某行某费 线上笔试一、选择题和简答题1. CompletableFuture是Java 8 引入的异步编程工具用于异步任务的组合和链式调用。通过静态工厂方法可以创建CompletableFuture实例CompletableFutureString future CompletableFuture.supplyAsync(() - Hello);支持链式调用可以将多个异步任务串联起来CompletableFuture.supplyAsync(() - Hello) .thenApply(s - s World) .thenAccept(System.out::println);多个 CompletableFuture 可以组合成一个新的 CompletableFutureCompletableFutureString future1 CompletableFuture.supplyAsync(() - Hello); CompletableFutureString future2 CompletableFuture.supplyAsync(() - World); future1.thenCombine(future2, (s1, s2) - s1 s2) .thenAccept(System.out::println);支持多种回调函数如thenApply、thenAccept、thenRunCompletableFuture.supplyAsync(() - Hello) .thenApply(s - s World) .thenAccept(System.out::println) .thenRun(() - System.out.println(Done));2. 释放线程持有的锁——wait()java中有关线程的操作run():线程执行的入口方法。run()是Runnable接口或Thread类中定义的核心方法包含线程实际执行的代码逻辑。直接调用run()不会启动新线程而是在当前线程中同步执行。 是否释放锁取决于其内部是否调用了wait()或同步代码块的执行结束。sleep():调用sleep()不会释放任何锁线程即使休眠仍持有锁。其他线程无法进入该对象的同步代码块或方法。Thread.sleep(long millis)使当前线程暂停执行指定毫秒数可能抛出InterruptedException通常用于模拟耗时操作或控制执行节奏。sleep()属于Thread类。wait():wait()是Object类的方法用于线程间通信。调用前必须持有对象锁在synchronized块内会释放锁并让线程进入等待状态直到其他线程调用notify()/notifyAll()唤醒它。这是唯一明确释放锁的操作。start()启动线程调用后线程进入就绪状态等待CPU调度。join()等待线程执行完成主线程会阻塞直到目标线程结束。interrupt()中断线程设置线程的中断标志位。yield()让出CPU资源当前线程从运行状态转为就绪状态。notify() / notifyAll()唤醒在对象上等待的单个或所有线程。线程状态管理——线程的生命周期中涉及多种状态转换相关操作包括isAlive()检查线程是否存活。getState()获取线程当前状态NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING、TERMINATED。setDaemon(boolean)设置线程为守护线程后台线程。线程同步与锁——多线程并发操作时常用的同步机制synchronized关键字用于方法或代码块同步。Lock接口显式锁提供更灵活的锁控制如ReentrantLock。wait() / notify()配合synchronized使用实现线程间通信。线程池操作——Java并发包java.util.concurrent提供了线程池相关操作ExecutorService线程池接口常用实现类如ThreadPoolExecutor。submit() / execute()提交任务到线程池。shutdown() / shutdownNow()关闭线程池。其他高级操作ThreadLocal线程局部变量每个线程独立存储数据。Future / Callable获取线程执行结果。ForkJoinPool分治任务的线程池框架。Java中创建线程继承Thread类实现Runnable接口3. HashMap和HashTable比较点HashMapHashtable出现时间JDK 1.2 引入属于新集合框架JDK 1.0 就存在的遗留类 (Legacy)线程安全非线程安全线程安全 (方法使用synchronized修饰)性能高无锁竞争低锁竞争严重允许 null允许一个 null 键多个 null 值不允许 null 键和 null 值会抛 NPE继承体系继承 AbstractMap实现 Map 接口继承 Dictionary实现 Map 接口迭代器Iterator (fail-fast)除了 Iterator还有 Enumeration (非 fail-fast)初始容量默认 16默认 11扩容机制容量变为原来的 2 倍容量变为原来的 2 倍 1hash 计算对 key 的 hashCode 进行扰动处理直接使用 key 的 hashCode是否支持contains方法有containsKey和containsValue有contains方法类似containsValue4. 设计模式创建型模式关注对象的创建过程将对象的创建与使用分离。工厂方法定义一个创建对象的接口由子类决定实例化哪个类。抽象工厂提供一组相关或依赖对象的创建接口无需指定具体类。单例确保一个类仅有一个实例并提供全局访问点。建造者将一个复杂对象的构建与其表示分离支持分步骤构造。原型通过复制现有对象来创建新对象避免重复初始化。结构型模式关注类和对象的组合通过继承或组合构建更大的结构。适配器将一个类的接口转换成客户端期望的另一种接口。桥接将抽象部分与实现部分分离使两者可独立变化。组合将对象组织成树形结构以表示“部分-整体”层次关系。装饰器动态地为对象添加额外职责比继承更灵活。外观为复杂子系统提供统一的简化接口。享元运用共享技术有效支持大量细粒度对象。代理为其他对象提供一种代理以控制对这个对象的访问。行为型模式关注对象之间的交互与职责分配。责任链将请求的发送者和接收者解耦允许多个对象处理请求。命令将请求封装为对象支持参数化、队列或日志请求。解释器定义语言的文法表示并提供解释器处理该语言。迭代器提供一种方法顺序访问聚合对象的元素而不暴露内部表示。中介者用一个中介对象封装一系列对象交互降低耦合度。备忘录捕获对象内部状态并在不破坏封装情况下恢复该状态。观察者定义对象间一对多依赖关系使得状态变化时自动通知。状态允许对象在内部状态改变时改变其行为。策略定义一系列算法并使其可互换独立于使用它的客户端。模板方法在父类中定义算法框架允许子类重写特定步骤。访问者在不修改元素类的前提下为其添加新的操作。5. TCP连接建立与释放三次握手建立连接客户端 (Client) 服务器 (Server) CLOSED LISTEN | | | SYN1, seqx (不能携带数据) | | ---------------------------------------- | | | 收到 SYN | | 状态变为 SYN-RCVD | SYN1, ACK1, seqy, ackx1 | | ---------------------------------------- | | | 状态变为 ESTABLISHED | | | | ACK1, seqx1, acky1 (可携带数据) | | ---------------------------------------- | | | 状态变为 ESTABLISHED | |四次挥手释放连接客户端主动关闭主动关闭方 (Client) 被动关闭方 (Server) ESTABLISHED ESTABLISHED | | | FIN1, sequ (可能携带最后数据) | | ---------------------------------------- | 状态变为 FIN-WAIT-1 | 收到 FIN回复 ACK | | 状态变为 CLOSE-WAIT | ACK1, seqv, acku1 | | ---------------------------------------- | 状态变为 FIN-WAIT-2 | | | (服务器可能还有数据要发) | | ... 数据传输 ... | | | FIN1, ACK1, seqw, acku1 | | ---------------------------------------- | | 状态变为 LAST-ACK 状态变为 TIME-WAIT | | | | ACK1, sequ1, ackw1 | | ---------------------------------------- | | 状态变为 CLOSED 等待 2MSL 后关闭 状态变为 CLOSED6. volatile作用保证可见性线程修改volatile变量后会强制写回主内存其他线程读取时从主内存刷新。禁止指令重排通过内存屏障防止编译器和CPU重排序。不保证原子性例如count操作仍需要加锁。7. equals()和比较基本数据类型时比值比较引用类型时比内存地址。equals基本数据类型没有equals引用类型同比内存地址但很多类如String、Integer重写了equals用于比较内容。8. 触发Full GCFull GC 是指对整个堆新生代、老年代、方法区/元空间进行垃圾回收通常伴随较长的停顿。触发场景包括老年代空间不足对象晋升失败Minor GC 后存活对象需要进入老年代但老年代剩余空间不足。大对象直接分配大对象超过阈值直接进入老年代若空间不足则触发 Full GC。CMS 并发模式失败CMS 回收期间老年代被快速填满退化为 Full GC。永久代/元空间不足加载的类、方法、常量池过多导致方法区溢出。显式调用 System.gc()代码中调用System.gc()建议 JVM 执行 Full GC可通过-XX:DisableExplicitGC屏蔽。GC 算法相关G1 回收失败混合回收无法满足内存需求。空间分配担保失败Minor GC 前检查老年代最大连续空间不足且担保不允许冒险。内存泄漏对象持续无法回收堆逐渐占满。9. 多态多态是面向对象三大特性之一指同一操作作用于不同对象可以有不同的解释和执行结果。简单说父类引用指向子类对象调用方法时执行子类的实现。提高代码的扩展性和可维护性减少耦合。核心类型兼容子类对象可以赋值给父类类型的变量动态绑定程序运行时JVM 会根据变量指向的实际对象类型而非变量的声明类型来决定调用哪个方法编译看左边声明类型运行看右边实际对象表现形式编译时多态方法重载静态绑定。同一类中方法名相同参数列表个数/类型/顺序不同。编译时就确定调用哪个方法。运行时多态方法重写Override动态绑定。有继承关系子类重写父类的非private、非final、非static方法父类引用指向子类对象。向上转型子类→父类自动完成目的是 “统一类型”向下转型父类→子类强制转换目的是 “调用子类特有方法”注意向下转型前必须用instanceof判断否则会抛出ClassCastException类型转换异常。面向对象三大特性封装隐藏内部细节通过接口访问核心是 “保护和隐藏”继承复用父类代码扩展子类功能核心是 “复用和扩展”多态父类引用指向子类对象同一行为不同表现核心是 “灵活和扩展”。这三个特性相互配合封装保证数据安全继承实现代码复用多态提升代码灵活性共同构成10. 线程池参数及作用corePoolSize核心线程数即使空闲也会保留除非设置 allowCoreThreadTimeOut。maximumPoolSize最大线程数线程池允许创建的最大线程数量。keepAliveTime非核心线程空闲存活时间。unit时间单位。workQueue任务队列用于存放等待执行的任务。threadFactory线程工厂用于创建新线程。handler拒绝策略当任务无法执行时的处理方式。corePoolSize和maximumPoolSize的大小相比通常 maximumPoolSize corePoolSize当提交任务时如果当前线程数 corePoolSize则创建新线程执行任务。如果当前线程数 corePoolSize则将任务放入队列。如果队列已满且当前线程数 maximumPoolSize则创建新线程非核心执行任务。如果当前线程数 maximumPoolSize 且队列已满则执行拒绝策略。11. 反射允许程序在运行时获取类的信息属性、方法、构造器、注解等并操作类或对象的属性和方法。只能用子系统类不能用自定义类错误反射可以操作任何类包括 JDK 自带类、第三方库类以及自定义类。只要类在类路径中就可以通过Class.forName()或.class获取 Class 对象。限制某些情况下可能受限于模块化Java 9如果自定义类不在当前模块或未开放包则可能无法访问私有成员。但这是模块化权限控制并非反射本身限制。核心用途框架 / 工具类场景优先用业务代码尽量少用避免性能和封装性问题。框架开发几乎所有主流 Java 框架Spring、MyBatis、Hibernate、JUnit 等都依赖反射实现 “解耦” 和 “动态化”。框架无法在编译期知道你自定义的类比如UserService、OrderMapper通过反射可以在运行时加载并实例化这些类调用指定方法。 示例Spring 的 IOC 容器会读取配置文件或注解通过反射创建对象并管理依赖MyBatis 通过反射将数据库查询结果映射到实体类的私有属性无需手动赋值。动态调用方法/修改私有属性反射可以突破访问修饰符的限制比如调用private方法、修改private属性实现通用化工具类反射可以编写 “通用型” 代码适配不同类的操作避免重复编写相似逻辑。例如BeanUtils.copyProperties实现任意对象的属性拷贝。动态加载类突破编译期依赖反射可以在运行时根据条件加载不同的类适用于 “插件化开发” 或 “动态扩展” 场景。处理注解注解的核心配套机制Java 注解本身不会生效必须通过反射读取注解信息并执行逻辑比如 Spring 的Controller、AutowiredJUnit 的Test。12. Java中Stream APIStream 不是数据结构它不存储数据而是对数据源集合、数组等进行函数式操作的工具。操作分类中间操作返回新的 Stream可链式调用如filter、map、sorted。惰性求值只有遇到终端操作才执行。终端操作触发实际计算返回结果或副作用如forEach、collect、reduce。串行流与并行流串行流单线程处理通过stream()获取。并行流多线程处理通过parallelStream()或parallel()转换利用 Fork/Join 框架。特点支持函数式编程提高代码可读性但需注意线程安全。13. 数据库连接池的优点数据库连接池是一种管理数据库连接的技术。主要优点减少连接创建开销预先创建并维护一定数量的连接避免每次请求都建立和关闭连接耗时资源。解决 “频繁创建 / 销毁数据库连接” 性能损耗。资源复用有效控制连接数量防止过多连接耗尽数据库资源。统一管理可配置连接超时、泄漏检测、统计信息等。提高响应速度直接从池中获取连接无需等待 TCP 握手等过程。提高系统可靠性连接池能自动回收无效连接避免内存泄漏。常见连接池HikariCP目前最优高性能、轻量级Spring Boot 2.x 及以上默认内置的连接池、Druid阿里开源功能最全监控、安全、.Tomcat JDBC Pool轻量级Tomcat 内置、C3P0 老牌逐渐淘汰等。连接池参数和特性连接池大小配置最大连接数根据数据库性能和业务并发量调整、最小空闲连接数保持一定的空闲连接避免高峰期频繁创建连接建议设为最大连接数的 1/4~1/2、初始化连接数项目启动时创建的连接数建议等于最小空闲连接数减少启动后首次请求的耗时超时配置连接超时获取连接的最大等待时间超时抛出异常建议 3~5 秒避免请求无限阻塞、空闲超时空闲连接的最大存活时间超时自动回收建议 10~30 分钟避免连接长期闲置占用资源、连接存活时间连接的最大生命周期建议 1~2 小时避免数据库端主动断开连接导致的 “无效连接”性能特性优先选择无锁 / 轻量级锁的连接池如 HikariCP减少并发竞争支持连接池预热启动时创建所有最小空闲连接避免首次请求慢。14. 通过反射调用私有方法需先执行setAccessible(true)来取消 Java 语言访问检查。私有方法默认不可访问setAccessible(true)可以强制访问。注意setAccessible会破坏封装需谨慎使用且在模块化系统中可能受模块限制步骤获取 Class 对象。通过getDeclaredMethod(methodName, parameterTypes)获取 Method 对象包括私有。调用method.setAccessible(true)。调用method.invoke(instance, args)。15. Exception分类Java 中的异常体系以Throwable为根分为两大类Error系统级错误通常由 JVM 抛出程序无法处理如OutOfMemoryError、StackOverflowError。Exception程序可处理的异常又分为受检异常Checked Exception编译时强制处理try-catch 或 throws如IOException、SQLException。非受检异常Unchecked Exception / RuntimeException运行时异常可不用显式处理如NullPointerException、IllegalArgumentException。16. 数据库的隔离机制脏读不可重复读幻读并结合具体事例说明这三种现象如何产生。数据库事务的隔离级别定义了并发事务之间的可见性。四种隔离级别从低到高1读未提交Read Uncommitted允许脏读。2读已提交Read Committed避免脏读但可能发生不可重复读。3可重复读Repeatable Read避免脏读和不可重复读但可能发生幻读MySQL InnoDB 通过间隙锁解决。4串行化Serializable最高级别避免所有问题但并发性能低。并发问题脏读一个事务读取了另一个事务未提交的数据。例事务A将余额从100改为200未提交事务B读取到200随后事务A回滚余额仍是100但事务B基于200做了错误操作。不可重复读一个事务内两次读取同一数据得到不同结果因为另一事务修改并提交了该数据。例事务A第一次读取余额为100事务B修改为200并提交事务A再次读取得到200两次读取不一致。幻读一个事务内两次查询同一范围的数据得到不同行数因为另一事务插入或删除了数据。例事务A查询所有余额100的用户得到3条事务B插入一条余额150的用户并提交事务A再次查询得到4条出现幻行。注意不可重复读针对同一条记录内容变化幻读针对记录数量变化。二、编程题17. 输入s找到s中最长的回文子串反序与原序相同思路回文串的中心有两种情况奇数长度中心是一个字符例如aba的中心是b。偶数长度中心是两个字符之间例如abba的中心是bb之间。我们遍历字符串的每个位置将其作为奇数中心并向两边扩展同时将每个位置作为偶数中心的左半部分即与下一个字符一起作为中心向两边扩展。记录下能扩展的最大长度并更新最长回文的起始和结束位置。步骤1初始化start 0, end 0用于记录最长回文的起始和结束下标。2遍历字符串的每个索引i以i为中心向两边扩展奇数情况得到长度len1。以i和i1为中心向两边扩展偶数情况得到长度len2。取len max(len1, len2)。如果len end - start 1则更新start和endend i len / 2start i - (len - 1) / 2​​​​​​​3返回s.substring(start, end 1)。public String longestPalindrome(String s) { if (s null || s.length() 1) return ; int start 0, end 0; for (int i 0; i s.length(); i) { int len1 expandAroundCenter(s, i, i); // 奇数中心 int len2 expandAroundCenter(s, i, i 1); // 偶数中心 int len Math.max(len1, len2); if (len end - start) { start i - (len - 1) / 2; end i len / 2; } } return s.substring(start, end 1); } private int expandAroundCenter(String s, int left, int right) { while (left 0 right s.length() s.charAt(left) s.charAt(right)) { left--; right; } // 当循环结束时left 和 right 指向不匹配或边界外回文长度为 right - left - 1 return right - left - 1; }18. 找出给定字符中出现次数最多的字符及其出现次数解法使用哈希表统计频率然后遍历找最大值。public char mostFrequentChar(String s) { if (s null || s.isEmpty()) throw new IllegalArgumentException(); int[] count new int[256]; // 假设 ASCII for (char c : s.toCharArray()) { count[c]; } char maxChar s.charAt(0); int maxCount 0; for (char c : s.toCharArray()) { if (count[c] maxCount) { maxCount count[c]; maxChar c; } } // 或者遍历 count 数组 return maxChar; } // 返回次数可另外获取19. 给定一个整数数组nums找到一个具有最大连续和的连续数组解法经典动态规划Kadane算法。遍历数组维护当前连续和cur和最大和max若cur为负则重置为当前元素。public int maxSubArray(int[] nums) { int max nums[0]; int cur nums[0]; for (int i 1; i nums.length; i) { cur Math.max(nums[i], cur nums[i]); max Math.max(max, cur); } return max; } // 若需返回子数组需记录起始和结束索引

相关文章:

Java后端开发 笔试知识点复习(一)

某行某费 线上笔试一、选择题和简答题1. CompletableFuture是Java 8 引入的异步编程工具&#xff0c;用于异步任务的组合和链式调用。通过静态工厂方法可以创建CompletableFuture实例&#xff1a;CompletableFuture<String> future CompletableFuture.supplyAsync(() -…...

股票基金:欧洲各类指数都是什么意思 / 成分是什么

以下是欧洲主要指数的详细解释&#xff0c;包括市值的具体金额&#xff08;基于最新可用数据估算&#xff09;指数名称含义成分股及特点总市值&#xff08;估算&#xff09;英国富时100指数&#xff08;FTSE 100&#xff09;反映伦敦证券交易所市值最大的100家上市公司的整体表…...

Java程序设计(第3版)——配置环境变量之path

配置环境变量之path PATH的配置 以下载到C盘为例 首先点击“此电脑”&#xff08;如下所示&#xff09;&#xff1a; 此电脑 > 本地磁盘 (C:) > Program Files > Java > jdk1.8.0_131 > bin > 其次点击窗口栏右侧并复制以完成下一步配置环境的准备工作 然…...

股票基金:全球各类指数都是什么意思 / 成分是什么

A股指数指数名称含义成分股特点上证指数反映上海证券交易所上市股票价格的整体表现上海证券交易所全部A股和B股历史悠久&#xff0c;市场认可度高&#xff0c;是反映中国股市整体走势的重要指标深圳指数&#xff08;深证成指&#xff09;反映深圳证券交易所上市股票价格的整体表…...

什么是 MCP?Model Context Protocol 深度解析

什么是 MCP&#xff1f;Model Context Protocol 深度解析 一、MCP 是什么&#xff1f; MCP&#xff08;Model Context Protocol&#xff09;是 Anthropic 推出的标准化工具调用协议&#xff0c;为 AI 模型与外部工具之间的交互提供了统一的规范。简单来说&#xff0c;MCP 就像…...

07. Capture 中 Find 的高阶小应用_正则表达式 I OrCAD X Capture CIS 设计小诀窍第三季

大家好&#xff01;在进行原理图设计时&#xff0c;我们经常需要查找特定的网络信号——比如所有的TF Card数据线、所有的MCU控制信号&#xff0c;或者所有以“SW”开头的网络。如果只靠普通的字符串搜索&#xff0c;要么搜不全&#xff0c;要么把无关信号也搜出来&#xff0c;…...

浅聊Flink的广播模式

浅聊Flink的广播模式 前言 最近接触到一个新颖的中间件 Flink,为什么接触到这个呢,是因为我们公司系统需要做一个告警模块,负责采集到的监控数据会直接往 kafka 里塞,然后告警这边需要从 kafka topic 里面实时读取到监控数据,并将读取到的监控数据做一些 聚合/转换/计算…...

HarmonyOS6 ArkTS 外描边(outline)使用文档

文章目录一、核心属性与接口1. 统一设置接口 outlineAPI 11API 182. 分设属性&#xff08;精细控制&#xff09;二、OutlineStyle 枚举&#xff08;三种线型&#xff09;三、使用方式方式1&#xff1a;独立属性分开设置方式2&#xff1a;统一 outline 对象配置方式3&#xff1a…...

在中国读者中,哪些科幻小说是畅销的?为什么它们畅销

如果只从小说内容本身出发&#xff0c;而不去谈产业、政策、影视改编和时代环境&#xff0c;那么一部科幻小说能不能畅销&#xff0c;核心往往不复杂。读者真正会为一本科幻小说买单&#xff0c;通常不是因为它属于“科幻”这个门类&#xff0c;而是因为它在阅读过程中提供了几…...

金仓数据库在MySQL迁移中的技术观察:高兼容性与平滑替代路径实践

金仓数据库在MySQL迁移中的技术观察&#xff1a;高兼容性与平滑替代路径实践 2023年底&#xff0c;MySQL 5.7正式停止官方维护支持——这一曾被广泛应用于中小企业核心系统的开源数据库&#xff0c;悄然进入生命周期尾声。对开发者而言&#xff0c;这不仅是版本迭代的常规提示…...

属电子信息类专业电子信息工程(Electronic Information Engineering,简称 EE)专业是什么?

属电子信息类专业电子信息工程&#xff08;Electronic Information Engineering&#xff0c;简称 EE&#xff09;专业是什么&#xff1f;电子信息工程&#xff08;Electronic Information Engineering&#xff0c;简称 EE&#xff09;简称电子信息&#xff0c;是现代科技领域的…...

金仓数据库在MySQL迁移中的实践复盘:一家三甲医院电子病历系统性能与成本优化实录

金仓数据库在MySQL迁移中的实践复盘&#xff1a;一家三甲医院电子病历系统性能与成本优化实录 2024年初&#xff0c;西安市第一医院信息科主任老张盯着监控大屏皱眉&#xff1a;“早高峰挂号排队超3分钟&#xff0c;电子病历调阅平均要4.7秒——这哪是‘智慧医院’&#xff0c…...

YOLO系列算法改进 | 主干改进篇 | 替换SHViT高效视觉变换器 | 助力模型极致轻量化,同时保持高精度性能! | CVPR 2024

0. 前言 本文介绍了SHViT高效视觉变换器,并将其集成到ultralytics最新发布的YOLO26目标检测算法中,替换原有Backbone网络。SHViT的创新在于从宏观和微观两个层面系统性消除计算冗余,通过大步长块化主干和单头部分通道注意力,以最少的内存访问成本实现超快视觉推理。将其作…...

StressTheGPU v1.44 丨便携显卡压力测试工具

StressTheGPU v1.44 便携版是轻量免安装的专业显卡压力测试工具&#xff0c;适配 Windows 全系列系统&#xff0c;凭借低 CPU 占用的优势&#xff0c;可在极端负载下精准评估显卡稳定性与性能&#xff0c;支持实时监控与基准测试&#xff0c;全面满足硬件验机、调试等核心需求。…...

基于DQ轴谐波提取器的PMSM永磁同步电机谐波抑制技术:五七次谐波的有效抑制与电流环解耦补偿应用

基于DQ轴谐波提取器的永磁同步电机谐波抑制 PMSM 1.通过谐波提取器&#xff0c;直接提取DQ轴的谐波分量进行抑制&#xff0c;对五七次谐波电流抑制效果效果很好。 2.为了放大效果&#xff0c;采用主动注入谐波电压的方法&#xff0c;增大了电机中的谐波分量。 3.调制算法采用SV…...

HoRain云--Dash 简介

&#x1f3ac; HoRain 云小助手&#xff1a;个人主页 ⛺️生活的理想&#xff0c;就是为了理想的生活! ⛳️ 推荐 前些天发现了一个超棒的服务器购买网站&#xff0c;性价比超高&#xff0c;大内存超划算&#xff01;忍不住分享一下给大家。点击跳转到网站。 目录 ⛳️ 推荐 …...

Node.js - 04:MongoDB、会话控制

MongoDB1、简介MongoDB 是一个基于分布式文件存储的数据库&#xff0c;官方地址 https://www.mongodb.com/数据库&#xff08;DataBase&#xff09;是按照数据结构来组织、存储和管理数据的 应用程序数据库的主要作用就是 管理数据 &#xff0c;对数据进行 增&#xff08;c&…...

大模型工具使用

介绍模型下载API测试本地平台搭建对比表格详细说明TransformersFastChatOllamavLLM关键差异介绍大模型一些简单的使用 模型下载 模型快捷的下载 魔搭社区 Ollama【可以直接在Ollama软件中下载】 API测试 通过API测试的平台&#xff1a;硅基流动 本地平台搭建 对比表格 工…...

AI辅助开发:前端“加速器”还是后端“稳定器”?——基于项目类型与用户规模的实战指南

文章目录前言一、技术原理解析1. 核心差异维度对比2. AI 辅助开发的技术架构模型二、按 DAU 规模分层的实战策略与代码实证1. 低 DAU 项目&#xff08;<1万&#xff09;&#xff1a;MVP 验证期后端实战&#xff1a;从需求到接口的秒级响应前端实战&#xff1a;快速但粗糙的 …...

国内代理IP地域选择与降低延迟方法

在进行公开数据获取、广告效果监测或业务信息整合时&#xff0c;很多企业都会遇到一个现实问题&#xff1a;请求延迟偏高&#xff0c;影响整体效率。尤其是在使用国内代理IP时&#xff0c;地域选择往往被忽视&#xff0c;但实际上&#xff0c;它对延迟的影响非常直接。从网络传…...

计算机毕业设计之springboot学生会事务管理平台的设计与实现

疫情爆发以来&#xff0c;越来越多的用户借助于移动手机、电脑完成生活中的事务&#xff0c;许多的传统行业也更加重视与互联网的结合。本论文探讨利用不断发展和进步的网络技术&#xff0c;实现对个人信息修改、学生、任务分类、活动类型、任务安排、完成任务、 活动信息、加入…...

MATLAB混合预测模型:集成VMD分解与ISSA优化LSTM的动态预测分析及置信区间对比图应...

matlab代码混合预测模型&#xff0c;该模型主要包含了VMD分解&#xff0c;ISSA优化LSTM预测模型&#xff0c;可以出分解图、单模型预测图&#xff0c;混合预测对比图以及加入置信区间的对比图。 可以运用于负荷预测、风速预测、光伏预测以及环境预测等&#xff0c;直接替换数据…...

HoRain云--Dash 回调函数

&#x1f3ac; HoRain 云小助手&#xff1a;个人主页 ⛺️生活的理想&#xff0c;就是为了理想的生活! ⛳️ 推荐 前些天发现了一个超棒的服务器购买网站&#xff0c;性价比超高&#xff0c;大内存超划算&#xff01;忍不住分享一下给大家。点击跳转到网站。 目录 ⛳️ 推荐 …...

HoRain云--Dash 核心组件

&#x1f3ac; HoRain 云小助手&#xff1a;个人主页 ⛺️生活的理想&#xff0c;就是为了理想的生活! ⛳️ 推荐 前些天发现了一个超棒的服务器购买网站&#xff0c;性价比超高&#xff0c;大内存超划算&#xff01;忍不住分享一下给大家。点击跳转到网站。 目录 ⛳️ 推荐 …...

Web3未落地,Web4已破局:AI+区块链重构互联网下一代图景

引言当Web3还在为“去中心化落地”争论不休&#xff0c;当普通人仍对“数据主权”“价值互联网”感到遥远时&#xff0c;Web4已悄然掀开神秘面纱&#xff0c;以AI区块链的双核驱动&#xff0c;重构着互联网的未来形态。不同于Web3对“去中心化”的单一追求&#xff0c;Web4打破…...

轮毂电机外特性曲线模型与电机效率map图:基于二维查表法搭建的模型研究

轮毂电机外特性曲线模型、电机效率map图 包含轮毂电机模型&#xff08;采用二维查表法搭建&#xff09;、电机效率以及外特性图在电动车动力系统开发中&#xff0c;轮毂电机的特性建模就像给赛车手配导航仪——既要准又要快。今天咱们手把手搭个能实战的电机模型&#xff0c;重…...

ESP-IDF button 组件介绍

引言 Button 是嵌入式系统中最基础的输入元素之一&#xff0c;但要正确处理按钮输入&#xff0c;需要对消抖、事件检测以及时间控制等细节进行细致处理。乐鑫推出 button 组件 —— 一个功能完善且稳定可靠的 ESP-IDF 按钮驱动组件&#xff0c;可帮助您在项目中更轻松地实现按…...

一条指令,是怎么被机器读懂的

你每次敲下一行代码&#xff0c;按下运行&#xff0c;屏幕上出现结果。 这个过程&#xff0c;看起来很自然&#xff0c;自然得像呼吸一样。 但在这个过程里&#xff0c;有一件事情发生得悄无声息&#xff0c;大多数人从来没有想过&#xff1a; 你写的那行代码&#xff0c;最终变…...

模拟PPG生物信号,利用短时傅里叶变换滤波,提取心率

1、利用短时傅里叶变换滤波&#xff0c;提取心率def test06():import numpy as npimport matplotlib.pyplot as pltfrom scipy import signalfrom scipy.signal import find_peaks# ---------- 参数设置 ----------fs 1000 # 采样率 (Hz)duration 10 # 信号时长 (秒)t np.…...

软件测试入门封神指南!从理论到实战,核心知识点一篇全覆盖

目录零基础也能看懂的测试体系课&#xff0c;搞定开发模型、测试流程、用例设计、BUG管理全链路一、先搞懂软件开发流程&#xff01;测试人必知的4大经典模型1. 瀑布模型2. V模型3. W模型4. 快速原型模型二、软件测试全流程&#xff01;9个核心步骤&#xff0c;一步都不能错1. …...