1 自我介绍 2 Java基础static关键字是用来干什么的,static修饰的方法里面可以使用非静态的成员变量吗,为什么呢 private修饰的方法是否可以被子类覆盖 覆盖和重载有什么区别 进程跟线程的区别 Java中创建线程有几种方式 a. 反思:讲完三种方式之后,应该深入对比各种方式的优劣性,拖时间,还显得我有深度,嗯 线程有那些状态 线程被中断跟被阻塞有什么区别 什么是死锁 JVM的场景下怎么去发现死锁 Java中有哪些集合类 如...
1.Redis为什么能这么快? 2.说说I/O多路复用模型 3.说说你用过的redis数据类型String:最基本数据类型,二进制安全,可以存储图片Hash:String元素组成的字典,适用于存储对象List:列表,按照String元素插入顺序排序,可以用来实现最新消息排行榜功能Set:String元素组成的无序集合,通过hash表实现,不允许重复。由于提供了求交集的函数,可以用来实现微博关注,展示共同关注,共同兴趣爱好等功能ZSet:通过分数来为集合中的成...
Mysql基础SELECT DISTINCT price FROM product; // 去重查询truncate与delete的异同:truncate是DDL,操作不会进行存储不能进行事务回滚,而delete是DML,会被回滚 truncate是删除整个表 truncate事务日志少,速度较快,delete则速度慢,但相对安全许多 delete数据不会对数据库的查询效率有所改变,而truncate会使数据库容量被重置,DML速度提高修改表名:rename table [xxx] [old] to [new]; / alter table [xxx] rename [new]...
1、MySQL 中有哪几种锁?1.表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。 2.行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。 3.页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般。2、MySQL 中有哪些不同的表格? 共有 5 种类型的表格:MyISAM Heap Merge INNODB ISAM3、简述在 MySQL 数据库中 ...
前段时间,有个朋友拿到了这个文档,说多亏了这个文档,在金三银四的时候帮了很大的忙,经检测有效,决定把这个文档分享出来,希望能帮到更多的人,这里面的面试题,都是常见的高频面试题,整理出来也花了很长的时间,但或许能帮到你!!详细题目类型见下文 JavaOOP面试题 Java集合/泛型面试题Java异常面试题Java中的IO与NIO面试题由于篇幅有限,资料过大,有需要获取面试手册文档的朋友请见文末 Java反射面试题Java序列化面试题Ja...
InnoDB可重复读隔离级别下如何避免幻读? 表象:快照读(非堵塞读) 在Repeatable-read隔离级别下,如果先在别的事务操作数据之前,创建了快照读,不管别的事务怎么操作数据,当前事务再次使用快照读时,查到的依旧是老版本的数据。 内在:next-key锁(行锁+gap锁) 真正防止幻读发生是因为事务在Repeatable-read隔离级别以上(包括)对数据加了next-key锁。next-key锁由行锁和gap锁组成。 next-key锁 由行锁和gap锁组成...
6.1 SQL 语言的功能有哪些 SQL 是结构化查询语言(Structured Query Language)的缩写。 基本的 SQL 语句有 select、insert、update、delete、create、drop、grant、revoke 等。其具体使用方式见表 6-1。 ======================= end点赞 收藏分享文章举报康冕峰发布了95 篇原创文章 · 获赞 20 · 访问量 6万+私信 关注
1、Redis是什么?都有哪些使用场景?Redis是一个使用C语言开发的高速缓存数据库。Redis使用场景:1)记录帖子点赞数、点击数、评论数;2)缓存近期热帖;3)缓存文章详情信息;4)记录用户会话信息。 2、Redis有哪些功能?1)数据缓存功能;2)分布式锁的功能;3)支持数据持久化;4)支持事务;5)支持消息队列。 3、Redis和memcache有什么区别?1)存储方式不同:memcache把数据全部存在内存之中,断电后会挂掉,数...
1. 什么是 Redis? Redis 本质上是一个 Key-Value 类型的内存数据库,很像 memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据 flush 到硬盘上进行保存。因为是纯内存操作,Redis 的性能非常出色,每秒可以处理超过 10 万次读写操作,是已知性能最快的 Key-Value DB。 Redis 的出色之处不仅仅是性能,Redis 最大的魅力是支持保存多种数据结构,此外单个 value 的最大限制是 1GB,不像 memcached 只能...
知识点汇总 关系数据库 Oracle MySql MariaDB PostgreSQL NoSQL redis mongoDB hbase Cassandra pika NewSQL TiDB OceanBase 事务特性(ACID) 原子性 一致性 隔离性 持久性 事务类型 扁平事务 带保存点的扁平事务 链事务 嵌套事务 分布式事务 分布式事务解决方案: XA规范----2PC、3PC TCC 消息事务 GTS/Fescar 数据库范式 第一范式 第二范式 第三范式 巴斯-科德范式 第四范式 第五范式
基础:基本存储结构:页(大小16KB) 各个数据页组成双向链表,每个数据页的记录组成单向链表索引:数据库中一个或几个列以特定数据结构存储(B-Tree Hash),减少查找时间(将无序的数据变成有序)聚簇索引 & 非聚簇索引:按照数据存放的物理位置为顺序,提高多行检索速度 加快单行检索聚集索引 & 非聚集索引:聚集索引:以主键创建的索引 叶子节点存放表中数据非聚集索引以非主键创建的索引 叶子节点存放主键和索引列 覆盖索引:...
问题:请讲下在JDK6 JDK7 JDK8中java内存区域有什么不同吗 分析:该问题主要考察对JVM运行时区域的了解,首先要了解最基本的内存区域划分,然后再去掌握其中的变化,再延申一点,为什么要这样变化; 回答要点: 主要从以下几点去考虑, 1、内存区域的基本划分是什么? 2、内存区域在不同的版本下是怎么变化的? 3、内存区域为什么会有这样的变化? jvm运行时区域分为堆、方法区、虚拟机栈、本地方法栈、程序计数器; 在不同版本的...
问题:请讲下java内存区域? 分析:该问题比较容易和jvm内存模型相混淆,内存模型说的是java的内存规范,规定的是多线程下访问主内存的规则;而内存区域,说的是java运行时的内存划分,换句话说就是java程序运行时内存分为哪几部分; 回答要点: 主要从以下几点去考虑, 1、内存区域说的是什么? 2、内存区域怎么划分的? 3、内存区域为什么这样划分? 上面说到内存区域,说的就是在java程序运行的时候,分配给java进程的内存是如何...
问题:请讲下java内存模型? 分析:该问题比较容易和jvm内存结构(java内存结构)这样的问题混淆,其实他们是两个概念,jvm内存结构指的是运行时的几块数据区域,包括堆、方法区、虚拟机栈、本地方法栈、程序计数器;而内存模型是另外的一个概念。 回答要点: 主要从以下几点去考虑,使用3W(why how what)法 1、java内存模型的作用,保证共享变量的可见性、有序性、原子性; 2、内存模型定义了什么,内存模型定义了多线程读写共享...
Java 面试集合 JUC volatile 并行:同时做A,B两件事 并发:同时有很多线程访问某个资源 volatile: 是java虚拟机提供的轻量级的同步机制 保证可见性不保证原子性禁止指令冲排序 JMM Java内存模型:Java Memory Model,它描述的是一组规范或者规范定义了内存中各个变量。主内存是共享内存区域,线程对变量操作,会先把数据读取到自己的工作内存中,然后对变量进行操作,然后写回主内存,各个线程的工作内存中存储着主内存的变量副本...