自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 资源 (1)
  • 收藏
  • 关注

原创 Spring 视频学习笔记

文章目录Spring 体系结构解耦(降低而不是消除耦合)(IOC 的原理)Spring 体系结构解耦(降低而不是消除耦合)(IOC 的原理)应该做到:编译期不依赖,运行时才依赖应该使用 反射 创建类对象,避免使用 new应该通过读取配置文件来获取要创建的对象全限定类名,再使用 反射 创建类对象Bean:有可重用组件的含义使用 工厂,将创建对象的权力交给框架(工厂)...

2020-09-02 17:55:37 199

原创 MySQL 高级

文章目录linux下安装 MySQL 5.5linux下安装 MySQL 5.5linux 环境下尽量不要出现中文和空格

2020-08-31 19:16:34 177

原创 MySQL 基础

文章目录数据库相关术语数据库相关术语DB:数据库 databaseDBMS:数据库管理系统 database management systemSQL:结构化查询语言 Structured Query Language

2020-08-28 23:38:27 321

原创 Redis 高级使用:Redis 数据备份与恢复、Redis 安全、Redis 性能测试、Redis 客户端连接、Redis 管道技术、Redis 分区

文章目录参考Redis 高级使用Redis 数据备份与恢复Redis 安全Redis 性能测试Redis 客户端连接Redis 管道技术Redis 分区参考https://www.runoob.com/redis/redis-backup.htmlRedis 高级使用Redis 数据备份与恢复Redis SAVE 命令用于创建当前数据库的备份。redis 127.0.0.1:6379> SAVE OK该命令将在 redis 安装目录中创建dump.rdb文件。如果需要恢复数据,只需

2020-08-21 23:31:42 172

原创 Redis、Redis 配置、Redis 数据类型、Redis 命令

文章目录参考Redis 配置Redis 数据类型StringHashListSetzset (sorted set)Redis 命令Redis 客户端Redis KeyRedis 字符串Redis 哈希Redis 列表Redis 集合Redis 有序集合Redis HyperLogLogRedis 发布订阅redis 事务Redis 脚本Redis 连接Redis 服务端Redis GEO参考https://www.runoob.com/redis/redis-backup.htmlRedis:一个

2020-08-21 21:59:59 245

原创 SpringMVC 常用注解

文章目录@Autowired@Resource@Controller@RequestMapping@PathVariable@RequestBody@requestParam@ResponseBody@Repository@Autowired@Resource@Controller@RequestMapping将请求映射到相关的类或方法上@PathVariable作用在方法参数上将 请求URL中所带参数 映射到 controller方法 的参数上@RequestBody作用在方法参数上

2020-08-21 15:07:52 118

原创 有状态对象、无状态对象、Spring MVC、Controller

文章目录有状态对象 (Stateful Bean)有实例变量的对象 ,可以保存数据,非线程安全。一般是 prototype scope。无状态对象 (Stateless Bean)没有实例变量的对象,不能保存数据,是不变类,线程安全。一般是singleton scope。Spring MVC默认是 Singleton不用每次创建 Controller 对象,减少了对象创建和垃圾收集的时间Controller 的 instance 是非线程安全的因此,在使用spring mvc的contr

2020-08-21 14:38:11 349

原创 注解、元注解、注解的本质、注解属性类型、获取注解属性、JDK 提供的注解、注解的作用

文章目录参考注解元注解@Retention@Target@Documented@Inherited@Repeatable注解的本质注解属性类型获取注解属性JDK 提供的注解@Override@Deprecated@SuppressWarnings注解的作用参考https://www.jianshu.com/p/9471d6bcf4cf@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.TYPE,ElementType.METHOD})@

2020-08-14 15:18:43 393

原创 java <T>和<?>的区别

文章目录参考java 和<?>的区别参考https://www.cnblogs.com/liuyongyu/p/12457195.htmljava 和<?>的区别<T> 是参数类型,常常用于泛型类或泛型方法的定义;<?>是通配符,一般不能直接用来定义类或泛型方法,因为它不能直接参与操作,常常用于泛型方法的调用代码或泛型方法的形参。<T> 用来限制Class中的参数类型,确保Class中参数的一致性即这个地方的 T 只能同时表示同一个类

2020-08-13 15:36:26 350

原创 Maven多模块项目

