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

Java面试易忽略知识点

1. CompletableFuture中thenApply()thenCompose()的区别

考察点:组合式异步编程
解析

  • ​**thenApply()**:接收前序任务结果,返回普通对象(同步转换),适用简单数据处理。
  • ​**thenCompose()**:接收前序任务结果,返回新的CompletableFuture(异步嵌套),用于链式调用异步任务。
    示例
 

java

CompletableFuture.supplyAsync(() -> "Hello")  .thenCompose(s -> CompletableFuture.supplyAsync(() -> s + " World")); // 链式异步  

2. Java模块化系统(JPMS)如何解决“自动模块”问题?

考察点:模块化依赖管理
解析

  • 自动模块:非模块化JAR包会被视为自动模块,导出所有包并读取所有其他模块。
  • 解决方案:在module-info.java中显式声明依赖:
     

    java

    requires transitive com.example.lib; // 传递依赖  

3. 如何用GraalVM将Spring Boot应用编译为原生镜像?

考察点:AOT编译与云原生优化
解析

  1. 添加依赖
     

    xml

    <dependency>  <groupId>org.springframework.experimental</groupId>  <artifactId>spring-native</artifactId>  
    </dependency>  
  2. 编译命令
     

    bash

    mvn spring-boot:build-image  

优势:启动时间<50ms,内存占用降低60%。


4. 记录类型(Records)能否实现Builder模式?

