- 博客(22)
- 资源 (1)
- 收藏
- 关注
原创 Collection
ArrayList 底层时Object 数组,ArrayList 初始化时,默认初始化一个空数组;ArrayList.add 会初始化Object数组,新建Object数组,默认长度为10. 如果ArrayList数组新增数据时,如果新增数据大于数组长度,则会触发Object数组长度。存储的时有序可重复的集合数据,继承了Collection接口;
2023-02-19 17:32:05
101
原创 jvm_常见垃圾回收器
Java 虚拟机常见垃圾回收器 JVM 虚拟机中常见垃圾回收器一共有七种垃圾回收器,它们搭配使用实现了JVM的垃圾回收机制。1.Serial 收集器 Serial垃圾回收器是最早的垃圾回收器,它是单线程回收器并且作用于新生代。缺点:Serail回收器在进行垃圾回收时,会暂停其他线程的工作。优点:尽管Serial是很古老的垃圾回收器,它依然是HotSpot虚拟机运行在客户端模式下的默认新生代收集器,有着优于其他收集器的地方,那就是简单而高效(与其他收集器的单线程相比...
2021-02-18 12:33:44
255
原创 jvm_自动内存管理
JVM虚拟机组成:类加载器 、运行时数据区 、本地方法库 、执行引擎JVM的内存管理也主要在运行时数据区 。运行时数据库包括: 堆 、栈、方法区、本地方法栈 、程序计数器。其中堆和方法区是线程共享的,栈、本地方法栈、程序计数器线程私有程序计数器:存放当前线程所执行字节码行号,如果是native方法,则程序计数器为undefinedJava虚拟机栈:java栈是线程私有的。当一个方法执行时,当前的线程所拥有的栈就会创建一个栈帧,存放存放局部变量表、操作数栈、动态连接、方法出口等信...
2021-02-05 14:56:57
229
原创 NoSuchMethodError异常原因和处理
NoSuchMethodError就是程序在运行中找不到运行的方法导致的,这应该归功于java的多态特性。对于NoSuchMethodError异常可有可能发生的就是jar冲突,可能是两个高低版本的jar包导致,也有可能是有两个jar包有相同的类与方法,导致程序调用过程中找不到正确的方法解决方案: 定位到是那个方法出现了NoSuchMethodError的异常 在当前项目中全局搜索类名,查看有多少个jar包有这个类名,分析这些jar包,确定自己期望自己程序需要执行的jar包...
2021-01-07 16:36:03
20832
2
原创 jdk1.8 Stream流
目录Stream流是什么?Stream流的特性?Stream流创建Stream流使用Stream流是什么?Stream将要处理的元素集合看作一种流,在流的过程中,借助Stream API对流中的元素进行操作,比如:筛选、排序、聚合等。Stream流的特性?1:Stream不存储数据,而是按照特定的规则对数据进行计算,一般会输出结果2:Stream不会改变数据源,通常情况下会产生一个新集合或一个值3:Stream具有延迟执行特性,只有调用终端操作时,中间操作才会执.
2021-01-06 14:17:48
110
原创 RabbitMq介绍与安装
1:什么是MQMQ(Message Quene):翻译为消息队列,通过典型的生产者和消费者模型,实现信息数据的交互。生产者不断向消息队列中生产信息,消费者不断的从队列中获取信息。因为消息的生产和消费都是异步的,而且只关心信息的发送和接收,没有业务侵入,轻松实现了系统间的解耦。别面叫消息中间件2:RabbitMQRabbitMQ是MQ队列的一种,基于AMQP协议,erlang语言开发,是部署最广泛的开源消息中间件,是最受欢迎的开源消息中间件之一。 AMQP的主要特征是面向消息、队列、路由(包.
2020-10-25 14:30:51
226
1
原创 谈谈mybatis框架的整体流程和spring整合mybatis
目录 mybatsi是什么?mybatis框架的开发步骤简易版mybatis代码实现Spring整合Mybatisspring整合mybatis vs mybatspring整合mybatis测试mybatsi是什么?mybatis是半ORM的持久性框架,其实就是我们寻常web项目的JDBC的模块。mybatis框架的开发步骤 实体 实体别名 表 创建DAO接口 实现Mapper文...
2020-07-26 01:00:01
253
原创 聊聊aop和它的动态代理
aop: 面向切面编程 以切⾯为基本单位的程序开发,通过切⾯间的彼此协同,相互调⽤,完成程序的构建PointCut(切入点) 切入点:即确定添加额外功能的具体位置。 我们一般通过切入点函数来实现对切入点的表示 ,切入点函数分为四种 :* execution:最强大的切入点函数 可以表示 :⽅法切⼊点表达式、 类切⼊点表达式 、包切⼊点表达 常见用法 execution(* com.aptech.jb.epet.dao.hibimpl.*....
2020-07-15 21:02:39
485
1
原创 Redis入门 删除策略与逐出算法
Redis数据分类 redis是一种内存级别的数据库,所有数据均存放在内存中。redis中数据可分为具有时效性的数据、永久有效的数据、已经过期的数据或被删除的数据或未定义的数据。 我们可以通过redis的TTL指令查询数据的状态: . XX: 具有时效性的数据 . -1: 永久有效的数据 . -2: 已经过期的数据 或 被删除的数据 或未定义的数据过期数据是如何在Redis中删除呢?redis服务删除过期数据并不是立即删除,redi
2020-06-27 23:10:51
174
原创 简洁版JDBCUtil工具类(基于反射)-实现简单CRUD操作
最近复习JDBC操作,自己写了一个简洁版的JDBC工具类,实现CRUD操作,分享给一下,不足希望大家指正。
2020-06-27 19:51:27
333
原创 spring的类型转换器
第十二章 自定义类型转换器1: 类型转换器作⽤:Spring通过类型转换器把配置⽂件中字符串类型的数据,转换成了对象中成员变量对应类型的数据,进⽽完成了注⼊2:自定义类型转换器原因:当Spring内部没有提供特定类型转换器时,⽽程序员在应⽤的过程中还需要使⽤,那么就需要程序员⾃⼰定义类型转换器编写自定义类型转换器 实现Converter接口applicationContext.xml配置文件...
2020-06-26 21:17:15
324
原创 聊聊AOP
第八章Spring创建对象1.什么是复杂对象复杂对象:指的是不能通过new构造方法创建的对象 Connection SqlSessionFactory2.Spring工厂创建负责对象的三种方式2.1 FactoryBean接口Spring配置文件的配置# 如果Class指定的类型 是FactoryBean接口的实现类 那么可以通过id获取这个类所创建的复杂对象<bean id="conn" class="com.xc.factorybea...
2020-06-26 00:18:44
172
原创 谈谈Spring事务隔离级别和传播行为
目录第七章 反转控制与依赖注入1: 反转控制(IOC Inverse of Control)2:依赖注入 (Dependency Injection DI)第七章 反转控制与依赖注入1: 反转控制(IOC Inverse of Control)1 控制:对于成员变量赋值的控制权2 反转控制:把对于成员变量赋值的控制权,从代码中反转到spring工厂和配置文件中完成3 优点:解耦合4 底层实现:工厂设计模式2:依赖注入 (Dependency Injection ..
2020-06-25 22:55:53
205
原创 Spring的ioc容器创建对象的方式,依赖注入的几种表现形势
注入:通过Spring的配置文件,为成员变量赋值Set注入:Spring调用Set方法,通过配置文件为成员变量赋值构造方法注入: Spring调用构造方法,通过配置文件 为成员变量赋值
2020-06-25 00:05:50
260
原创 说说mybatis的流程
目录第五章 Set注入文章摘要1. JDK内置类型2 用户自定义类型第五章 Set注入文章摘要1. JDK内置类型1.1 String+8种基本类型<value></value>1.2 数组<list> <value></value> <value></value> <value></value></lis...
2020-06-24 23:50:36
165
原创 spring的三级缓存和循环依赖问题
第四章 注入(Injection)1. 什么是注入通过Spring工厂及配置文件,为所创建对象的成员变量赋值1.1 为什么需要注入 通过编码的方式设置为成员变量赋值,存在耦合1.2 如何进行注入 [ 开发步骤 ]类的成员变量提供get set 方法 配置spring的配置文件 applicationContext.xml文件2. Spring注入的原理分析(简易版)...
2020-06-24 22:57:16
216
原创 spring集成日志
第三章Spring5.x与⽇志框架1. logback集成Spring1.1 导入logback所需要的JAR包1.2 配置logback.xml1.3 控制台输入日志2. log4j2 集成Spring2.1 导入log4j2所需要的JAR包2.2配置 log4j.properties...
2020-06-23 23:42:21
385
原创 Bean对象的声明周期
第二章 第一个Spring程序1. 软件版本1. JDK1.8+2. Maven3.5+3. IDE2018+4. SpringFramework 5.1.42.环境搭建 2.1.pom.xml的依赖 2.2applicationContext.xml默认模板3. Spring核心APIApplicationContext作用:Spring提供的ApplicationContext这个工厂,用于对象的创建...
2020-06-23 23:03:45
261
原创 Redis入门 -事务与锁
什么是Redis的事务?redis事务就是一个命令执行的队列。将一系列预定义命令包装成一个整体。当执行时,一次性按照添加顺序依次执行,中间不会被打断或者干扰。事务的基本操作开启事务 设定事务的开启位置,此指令执行后,后续的所有指令均加入事务中 multi执行事务 设定事务的结束位置,同时执行事务。与multi成对出现,成对使用 exec取消事务 终止当前事务的定义,发生在mutil之后,exe.
2020-06-23 10:01:37
142
原创 讲讲spring基础概念
目录第一章 引言1. EJB存在的问题2. 什么是Spring?3. 设计模式4. 工厂设计模式总结第一章 引言1. EJB存在的问题 .运行环境苛刻 .代码移植差 总结:EJB是重量级框架2. 什么是Spring? Spring是一个轻量级的JavaEE解决方案 轻量级: . 对于运行环境没有额外要求 . 代码移植性高3. 设计模式3...
2020-06-22 23:08:04
254
原创 Redis入门 持久化 --rdb、aof
何为持久化?利用永久性存储介质将数据进行保存,在特定的时间将保存的数据进行恢复的工作机制叫做持久化。为什么要持久化?为了防止数据的因为一些意外而丢失,确保数据的安全性。Redis的持久化Reids的持久化有两种方式:RDB(基于数据快照的方式存储数据)、AOF(基于操作日志的回退实现存储数据)-------------------------------------------------------------------------------------------------
2020-06-21 17:53:56
313
原创 java参数传值问题详解
最近复习了java的基础 发现了很多模棱两可的问题 特此记录首先复习java的参数传递机制1:基本类型或基本类型的包装类、String是值传递,引用类型是引用传递。首先我们来看一下图文解析,要明白java的参数传递,首先我们要懂java的值存储的位置java数据存储在栈区、堆区、常量池、(非人为可控,不做介绍)寄存器、非RAM存储区对于值类型参数java参数传递是传递参数的复制而对...
2020-05-01 22:01:32
196
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人