- 博客(14)
- 收藏
- 关注
原创 mysql基础
聚簇索引:将数据存储与索引放到了一块,找到索引也就找到了数据非聚簇索引:将数据与索引分开存储,索引结构的叶子节点指向了数据的对应行一般情况,都会设置一个默认值,不会出现字段里面有null为空的情况。主要有以下几个原因:索引性能不好,Mysql难以优化引用可空列查询,它会使索引、索引统计更加复杂。可空列需要更多的存储空间,还需要mysql内部进行特殊处理。可空列被索引后,每条记录都需要一个额外的字节,还能导致MYisam 中固定大小的索引变成可变大小的索引。
2025-11-27 11:39:25
258
原创 javase基础
Java 序列化(Serialization)是指将 Java 对象转换为字节序列,以便可以存储到磁盘或通过网络传输。将对象持久化(保存到磁盘、数据库)网络传输中的对象传递(如 RPC、Socket)HTTP Session 中保存用户状态RMI(远程方法调用)中传输对象如何实现 Java 序列化?实现接口使用进行序列化使用进行反序列化线程池是一种线程管理机制,它提前创建一定数量的线程,线程复用执行多个任务,避免了频繁创建和销毁线程带来的开销,从而提高系统性能和响应速度。
2025-11-27 10:28:19
813
原创 spring事务面试题
本地事务通过 ACID 保证数据的强一致性。ACID 是 Atomic(原子性)、Consistency(一致性)、 Isolation(隔离性)和 Durability(持久性)的缩写。在实际开发过程中,我们或多或少都有使用到本地事务。例如,MySQL 事务处理使用到 begin 开始一个事务,rollback 事务回滚,commit 事务确认。这里,事务提交后,通过 redo log 记录变更,通过 undo log 在失败时进行回滚,保证事务的原子性。
2023-05-29 16:13:38
398
原创 RocketMq面试题
比如写队列个数是8,设置的读队列个数是4,这个时候,会创建8个文件夹,代表0 1 2 3 4 5 6 7,但在消息消费时,路由信息只返回4,在具体拉取消息时,就只会消费0 1 2 3这4个队列中的消息,4 5 6 7中的信息压根就不会被消费。比如在 Kafka 中,一个 Topic 可以配置多个 Partition(分区),数据会被写入到多个分区中,但在消费的时候,Kafka 约定一个分区只能被一个消费者消费,Topic 的分区数量决定了消费的能力,所以,可以通过增加分区来提高消费者的处理能力。
2023-05-29 16:04:53
538
1
原创 运行maven打包项目没有主清单属性
在运行使用maven打包的项目之后,运行项目发现主类没有找到。提示XXX–1.0-SNAPSHOT.jar中没有主清单属性问题原因maven在打包时没有配置主类。解决方案如果您使用的是Springboot框架,那么只需要在pom.xml中添加如下配置,会自动检测主类。<build> <plugins> <plugin> <groupId>org.springframework.boot</grou
2022-01-21 11:45:38
819
原创 com.alibaba.nacos.api.exception.NacosException: <html><body><h1>Whitelabel Error Page</h1><p>This ap
当Nacos开启了认证配置nacos.core.auth.enabled=true时,在相应的微服务应用内需要配置连接Nacos1.3.2的账号:也就是使用spring.cloud.nacos.username和spring.cloud.nacos.password进行配置,正常应用连接是没问题的,但是发现如果应用内使用了spring-cloud-starter-oauth2这个包,项目启动时虽然能正常注册到Nacos并且配置中心的配置也能正常读取,但是控制台会抛出以下错误:[2021-12-22 11:
2021-12-22 14:51:28
19263
原创 springboot的拦截器中注入redisTemplate为null的解决办法
springboot的拦截器中注入redisTemplate为null:原因:拦截器加载于IOC之前,所以这个时候注入RedisTemplate时是null解决:在SpringBoot配置类中做出如下调整,将自定义拦截器也加入到配置中,在拦截器执行的时候实例化拦截器Bean...
2021-10-16 13:38:35
721
原创 typora设置自动图片上传
typora设置自动图片上传1.打开偏好设置2.图像设置3.下载好picgo后,插件设置搜索gitee,需要安装node.js4.安装之后设置gitee图床信息,且为默认图床owner:gitee邮箱名,不带后缀repo:gitee仓库名path:选填,可以在仓库中建目录token:gitee个人设置,私人令牌,生成新令牌若picgo安装插件一直安装不上,或一直显示安装中原因:插件安装需要使用npm命令,npm命令对于安装的操作需要使用管理员权限,当前windows账户的权限不
2021-10-09 22:37:24
270
原创 SpringBoot项目,业务模块引用公共模块,在业务模块启动时不能启动,报如下错误,但maven已经引入,并且没有爆红等,显示公共模块中的包不存在
SpringBoot项目,业务模块引用公共模块,在业务模块启动时不能启动,报如下错误,但maven已经引入,并且没有爆红等,显示公共模块中的包不存在
2021-10-09 15:25:58
1402
原创 【idea Git解决】these untracked files would be overweitten by checkout
master分支开发分支(开发环境和测试环境使用)dev分支(开发分支新建分支开发新功能)缘由:在dev分支开发时,建了两个新的类,add ,commit后,切换回开发分支,pull,merge,push,无法push成功,并且在切换回dev分支时切换不成功,报如下错误these untracked files would be overweitten by checkout9:18 Can't checkout because of unmerged files You have to r
2021-09-26 10:05:43
10948
原创 编译、运行
一、开发第一个java程序:HelloWorld1.1、程序写完之后,一定要Ctrl+s进行保存 新建一个文件,后缀改为.java// 这是一个类,类名叫做HelloWorldpublic class HelloWorld{ public static void main(String[] args){ System.out.println("Hello World"); }} 需要注意的是:java源代码只要修改,必须重新编译。重新编译生成新的class字节码文件。1.2
2021-04-09 23:02:29
413
3
原创 JDK、JRE、JVM
1、Java语言的特性1.1、简单性 在Java语言当中真正操作的是:JVM(Java虚拟机) 所有的java程序都是运行在Java虚拟机当中的。 Java语言底层是C++,所以JVM是用C++语言写好的一个虚拟的电脑。JVM在哪里?安装了JDK之后,JVM就代表安装好了。对于计算机来说,最主要的几个部件是什么? CPU:中央处理器,负责发送并执行指令。负责计算的 内存:程序运行过程中的临时存储空间。断电之后或者关机后内存中的数据就消失了。 硬盘:持久化设备,硬盘上的设备不会
2021-04-09 22:19:16
216
原创 常用的DOS命令
常用的DOS命令1.1、怎么打开DOS命令窗口 win键+R(组合键):可以打开“运行窗口在运行窗口文本框中输入:cmd,然后回车1.2、什么是DOS命令呢? 在DOS命令窗口中才可以输入并执行DOS命令。在最初的Windows计算机中是没有界面的,只有DOS命令窗口。也就是通过执行DOS命令窗口完全可以完成文件的新建、编辑、保存、删除等一系列的操作。1.3、创建/删除目录 mkdir abc(这个命令不是必须掌握的)make directory(创建目录) 创建一个目录(文件夹),起
2021-04-09 21:43:58
542
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