考察点:不可变数据结构设计
解析

  • 限制:Records默认生成final类,字段不可变,需通过静态内部类模拟Builder:
     

    java

    public record User(Long id, String name) {  public static class Builder {  private Long id;  private String name;  // Setter方法  public User build() { return new User(id, name); }  }  
    }  

5. 模式匹配在instanceofswitch中的性能差异

考察点:新特性底层优化
解析

  • ​**instanceof模式匹配**:编译器生成类型检查代码,性能与传统instanceof+强制转型相当。
  • ​**switch模式匹配**​(Java 21预览):生成跳表优化,适合多分支场景,性能优于链式if-else

6. ZGC的“染色指针”如何实现并发标记?

考察点:低延迟GC原理
解析

  • 指针元数据:在64位指针中存储标记位、重定位状态等,无需STW即可更新对象状态。
  • 读屏障:在访问对象时动态修正指针,保证并发标记期间线程安全。

7. JFR(Java Flight Recorder)如何定位线程阻塞问题?

考察点:性能分析工具
步骤

  1. 录制JFR数据:
     

    bash

    jcmd <pid> JFR.start duration=60s filename=blocking.jfr  
  2. 分析jdk.JavaMonitorWait事件,查看持有锁的线程栈。

8. 如何用JMH测试StringBufferStringBuilder的性能差异?

考察点:基准测试实践
代码

 

java

@BenchmarkMode(Mode.Throughput)  
public class StringBenchmark {  @Benchmark  public void testStringBuffer() {  StringBuffer sb = new StringBuffer();  for (int i=0; i<1000; i++) sb.append(i);  }  // 类似实现StringBuilder测试  
}  

结论:单线程下StringBuilder快30%,多线程需考虑锁竞争。


9. 密封类(Sealed Classes)在领域驱动设计(DDD)中的应用

考察点:领域模型限制
场景:定义核心领域对象,限制子类扩展:

 

java

public sealed interface PaymentMethod permits CreditCard, PayPal {}  
public final class CreditCard implements PaymentMethod { /* 字段校验逻辑 */ }  

优势:强制业务规则,避免模型污染。


10. 虚拟线程(Project Loom)与传统线程池的资源消耗对比

考察点:轻量级并发模型
数据

  • 传统线程:1个线程 ≈ 1MB栈内存,万级线程消耗GB级内存。
  • 虚拟线程:1个虚拟线程 ≈ 1KB内存,支持百万级并发。
    适用场景:IO密集型服务(如API网关、爬虫)。

11. 静态类初始化陷阱:静态代码块与构造函数的执行顺序

考察点:类加载机制
示例

 

java

class Parent {  static { System.out.println("Parent静态块"); }  Parent() { System.out.println("Parent构造器"); }  
}  
class Child extends Parent {  static { System.out.println("Child静态块"); }  Child() { System.out.println("Child构造器"); }  
}  
// 输出顺序:Parent静态块 → Child静态块 → Parent构造器 → Child构造器  

12. Optional.orElse()orElseGet()的性能差异

考察点:延迟计算优化
解析

  • ​**orElse()**:无论Optional是否为空,都会执行参数表达式。
  • ​**orElseGet()**:仅在Optional为空时执行Supplier逻辑,适合高开销操作。

13. 方法句柄(MethodHandle)与反射的性能对比

考察点:底层API优化
数据

  • 反射调用:每次调用检查访问权限,性能较差。
  • 方法句柄:JVM内联优化,性能接近直接方法调用(快5-10倍)。
    示例
 

java

MethodHandles.Lookup lookup = MethodHandles.lookup();  
MethodHandle mh = lookup.findVirtual(String.class, "length", MethodType.methodType(int.class));  
int len = (int) mh.invokeExact("test"); // len=4  

14. JNI调用的内存泄漏风险及解决方案

考察点:本地方法安全
风险点

  • 未正确释放NewGlobalRef创建的全局引用。
  • 本地代码中直接修改Java对象未同步回JVM。
    解决:使用try-finally块确保释放资源,或换用JNA/JNR等安全框架。

15. 动态代理在Spring AOP中的性能瓶颈

考察点:代理机制优化
问题:JDK动态代理基于接口,CGLIB基于类,后者生成子类可能导致方法final修饰符冲突。
优化:Spring 5默认使用CGLIB,可通过@EnableAspectJAutoProxy(proxyTargetClass=true)强制使用。


16. 弱引用(WeakReference)在缓存设计中的误用场景

考察点:引用类型特性
陷阱:若缓存键通过弱引用持有,可能被GC提前回收,导致缓存失效。
方案:使用WeakHashMap或搭配ReferenceQueue手动清理。


17. JVM退出时的钩子函数(ShutdownHook)执行限制

考察点:JVM生命周期
规则

  • 钩子函数必须快速执行,超时会被强制终止。
  • 已执行System.exit()后注册的钩子无效。

18. 常量折叠(Constant Folding)对程序逻辑的潜在影响

考察点:编译器优化
示例

 

java

final int a = 1;  
final int b = 2;  
System.out.println(a + b); // 编译时优化为3,字节码中无加法指令  

注意:依赖编译时常量的计算可能隐藏逻辑错误。


19. 伪共享(False Sharing)在并发计数器的解决方案

考察点:CPU缓存优化
问题:多个线程修改同一缓存行的不同变量,导致缓存失效。
解决

 

java

@Contended // JVM参数需加-XX:-RestrictContended  
public class Counter {  public volatile long value1;  public volatile long value2;  
}  

20. Java模块化系统中如何允许第三方库反射访问私有字段?

考察点:模块权限控制
配置:在module-info.java中开放包:

 

java

open module com.example.app {  opens com.example.internal to spring.core; // 对特定模块开放  
}  

风险:过度开放可能导致封装性破坏。

相关文章:

Java面试易忽略知识点

1. CompletableFuture中thenApply()与thenCompose()的区别 考察点&#xff1a;组合式异步编程 解析&#xff1a; ​**thenApply()**&#xff1a;接收前序任务结果&#xff0c;返回普通对象&#xff08;同步转换&#xff09;&#xff0c;适用简单数据处理。​**thenCompose()*…...

C#通过SignalR直接返回流式响应内容

1、背景 实现流式响应基本上分为两大技术方案&#xff1a;&#xff08;1&#xff09;基于HTTP的Stream处理&#xff1b;&#xff08;2&#xff09;基于socket的连接。前者的实现方式有&#xff1a;《C#通过API接口返回流式响应内容—SSE方式》和《C#通过API接口返回流式响应内…...

【排序算法对比】快速排序、归并排序、堆排序

排序算法对比&#xff1a;快速排序、归并排序、堆排序 1. 快速排序&#xff08;Quick Sort&#xff09; 原理 快速排序采用 分治法&#xff08;Divide and Conquer&#xff09;&#xff0c;通过选取基准值&#xff08;pivot&#xff09;&#xff0c;将数组划分为 小于基准值…...

YOLO11改进-模块-引入空间带状注意力机制(Spatial Strip Attention,SSA)增强模型对空间信息处理能力的重要模块

在图像相关任务中&#xff0c;传统卷积神经网络&#xff08;CNN&#xff09;在处理空间信息时&#xff0c;卷积核的感受野有限&#xff0c;难以有效捕捉长距离的空间依赖关系。而自注意力机制虽然能建模长距离依赖&#xff0c;但计算复杂度较高。为了在高效计算的同时更好地捕捉…...

C++内存分配方式

文章目录 1、静态内存分配2、栈内存分配3、堆内存分配4、内存池分配5、placement new语法工作原理示例 placement new应用场景 在C 中&#xff0c;内存分配主要有以下几种方式&#xff1a; 1、静态内存分配 特点&#xff1a;在编译时就确定了内存的分配和释放&#xff0c;内存…...

【经验】Orin系列Ubuntu远程桌面:VNC、NoMachine、URDC

1、VNC 1.1 Ubuntu端 1)安装VNC服务器 sudo apt install tigervnc-standalone-server2)安装xfce4 桌面 xfce4 用资源较GNOME ,KDE较少。适合老机器,轻量级桌面。与windows界面环境类似。 sudo apt install xfce4 xfce4-goodies也可以使用其它的桌面系统,可以使用如下命…...

