一. MySQL 的逻辑架构图 MySQL 的逻辑架构图 二. 对比各种count方法(以Innodb为例) 1.count(*) InnoDB存储引擎遍历整张表,但不取值。server 层对于返回的每一行,不判断是否为空,直接按行累加。...
35个Java代码性能优化总结
Spring AOP详解
Spring AOP 注解概述 1、Spring 的 AOP 功能除了在配置文件中配置一大堆的配置,比如切入点、表达式、通知等等以外,使用注解的方式更为方便快捷,特别是 Spring boot 出现以后,基本不再使用原先的 beans.xm...
如何理解Spring中的控制反转(IoC)
"Contributing makes me feel like I'm being useful to the planet." — Anna Wong, Volunteer 1.依赖倒置(DIP)和依赖注入(DI)是一样的吗? 依赖倒置原则 a.高层模块不应该依赖于底层模...
Java中常用的Spring注解
SpringBoot/Spring: 注解 说明 @SpringBootApplication 包含@Configuration、@EnableAutoConfiguration、@ComponentScan通常用在主类上; @Repository 用于标注数据访问组件,即DAO组件; @Service 用...
ArrayList和LinkedList的区别
1、ArrayList和LinkedList两者性能上的差别 1)ArrayList基于数组实现,LinkedList基于链表实现; 2)一般认为基于数组实现,增删慢,查找快;基于链表实现,增删快,查找慢。其实这个说法不够准确。 ...
Array和ArrayList的区别
数组Array和ArrayList又是什么关系呢?这两者的联系和区别,也是面试中的一个高频问题。 1、ArrayList是Array的复杂版本。 ArrayList内部封装了一个Object类型的数组,可以说ArrayList对数组进行了一层封...
Collections的常用方法
使用Java自带的方法可以极大的提升代码可读性、规范性。-- 前言 1、新建一个list、set、map对象。 Collections.emptyList(); Collections.emptySet(); Collections.emptyMap(); public static ...
Java 8之方法引用
Java 8开始支持Lambda表达式,其避免了我们创建匿名内部类的麻烦,形式上更加优雅简洁易读。而如果我们Lambda表达式中只是调用一个已经封装过的方法,则显得过于繁琐、不够简约,为此Java 8在支持Lambda表达式的...
浅谈Java 8 API增强
java基本数据类型和引用数据类型的区别
一、java基本数据类型 byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存中占16位,即2个字节,取值范围-32768~32767,默认值0 ...
HashMap的初始容量
initialCapacity(初始容量)=键值对数量 / 0.75 map中的默认初始容量是16,16×0.75=12也就是说在键值对小于12时,不会进行扩容,大于等于12时会进行扩容;另外map的初始容量并不是根据我们传进去的...