Markdown 入门基础
Markdown 是一种轻量级的标记语言,可用于在纯文本文档中添加格式化元素。 基本语法 所有 Markdown 应用程序都支持这些元素。
欢迎回来......
Markdown 是一种轻量级的标记语言,可用于在纯文本文档中添加格式化元素。 基本语法 所有 Markdown 应用程序都支持这些元素。
迭代器遍历 迭代器在Java中的类是Iterator,迭代器是集合专用的遍历方式 Collection集合获取迭代器 方法名称 说明 Iterator<E> iterator() 返回迭代器对象,默认指向当前集合的0索引 Iterator中的常用方法 方法名称 说明 boolean hasNext(
Spring Cache是一个框架,实现了基于注解的缓存功能,只需要简单地加一个注解,就能实现缓存功能。 Spring Cache提供了一层抽象,底层可以切换不同的缓存实现,例如: EHCache Caffeine Redis 1,引入依赖 <dependency> <groupId>org
1.定义拦截器,实现HandlerInterceptor接口,并重写其所有方法。 @Component @Slf4j public class DemoInterceptor implements HandlerInterceptor { @Override public boole
切换Druid数据库连接池 <!-- druid--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.2.20
面试官:RabbitMQ-如何保证消息不丢失 候选人: 嗯!我们当时MYSQL和Redisl的数据双写一致性就是采用RabbitMQ实现同步的,这里面就要求了消息的高可用性,我们要保证消息的不丢失。主要从三个层面考虑 第一个是开启生产者确认机制,确保生产者的消息能到达队列,如果报错可以先记录到日志中
面试官:事务中的隔离性是如何保证的呢?(你解释一下MVCC) 候选人:事务的隔离性是由锁和mvcc实现的。 其中 MVCC 的意思是多版本并发控制。指维护一个数据的多个版本,使得读写操作没有冲突,它的底层实现主要是分为了三个部分, 第一个是隐藏字段,第二个是undo log日志,第三个是readVi
面试官:SQL语句执行很慢,如何分析呢? 候选人:如果一条sql执行很慢的话,我们通常会使用 mysql自动的执行计划explain来去查看这条sql的执行情况,比如在这里面可以通过key和key_len检查是否命中了索引,如果本身己经添加了索引,也可以判断索引是否有失效的情况,第二个,可以通过 t
面试官:Redis的数据淘汰策略有哪些? 候选人: 这个在redis中提供了很多种,默认是noeviction,不删除任何数据,内存不足直接报错, 是可以在 redis 的配置文件中进行设置的,里面有两个非常重要的概念,一个是LRU,另外一个是LFU LRU的意思就是最少最近使用,用当前时间减去最后
SQLite数据库操作: import sqlite3 conn = sqlite3.connect('example.db') c = conn.cursor() # 创建表 c.execute(''' CREATE TABLE stocks (date text, trans text, sy