【RabbitMQ】RabbitMQ消息的重复消费问题如何解决?

可以从消息队列和消费者两方面入手&#xff0c;确保消息处理的幂等性和可靠性。 1.消息重复消费的原因 1.1消息队列的机制 消息确认失败&#xff1a; 消费者处理完消息后&#xff0c;未正确发送确认(ACK)给RabbitMQ&#xff0c;导致消息被重新投递。消息重试机制&#xff1a…...

Python、MATLAB和PPT完成数学建模竞赛中的地图绘制

参加数学建模比赛时&#xff0c;很多题目——诸如统计类、数据挖掘类、环保类、建议类的题目总会涉及到地理相关的情景&#xff0c;往往要求我们制作与地图相关的可视化内容。如下图&#xff0c;这是21年亚太赛的那道塞罕坝的题目&#xff0c;期间涉及到温度、降水和森林覆盖率…...

Git 分支删除操作指南(含本地与远程)

&#x1f680; Git 分支删除操作指南&#xff08;含本地与远程&#xff09; 在多人协作的开发过程中&#xff0c;定期清理已合并的临时分支&#xff08;如 feature/*、bugfix/*、hotfix/* 等&#xff09;可以保持仓库整洁&#xff0c;避免混乱。 &#x1f4cc; 分支命名规范回…...

视频推拉流EasyDSS点播平台云端录像播放异常的问题排查与解决

视频推拉流EasyDSS视频直播点播平台可提供一站式的视频转码、点播、直播、视频推拉流、播放H.265视频等服务&#xff0c;搭配RTMP高清摄像头使用&#xff0c;可将无人机设备的实时流推送到平台上&#xff0c;实现无人机视频推流直播、巡检等应用。 有用户反馈&#xff0c;项目现…...

v-model+computed实现父子组件数据传递和同步

v-modelcomputed实现父子组件数据传递和同步 1. 父组件2. 子组件说明总结 1. 父组件 <template><div><span>父子组件传值&#xff1a;{{countRef}}<my-counter v-modelcount></my-counter></span></div> </template> <scr…...