文章目录Maven多模块项目Maven多模块项目创建 maven 项目,在项目里创建 maven 模块

2020-08-13 15:35:36 119

原创 HashMap源码阅读、收获

文章目录参考HashMap源码阅读收获参考https://www.jianshu.com/p/4aa3bb16f36cHashMap源码阅读HashMap在底层将key-value当成一个整体进行处理,这个整体就是一个Entry对象。HashMap底层采用一个 Entry[]数组来保存所有的key-value,当需要存储一个Entry对象时,会根据 hash 算法来决定其在数组中的存储位置,在根据equals方法决定其在该数组位置上的链表中的存储位置线程不安全当多线程的情况下,重新调整HashM

2020-08-11 18:22:26 144

原创 LinkedList 源码阅读收获

文章目录参考LinkedList 源码阅读收获参考LinkedList 源码阅读收获LinkedList 是双向链表LinkedList 内部定义的 Node 类是静态的(自己体会,Node当然是可以创建对象的)不变且不会在别的地方被使用或引用的量可以用 final 关键字修饰对相等的判断要分 判null 和 equals判断是否为null 用 ==判断数值相等用 equals...

2020-08-11 17:38:00 146

原创 ArrayList源码摘要、收获

文章目录参考ArrayList源码摘要收获参考https://blog.csdn.net/weixin_39723544/article/details/82228720ArrayList源码摘要ArrayList<E>extends AbstractList<E>   继承 AbstractList<E>implements List<E>, RandomAccess, Cloneable, java.io.Serializable

2020-08-11 16:16:17 125

原创 集合框架:Collection接口、List接口、Set接口、Map 接口、Iterator 接口

文章目录参考集合框架Collection接口List接口ArrayListVectorLinkedListSet接口HashSetTreeSetLinkedHashSetMap 接口HashMapHashTableLinkedHashMapTreeMapIterator 接口参考集合框架数组和集合的区别数组长度固定,而集合长度是可变的数组可以存储对象,还可以存储基本数据类型;而集合只能存储对象数组存储数据类型是固定的,而集合存储的数据类型不固定集合分为三大接口:Collec

2020-08-11 14:49:21 517

原创 java 常见异常、常见的运行时异常(非受检异常)、常见的受检异常

文章目录参考java 常见异常常见的运行时异常(非受检异常)常见的受检异常参考https://blog.csdn.net/u012175512/article/details/81282594https://blog.csdn.net/HhmFighting/article/details/105028031java 常见异常常见的运行时异常(非受检异常)RuntimeException 在 java.lang 包中ArithmeticExceptionArrayIndexOutOfBou

2020-08-11 13:25:16 698

原创 java 异常:Error、Exception、自定义异常类、异常的处理方式

文章目录参考java 异常ErrorException自定义异常类异常的处理方式参考java 异常Throwable 类 是 Java 语言中所有错误或异常的超类。只有当对象是此类(或其子类之一)的实例时,才能通过 Java 虚拟机或者 Java throw 语句抛出。类似地,只有此类或其子类之一才可以是 catch 子句中的参数类型。Throwable 包含了其线程创建时线程执行堆栈的快照。它还包含了给出有关错误更多信息的消息字符串。最后,它还可以包含 cause(原因):另一个导致此 t

2020-08-11 13:07:35 381

原创 Arrays工具类的主要方法

文章目录参考Arrays工具类的主要方法参考https://blog.csdn.net/kangkang_hacker/article/details/81147188Arrays工具类的主要方法public static List asList (T… a)把数组转换成 List 类型sort排序parallelSort并行排序binarySearch二分法查找copyOf拷贝数组,第一种用法,如果目标长度不够,会使用0进行补位。第二种用法,支持拷贝目标起始位置到结束为止的数

2020-08-11 12:32:24 145

原创 Java 基本数据类型、整数类型、浮点类型、布尔类型、字符类型

文章目录参考Java 基本数据类型整数类型浮点类型布尔类型字符类型参考https://www.runoob.com/java/java-basic-datatypes.htmlJava 基本数据类型Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型整数类型byte8位、有符号,以二进制补码表示整数;最小值是 -128(-2^7)最大值是 127(2^7-1)默认值是 0short16 位、有符号的、以二进制补码表示整数最小值是 -

2020-08-11 11:41:43 518

原创 Java 文档注释、javadoc 标签

