Spring必知必会 Spring中用到了哪些设计模式?单例模式Spring中的Bean默认情况下都是单例的。bean被声明为单例的时候,在处理多次请求的时候在Spring容器里只实例化出一个bean,后续的请求都公用这个对象,这个对象会保存在一个map里面。当有请求来的时候会先从缓存(map)里查看有没有,有的话直接使用这个对象,没有的话才实例化一个新的对象,所以这是个单例的。但是对于原型(prototype)bea 2021-03-26 #Spring
Java多线程必知必会 进程和线程的联系和区别**进程:**是程序在执行中进行资源分配和调度的基本单位 线程: 是进程的进一步划分,是进程的一个执行体,更小的独立运行的基本单位,亦称轻量级线程 举个栗子: 我们在使用QQ的时候假设是一个进程,那我们使用QQ的发短信,发文件,发说说等功能就可以说是线程。 进程和线程的区别: 进程是独立的地址空间,但同一个进程内的线程共享本进程的地址空间 同一进程的线程共享资源比如CPU 2021-03-24 #Java
Mysql必知必会 介绍MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。 mysql架构图 myisam和innodbmyisam引擎是5.1版本之前的默认引擎,有如下特点: 不支持事务 只支持表级锁定 —>数据更新时锁定整个表,就说说对一个数据 2021-03-18 #Mysql
八大排序算法(下) 归并排序归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该方法采用经典的分治策略(分治法将问题分成一些小的问题然后递归求解,而治的阶段则将分的阶段得到的各个答案拼接在一起,即为分而治之)。 实现思想 具体步骤 代码实现 12345678910111213141516171819202122232425262728293031323334353637383940414243444 2021-03-17 #算法
单例模式的多种实现方式 单例模式,顾名思义就是只有一个实例,并且它自己负责创建自己的对象,这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。下面我们来看下有哪几种实现方式吧。 单例模式分饿汉式和懒汉式,下面介绍下两种的具体写法: 饿汉式饿汉式就是在类加载的时候就已经创建实例,不管你用没用到,都创建。 好处:线程安全 坏处:浪费内存空间 123456789public class Hungry 2021-03-16 #Java
HashMap源码分析 1.HashMap介绍1.1 HashMap底层存储结构 HashMap最早出现在JDK1.2中,底层基于散列算法实现。HashMap 允许 null 键和 null 值,是非线程安全类,在多线程环境下可能会存在问题。 1.8版本的HashMap底层存储结构: 数组+链表+红黑树 1.2 HashMap类的定义先来看看HashMap类的定义: 12public class HashMap< 2021-03-04 #Java
浅谈==和equals 1.运行时数据区 粗略的讲下Java的内存结构,要想深入的讲还需要把JVM的知识拿来,但我们现在的核心是比较==和equals的区别以及常见数据类型在取等和调用equals时产生的结果和原因。 如上图,很重要的就是栈,堆,方法区,下面简单介绍他们的作用: 栈(stack):位于通用RAM中,但通过它的“栈指针”可以从处理器哪里获得支持。栈指针若向下移动,则分配新的内存;若向上移 2021-02-27 #Java
八大排序算法(上) 排序算法的介绍排序也称排序算法(Sort Algorithm),排序是将一组数据,依指定的顺序进行排列的过程。 排序的分类 1.内部排序: 指将需要处理的所有数据都加载到内部存储器(内存)中进行排序。 2.外部排序: 数据量过大,无法全部加载到内存中,需要借助外部存储(文件等)进行排序。 3.常见的内部排序算法: 冒泡排序冒泡排序(Bubble Sorting)的基本思想是 2021-02-18 #算法
JUC并发编程系列(四) JUC并发编程系列(四)17.Volatile 1.保证可见性 1234567891011121314151617181920212223/\*\*\* Volatile的可见性\* @author 路飞\* @create 2021/1/20\*/public class JMMDemo1 {private volatile static int num = 0;//主存中num已经 2021-01-26 #多线程
JUC并发编程系列(三) JUC并发编程系列(三)11.线程池线程池:三大方法、七大参数、四种拒绝策略 池化技术 程序的运行,本质:占用系统的资源! 优化资源的使用!=>池化技术 线程池、连接池、内存池、对象池///….. 创建、销毁。十分浪费资源 池化技术:事先准备好一些资源,有人要用,就来我这里拿,用完之后还给我。 线程池的好处: 1.降低资源的消耗 2.提高响应的速度 2021-01-26 #多线程