一键秒连WiFi智能设备,uni-app全栈式物联开发指南。

如何使用 uni-app 框架实现通过 WiFi 连接设备并进行命令交互的硬件开发。为了方便理解和实践&#xff0c;我们将提供相应的源代码示例&#xff0c;帮助开发者快速上手。 1. 硬件准备 在开始之前&#xff0c;请确保你已经准备好以下硬件设备&#xff1a; 支持 WiFi 连接的设备…...

关于Docker是否被淘汰虚拟机实现连接虚拟专用网络Ubuntu 22.04 LTS部署Harbor仓库全流程

1.今天的第一个主题&#xff1a; 第一个主题是关于Docker是否真的被K8S弃用&#xff0c;还是可以继续兼容&#xff0c;因为我们知道在去年的时候&#xff0c;由于不可控的原因&#xff0c;docker的所有国内镜像源都被Ban了&#xff0c;再加上K8S自从V1.20之后&#xff0c;宣布…...

【C++】动态规划从入门到精通

一、动态规划基础概念详解 什么是动态规划 动态规划&#xff08;Dynamic Programming&#xff0c;DP&#xff09;是一种通过将复杂问题分解为重叠子问题&#xff0c;并存储子问题解以避免重复计算的优化算法。它适用于具有以下两个关键性质的问题&#xff1a; 最优子结构&…...

【专栏预告】《VR 360°全景视频开发:从GoPro到Unity VR眼镜应用实战》

【专栏预告】每周天12:00更新&#xff0c;欢迎指导与交流。 专栏地址&#xff1a;《VR 360全景视频开发&#xff1a;从GoPro到Unity VR眼镜应用实战》 前言 随着VR技术的不断发展&#xff0c;360全景视频的需求也在逐年增长。尤其是在VR眼镜端&#xff0c;360全景视频带来了…...

【leetcode100】搜索插入位置

1、题目描述 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例 1: 输入: nums [1,3,5,6], target 5 输出: 2…...

Java面试黄金宝典3

1. 什么是 NIO 原理 缓冲区&#xff08;Buffer&#xff09;&#xff1a; 它是一个线性的、有限的基本数据元素序列&#xff0c;本质上是一块内存区域&#xff0c;被包装成了一个对象&#xff0c;以便于进行高效的数据读写操作。不同类型的基本数据都有对应的Buffer子类&#xf…...

vue3 报错 Could not find a declaration file for module ‘/App.vue‘

vue3 报错 Could not find a declaration file for module /App.vue.app.vue路径.js implicitly has an any type 问题描述原因分析&#xff1a;解决方案&#xff1a; 问题描述 Could not find a declaration file for module /App.vue.app.vue路径.js implicitly has an any …...

linux对串口设备文件进行重命名(删除、重建)

0.前言 最近在弄3562的自制板&#xff0c;有很多串口&#xff0c;然后发现设备文件名编号有些跳跃&#xff0c;不方便用户使用&#xff0c;因此&#xff0c;需要对这些设备文件进行重命名 1.查看设备号 我们需要知道目标设备文件的设备号&#xff0c;通过ls -l /dev/tty*查看…...

Linux内核传输层UDP源码分析

一、用户数据包协议&#xff08;UDP&#xff09; 1.UDP数据报头 UDP 提供面向消息的不可靠传输&#xff0c;但没有拥塞控制功能。很多协议都使用 UDP&#xff0c;如用于 IP 网络传输音频和视频的实时传输协议 (Real-time Transport Protocol&#xff0c;RTP)&#xff0c;此类型…...

GitHub 超火的开源终端工具——Warp

Warp 作为近年来 GitHub 上备受瞩目的开源终端工具&#xff0c;以其智能化、高性能和协作能力重新定义了命令行操作体验。以下从多个维度深入解析其核心特性、技术架构、用户评价及生态影响力&#xff1a; 一、背景与核心团队 Warp 由前 GitHub CTO Jason Warner 和 Google 前…...