文章目录参考Java 文档注释javadoc 标签参考https://www.runoob.com/java/java-documentation.htmlJava 文档注释Java 支持三种注释方式///* */说明注释,以 /** 开始,以 */结束可以使用 javadoc 工具软件来生成信息javadoc 标签javadoc 工具软件识别以下标签:...

2020-08-11 11:30:00 170

原创 RabbitMQ 信息丢失、生产者信息丢失、RabbitMQ 信息丢失、消费端信息丢失

文章目录参考RabbitMQ 信息丢失生产者信息丢失RabbitMQ 信息丢失消费端信息丢失参考https://www.jianshu.com/p/4491cba335d1RabbitMQ 信息丢失信息丢失可能出现在 生产者、MQ、消费者 中生产者信息丢失生产者信息丢失可能是 网络问题开启 RabbitMQ 事务,然后发送消息,如果消息没有成功被 RabbitMQ 接收到,那么生产者会收到异常报错,此时就可以回滚事务,然后重试发送消息;如果收到了消息,那么可以提交事务。但是 RabbitM

2020-08-10 12:37:31 218

原创 消息队列:优点、缺点、选型

文章目录参考消息队列优点缺点选型参考https://blog.csdn.net/qq_35190492/article/details/103153444消息队列优点异步、削峰、解耦缺点系统复杂性、数据一致性、可用性选型Kafka、ActiveMQ 、RabbitMQ 、RocketMQ...

2020-08-10 12:15:16 120

原创 常用的JVM配置参数、Trace 跟踪参数、堆的分配参数、栈的分配参数

文章目录参考常用的JVM配置参数Trace 跟踪参数堆的分配参数栈的分配参数参考https://blog.csdn.net/huangwei18351/article/details/81271207常用的JVM配置参数Trace 跟踪参数-verbose:gc:表示输出虚拟机中GC的详细情况-XX:+printGC:开启简单GC日志模式,为每一次新生代(young generation)的GC和每一次的Full GC打印一行信息。-XX:+PrintGCDetails: 打印GC

2020-08-10 12:14:25 192

原创 JVM 调优指标、JVM 日志、JVM 调优工具

文章目录参考JVM 调优指标JVM 日志JVM 调优工具参考https://blog.csdn.net/weixin_42447959/article/details/81637909JVM 调优指标内存占用:程序正常运行需要的内存大小。延迟:由于垃圾收集而引起的程序停顿时间。吞吐量:用户程序运行时间占用户程序和垃圾收集占用总时间的比值。JVM 日志调优可以依赖、参考的数据有系统运行日志、堆栈错误信息、gc日志、线程快照、堆转储快照等。系统运行日志:在程序代码中打印出的日志,即 l

2020-08-10 12:13:46 209

原创 垃圾回收算法、分代收集算法详解

文章目录参考垃圾回收算法分代收集算法详解参考https://blog.csdn.net/carson0408/article/details/79608686https://blog.csdn.net/cool_summer_moon/article/details/80360600垃圾回收算法标记-清除算法将所有需要回收的对象进行标记,然后清除。这种算法的缺点是:效率比较低;标记-清除后会出现大量不连续的内存碎片,过多的碎片可能导致 存储大对象时 触发GC回收,造成内存浪费以及时间的消耗。

2020-08-10 12:12:33 288

原创 JVM内存模型:栈内存 (Stack) 、堆内存 (Heap)、方法区(method area)、本地方法区、寄存器

文章目录参考JVM内存模型参考https://blog.csdn.net/carson0408/article/details/79608686JVM内存模型栈内存 (Stack) :用于存储局部变量,当数据使用完,所占空间会自动释放。方法的运行一定要在 栈 中运行堆内存 (Heap):数组和对象,通过new建立的实例都存放在堆内存中。凡是 new 出来的东西,都在堆当中堆中的 类成员方法存的是一个地址,其指向方法区中的方法堆内存中的东西都有一个地址值(16进制)堆内存中的

2020-08-10 12:10:47 275

原创 分布式锁的主要实现、Redis 获取分布式锁、Redis释放分布式锁、超时问题

文章目录参考分布式锁的主要实现Redis 获取分布式锁Redis 释放分布式锁参考https://blog.csdn.net/sdmxdzb/article/details/78410494分布式锁的主要实现数据库Memcached(add 命令)Redis(setnx 命令)Zookeeper(临时顺序节点)Redis 获取分布式锁jedis.set (String key, String value, String nxxx, String expx, int time)ke

