摘要:
在此JVM 主要分析的是Hotspot 收到new 指令,去检查这个指令的参数是否能在常量池中定位到一个类的符号引用。并检查这个类是否已经被加载、解析、初始化过。如果没有则执行类加载过程。 类加载通过后,JVM为新生对象分配内存。(类加载完成后可以确定对象所需的内存大小)方式有:指针碰撞、空闲列表。 阅读全文
摘要:
RequestContextHolder 可以获取当前的HttpServletRequest HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder .getRequestAttributes()). 阅读全文
摘要:
一、线程的基本概念 1.1 单线程 简单的说,单线程就是进程中只有一个线程。单线程在程序执行时,所走的程序路径按照连续顺序排下来,前面的必须处理好,后面的才会执行。 Java示例: java public class Main { public static void main(String[] a 阅读全文
摘要:
一、简介 Redis(Remote Dictionary Server)本质上是一个Key Value类型的内存数据库,整个数据库统统加载在内存当中进行操作,定期通过异步操作吧数据库flush到硬盘上进行保存。 二、Redis 使用场景 1. 会话缓存 最常使用的一种Redis场景,用redis缓存 阅读全文
摘要:
JVM运行时内存区域结构 一、方法区(线程共享) 1. 什么是方法区? 方法区是系统分配的一个内存逻辑区域,用来存储类型信息(类的描述信息)。 2. 方法区的特点 + 方法区是线程安全的。由于方法区是线程共享的,所以方法区的数据访问必须设计成是线程安全的。例如,如果有多个线程访问方法区的同一个类,而 阅读全文
摘要:
JVM中的类加载 关于JVM中类的加载这部分知识在网上有太多的文章描述这部分的知识。但是多数文章都过于冗长,难以理解。这篇文章主要是一些我对JVM中类的加载的理解。 一、一句话概括 java在类加载的时候实际上就是把xxx.class文件读入JVM方法去,并在内存中生成class的对象。 二、那么J 阅读全文
摘要:
什么是索引 + 索引是对 数据库中一列或者多列的值进行排序的一中结构 ,使用索引可以快速访问数据库中表的特定信息。索引的一个主要的目的就是加快检索表中数据,亦即能协助信息搜索者尽快的找到符合限制条件的记录的辅助数据结构。 + 简单来说索引就是数据库的目录。 索引有什么作用 索引的最大作用就是加快数据 阅读全文
摘要:
IOC 简介 IOC是(Inversion of Control,控制反转)的简写。Spring提供IOC容器,将对象间的依赖关系交由Spring进行控制,避免硬编码所造成的的过度程序耦合。它由DI(Dependency Injection,依赖注入)来实现。 那么到底什么是Spring IOC? 阅读全文
摘要:
线程 什么是线程 线程是指程序在执行过程中,能够执行程序代码的一个执行单元。 线程和进程的区别 + 线程:一段程序执行过程中的一个执行单元,各个线程之间共享程序的内存空间以及一些进程级的资源,各线程拥有自己的栈空间。 + 进程:一段正在执行的程序,一个进程可以有多个线程。 什么是守护线程 + Jav 阅读全文
摘要:
简介 java集合类是java.util 包中的重要内容。java集合框架包含了大量集合接口以及这些接口的实现类和操作他们的算法。 java集合框架图 主要提供的数据结构 + List 又称 有序的Collection 。它按照对象的进入顺序保存对象,可以对列表中的每个元素的出入和删除元素位置进行精 阅读全文