【Java基础巩固系列】异常

业务背景 业务开发中&#xff0c;总会遇到代码出现异常的情况&#xff0c;不合理的异常处理或不处理异常除了影响业务功能和中断业务功能外&#xff0c;还会增加排查问题的难度。所以我们要学会正确的使用异常处理。合理的异常处理能减少很多潜在的问题&#xff0c;是提高代码…...

sass介绍

1、Sass简介 Sass 是一种 CSS 的预编译语言。它提供了 变量&#xff08;variables&#xff09;、嵌套&#xff08;nested rules&#xff09;、 混合&#xff08;mixins&#xff09;、 函数&#xff08;functions&#xff09;等功能&#xff0c;并且完全兼容 CSS 语法。Sass 能…...

第1章:云原生时代:容器技术的发展历程与核心价值

第1章:云原生时代:容器技术的发展历程与核心价值 作者:DogDog_Shuai 阅读时间:约15分钟 难度:入门级 目录 1. 引言2. 容器技术的发展历程3. 容器技术的核心价值4. 云原生时代的机遇与挑战5. 总结1. 引言...

软考程序员考试知识点汇总

软考程序员考试&#xff08;初级资格&#xff09;主要考察计算机基础理论、编程能力及软件开发相关知识。以下是核心知识点总结及备考建议&#xff1a; 一、计算机基础 数制与编码 二进制、八进制、十进制、十六进制转换原码、反码、补码表示&#xff08;整数与浮点数&#xf…...

JVM OOM问题如何排查和解决

在 Java 开发中&#xff0c;JVM OOM&#xff08;OutOfMemoryError&#xff09;问题通常是指程序运行时&#xff0c;JVM 无法为对象分配足够的内存空间&#xff0c;导致发生内存溢出的错误。这个问题往往和内存的配置、内存泄漏、或者资源过度使用等因素有关。 1. OOM 错误类型…...

折叠树报表

折叠树报表中包含了三种信息: 1.树组织信息-可展开、收拢 2.节点的统计信息(汇总求和) 3.每个节点对应的数据信息 一、准备数据 mysql8 数据库中存在两张表 org和store表。 org表和部分数据如下,其中orgname是组织的名称,codepath是完整的组织代码,seq是每个节点的顺序,可…...

python 数据可视化matplotib库安装与使用

要使用 matplotlib 库进行数据可视化&#xff0c;首先你需要确保已经安装了该库。如果你还没有安装&#xff0c;可以通过 Python 的包管理器 pip 来安装它。在你的命令行工具中运行以下命令来安装 matplotlib&#xff1a; pip install matplotlib安装完成后&#xff0c;你就可以…...

Springdoc配置参数详解

文章目录 **1. 基础配置****API 文档路径-springdoc.api-docs.path****Swagger UI 路径-springdoc.swagger-ui.path****是否启用 API 文档-springdoc.api-docs.enabled****是否启用 Swagger UI-springdoc.swagger-ui.enabled** **2. 全局元信息-info****应用标题-springdoc.inf…...

抖音视频数据获取实战:从API调用到热门内容挖掘

在短视频流量为王的时代&#xff0c;掌握抖音热门视频数据已成为内容运营、竞品分析及营销决策的关键。本文将手把手教你通过抖音开放平台API获取视频详情数据&#xff0c;并提供完整的代码实现及商业化应用思路。 一、抖音API权限申请与核心接口 抖音API需企业资质认证&…...

【数学建模】灰色关联分析模型详解与应用

灰色关联分析模型详解与应用 文章目录 灰色关联分析模型详解与应用引言灰色系统理论简介灰色关联分析基本原理灰色关联分析计算步骤1. 确定分析序列2. 数据无量纲化处理3. 计算关联系数4. 计算关联度 灰色关联分析应用实例实例&#xff1a;某企业生产效率影响因素分析 灰色关联…...

Spring Boot 与 Couchbase 整合教程