2020-08-10 12:10:02 240

原创 代理模式(Proxy)、Java的三种代理模式、静态代理、动态代理(JDK代理,接口代理)、 Cglib 代理(基于继承的方式实现)

文章目录参考代理模式(Proxy)Java的三种代理模式静态代理动态代理(JDK代理,接口代理)Cglib 代理(基于继承的方式实现)参考https://www.cnblogs.com/qlqwjy/p/7550609.html代理模式(Proxy)代理 是一种设计模式,通过 代理对象 访问 目标对象。可以在 目标对象 的基础上,拓展其功能。这体现了一个重要的编程思想:对修改关闭,对拓展开放Java的三种代理模式静态代理目标对象 和 代理对象要 实现相同的接口,然后通过调用 相同的方法 来

2020-08-09 22:32:25 136

原创 AOP、AOP 使用、AOP 主要调用链路

文章目录参考AOPAOP 使用AOP 主要调用链路参考https://blog.csdn.net/greedystar/article/details/81906403AOPAOP(Aspect Oriented Programming ,面向切面编程)是Spring框架的核心功能之一AOP 使用定义一个切面类 MyAspect在配置文件中定义 Bean、切面、切点、通知切面:大概相当一个 name 属性通知:大概是 要织入 的方法AOP 主要调用链路Abstract

2020-08-09 20:00:10 296

原创 IOC 容器的 依赖 注入及主要调用链路

文章目录参考IOC 容器的 依赖 注入参考https://blog.csdn.net/greedystar/article/details/81871860IOC 容器的 依赖 注入IOC容器在初始化过程中创建了 BeanDefinition ,接下来就需要进行 依赖 注入,处理 Bean之间的 依赖关系。getBean 方法定义在 BeanFactory 接口中,以 DefaultListableBeanFactory 为例,其基类 AbstractBeanFactory 中实现了 getBea

2020-08-09 18:14:06 158

原创 IOC 容器的初始化及主要调用链路、Bean 的预实例化及主要调用链路

文章目录参考IOC容器的初始化参考https://blog.csdn.net/greedystar/article/details/81185714https://blog.csdn.net/sinat_34596644/article/details/80394209IOC容器的初始化spring容器 定义 Resource 来定位(代表、抽象)BeanDefinition 的资源文件IOC容器的 初始化 需要获取这个 Resource比如 XmlBeanFactory 和 DefaultL

2020-08-09 17:18:46 165

原创 容器、BeanFactory、XmlBeanFactory、ApplicationContext、FileSystemXmlApplicationContext 和 ClassPathXmlAppli

文章目录参考容器BeanFactoryXmlBeanFactoryApplicationContextFileSystemXmlApplicationContext 和 ClassPathXmlApplicationContext参考https://www.cnblogs.com/chaohangz/p/12043783.htmlhttps://blog.csdn.net/q649381130/article/details/78465668https://blog.csdn.net/a909301

2020-08-09 14:14:22 282

原创 spring 官方文档的描述、spring 结构、spring 特点

文章目录参考官方文档的描述spring 结构spring 特点参考https://blog.csdn.net/nihui123/article/details/82917121https://docs.spring.io/spring/docs/5.0.0.BUILD-SNAPSHOT/spring-framework-reference/htmlsingle/#spring-introduction官方文档的描述  The Spring Framework is a lightweight so

2020-08-09 12:23:24 169

原创 线程(或进程)同步的机制、zookeeper 分布式锁

文章目录参考线程(或进程)同步的机制zookeeper 分布式锁参考https://blog.csdn.net/qq_35190492/article/details/105352672线程(或进程)同步的机制互斥:同一时间只有一个线程可以操作共享资源 ,如 synchronized,Lock等。临界值:让多线程串行去访问资源事件通知:通过事件的通知 保证有序访问共享资源信号量:多个任务同时访问,同时限制数量,如发令枪CDL,Semaphore等zookeeper 分布式锁分布式锁

2020-08-09 11:05:02 172

原创 内存屏障(内存栅栏)及具体类型

