MySQL 索引使用的注意事项 1.索引的目的:在于提高查询效率,插入和更新的操作,数据库的操作是慢的,但是查询操作会非常快,索引可以对表中一个或多个字段进行加索引动作. 2.索引的类型: 1.唯一索引(unique):不可以出现相同的值,可以有null值 2.普通索引(index):允许出现相同的索引内容 3.主键索引(promary key):不允许出现相同的值 4.全文索引(fulltext index):可以针对值中的某个单词 5.组合索引:将多个字段建到一个索引里,列值的组合必须唯一…
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:不仅仅…
考虑到绝大部分写业务的程序员,在实际开发中使用redis的时候,只会setvalue和getvalue两个操作,对redis整体缺乏一个认知.又恰逢博主某个同事下周要去培训redis,所以博主斗胆以redis为题材,对redis常见问题做一个总结,希望能够弥补大家的知识盲点. 首先我们先介绍些redis的基本概念,redis是Nosql数据库,是一个key-value存储系统.虽然redis是key-value的存储系统,但是redis支持的value存储类型是非常的多,比如字符串.链表.集合.…
List和Set区别 List和Set都是继承Collection接口 List特点:元素有放入顺序,元素可重复 Set特点:元素无放入顺序,元素不可重复 Set和List对比: Set:检索元素效率低下,删除和插入效率高,其删除和插入操作不会引起元素位置的改变. List:和数组类似,List可以动态增长,查找元素效率高,插入删除效率低,因为它会引起其他元素的位置改变. List和Map区别 List是对象集合,允许对象重复. Map是键值对集合,Key不允许重复. Arraylist和Lin…
由于细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容! 整理了一份Java核心知识点.覆盖了JVM.锁.并发.Java反射.Spring原理.微服务.Zookeeper.数据库.数据结构等大量知识点.   文章中提到的Java核心知识点总结免费分享给大家(包括Kafka.Mysql.Tomcat.Docker.Spring.MyBatis.Nginx.Netty.Dubbo.Redis等架构技术资料),希望能够帮助一些在这个行业发展迷茫的有需要的朋友,在网…
最近在网上发现一份非常棒的 PDF 资料,据说是阿里 P8 级高级架构师吐血总结的, 其中内容覆盖很广,包括 Java 核心基础.Java 多线程.高并发.Spring.微服务.Netty 与 RPC.Zookeeper.Kafka.RabbitMQ.Habase.设计模式.负载均衡.分布式缓存.Hadoop.Spark.Storm.云计算等. 获取方式: 关注公众号: [小哈学Java], 后台回复[资源],既可免费无套路获取资源链接,下面是目录以及部分截图: 重要的事情说两遍,关注公众号:…
1 什么是异常 异常是指程序在运行过程中发生的,由于外部问题导致的运行异常事件,如:文件找不到.网络连接失败.空指针.非法参数等. 异常是一个事件,它发生在程序运行期间,且中断程序的运行. Java 是一种面向对象的编程语言,它的异常都是对象,是Throwable子类的实例,当程序中存在错误条件时,且条件生成时,错误就会引发异常. 2 异常的分类 要了解异常的分类,我们先看看Java异常类的继承结构图: 2.1 Throwable Throwable 是 Java 语言中所有错误与异常的顶层父类…
通过NSCoding能实现像JAVA一样能够实现对象的序列化,可以保存对象到文件里. NSCoding 跟其他存储方式略有不同,他可以存储对象 对象存储的条件是: 对象需要遵守 NSCoding 协议存储的时候需要 调用 encodeWithCoder 方法读取的时候需要调用initWithCoder 方法[NSKeyedArchiver archiveRootObject:stu toFile:path]; 存储 NSKeyedUnarchiver unarchiveObjectWithFil…
创建线程的方式及实现 一.继承Thread类创建线程类 1.定义Thread的子类,并重写run方法,因为该方法的方法体就是代表了线程要完成的任务,因此run方法又叫做执行体. 2.创建Thread子类的实例,即创建了线程对象. 3.调用线程对象的start方法来启动该线程. 二.通过Runnable接口来创建线程类 1.定义Runnable接口的实现类,并重写run方法,跟Thread一样,该run方法又叫做执行体. 2.创建实现类的实例,并依此实例作为Thread的target来创建Thre…