自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 IOC容器初始化流程

了解过spring的都知道,spring是通过一个IOC容器管理应用中的bean对象的。本文讨论springboot应用在初始化IOC容器时的主要操作都有哪些。中提到refreshContext(context)实际会调用到AbstractApplicationContext的refres()方法。准备beanFactory,为其设置一些属性,如类加载器等。标记状态,校验必填属性,重置监听器状态等。提供先进的推理,复杂的指令,更多的创造力。为刷新上下文做一些准备工作,修改上下文的。

2024-08-06 16:19:20 681

原创 SpringBoot启动流程

SpringBoot启动流程

2024-07-13 11:45:02 925

原创 JDK源码学习之Arrays.sort()

【代码】JDK源码学习之Arrays.sort()

2024-06-26 23:04:38 199

原创 Collection集合之HashMap源码学习记录(JDK8)

AbstractMap提供了Map接口的基本实现,最大限度的减少了实现Map接口所需的工作量。要实现一个不可修改的Map时,仅需继承AbstractMap并实现抽象方法entrySet().对于不可修改的Map该方法返回的Set应该不支持add/remove方法,set的迭代器也不应该支持remove方法。实现可修改的Map时,需要实现entrySet()方法的同时,实现put(key,val)方法,缺少实现时调用put方法将抛出UnsupportedOperationException异常。

2024-05-07 13:29:29 818

原创 Collection集合之ArrayList源码学习记录

ArrayList实现了RandomAccess接口,此接口为标记接口,表明实现此接口的List实现类具有随机访问特性。一些适用于随机访问列表的的算法应用与顺序访问列表时,可能会有不同的表现。如果一个算法在应用到随机访问列表的性能高于顺序访问列表时,建议检查此接口,并对算法做出相应调整以满足性能需求。通常,如果循环A比循环B快的时候,就需要实现RandomAccess接口。

2024-04-30 17:01:43 695 1

原创 JAVA中的Exception及Error

另外,当指定的路径名存在,但是由于某种原因无法访问时也会抛出此异常,例如当尝试以写的方式打开一个只读文件的时候。方法不需要在其throws子句中声明在方法执行过程中可能抛出但未捕获的Error的任何子类,因为这些错误是不应该发生的异常情况。可以通过JVM启动参数。3).ClassLoader类的loadClass方法的方式以类的String名称载入类,但无法找到对应名称的类的定义时抛出。拟机或类加载器实例尝试载入类的定义(作为正常方法调用的一部分或使用new创建对象的一部分),但却找不到其定义时抛出。

2024-04-29 17:20:55 287 3

原创 关于乐观锁

乐观锁:对于获取资源总是持乐观态度,认为操作资源时其他人不会同时操作该资源。在此思想中资源总是可达的,因此不会对资源加锁,只在更新数据时检查数据是否冲突。乐观态度下,可能存在多个线程同时操作同一资源的情况,因而需要一些其他方法来保证数据一致性。悲观锁:对于获取资源总是持悲观态度,认为操作资源时总是存在冲突的可能。在此思想中资源总是存在冲突,需要加锁保证数据操作,在操作完成后释放锁。

2024-04-23 10:56:53 755 1

原创 设计模式学习笔记(一)

我们举个手机厂的例子:用户需要手机产品时,直接提供手机产品名称给工厂,由手机工厂完成根据提供的信息决定提供哪个具体产品,即使用哪个具体产品的实现对产品进行实例化。@Overridedefault:HuaWei手机工厂根据传入的产品类型名确定具体生产Mate60、Mate60Pro还是Mate60RS。从上面的新建对象方式变成下面的方式工厂模式下,当新产品发布时,用户不需要新增getNewPhone方法,而是由工厂方法对产品扩展进行适配。

2024-04-22 17:02:29 581

原创 【Swagger】Springboot集成swagger2从配置到源码

Swagger配置,源码,文档输出

2022-09-29 14:54:43 779 1

原创 MySql5.6.51 免安装版下载配置

MySql数据库安装,密码初始化

2022-09-17 22:39:18 2931

原创 Spring整合Mybatis框架配置文件移植

Spring整合Mybatis首先要将原有的mybatis配置移植到spring的配置文件中。1.数据源的移植:<!-- 配置jdbc相关配置文件路径 --><context:property-placeholder location="classpath:jdbc.properties"/><!-- 配置数据源 --><bean id=...

2020-04-18 15:28:14 244

原创 java8新特性之Stream中的各方法使用场景实例

Stream类中的方法如下:filter()方法/** * Returns a stream consisting of the elements of this stream that match * the given predicate. * * This is an intermediate operation. * * @param predicate a pred...

2020-04-14 16:43:56 1284

原创 24点的一种暴力实现

计算24点是一种扑克牌益智游戏,随机抽出4张扑克牌,通过加(+),减(-),乘(*), 除(/)四种运算法则计算得到整数24,本问题中,扑克牌通过如下字符或者字符串表示: A 2 3 4 5 6 7 8 9 10 J Q K程序要求实现:输入4张牌,判断能否通过四则运算得到24点。在网上没找到什么好的算法,最后选择了暴力遍历,思路如下:字母到数字的转换比较简单,这...

2020-04-04 03:04:56 275 1

原创 SQL的四种隔离级别

SQL中的四种隔离级别读未提交(Read uncommitted)The isolation level that provides the least amount of protection between transactions. Queries employ a locking strategy that allows them to proceed in situations...

2020-03-20 12:20:18 917 1

原创 IDEA报错:禁止使用构造方法BigDecimal(double)的方式把double值转化为BigDecimal对象

禁止使用构造方法BigDecimal(double)的方式把double值转化为BigDecimal对象在做双精度浮点数运算时,出现了精度错误,导致出现结果为12.000…01的结果,网上找了下解决办法,使用BigDecimal可以解决浮点数运算精度出错的问题,在编码时idea提示禁止使用构造方法BigDecimal(double),报错代码如下:ALT+ENTER选择Edit inspec...

2020-03-10 23:11:35 1998

原创 java.sql.SQLException: Access denied for user 'Jeb'@'localhost' ------SpringCloud学习笔记(三)

10-Mar-2020 18:13:25.205 信息 [http-nio-8081-exec-5] com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource. Initializing c3p0 pool… com.mchange.v2.c3p0.ComboPooledDataSource [ acquireIncrement -> 5,...

2020-03-10 19:13:22 808

原创 关于Java Bean

关于Java Bean在说明Java Bean之前,首先要说明一下两个概念:java反射机制和控制反转(IoC)。java反射机制: 反射这一概念最早由Smith在1982年提出,主要指应用程序访问、检测、修改自身状态与行为的能力。java中存在一个特殊的类,Class类,它的对象用于描述java运行时的类或接口。当一个类被加载到JVM时,便自动生成一个Class类对象。...

2020-01-30 22:15:57 142

空空如也

空空如也

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

TA关注的人

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