Redis有哪些数据类型 String.Hash.List.Set.ZSet String:字符串 Hash:哈希 Set:集合 List:列表 ZSet:有序集合 Redis内部结构 1.Redis是专用于存储数据的,它对于计算机的主要消耗在内存上. 2.Redis是用于在线访问的,对于单个请求的响应时间要求很高. 3.Redis的性能瓶颈不在于CPU资源,而在于内存访问和网络IO. 4.Redis的重要基础数据结构:dict,是一个用于维护key和value映射关系的数据结构. Redis…
Spring的两大核心特性:IOC.AOP IOC:控制反转.依赖注入,它并不是一种技术实现,而是一种思想.把一些相互依赖对象的创建.协调工作交给Spring容器来管理,每个对象只需要关注其自身的业务逻辑关系就可以了,由Spring获取对象控制. AOP:面向切面编程,被定义为促使系统实现关注点的分离的技术. BeanFactory和ApplicationContext的区别 1.BeanFactory:Bean工厂,用作于bean生命周期的管理 2.ApplicationContext:不仅仅…
MySQL 索引使用的注意事项 1.索引的目的:在于提高查询效率,插入和更新的操作,数据库的操作是慢的,但是查询操作会非常快,索引可以对表中一个或多个字段进行加索引动作. 2.索引的类型: 1.唯一索引(unique):不可以出现相同的值,可以有null值 2.普通索引(index):允许出现相同的索引内容 3.主键索引(promary key):不允许出现相同的值 4.全文索引(fulltext index):可以针对值中的某个单词 5.组合索引:将多个字段建到一个索引里,列值的组合必须唯一…
考虑到绝大部分写业务的程序员,在实际开发中使用redis的时候,只会setvalue和getvalue两个操作,对redis整体缺乏一个认知.又恰逢博主某个同事下周要去培训redis,所以博主斗胆以redis为题材,对redis常见问题做一个总结,希望能够弥补大家的知识盲点. 首先我们先介绍些redis的基本概念,redis是Nosql数据库,是一个key-value存储系统.虽然redis是key-value的存储系统,但是redis支持的value存储类型是非常的多,比如字符串.链表.集合.…
最近在网上发现一份非常棒的 PDF 资料,据说是阿里 P8 级高级架构师吐血总结的, 其中内容覆盖很广,包括 Java 核心基础.Java 多线程.高并发.Spring.微服务.Netty 与 RPC.Zookeeper.Kafka.RabbitMQ.Habase.设计模式.负载均衡.分布式缓存.Hadoop.Spark.Storm.云计算等. 获取方式: 关注公众号: [小哈学Java], 后台回复[资源],既可免费无套路获取资源链接,下面是目录以及部分截图: 重要的事情说两遍,关注公众号:…
由于细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容! 整理了一份Java核心知识点.覆盖了JVM.锁.并发.Java反射.Spring原理.微服务.Zookeeper.数据库.数据结构等大量知识点.   文章中提到的Java核心知识点总结免费分享给大家(包括Kafka.Mysql.Tomcat.Docker.Spring.MyBatis.Nginx.Netty.Dubbo.Redis等架构技术资料),希望能够帮助一些在这个行业发展迷茫的有需要的朋友,在网…
List和Set区别 List和Set都是继承Collection接口 List特点:元素有放入顺序,元素可重复 Set特点:元素无放入顺序,元素不可重复 Set和List对比: Set:检索元素效率低下,删除和插入效率高,其删除和插入操作不会引起元素位置的改变. List:和数组类似,List可以动态增长,查找元素效率高,插入删除效率低,因为它会引起其他元素的位置改变. List和Map区别 List是对象集合,允许对象重复. Map是键值对集合,Key不允许重复. Arraylist和Lin…
一.基本概念 1. Java程序初始化的顺序是怎么样的 2. Java和C++的区别 3. 反射 先看一个知乎回答 什么是反射 主要用途 获得Class对象 4. 注解 什么是注解 为什么要用注解 基本Annotation 自定义注解类编写规则 自定义注解实例 5. 泛型 通俗解释 泛型方法 泛型类 类型通配符 6. 字节与字符的区别 7. 有哪些访问修饰符 8. 深拷贝与浅拷贝 9. Lamda表达式 语法 Lambda 表达式实例 变量作用域 10. 字符串常量池 11. 解释型语言与编译型…
创建线程的方式及实现 一.继承Thread类创建线程类 1.定义Thread的子类,并重写run方法,因为该方法的方法体就是代表了线程要完成的任务,因此run方法又叫做执行体. 2.创建Thread子类的实例,即创建了线程对象. 3.调用线程对象的start方法来启动该线程. 二.通过Runnable接口来创建线程类 1.定义Runnable接口的实现类,并重写run方法,跟Thread一样,该run方法又叫做执行体. 2.创建实现类的实例,并依此实例作为Thread的target来创建Thre…
1 什么是异常 异常是指程序在运行过程中发生的,由于外部问题导致的运行异常事件,如:文件找不到.网络连接失败.空指针.非法参数等. 异常是一个事件,它发生在程序运行期间,且中断程序的运行. Java 是一种面向对象的编程语言,它的异常都是对象,是Throwable子类的实例,当程序中存在错误条件时,且条件生成时,错误就会引发异常. 2 异常的分类 要了解异常的分类,我们先看看Java异常类的继承结构图: 2.1 Throwable Throwable 是 Java 语言中所有错误与异常的顶层父类…