- 博客(20)
- 收藏
- 关注
原创 【LeetCode.No125验证回文串】StringBuilder.reverse()是否会反转并赋值回其字符串本身?
今天在做力扣算法题时,偶然间注意到一个bug,我们先来看题如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个回文串。字母和数字都属于字母数字字符。给你一个字符串 s,如果它是 回文串 ,返回 true;否则,返回 false。示例 1:输入: s = “A man, a plan, a canal: Panama”输出:true解释:“amanaplanacanalpanama” 是回文串。
2024-10-02 05:00:41 729 1
原创 【Java基础面试题】short s1 = 1; s1 = s1 + 1;与 short s1 = 1; s1 += 1; 有错吗?
这种隐式的类型转换是因为 Java 中的复合赋值运算符会自动进行类型适配,以确保赋值操作的安全性和正确性。是一个复合赋值运算符,它会隐式地执行类型转换。是有区别的,后者会导致编译错误,因为需要显式地将。在 Java 中,对于表达式中的运算符。操作符的存在,避免了显式类型转换的需要。),则会自动将这些操作数提升为。类型,然后将结果赋值给左侧的。是一个整型字面量(默认是。,如果操作数中有一个是。类型,不能直接赋值给。,所以会导致编译错误。
2024-06-27 00:03:12 201
原创 【Java基础面试题】float f=3.4;是否正确?
是一个双精度浮点数(double),而不是单精度浮点数(float)。在 Java 中,浮点数默认被当做双精度类型处理,如果要将其赋值给一个单精度类型的变量,需要进行显式类型转换或者在数字后面加上。类型的变量,因此会导致编译错误。所以,正确的做法是在数字后面加上。,这样就明确指定了这是一个单精度浮点数,这样可以将。明确地转换为单精度浮点数类型,使得赋值语句合法。类型,而这不能直接赋值给一个。在 Java 中,赋值语句。
2024-06-26 23:53:28 242
原创 【Java基础面试题】Math.round(11.5) 等于多少?Math.round(-11.5)等于多少?
方法可以用来对一个浮点数进行四舍五入,并返回最接近的整数。被四舍五入到最接近的整数,而最接近。被四舍五入到最接近的整数,而最接近。
2024-06-26 23:36:41 255
原创 【Java基础面试题】 switch 是否能作用在 byte 上,是否能作用在 long 上,是否能作用在 String上?
换句话就是byte 和 short 类型的取值范围都可以被 int 类型完全覆盖。byte 的取值范围是 -128 到 127,在转换为 int 类型时不会导致精度损失或溢出。类型的值在Java中是64位的,它的取值范围更大,不像。那样可以被编译器在常量表达式中使用。或其他类型上进行条件分支判断,可以考虑使用。(Java 7及以上版本)以及枚举类型上。(Java 7及以上版本)。、枚举(Java 5及以上版本)、语句在 Java 中可以作用在。(Java 7及以上版本)、(Java 7及以上版本)、
2024-06-26 23:10:09 252
原创 Vuex中的 state, mutatio, actionn, commit, dispatch 的用法
mutation 来增加计数器的值。这展示了 action 可以包含异步操作,并且可以提交多个 mutation。这些概念的结合使用让我们可以更好地管理应用程序的状态和行为。这种模式使得应用程序的状态变得可预测,易于测试和维护。使用 Vuex 的好处之一是能够将应用程序的状态和逻辑分离。则是分别用来触发 mutation 和 action 的方法。可以包含任意异步操作,并且可以提交多个 mutation。接着,定义一个包含异步操作的。存储应用程序的状态,使用。首先,定义一个包含状态的。
2024-01-31 23:32:04 514
原创 JavaScript 中的可选链操作符与逻辑空值合并运算符
逻辑空值合并运算符(Nullish Coalescing Operator)是JavaScript ES2020引入的另一个新特性,用于判断一个表达式是否为null或undefined,并在表达式为null或undefined时返回一个默认值。运算符,直接访问深层嵌套对象中的属性或方法,同时避免了因为属性或方法为null或undefined而导致的TypeError错误。但是,如果这些属性或方法中的任何一个为null或undefined,就会导致TypeError错误。它与传统的逻辑或运算符。
2024-01-29 23:47:17 433
原创 import { routes } from “@/router/routes“; 与 import routes from “@/router/routes“;有什么区别
在实际使用中,如果一个模块只有一个默认导出,使用第一种导入方式;如果一个模块有多个按需导出的变量或函数,使用第二种导入方式。两种方式都是用于从其他模块中导入所需的变量或函数,选择使用哪种取决于被导入模块中的导出方式。这种语法使用的是 ES6 的模块导入语法,它从指定的模块中导入特定的变量或函数。这两种导入方式分别是使用了不同的 JavaScript 模块系统语法。这种语法也是 ES6 的模块导入语法,但它是。在这个例子中,它导入了整个。模块,并将其赋值给了名为。
2024-01-28 20:30:24 533 1
原创 TS1258: A default export must be at the top level of a file or module declaration.
然而,由于其设计初衷是为了简化常见的模式,因此有一些限制,其中之一就是不支持 ES 模块的直接导出。这是因为默认导出应该是文件或模块的主要导出,而不是包含在其他作用域(如函数或条件语句)中的局部导出。中使用 ES 模块的导出,符合 Vue 3 的规范和 ESLint 的要求。中,只能使用变量和函数的局部导出,而不能直接使用 ES 模块的导出语法。中,只能使用变量和函数的局部导出,而不能直接使用 ES 模块的导出语法。时,应该将其放在文件或模块的顶层,而不是嵌套的作用域内部。块中不能包含 ES 模块的导出。
2024-01-28 17:38:02 852 1
原创 Node.js高版本降为低版本
【win+R】 输入 cmd 回车进入命令界面,输入以下命令,安装指定版本的NodeJS。检查nvm是否安装成功,【win+R】 输入 cmd 回车进入命令界面,输入 nvm。打开nvm安装目录下的settings.txt文件,在最后添加以下代码,保存退出。若有不同版本的使用需求,可重复执行1~3步,安装不同版本的Node.js,使用。进入控制面板,找到所安装的node.js并卸载。依次输入以下命令行即可查看node及npm的版本。命令进行不同版本的Node.js之间的切换。
2024-01-07 01:16:47 5721 1
原创 win11安装及使用Node.js步骤
注意:若执行命令npm install express -g 出现如下报错,是由于权限的原因,回到安装目录,右击Nodejs文件夹->属性->安全,点击编辑,将所有权限全部勾上允许即可。快捷键 【win+R】 输入 cmd 回车进入终端,依次输入以下命令行即可查看node及npm的版本。2.创建完两个空文件夹之后,按下【win+R】输入cmd,然后回车,输入下面命令。【win+R】输入cmd,然后回车,输入下面命令。【win+R】输入cmd,然后回车,输入下面命令。),下载node.js安装包。
2024-01-06 23:36:05 2246 1
原创 Typora的破解
点击导航栏->帮助->我的许可证,可以看到Typora已经激活。找到相应语句将对应hasActivated改为true,进入你安装好的目录并找到如下文件,选择用记事本开(保存退出,重启Typora。
2023-12-24 21:52:25 855 2
原创 数据库中的逻辑删除
通过在数据库表中添加一个表示删除状态的字段,并在查询数据时过滤已被逻辑删除的数据,可以实现逻辑删除的效果。逻辑删除保留了数据的历史记录并提供了恢复和审计功能,但需要注意逻辑删除并非适用于所有情况,特定的业务需求可能需要考虑使用其他删除方式。逻辑删除的好处是,在删除数据时不会真正地删除它们,而是保留数据的历史记录。然而,需要注意的是逻辑删除只是一种软删除方式,对于一些敏感数据或需要完全删除的情况,物理删除可能更合适。逻辑删除是一种软删除的手段,它通过将数据的状态标记为已删除,而不是直接从数据库中删除数据。
2023-08-25 16:50:59 1414 1
原创 探索Java数组底层原理
当我们创建一个数组时,JVM在堆内存中为数组分配一段连续的空间,每个数组元素在内存中占据一定的连续空间。对于基本数据类型,元素的内存空间大小是固定的,而对于引用数据类型,每个元素实际上存储的是对象的引用,也占据固定大小的内存空间。因此,无论数组的长度是多少,通过索引进行数组元素的随机访问所需的时间是恒定的。在内存中,数组的第一个元素被放置在数组的起始地址处,后续元素依次排列在前一个元素之后。可以看到,数组元素0的地址加上4等于数组元素1的地址,其它元素也是一样,因此可以知道,这是一块连续的内存。
2023-08-24 23:45:20 501 1
原创 Java中的自动“装箱”和“拆箱”操作
这意味着,当我们需要将一个int,float,double等基本数据类型的值赋给一个Integer,Float,Double等包装类对象时,编译器会自动进行转换操作。但是在进行自动拆箱时,需要注意避免空指针异常,因为一个包装类对象可能为空。这意味着,当我们需要将一个包装类对象赋给一个基本数据类型变量时,编译器会自动进行拆箱操作。为了避免空指针异常,需要在进行自动拆箱之前,确保包装类对象非空。在Java中,自动装箱和拆箱是指基本数据类型和对应的包装类之间的转换操作。,然后在进行自动拆箱操作时,尝试将。
2023-08-23 18:04:07 166
原创 JVM(Java虚拟机)
JVM(Java虚拟机)是Java平台的核心组成部分之一。它是一个虚拟的计算机,可以在不同的操作系统上运行Java字节码(.class文件),实现了Java的跨平台特性。JVM负责将Java字节码翻译成特定平台的本地机器码,以便在操作系统上执行。以下是一些与JVM相关的重要概念:Java字节码:Java源代码经过编译生成的中间代码,它是在JVM上执行的指令集。Java字节码是平台无关的,可以在任何支持JVM的操作系统上运行。
2023-08-23 16:54:11 74
原创 实体类与数据库字段不匹配问题:java.sql.SQLSyntaxErrorException: Unknown column ‘user_name‘ in ‘field list‘
是否开启自动驼峰命名规则(camel case)映射,即从经典数据库列名 A_COLUMN(下划线命名) 到经典 Java 属性名 aColumn(驼峰命名) 的类似映射。此属性在 MyBatis 中原默认值为 false,在 MyBatis-Plus 中,此属性也将用于生成最终的 SQL 的 select body。错误意思是“字段列表”中的数据字段“user_name”未知列,真的是奇了怪了,我命名时用的是驼峰命名,明明没有用到。这样的下划线命名,为啥会报这样的错呢?在运行代码的时候却报了如下的错误。
2023-08-23 00:36:04 1258
原创 浅谈“垃圾回收”机制中的“压缩”
需要注意的是,内存压缩可能会导致一定的性能开销,因为需要移动对象并更新相应的引用。因此,不是所有的垃圾回收器都会进行内存压缩操作。具体使用何种垃圾回收器以及是否进行内存压缩,取决于JVM的实现和配置。在垃圾回收的过程中,为了提高内存的利用效率,一些垃圾回收器会执行内存压缩(Compacting)操作。内存压缩的目的是将存活的对象移动到一端,使得剩余的内存空间保持连续,从而解决内存碎片化的问题。通过内存压缩,剩余的内存空间变为连续的,可以充分利用内存来存储新的对象,减少内存碎片化的问题。
2023-08-22 23:20:24 91
原创 Java中的常量池
在Java编译过程中,编译器会将源代码中出现的字面量常量(如字符串、整数、浮点数等)和符号引用(如类和方法的全限定名、字段的名称和类型描述符等)保存在常量池中。常量池由多个常量表(Constant Tables)组成,每个常量表存储特定类型的常量。常见的常量表类型包括字符串常量表、类常量表、字段常量表、方法常量表等。通过在字节码中保存常量的索引和引用,可以避免重复存储相同的常量数据,并且在运行时可以通过索引快速定位和访问常量。通过在运行时动态修改和访问常量池中的常量,可以实现一些高级的编程技巧和特性。
2023-08-22 23:08:55 202 1
原创 Java基础知识(初学)
1. 历史和发展Java是由James Gosling和Sun Microsystems团队于1995年开发的一种计算机编程语言。最初被设计为一种用于家用电器控制的嵌入式语言,而后应用范围逐渐扩展到Web开发、企业应用、移动应用等领域。Java最初命名为Oak,但后来改名为Java,以和其他同名语言区分开来。Java的版本演进中引入了许多功能和增强,以提高性能、安全性和开发效率。2. 特点和优势面向对象编程语言:Java通过类和对象的概念支持面向对象编程,强调代码的组织、可重用性和灵活性。
2023-08-21 20:58:03 591 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人