Java 基础面试300题 (171- 200)
Java 基础面试300题 (171- 200)
171.什么是同步?
当多个线程试图同时访问共享资源时,那么他们需要以某种方式让资源一次只能由一个线程访问。实现这一目标的过程被称为同步。Java提供了一个名为synchronized
的关键字实现这一目标。
172.执行以下代码时会发生什么?
class TestMyRunnable implements Runnable {
public void run() {
System.out.println(“Inside Run Method..”);
System.out.println(“Name of thread is– “:Thread.currentThread().getName());
}
}
class TestMyThread {
public static void main(String argument[]) {
TestMyRunnable runnable = new TestMyRunnable();
Thread thread = new Thread(runnable);
Thread.setName(“My Thread”); //Line 1
thread.start(); //Line 2
}
}
上述代码编译没有问题。执行第1行时,将线程的名称设置为My Thread
,执行第2行时,会生成一个新的线程,并执行run()
方法中的代码,该方法在控制台上打印如下一些信息:
Inside Run Method.
Name of thread is: My Thread
173. 下面代码首先打印“Thread 1”1000次,然后打印“Thread 2” 1000次,是否正确?
class TestMyRunnable implements Runnable {
public void run() {
for (int iValue = 0; iValue < 1000; iValue++)
System.out.println(“Name of thread is: “+Thread.currentThread().getName());
}
public static void main (String argument[]) {
TestMyRunnable runnable = new TestMyRunnable();
Thread threadC = new Thread(runnable);
Thread threadD = new Thread(runnable);
threadC.setName(“Thread 1”);
threadD.setName(“Thread 2”);
threadC.start();
threadD.start();
}
}
不正确。 执行上述代码时, 不会如问题所说述,首先打印Thread 1
1000次,然后 Thread 2
1000次。线程执行的顺序取决于线程调度器。因此,尽管最终两个线程都会打印1000次名称,但它们打印的顺序是不确定的,有可能是交错打印。
174.如何使线程暂停十分钟?
为了使线程暂停十分钟,需要在run()
方法中调用sleep()
方法。这个方法接受一个长整形参数,其值表示线程以毫秒为单位的睡眠时间。如下代码所示:
try {
Thread.sleep(10 * 60 * 1000)
}
catch(InterruptedException exp) {
}
175. 当调用同步方法时会发生什么?
每当执行同步方法时,调用该方法的线程都会获取一个锁,并将锁一直保持到在方法结束 。然后释放锁。 因此,其他线程可以再次获取锁并执行该方法。因此,同步(synchronized)关键字可防止多个线程在同步方法中同时执行代码。
176.执行以下代码时会发生什么?
File myFile = new File(“CoreJava.txt”);
执行上述代码时,JVM在内存中会创建一个名为myFile
的Java 文件对象,但并不会文件系统上实际创建文件 。为了实际创建文件,需要调用myFile.createNewFile()
方法。
177.如何创建路径为/usr/test.txt
文件?
下面代码将在/usr/
目录中创建一个文件test.txt
:
try {
File txtFile = new File(“/usr/test.txt”); // Line 1
txtFile.createNewFile(); // Line 2
} catch (IOException exp) {
}
在上述代码中,执行第1行时,在内存中创建一个文件对象txtFile
, 执行第2行时,在文件夹/usr/
中创建文件test.txt
178.用代码示例解释FileWriter
类。
FileWriter
类用于将字符或字符串写入文件,而无需将其转换为字节数组。它们是PrintWriter
或BufferedWriter
的包装类,因而能提供更好的性能和更多的数据写入方法。以下代码演示了FileWriter
:
try {
File txtFile = new File(“/usr/CoreJava.txt”);
FileWriter myFileWriter = new FileWriter(txtFile);
myFileWriter.write(“Line 1 \n Line 2 \n”); // Line 1
myFileWriter.flush();
myFileWriter.close();
} catch (IOException exp) {
}
在上述代码中,当执行第1行时,write()
方法将内容写入文件CoreJava.txt
179.如何使用FileReader
读取文件/usr/CoreJava.txt
中的内容,并在控制台上输出?
下面代码演示了如何使用FileReader
读取指定文件中的内容,并在控制台上输出:
try {
File txtFile = new File(“F:/CoreJava.txt”);
char [] totalChar = new char[1000];
FileReader myFileReader = new FileReader(txtFile);
myFileReader.read(totalChar); //Line 1
for(char readChar: totalChar) {//Line 2
System.out.print(readChar);
}
myFileReader.close();
}
catch (IOException exp) {
}
执行第1行时,read()
方法将文件内容读取到totalChararray
中。 第2行开始的for
循环将数组的内容打印到控制台
180.如何在文件系统上创建目录?
File
类有一个名为mkdir()
的方法,用来创建一个与指定文件对象相对应的目录。 下面代码使用此方法在文件系统中创建一个目录:
File myDirectory = new File(“/usr/mydir”); //Line 1
myDirectory.mkdir(); //Line 2
第1行创建一个文件对象。第2行调用mkdir()
方法来创建实际目录。
181. 编译和执行下面代码时会发生什么?
File myDirectory = new File(“/usr/JavaCodes”);
File myNewFile = new File(“/usr/JavaCodes/CoreJava.txt”); //line 1
myNewFile.createNewFile();
上述代码会抛出IOException
。这是因为没有创建目录/usr/JavaCodes/
,只创建了与之对应的文件对象myDirectory
。为了使代码正常工作,需要在第1行之前添加如下代码:
myDirectory.mkdir();
182. PrintWriter
类有什么作用?
PrintWriter
是Writer
类的特定实现,可用于将对象的格式化表示写入到到文件系统 。 下面代码演示了如何使用PrintWriter
来写入字符串:
File myNewFile = new File(“/usr/CoreJava.txt”);
PrintWriter myPrintWriter = new PrintWriter(myNewFile); //Line 1
myPrintWriter.println(“This gets inserted into the File”); //Line 2
myPrintWriter.close(); //Line 3
在上述代码中,执行第1行时,将在文件夹/usr/
中创建文件CoreJava.txt
。 执行第2行时,调用PrinterWriter
类的println()
方法将字符串写入文件CoreJava.txt
。执行第3行时,关闭文件。 最终内容会被保存到文件中。
183. 如何删除文件?
File
类有一个名为delete()
的方法,用于删除文件。如下 代码示例:
File myNewFile = new File(“/usr/CoreJava.txt”);
boolean success = myNewFile.delete(); //Line 1
在上述代码中,执行第1行时,delete()
方法会删除指定的文件。它返回一个布尔值,表示文件删除是否成功。
184. 如何重命名文件或目录?
File
类有一个名为renameTo()
的方法,用于重命名文件或目录。如下代码示例 :
File file1 = new File(“/usr/file1.txt”);
file1.createNewFile();
File file2 = new File(“/usr/file2.txt”);
file1.renameTo(file2); //Line 1
上述代码将文件file1.txt
重命名为file2.txt
。同样也可以对目录的重命名。下面代码将目录dir1
重命名为dir2
:
File dir1 = new File(“/usr/dir1”);
dir1.createNewFile();
File dir2 = new File(“/usr/dir2”);
dir1.renameTo(dir2); //Line 1
185.Java的哪些类用于序列化和反序列化对象?
序列化是将对象写入文件系统的过程。java.io.ObjectOutputStream
类可用于序列化对象。它有一个writeObject()
方法,用来将对象写到文件系统。反序列化是序列化的逆过程,用来从文件系统恢复序列化的对象。 java.io.ObjectInputStream
类可用于反序列化。它有一个readObject()
方法,可用于实现这一目标。
186. File
类上有哪一些重要方法?
文件类File
封装了文件系统上的文件或目录。File
类上的一些重要方法如下:
方法 | 描述 |
---|---|
createNewFile() | 创建一个新的空文件。 |
list() | 返回当前目录中的文件/目录数组。 |
delete() | 从文件系统中删除文件。 |
mkdir() | 创建一个目录。 |
getAbsolutePath() | 返回文件的绝对路径。 |
187. 编译执行下面代码片段时会发生什么?
public class Test {
public static void main(String argument[]) {
int iValue;
System.out.println(iValue);
}
}
上述代码将导致编译错误。这是因为局部变量iValue
没有初始化,而直接在Sysout语句中使用。 可以通过初始化变量iValue
来修复错误,具体如下:
int iValue = 0;
System.out.println(iValue);
188.编译执行下面代码片段时会发生什么?
class Calculate {
float fValue = 10.2f;
public static void main(String argument[]) {
System.out.println(“Float value is: “+fValue);
}
}
上述代码将导致编译错误,因为main
方法是静态方法,却试图访问非静态的实例变量fvalue
。Java不允许从静态方法访问非静态变量。
189.什么是对称相等合同?
假设有两个对象v1
和v2
。如果v1.equals(v2)
返回true
,则v2.equals(v1)
也返回true
。这个equals()
合同被称为对称相等合同。考虑以下代码,:
Object v1; Object v2;
v1.equals(v2); //Line 1
v2.equals(v1); //Line 2
因此,在对称相等合同的情况下,第1行返回true
,当且仅当第2行y也返回true
。
190. 下面代码哪项是错误的语句,为什么?
System.out.println(2+2); //line 1
int i= 2+’2’; //line 2
String s= “one”+’two’; //line 3
byte b=256; //line 4
第1行和第2行是有效的语句。
第3行错误。 Java中因为单引号不能用于字符串,它们只能用于字符常量。字符串需要用双引号括起来。
第4行也是错误语句。字节变量b
不能分配值256
,因为它不在字节类型的范围内。
191.瞬态transient
关键字的用途是什么?
可以在实例变量上指定transient
关键字,表示当对象序列化时,不应保存其值,换句话说,对象序列化时不会序列化 transient
的实例变量 。考虑以下代码片段:
class Electronics implements Serializable {
transient private int price; //Line 1
private int quantity; //Line 2
}
当序列化Electronics
类的实例时,价格字段price
将不会序列化,只有数量字段quantity
会序列化。
192.什么是Java中的垃圾回收?
垃圾回收是释放分配给不再使用的对象的内存的过程。在Java程序运行期间,当创建对象时,JVM会分配一些内存来保存对象。JVM会定期检查正在使用的对象,并回收那些不再使用的对象的内存。有了垃圾回收 ,程序员再也不必费心地手动释放内存。
193.内存的哪一部分用于垃圾回收?JVM使用哪种算法进行垃圾回收?
垃圾回收是在堆内存中完成的。JVM在内部使用标记和扫描算法进行垃圾回收。
194.垃圾回收什么时候发生?
JVM(Java虚拟机)控制垃圾回收的过程。因此,JVM决定垃圾回收 何时运行。虽然可以通过Java代码调用System.gc()
或Runtime.getRuntime().gc()
方法显式请求垃圾回收。 但并不能保证调用这些方法会运行垃圾回收。
195.如何通过代码触发垃圾回收?
垃圾回收可以通过以下方式之一触发:
- 方法1: 使用
Runtime.gc()
如下:
Runtime runTime = Runtime.getRuntime();
runTime.gc();
- 方法2: 使用
System.gc()
如下:
System.gc();
这两种方法都不能保证垃圾被立即回收,它们只是请求JVM 执行垃圾回收,最终由JVM实际决定何时运行垃圾回收。
196. 哪些对象有资格进行垃圾回收?
如果一个对象不再被引用时,它就有资格进行垃圾收集。下面几个场景中的对象都有资格成为垃圾回收的对象:
场景1-将对象设置为空
String stringValue = “This is a String value”; //Line 1
stringValue = null; //stringValue 有资格被回收
场景2-重新分配变量
String str1 = “Hello”;
String str2 = str1; // str1 有资格被回收
场景3-在方法中创建的对象
public void doSomething(){
String str1 = “Hello”;
}
public void callMethod(){
doSomething();
//doSomething 方法中的str1有资格被回收
}
197.什么是函数接口? 如何创建函数接口?
函数接口是一个只有一个抽象方法的接口。为了创建一个函数接口, 只需要简单创建一个只有一个抽象方法的接口,如下所示:
@FunctionalInterface
public interface Multiplier {
public int multiply(int a, int b);
}
上述代码定义了一个名为Multiplier
的接口,它只有一个抽象方法multiply()
。并用@FunctionalInterface
注解 , 此注释是可选的,它将接口标记为函数接口。如果向接口添加另一个抽象方法,代码会导致编译错误。
198.解释java.util.Function
包。
java.util.function
是Java 8新增的包。它有很多内置的函数接口如下:
函数接口 | 描述 |
---|---|
Predicate | 用于测试条件。它返回一个布尔值,指示条件是true 还是false 。它接受任何数据类型的参数。 |
Consumer | 用于对值进行操作。它接受任何数据类型的参数并对其进行操作。返回void 。 |
Function | 用于转换输入值。它接受任何数据类型的参数,将其转换为一种新类型并返回。 |
Supplier | 用于产生一个任何数据类型的值。它不接受任何参数。 |
199. 解释java.util.function.Consumer
接口。
java.util.function.Consumer
是一个内置的函数接口 。它是Java 8添加的java.util.function
包的一部分。它有一个accept()
方法,接受任何数据类型的参数并对其进行操作,也就是消费。因为是函数接口,因此可以通过lambda表达式实现。如下代码所示 :
Consumer<String> printStr = val–> System.out.println(val); //Line 1
printStr.accept(“Hello World”); //Line 2
上述代码中,第1行创建一个名为printStr
的字符串类型Consumer
, 并用一个lambda表达式实现其accept()
方法,lambda表达式的主体逻辑是在控制台简单打印输入字符串 。第2行调用接口的accept
方法,传入参数是“Hello World”。因此,代码打印以下输出:
Hello World
200. Supplier
和Consumer
两个接口有什么区别?
这两个接口都是java.util.function
包中的内置函数接口。两者之间有几个区别如下:
-
Supplier
接口不接受参数,Consumer
接口接受一个范型 参数 -
Supplier
接口返回一个范型类型的数据 ,Consumer
接口没有返回 -
Supplier
接口主要用于产生特定数据类型的值,而Consumer
接口则对特定数据类型的输入值进行操作。
相关文章:
Java 基础面试300题 (171- 200)
Java 基础面试300题 (171- 200) 171.什么是同步? 当多个线程试图同时访问共享资源时,那么他们需要以某种方式让资源一次只能由一个线程访问。实现这一目标的过程被称为同步。Java提供了一个名为synchronized的关键字实现这一目标…...
0基础学习Elasticsearch-使用Java操作ES
文章目录 1 背景2 前言3 Java如何操作ES3.1 引入依赖3.2 依赖介绍3.3 隐藏依赖3.4 初始化客户端(获取ES连接)3.5 发送请求给ES 1 背景 上篇学习了0基础学习Elasticsearch-Quick start,随后本篇研究如何使用Java操作ES 2 前言 建议通篇阅读再回…...
【Linux】GNU编译器基础
文章目录 GCCMakefile、make GCC 常见的GNU编译器是GCC其包含gcc以及g等,适用于C/C中,在Windows系统中通常使用IDE进行程序的编写和编译、链接等操作,但在Linux系统中通常使用GNU编译器来进行,对于C/C等高级语言需要进行预编译、编…...
Linux 软件安装:从源码编译到包管理器安装
Linux 软件安装:从源码编译到包管理器安装 在 Linux 操作系统中,软件安装是一个非常重要的任务。不同的软件安装方式有不同的优缺点,本篇博客将介绍 Linux 软件安装的几种方式,包括从源码编译安装、使用包管理器安装和使用第三方…...
Python3 match-case 语句
前言 本文主要介绍match-case语句与switch-case的区别,及match-case语句的基本用法。 文章目录 前言一、switch-case 和match-case的区别二、match-case的基本用法1、可匹配的数据类型2、多条件匹配3、通配符匹配 一、switch-case 和match-case的区别 C语言里面s…...
图论第三天
似乎要团建了,我再猫会。我必须参与上团建再走。 130.被围绕的区域 先把外围的O变成A,再把飞地的O变成X,再把外围A变回O class Solution { public:int neighbor[4][2] {1,0,0,-1,-1,0,0,1};void solve(vector<vector<char>>&a…...
计算机网络学习2
文章目录 信道复用技术 第三章数据链路层概述数据链路层的三个重要问题封装成帧和透明传输差错检测可靠传输的相关基本概念可靠传输的实现机制停止等待协议回退N帧协议选择重传协议 点对点协议PPP共享式以太网网络适配器和MAC地址CSMA_CD协议的基本原理共享式以太网的争用期共享…...
unittest框架
目录 框架: unittest框架: 使用的原因: 核心要素(组成): TestCase测试用例: 可能出现的错误: TestSuite(测试套件): TestRunner(测试执行): 整体步骤: 查看执行结果: TestLoader测试加载: 方法级别Fixture: 类级别Fixture: 模块级别Fixture: 用例脚本…...
Python中的__str__和__repr__:揭示字符串表示的奥秘
标题:Python中的__str__和__repr__:揭示字符串表示的奥秘 摘要 在Python中,对象的字符串表示对于调试和日志记录至关重要。__str__和__repr__是两个特殊的方法,用于定义对象的字符串表示形式。尽管它们在功能上相似,…...
gazebo插入一个图片
在下面的目录下添加文件夹 my_ground_plane 文件夹内容如下 model.sdf <?xml version"1.0" encoding"UTF-8"?> <sdf version"1.4"><model name"my_ground_plane"><static>true</static><link na…...
(已解决)Bootstrap精美弹出框模态框modal,实现js向modal传递数据
Modals是Bootstrap中用户弹框用的组件,使用时不需要额外引入其他插件,在引入了boostrap.js或者boostrap.min.js前提下就可以使用。 官方的示例: <!-- Button trigger modal --> <button type="button" class="btn btn-primary" data-bs-…...
网络编程介绍(IP)(一)
定义:可以让设备中的程序与网络上其他设备中的程序进行数据交互(实现网络通信的)。 java.net.*包下提供了网络编程的解决方案。 基本的通信架构: CS架构( Client客户端/Server服务端 ): Clie…...
C语言 指针——函数指针
目录 什么是函数指针? 函数指针的定义 定义函数指针时的常见错误 函数指针有什么用? 函数指针的主要应用 什么是函数指针? 函数指针 (Function Pointer) 就是指向函数的指针变量 数据类型 ( * 指针变量名 ) ( 形参列表 ); 例如&#x…...
【C++】———list容器
前言 1.list容器简单来说其实就是之前的链表结构。 2.这里的list用的是双向带头结点的循环链表。 目录 前言 一 构造函数 1.1 list (); 1.2 list (size_type n, const value_type& val value_type() ); 1.3 list (InputIterator first, InputIterator last…...
【网络安全技术】——期末复习(冲刺篇)
📖 前言:快考试了,做篇期末总结,都是重点与必考点。 题型:材料分析题、简答题、看图分析题 课本: 目录 🕒 1. 计算机网络安全概述🕘 1.1 安全目标🕘 1.2 常见的网络安全…...
Python中Web开发-Django框架
大家好,本文将带领大家进入 Django 的世界,探索其强大的功能和灵活的开发模式。我们将从基础概念开始,逐步深入,了解 Django 如何帮助开发人员快速构建现代化的 Web 应用,并探讨一些最佳实践和高级技术。无论是初学者还…...
1882java密室逃脱管理系统 Myeclipse开发mysql数据库web结构java编程计算机网页项目
一、源码特点 java密室逃脱管理系统 是一套完善的web设计系统,对理解JSP java编程开发语言有帮助采用了java设计,系统具有完整的源代码和数据库,系统采用web模式,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发&…...
LeetCode 两两交换链表中的节点
原题链接24. 两两交换链表中的节点 - 力扣(LeetCode) 思路,请看图片的过程模拟,这里添加了一个哨兵节点0,目的是为了方便操作,得到指向1节点的指针。 class Solution {public:ListNode* swapPairs(ListNod…...
STM32作业实现(五)温湿度传感器dht11
目录 STM32作业设计 STM32作业实现(一)串口通信 STM32作业实现(二)串口控制led STM32作业实现(三)串口控制有源蜂鸣器 STM32作业实现(四)光敏传感器 STM32作业实现(五)温湿度传感器dht11 STM32作业实现(六)闪存保存数据 STM32作业实现(七)OLED显示数据 STM32作业实现(八)触摸按…...
java mybatis处理大数据量,开启和配置二级缓存,及注意事项,已解决
注意事项: 尽量避免使用下面方式写sql否则会降低服务器性能: mybatis二级缓存开启后,避免使用事务注解(加上事务注解后二级缓存数据会导致两次访问不一致问题): 3. 返回的对象实体类,要实现Se…...
在 LLM 架构中应用多专家模型
本文转载自:在 LLM 架构中应用多专家模型 2024年 3月 14日 By Kyle Kranen and Vinh Nguyen https://developer.nvidia.cn/zh-cn/blog/applying-mixture-of-experts-in-llm-architectures/ 文章目录 一、概述二、LLM 架构领域的专家齐聚一堂1、模型容量2、MoE 在降低…...
C语言编程代码软件:深入探索与实战应用
C语言编程代码软件:深入探索与实战应用 在编程的广袤领域中,C语言以其独特的魅力吸引着无数编程爱好者。作为一种基础且强大的编程语言,C语言在软件开发、系统编程、嵌入式系统等领域发挥着不可替代的作用。而要想熟练掌握C语言,…...
【AIGC半月报】AIGC大模型启元:2024.06(上)
AIGC大模型启元:2024.06(上) (1) ChatTTS(语音合成项目) (1) ChatTTS(语音合成项目) 2024.06.01 ChatTTS 文本转语音项目爆火出圈,引来大家极大的关注。短短三天时间,在…...
两款 IntelliJ IDEA 的 AI 编程插件
介绍两款 IntelliJ IDEA 的 AI 编程插件:通义灵码和 CodeGeeX。 通义灵码 这是由阿里推出的一个基于通义大模型的 AI 编码助手。 它提供了代码智能生成、研发智能问答等功能。通义灵码经过海量优秀开源代码数据训练,可以根据当前代码文件及跨文件的上下…...
语义化版本控制:软件工程的实用之道
语义化版本控制:软件工程的实用之道 在软件开发过程中,版本控制是确保项目稳定、有序进行的关键环节。随着项目的发展,功能的增加、错误的修复以及API的修改变得日益频繁。为了有效管理这些变化,并确保团队成员、用户以及依赖该软…...
Java设计模式总结
《武林外传》老白曾经说过这样一句话。高手就是手里无刀,心中也无刀。 类似于设计模式,你不知不觉中已经融进你的代码中了,但你并不知已经运用了。下面我总结几个我觉得比较常用的设计模式。 1:设计模式分类 总体来说设计模式分为…...
小米路由器如何设置去广告功能,如何设置小米路由器的自定义Hosts(小米路由器如何去除小米广告、去除小米电视盒子开屏广告、视频广告)
文章目录 📖 介绍 📖🏡 演示环境 🏡📒 实现方案 📒📝 操作步骤📝 注意事项⚓️ 相关链接 ⚓️📖 介绍 📖 小米设备的广告一直是用户头疼的问题,无论是开屏广告、应用内广告还是系统广告,都影响了用户体验。本文将详细介绍如何通过小米路由器实现去除广告…...
HCIP-Datacom-ARST自选题库__EBGP【18道题】
一、单选题 1.在排除EBGP邻居关系故障时,你发现两台直连设备使用Loopback口建立连接,故执行display current-configurationconfiguration bgp查看peer ebgp-max-hop hop-count的配置,下列哪项说法是正确的? hop-count必须大于2 hop-count…...
TypeScript算法每日一题:两数之和(167)
作者:前端小王hs 阿里云社区博客专家/清华大学出版社签约作者✍/CSDN百万访问博主/B站千粉前端up主 题库:力扣 题目序号:167(简单) 题目: 给你一个下标从1开始的整数数组 numbers ,该数组已按非…...
用docker搭建的Vulfocus镜像管理界面没有镜像可以拉取解决办法
ps:截止到今天2023.4.2,kali和vps的docker拉取的vulfocus镜像会有版本的区别,虽然都是拉取的最新版,vps上镜像为3个月以前,kali上为16个月以前,所以在修改 views.py 文件时,可能会发现文件内容不…...
CSPM.pdf
PDF转图片 归档:...
多个短视频剪辑成一个视频:四川京之华锦信息技术公司
多个短视频剪辑成一个视频:创作中的艺术与技术 在数字时代,短视频以其短小精悍、内容丰富的特点,迅速成为社交媒体上的热门内容形式。然而,有时单一的短视频难以完全表达创作者的意图或满足观众的观赏需求。因此,将多…...
算法第三天力扣第69题:X的平方根
69. x 的平方根 (可点击下面链接或复制网址进行做题) https://leetcode.cn/problems/sqrtx/https://leetcode.cn/problems/sqrtx/ 给你一个非负整数 x ,计算并返回 x 的 算术平方根 。 由于返回类型是整数,结果只保留 整数部分 ,小数部分将被…...
异常处理。
异常 是指程序运行中出现了错误。 捕获异常: 对bug进行提醒,使整个程序继续运行。 捕获所有异常: try:#可能出错的代码 except:如果出现异常执行的代码 可以输出异常的类型: try:a1bhuishprint(ab) except Exception as i:…...
MySQL—函数(介绍)—字符串函数(基础)
一、引言 提到函数,在SQL分类中DQL语句中有一个聚合函数,如COUNT()、SUM()、MAX()等等。这些都是一些常见的聚合函数,而聚合函数只是函数的一种,接下来会详细的学习和介绍一下函数的应用场景和以及 mysql 当中文件的函数有哪些。 …...
CTF本地靶场搭建——静态flag题型的创建
静态flag题型的创建 首先这里要说的是静态flag和动态flag。 在CTF(Capture The Flag)比赛中,静态flag的使用通常与特定的赛制或题目类型关联,而不是直接与题型绑定。静态flag意味着这些flag是预先设定好的,不会随比…...
基于Django的博客系统之用HayStack连接elasticsearch增加搜索功能(五)
上一篇:搭建基于Django的博客系统数据库迁移从Sqlite3到MySQL(四) 下一篇:基于Django的博客系统之增加类别导航栏(六) 功能概述 添加搜索框用于搜索博客。 需求详细描述 1. 添加搜索框用于搜索博客 描…...
开源VS闭源:大模型发展路径之争,你站哪一派?
文章目录 引言一、数据隐私1.1开源大模型的数据隐私1.2 闭源大模型的数据隐私1.3 综合考量 二、商业应用2.1 开源大模型的商业应用2.2 闭源大模型的商业应用2.3 商业应用的综合考量 三、社区参与3.1 开源大模型的社区参与3.2 闭源大模型的社区参与3.3 综合考量 结论 引言 在人…...
Python | Leetcode Python题解之第115题不同的子序列
题目: 题解: class Solution:def numDistinct(self, s: str, t: str) -> int:m, n len(s), len(t)if m < n:return 0dp [[0] * (n 1) for _ in range(m 1)]for i in range(m 1):dp[i][n] 1for i in range(m - 1, -1, -1):for j in range(n …...
STM32高级控制定时器应用之检测输入PWM周期和占空比
目录 概述 1 PWM 输入模式 1.1 原理介绍 1.2 应用实例 1.3 示例时序图 2 使用STM32Cube配置工程 2.1 软件环境 2.2 配置参数 2.3 生成项目文件 3 功能实现 3.1 PWM占空比函数 3.2 输入捕捉回调函数 4 功能测试 4.1 测试软件框架结构 4.2 实验实现 4.2.1 测试实…...
[AI Google] 三种新方法利用 Gemini 提高 Google Workspace 的生产力
Workspace 侧边栏中的 Gemini 现在将使用 Gemini 1.5 Pro,新的 Gemini for Workspace 功能即将登陆 Gmail 移动应用,等等。 Gemini for Google Workspace 帮助个人和企业更好地利用 Google 应用——从在 Gmail 中撰写邮件到在 Sheets 中组织项目计划。过…...
【U-Net验证】逐元素乘积将特征投射到极高维隐式特征空间的能力
写在前面:本博客仅作记录学习之用,部分图片来自网络,如需使用请注明出处,同时如有侵犯您的权益,请联系删除! 文章目录 前言网络结构编码结构解码结构代码 实验实验设置w/o-ReLU的性能比较with-ReLU的性能比…...
快团团大团长帮卖如何导出单个团购的订单?免费教程教你怎么做!
一、小程序端如何导出单个团购的订单? 进入团购页面,在订单管理——订单导出中,点击订单数据表格,可导出到邮箱,或通过在浏览器中查看下载链接 二、电脑端如何导出单个团购的订单? 1、如何自定义选择订单信…...
services层和controller层
services层 我的理解,services层是编写逻辑代码语句最多的一个层,非常重要,在实际的项目中,负责调用Dao层中的mybatis,在我的项目中它调用的是这两个文件 举例代码如下 package com.example.sfdeliverysystem.servic…...
Pycharm编辑器下自定义模块导入报错:no module named问题
相信很多使用pycharm 社区版编写python 程序的初学者都会遇到这样一个看似简单但是一时半刻找不到解决头绪的问题: 在同个目录下导入自己编写的模块到主程序的过程中,直接import的时候会报错:ModuleNotFoundError。 通过各种方法尝试以后还是…...
C#使用GDI对一个矩形进行任意角度旋转
C#对一个矩形进行旋转GDI绘图,可以指定任意角度进行旋转 我们可以认为一张图片Image,本质就是一个矩形Rectangle,旋转矩形也就是旋转图片 在画图密封类 System.Drawing.Graphics中, 矩形旋转的两个关键方法 //设置旋转的中心点 public v…...
打印机的ip不同且连不上
打印机的ip不同且连不上 1.问题分析2.修改网段3.验证网络 1.问题分析 主要是打印机的网段和电脑不在同一个网段 2.修改网段 3.验证网络...
关于linux程序的查看、前台运行、后台运行、杀死的管理操作。
前言 在Linux中, 程序(program)是放在磁盘上的程序,是不会执行的。 进程(process)是程序被触发,从而加载到内存中的,会被CPU随机执行。 Linux中,有非常多的进程在实时运…...
STM32作业设计
目录 STM32作业设计 STM32作业实现(一)串口通信 STM32作业实现(二)串口控制led STM32作业实现(三)串口控制有源蜂鸣器 STM32作业实现(四)光敏传感器 STM32作业实现(五)温湿度传感器dht11 STM32作业实现(六)闪存保存数据 STM32作业实现(七)OLED显示数据 STM32作业实现(八)触摸按…...
PHPSTOM配置Laradock,xdebug,phpunit
原理图: 片面理解: phpstorm启用一个9000端口,这个端口用来接收到信息后,启用xdebug功能。服务器端(docker), 当客户端访问laravel项目域名后, 并读取xdebug.ini的配置, 把调试的请求数据, 向配置里面的端口发送消息, 配置里面的端…...