Java基础面经——字符串相关

Java中的字符串就是Unicode字符序列。Java中没有内置的字符串类型,每个用双引号括起来的字符串都是Java中String类的一个实例。

子串

String类中提供了substring()方法来从一个字符串中截取出一部分返回一个小的子串。

String str = "hello";
String s = str.substring(0,3);
System.out.println(s);
输出
hel

substring方法是包含头不包含尾的一个半开的区间。

字符串拼接

Java中允许使用+号对字符串进行拼接。如果一方为字符串一方不为字符串,则会将其转化为字符串然后拼接。如果与字符串拼接的是一个对象,则会调用其toString方法后进行拼接。

System.out.println("12" + 23);
System.out.println("12" + 
### MyBatis-Plus 试常见问题及答案 #### 一、MyBatis-Plus简介及其优势 MyBatis-Plus 是基于 MyBatis 的增强工具,旨在简化 MyBatis 开发,提高开发效率,减少代码冗余。对于Java开发者而言,在试中展示对这一框架的理解非常重要[^1]。 #### 二、条件构造器的作用 条件构造器是MyBatis-Plus提供的一种用于构建复杂查询条件的功能组件。通过它能够更加灵活方便地组合各种SQL查询条件,从而满足业务需求的变化。这仅提高了编码效率也增强了程序可读性和维护性[^2]。 #### 三、分页插件工作原理 为了处理大数据量情况下的性能瓶颈问题,MyBatis-Plus内置了一个高效的分页插件。该插件可以在改变原有SQL语句的基础上自动完成数据分页操作,并返回指定范围内的记录集合给前端页显示。这种方式既简单又高效,极大地方便了Web应用的数据展示层设计。 #### 四、乐观锁机制解析 所谓“乐观锁”,是指每次更新前先检查当前版本号是否与数据库中存储的一致;如果一致则认为发生了并发冲突并阻止此次修改尝试。而在MyBatis-Plus里实现了这种机制——即每当执行insert或update命令时都会自动生成version字段用来追踪实体对象的状态变化过程。一旦检测到有其他事务抢先完成了提交动作,则本次更改将会失败以确保数据一致性得到保障。 #### 五、逻辑删除概念说明 同于物理意义上的真正移除某条记录,“逻辑删除”只是将其标记为已失效状态而实际销毁其内容本身。具体来说就是新增加一个名为deleted的小整型属性,默认值设为0表示正常存在;当需要对该行做假性清除时只需将此标志位设置成非零即可达到目的。这样做可以有效防止误删重要资料的同时还便于日后恢复历史信息查阅。 ```java // 示例:启用逻辑删除功能配置 public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); // 启用全局逻辑删除规则 GlobalConfig globalConfig = new GlobalConfig(); LogicDeleteStrategy logicDeleteStrategy = new DefaultLogicDeleteStrategy("deleted", "0", "1"); globalConfig.setLogicDeleteValue(logicDeleteStrategy.getDeletedVal()); globalConfig.setLogicNotDeleteValue(logicDeleteStrategy.getNotDeletedVal()); mybatisPlusProperties.setGlobalConfig(globalConfig); } } ``` #### 六、# 和 $ 符号的区别 在MyBatis中`#{}`和`${}`分别代表两种同的占位符表达方式。前者属于预编译参数化形式,后者则是字符串拼接模式。通常建议优先采用安全系数更高的`#{}`来进行变量替换因为这样能有效预防SQL注入攻击风险的发生;而只有在特殊场景下才考虑使用${}比如动态表名等情况[^3]。 #### 七、关于一级缓存的工作流程描述 MyBatis自带了一级缓存机制,默认情况下处于开启状态。它是作用域限定于单个SqlSession实例级别的本地内存缓冲区(PerpetualCache),主要用于保存同一会话期间内重复执行过的查询结果集以便下次可以直接从中取回无需再次访问底层持久化层。过需要注意的是随着sqlsession关闭之后所有关联着它的临时性资源都将随之释放掉包括但限于上述提到的cache区域[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值