精心整理了最新的面试资料和简历模板&#xff0c;有需要的可以自行获取 点击前往百度网盘获取 点击前往夸克网盘获取 Spring Boot 与 Couchbase 整合教程 环境要求 JDK 8Spring Boot 2.7.xCouchbase Server 7.xMaven/Gradle 步骤 1&#xff1a;创建Spring Boot项目 使用 st…...

Oracle ASM Failgroup故障组

Oracle ASM Failgroup故障组 1. 故障组的核心作用2. 故障组的配置规则3. 故障组的设计最佳实践4. 故障组的实际示例场景1&#xff1a;普通冗余&#xff08;2个故障组&#xff09;场景2&#xff1a;高冗余&#xff08;3个故障组&#xff0c;跨数据中心&#xff09; 关键注意事项…...

深度学习框架PyTorch——从入门到精通(2)张量

又名&#xff1a;张亮的一生~~ 张量&#xff08;Tensors&#xff09;初始化张量张量的属性张量上的操作与NumPy桥接 张量&#xff08;Tensors&#xff09; 张量是一种专门的数据结构&#xff0c;类似Python中的数组或者矩阵。在Torch中&#xff0c;我们使用张量来编码模型的输…...

pytorch小记(十三):pytorch中`nn.ModuleList` 详解

pytorch小记&#xff08;十三&#xff09;&#xff1a;pytorch中nn.ModuleList 详解 PyTorch 中的 nn.ModuleList 详解1. 什么是 nn.ModuleList&#xff1f;2. 为什么不直接使用普通的 Python 列表&#xff1f;3. nn.ModuleList 的基本用法示例&#xff1a;构建一个包含两层全连…...

C语言-动态内存管理

1.为什么要有动态内存分配 我们现如今已经掌握的内存开辟方式有 int main() {int a 0;int arr[30] { 0 };return 0; } 这两种方式&#xff0c;但是这种开辟空间的方式有两个特点&#xff1a; 1.空间开辟大小是固定的 2.数组在申明的时候&#xff0c;必须指定数组的长度&…...

深入解析MySQL数据库分库分表技术

友情提示&#xff1a;本文内容由银河易创&#xff08;https://ai.eaigx.com&#xff09;AI创作平台gpt-4-turbo模型生成&#xff0c;仅供参考。 随着互联网应用的快速发展&#xff0c;单一数据库在面对大规模数据时可能会遇到性能瓶颈。因此&#xff0c;数据库分库分表作为一种…...

【Embedded World 2025:边缘 AI、存储革新与 1X nm 工艺重塑嵌入式未来】

Embedded World 2025于3月11-13日在德国纽伦堡举办&#xff0c;作为全球嵌入式系统领域顶级盛会&#xff0c;汇聚超千家展商与3万专业观众&#xff0c;聚焦嵌入式智能、安全管理及行业解决方案。展会呈现边缘AI、低功耗MCU、5G RedCap、新型存储及车规级技术等前沿方向&#xf…...

【人工智能基础2】机器学习、深度学习总结

文章目录 一、人工智能关键技术二、机器学习基础1. 监督、无监督、半监督学习2. 损失函数&#xff1a;四种损失函数3. 泛化与交叉验证4. 过拟合与欠拟合5. 正则化6. 支持向量机 三、深度学习基础&#xff1a;深度神经网络1、概念与原理2、多层神经网络训练方法 一、人工智能关键…...

MySQL如何存储表情符号?

存储表情符号 默认mysql的字符集是utf8&#xff0c;排序规则为 utf8_general_ci INSERT INTO department (name) VALUES (&#x1f604;)在存储表情的时候会报 1366 - Incorrect string value: \xF0\x9F\x98\x84 for column name at row 1, Time: 0.007000s 这时需要修改字符…...

Unity Shader 学习16:全局光照 概念理解

- 全局光照 直接光 间接光&#xff0c;在没有开启GI的情况下是不计算间接光的&#xff08;如果放了光照探针 倒是可以模拟间接光 <光照探针只影响动态物体>&#xff09;&#xff1b; - 处理对象&#xff1a;静态物体(static) 、 非静态(动态)物体&#xff1b; - 计算方…...

