自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 关于c语言中的基本数据类型

在c语言中,其自由度很高的一点体现于,基本数据类型可以在其size范围内进行整型或字符型附值,这意味着,你可以把一个字符附值给int或者long类型,可以输出对应ascii的值,或者对char类型附值一个整型的值输出一个对应的字符。而在内存里,他们的值是相同的,只是输出时表现形式不一样。

2024-07-29 08:35:10 356

原创 悲观锁和乐观锁

悲观锁是对访问资源的线程不信任,默认资源会被修改,所以同一时间,同一资源只能够被同一个线程访问,为资源加锁关键字,syconized.乐观锁对线程信任,默认线程不会改写资源,所以同一时间,同一资源能够被不同线程访问,但是资源被归还时,回主动检验是否被改写,这部分基于CAS(compare and swaped)实现,这个算法是cpu底层使用汇编实现的。所以在代码过程中,如果数据的写操作比较多,就使用悲观锁,如果对读的需求比较大,就使用乐观锁。...

2022-03-19 09:53:45 113

原创 Spring静态成员变量注入

静态成员变量属于类本身,而不属于对象,所以spring创建bean的时候,不会对静态成员填充属性,一般有两个基于注解的解决方法:postConstruct 添加到初始化方法上,使属性注入后会再添加一次。 在类上添加@Component注解,通过在setter方法上添加@Autowired实现依赖注入...

2022-03-16 21:36:23 623

原创 Spring循环依赖

要理解循环依赖,首先要了解spring的生命周期。spring生命周期大致可以分为:实例化,填充属性,初始化三个步骤。对于一个普通的单例对象a,经过实例化后会被提前暴露到二级缓存中,走完三个步骤,才会被添加到一级缓存中,这个时候,如果和另一个对象b循环依赖,则在属性填充阶段,对b进行走初始化,在b的属性填充阶段,填充a的提前暴露对象,走完初始化三个步骤后,回到上一层,继续对a完成初始化步骤。这是二级缓存对循环依赖的解决。当存在aop代理的情况,需要使用三级缓存解决。存在代理的情况下,a在实例化后

2022-03-15 22:48:14 348

原创 java 死记硬背kits

1.面向对象和面向过程区别:面向过程的语言性能更高因为不需要创建对象,但是我觉得不适合中大型项目的实现,因为不像面向对象的语言有着封装,继承,多态的特性,不便维护。2.java语言的特性:面向对象,可移植性(靠jvm虚拟机实现),可靠性,支持多线程,编译与解释并存3.jvm,jdk,jre略介绍jvm虚拟机,java编译字节码由jvm虚拟机运行,针对不同的系统,jvm有着特定的实现,保证同样的字节码能够在不同平台上顺利运行,这就是java跨平台性的原因。jdk使java develo

2022-03-13 20:32:13 411

原创 java八股文(一) java面向对象特征

java是一种面向对象的编程语言,其特征有:封装,继承,多态1.代码封装起来,便于调用和修改,提高复用性和可维护性,封装起来的代码在事实上固定了传输的数据,便于复用;使数据受到保护,也确定了代码后续维护思路。在看《代码整洁之道》的第三章明白,方法命名和参数设置对于提高代码的整洁度,可读性,可用性的重要性。我觉得这也是对封装这一特性的尊重和善加利用。2.继承从代码看来,子类继承父类非私有的属性...

2022-03-13 09:11:15 149

空空如也

空空如也

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

TA关注的人

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