文章目录参考内存屏障(内存栅栏)参考https://www.jianshu.com/p/64240319ed60https://www.jianshu.com/p/08a0a8c984ab内存屏障(内存栅栏)内存屏障(Memory Barrier)内存栅栏(Memory Fence)因为编译器和处理器的指令重排,所以 多核 处理器需要使用 内存屏障指令 来确保 一致性。内存屏障指令 作用于CPU与其缓存之间定义两个指令:Store:将处理器缓存的数据刷新到内存中。即 写Load:将内

2020-08-09 11:04:12 732

原创 指令重排、as-if-serial 语义、happens- before 规则、重排序对多线程的影响、编译器的重排序、CPU 指令集的重排序、内存系统的重排序

文章目录参考指令重排as-if-serial 语义happens- before 规则重排序对多线程的影响编译器的重排序CPU 指令集的重排序内存系统的重排序参考https://www.jianshu.com/p/c6f190018db1https://www.cnblogs.com/jackeason/p/11336306.htmlhttps://blog.csdn.net/DingKG/article/details/103316423指令重排在计算机中,软件技术和硬件技术有一个共同的目标:

2020-08-09 11:02:40 243

原创 volatile 关键字、volatile 关键字 原理

文章目录参考volatile 关键字volatile 关键字 原理参考https://www.jianshu.com/p/157279e6efdbhttps://www.jianshu.com/p/d52fea0d6ba5volatile 关键字volatile 是 JVM 提供的最轻量级的同步机制线程对 volatile变量 的修改会立刻被其他线程所 感知,即不会出现数据 脏读的现象,从而保证数据的可见性。volatile 关键字 原理汇编代码中在 volatile修饰的共享变量进行 写操

2020-08-09 11:00:33 152 1

原创 乐观锁、悲观锁、CAS、synchronized、AQS、ReentrantLock、Semaphore

文章目录参考参考https://mp.weixin.qq.com/s/WtAdXvaRuBZ-SXayIKu1mA乐观锁和悲观锁,他们对应的实现 CAS ,Synchronized,ReentrantLockCAS(Compare And Swap 比较并且替换)是乐观锁的一种实现方式,是一种轻量级锁,JUC 中很多工具类的实现就是基于 CAS 的。CAS 是怎么实现线程安全的?线程在读取数据时不进行加锁,在准备写回数据时,先去查询原值,操作的时候比较原值是否修改,若未被其他线程修改则写回,若已

2020-08-08 16:25:58 727

原创 Synchronized使用、 java对象在JVM内存模型中的构成、 synchronized同步代码块的底层原理、 synchronized同步方法的底层原理

文章目录参考Synchronized 使用java对象在 JVM内存模型 中 的构成synchronized 同步代码块 的底层原理synchronized 同步方法 的底层原理参考https://blog.csdn.net/qq_35190492/article/details/106180781https://www.cnblogs.com/lukelook/p/9946065.htmlhttps://baijiahao.baidu.com/s?id=1612142459503895416S

2020-08-08 15:14:17 165

原创 ThreadLocal 使用、使用场景、原理简介和ThreadLocal.set(T value)函数介绍

文章目录参考ThreadLocalThreadLocal 使用ThreadLocal 使用场景ThreadLocal 底层原理ThreadLocal.set(T value)内存泄漏参考https://blog.csdn.net/qq_35190492/article/details/107599875https://www.cnblogs.com/dreamroute/p/5034726.htmlThreadLocalThreadLocal的作用主要是做 数据隔离,填充的数据只属于当前线程,变量

2020-08-08 14:25:08 608

原创 秒杀系统组成部分、遇到的问题、着手设计

文章目录参考总览:秒杀系统组成部分遇到的问题:高并发遇到的问题:缓存穿透解决方法遇到的问题:缓存击穿解决方法遇到的问题:缓存雪崩解决方案遇到的问题:超卖解决方法遇到的问题:恶意请求&链接暴露解决方法着手设计:资源静态化着手设计:限流着手设计:使用 Nginx着手设计:风控着手设计:服务单一职责着手设计:Redis着手设计:库存预热着手设计:使用消息队列参考https://blog.csdn.net/qq_35190492/article/details/107833096https://blo

2020-08-08 12:29:17 235

面试问题.xmind

大厂面试问题与解答(一部分),涵盖java锁机制、redis基础、java容器类、数据库索引、jvm内存管理

2020-08-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除