Jobby、Quarkus 和 Spring Boot对比

Jobby、Quarkus 和 Spring Boot 是三种不同的 Java 框架&#xff0c;各自有不同的设计目标和适用场景。以下是对它们的详细对比&#xff1a; 1. 设计目标 框架设计目标Jobby轻量级的任务调度框架&#xff0c;专注于任务调度和执行。Quarkus面向云原生和 Kubernetes 的 Java 框…...

Dubbo 服务发现

总览 学习 Dubbo 的服务发现机制&#xff0c;可以从以下几方面入手&#xff1a; 注册中心的配置服务的注册客户端拉取服务列表服务列表的本地缓存服务提供者列表变更的监听机制服务发现的接口设计 注册中心的配置 Dubbo 通过解析用户配置决定使用的注册中心。比如用户配置了…...

Pytorch使用手册—自定义 C++ 和 CUDA 运算符(专题五十一)

你将学到什么 如何将用 C++/CUDA 编写的自定义运算符与 PyTorch 集成如何使用 torch.library.opcheck 测试自定义运算符先决条件 1. PyTorch 2.4 或更高版本 2. 对 C++ 和 CUDA 编程有基本了解 注意 本教程也适用于 AMD ROCm,无需额外修改。 PyTorch 提供了一个庞大的运算符库…...

Linux 实时同步服务实现(Rsync 结合 Inotify)

文章目录 1. 实时同步服务介绍2. Inotify 机制介绍3. Inotify-toolRsync 实时同步实践3.1 确认远程数据传输服务部署完成3.2 检查Linux系统是否支持Inotify实时监控3.3 安装inotify-tools3.4 命令测试3.5 重要监控事件汇总3.6 使用步骤 4. Sersync 工具使用&#xff08;重点&am…...

用Java写斗地主前期工作的一些小想法

目前我们并不是要实现一个游戏,而是要对斗地主游戏做准备,主要是做牌+洗牌+发牌+给发的牌进行排序。在这个过程中我希望通过集中方式来实现: 1. 使用集合+方法+字符串的运用完成以上功能 2. 使用面向对象思想,对1做改进,主要是对其排序的改进,从而理解面向对象的真正意…...

鸿蒙数据持久化之首选项

场景介绍 用户首选项为应用提供Key-Value键值型的数据处理能力&#xff0c;支持应用持久化轻量级数据&#xff0c;并对其修改和查询。当用户希望有一个全局唯一存储的地方&#xff0c;可以采用用户首选项来进行存储。Preferences会将该数据缓存在内存中&#xff0c;当用户读取…...

将bin文件烧录到STM32

将bin文件烧录到STM32 CoFlash下载生成hex文件hex2bin使用下载bin到单片机 CoFlash下载 选择需要安装的目录 在Config中可以选择目标芯片的类型 我演示的是 stm32f103c8t6 最小系统板 Adapter&#xff1a;烧录器类型 Max Clock&#xff1a;下载速度 Por&#xff1a;接口类型&am…...

AtCoder Beginner Contest 397(ABCDE)

目录 A - Thermometer 翻译&#xff1a; 思路&#xff1a; 实现&#xff1a; B - Ticket Gate Log 翻译&#xff1a; 思路&#xff1a; 实现&#xff1a; C - Variety Split Easy 翻译&#xff1a; 思路&#xff1a; 实现&#xff1a; D - Cubes 翻译&#xff1a…...

jasypt-spring-boot-starter项目如何使用jasypt加密密码

import org.jasypt.encryption.pbe.StandardPBEStringEncryptor; import org.jasypt.iv.RandomIvGenerator; import org.jasypt.salt.RandomSaltGenerator;/*** 加密密码的工具** author xxx* since 2025-03-17*/ public class JasyptTest {public static void main(String[] a…...