自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ThreadLoacl原理学习

final可以修饰常量,变量,方法,以及类

2021-06-15 18:56:33 147

原创 Synchronized原理

mark

2021-06-09 15:53:16 148 1

原创 红黑树原理

1.什么是树树是一种数据结构,用来模拟具有树状结构的数据集合,是由有限节点通过连接他们的边组成的有层次的集合

2021-06-09 10:22:59 100

原创 HashMap源码探究

上述

2021-06-07 18:54:13 121

原创 SpringBoot学习笔记(2)

mark

2021-04-25 18:07:57 779

原创 SpringBoot学习笔记

mark

2021-03-05 14:27:50 257

原创 JAVA多线程之JUC总结

1.前置知识1.1.线程与进程进程是一个具备独立功能的程序的一次动态执行的过程。是操作系统进行资源分配和调度的独立单位。早期的操作系统是没有线程这个概念的。进程就是拥有资源的运行的最小单位,也是程序运行的最小单位。随着计算机的发展。进程的上下文切换开销较大所以发明了一个新的概念“线程”。线程是程序执行中一个单一的顺序执行流程。是程序执行的最小的单位,是处理器调度的分配的基本单位。总结:1.线程是执行的最小单位,进程是操作系统分配资源的最小单位2.一个进程由一个线程或者多个线程组成

2021-01-12 15:06:58 1436 5

原创 SpringMVC源码总结

1.什么是SpringMVC是由Spring来实现web模块,简化web开发MVC:Model + View + Controller,Model封装数据,View界面显示,Controller控制整个项目的跳转。MVC的优势在于,整个项目进行解耦,每层只写自己的东西,不写其他业务逻辑的代码。后期维护更加方便,扩展性更高但是SpringMVC和传统MVC架构是有区别的,区别在于下图,多了一个前端控制器,由前端控制器来进行智能的派发,而不再是请求直接指定到对应的Controller。.

2020-12-29 22:10:34 217 1

原创 Spring IOC (源码解读)

1.IOC是什么1.IOC(InversionOf Control) 控制反转控制:资源的获取方式Spring之前是主动式的获取,每次获取对象都需要手动的new对象。而对于一个对象内部依赖很多个对象的情况,实现会很复杂,因为没有一个容器帮你管理对象,都需要自己手动创建。Spring是被动式的获取,资源的获取不是我们手动的创建,而是交给Spring容器(IOC容器)来帮我们创建并管理,假如一个复杂的对象需要依赖很多对象,那么IOC容器会自动帮你探知需要哪些组件,并将其注入2.DI:(D..

2020-12-25 17:38:28 125

原创 Spring AOP(源码解读)

什么是AOPAOP:(Aspect Oriented Programming)面向切面编程;指在运行期间,将某段代码动态的切入到在指定方法的指定位置执行。将业务逻辑与系统的其他功能(例如日志,事务,安全检查,权限控制等)进行松耦合为什么不使用jdk内置动态代理jdk默认的动态代理,如果目标对象没有实现任何接口,是无法为他创建代理对象的;Spring实现了AOP功能;底层就是动态代理,可以利用Spring一句代码都不写的去创建动态代理;术语基于注解版的使用方法1.编写业

2020-12-23 20:04:21 229 2

原创 Spring如何解决循环依赖(源码)

1.前置知识首先需要明白处于各个阶段的bean被放在哪里。在DefaultSingletonBeanRegistry类中/** 一级缓存,存放经历完整生命周期的bean*/ private final Map<String, Object> singletonObjects = new ConcurrentHashMap<String, Object>(256); /** 三级缓存,存放FactoryBean */ private final Map<Stri

2020-12-23 11:27:40 653 7

原创 SpringMVC一直404的解决办法

从昨天晚上到现在一直在查SpringMVC一直报404的错误所有问题都按照网上的建议查了一遍还是没有找到错误。真是想把eclipse给日了,结果在tomcat的webapps路径下找到自己的项目,然后发现项目的classes目录下根本没有class文件,把project=>build automatically给勾上就好了...

2019-12-03 12:45:57 239

原创 浅谈Object Head First Java笔记

在java中的所有类都是从Object这个类继承出来的实际上所有的类都是从对象给继承出来的。你可以把自己的类想象成public class Dog extends Object{}如果dog类本就是继承Canine,编译器会知道改成让Canine去继承Object为什么需要Object这个类呢?如果java中没有共同的父类,那就无法写出像ArrayList这种可以处理各种类

2017-12-10 20:33:45 173

原创 关于继承和多态(HeadFirst Java笔记)

继承是一个IS-A关系 在继承树结构中,如果A继承B,B继承C,那么应该满足A IS B,A IS C。IS-A也可以用来测试继承关系是否正确如果子类中打算引用父类的方法然后加上额外的行为应该怎么办?你可以在父类中设计出所有子类都适用的方法的实现,然子类都可以不用完全覆盖掉父类的方法,只是再加上额外的方法,你可以使用super这个关键词来取用父类public void ro

2017-12-07 21:08:09 155

原创 形参和实参的区别

形参:形式参数(虚拟参数)int method(int a,int b)//此处a,b就是形参。不需要初始化,直接在方法传参列表中定义实参:实际参数int a = 1;int b = 1;int method(a,b)//此处是实参,需要初始化。将参数传递到方法参数列表

2017-12-05 21:33:53 528

原创 使用entrySet遍历map

package test;import java.util.HashMap;import java.util.Iterator;import java.util.LinkedHashMap;import java.util.Map;import java.util.Map.Entry;public class test3 {public static void main(Stri

2017-12-04 21:00:18 384

原创 String,StringBuffer,StringBuilder的区别

单例模式的关键点:一个类只能构建一个对象。String:字符串常量;StringBuilder:字符串变量StringBuffer:字符串变量变量:在程序运行期间可以修改的量常量:在程序运行期间不能被修改的量package test;public class StringTest { public static void main(String[] args)

2017-12-03 20:06:07 140 1

原创 值传递和引用传递

在java中,值类型分为整型,字符型,浮点型,逻辑型整型:byte(1个字节),short(2个字节),int(4个字节),long(8个字节)字符型:char(2个字节)浮点型:float(4个字节),double(8个字节)逻辑型:bolean(1个字节)在java中除了八大基本类型其余都是引用类型:例如:数组,字符串,类,接口。值传递:基本类型的赋值都属于值传递(

2017-11-30 20:04:14 188

原创 传统IO实现文件的拷贝

import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;public class CopyAndPaste { public static void main(String[] args)

2017-11-29 20:29:28 190

原创 list和set的区别

list的特点:list元素有放入顺序,且是可以重复的。public class ListTest {public static void main(String[] args) {List list = new ArrayListlist.add("apple");list.add("banana");list.add("shit");for (i

2017-11-28 20:49:58 299

原创 抽象类和接口的区别

接口和抽象类的相似性:1 接口和抽象类都不能被实例化,它们都位于继承树的顶端,用于被其他类实现和继承(不要将接口的方法设置为private,这是很糟糕的做法,就像是将手机的usb接口放在手机内部,这样做毫无意义)。2 接口和抽象类都可以包含抽象方法,实现接口或继承抽象类的普通子类都必须实现这些抽象方法。接口和抽象类的区别:1 接口的所有方法都是抽象的方法

2017-11-27 20:56:54 109

空空如也

空空如也

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

TA关注的人

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