自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【VueCli】Vuecli的安装

2.然后在所需目录下打开cmd输入。1.先安装node.js。

2023-05-07 20:56:50 97

原创 【MybatisPlus】MybatisPlus的配置和使用

Mapper。

2023-05-07 16:46:49 366

原创 【报错记录】@autowire报错,无法注入

解决方法:在mapper接口类中加入@Repository注解即可。

2023-05-07 16:06:14 138

原创 【Restful风格】搭建Restful架构

Restful是目前流行的互联网软件服务架构设计风格,rest并不是一种标准,它更像是一种客户端与服务端交互的架构理念和设计原则。

2023-05-07 14:39:16 121

原创 【controller控制器】controller的基本使用

【代码】【controller控制器】controller的基本使用。

2023-05-07 13:54:11 132

原创 【Java】sleep()、wait()、join()、yield()的区别

sleep是Tread类的静态本地方法,wait则是Object类的本地方法 sleep方法不会释放lock,但是wait会释放,而且会加入到等待队列当中 sleep方法不依赖于同步器synchronized,但是wait需要依赖synchronized关键字 sleep不需要被唤醒(休眠之后推出阻塞),但是wait需要(不指定时间需要被中断) sleep一般用于当前线程休眠,或者暂停操作,wait则多用于多线程之间的通信yield 和 join:yield执行后线程直接进入就绪状态,马上

2022-05-07 23:57:07 479

原创 【Java】线程的生命周期?线程有几种状态

新建状态(New):新创建了一个线程对象。 就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start方法。该线程位于可运行线程池中,变得可运行,等待CPU的使用权。 运行状态(Running):就绪状态的线程获取了CPU,执行程序代码。 阻塞状态(Blocked):阻塞状态是线程因为某种原因放弃CPU使用权,暂时停止运行。直到线程进入就绪状态,才有机会转到运行状态。 死亡状态(Dead):线程执行完了或者因异常退出了run方法,该线程结束生命周期。...

2022-05-07 23:43:14 296

原创 【Java】GC如何判断对象可以被回收

引用计数法(Java不用):每个对象有一个引用计数属性,新增一个引用时技术加一,引用释放时计数减一,计数为0时可以回收 可达性分析法:从GC Roots开始向下搜索,搜索走过的路径称为引用链。当一个对象到GC Roots没有任何引用链相连时,则证明此对象是不可用的,那么虚拟机就判断是可回收对象...

2022-05-07 23:34:37 678

原创 【Java】Java中的异常体系

Java中的所有异常都来自顶级父类Throwable。Throwable下有两个子类Exception和Error Error时程序无法处理的错误,如果出现这个错误,则程序将被迫停止运行 Exception不会导致程序停止 Exception又分为RunTimeException运行时异常和CheckedException检查时异常。 RunTimeException常常发生在程序运行中,会导致程序当前线程执行失败 CheckedException常常发送在程序编译过程中,如语法错误...

2022-05-07 23:25:22 289

原创 【Java】什么是字节码?采用字节码的好处是什么

编译程序面向虚拟机,生成虚拟机能够理解的代码,然后由解释器来将虚拟机代码转换为特定的机器码执行。在Java中,这种供虚拟机 理解的代码叫做字节码(即扩展名为.class的文件),它只面向虚拟机。采用字节码的好处:将编译部分和解释部分分开,效率提高了 由于字节码是只面向JVM的语言,所以实现了跨平台运行...

2022-05-06 20:59:03 638

原创 【Java】如何实现一个IOC容器

配置文件配置包扫描路径 递归包扫描获取.class文件 反射、确定需要交给IOC容器管理的类 对需要注入的类进行依赖注入

2022-05-06 20:41:14 238

原创 【Java】ConcurrentHashMap原理,jdk7和jdk9版本区别

jdk7:数据结构:ReentrantLock + Segment + HashEntry ,一个Segment中包括一个HashEntry数组,每个HashEntry又是一个链表结构 元素查询:二次hash,第一次定位到Segment,第二次Hash定位到元素所在的链表的头部 锁:Segment分段锁 Sement继承了ReentrantLock,锁定操作的Segment,其他的Segment不受影响,并发度即为Segment个数,可以通过构造函数指定,数组扩容不会影响其他的Segment。 g

2022-05-06 20:30:09 302

原创 【Java】HashMap和HashTable的区别,底层实现

1.区别:HashMap方法没有synchronized修饰,线程非安全,HashTable线程安全 HashMap允许key和value为null,而HashTable不允许2.底层实现:数组+链表实现jdk8开始链表高度到8,数组长度超过64,链表转变为红黑树,元素以内部Node节点存在计算key的hash值,二次hash然后对数组长度取模,对应到数组下标 如果没有产生hash冲突(下标位置没有元素),则直接创建Node存入数组 如果产生hash冲突,先进行equal比较,相

2022-05-06 20:09:14 418

原创 【Java】ArrayList和LinkedList区别

ArrayList:基于动态数组,需要连续内存存储,适合下标访问 因为数组长度固定,超出长度存数据时则需要新建数组,然后将老数组copy到新数组 插入新元素时如果不是尾部插入数据还会涉及元素的移动(往后复制,插入新元素) 所以如果使用尾插法并指定初始容量的话可以极大提升性能,甚至超过linkedListLinkedList:基于链表,可以储存在分散的内存中,适合做数据插入以及删除操作,不适合查询 遍历LinkedList必须使用iterator而不能使用for循环 使用indexOf

2022-05-06 19:44:58 310

原创 【Java】hashCode与equals

如果两个对象相等,则hashcode一定也是相同的 两个对象相等,对两个对象分别调用equals方法都返回true 两个对象有相同的hashcode值,它们也不一定是相等的 equals方法被覆盖过,则hashCode方法也必须被覆盖 hashCode()的默认行为是对堆上的对象产生独特值,如果没有重写hashCode(),则该class的两个对象无论如何都不会相等(即使这两个对象指向相同的数据)...

2022-05-05 21:23:44 114

原创 【Java】List和Set的区别

List:有序,按对象进入的顺序保存对象,可重复,允许多个Null元素对象,可以使用lterator取出所有元素,再遍历。还可以使用get(int index)获取指定下标的元素。Set:无序,不可重复,最多允许有一个Null元素对象,取元素时只能用lterator接口取得所有元素,再逐一遍历各个元素。...

2022-05-05 21:07:47 203

原创 【Java】接口和抽象类的区别

1.抽象类可以存在普通成员函数,而接口中只能存在public abstract方法。2.抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的。3.抽象类只能继承一个,接口可以实现多个。深层次点来说:接口的设计目的,是对类的行为进行约束,更准确来说是对类的行为的有无进行约束。他提供一种机制,强制要求不同的类具有相同的行为。但他只约束了行为的有无,但不对如何实现行为进行约束。而抽象类的设计目的,是为了代码的复用,让不同的类具有相同的

2022-05-05 21:02:34 227

原创 【Java】重载和重写的区别

重载:发生在同一个类中,方法名必须相同,参数类型不同,个数不同,顺序不同,方法返回值和访问修饰符不同,发生在编译时。public int add(int a,String b)public String add(int a,String b)//编译报错这种不属于重载,编译器会直接报错,重载和返回值无关。重写:发生在父子类中,方法名,参数列表必须相同,返回值范围小于等于父类,抛出的异常范围小于等于父类,访问修饰符大于等于父类;如果父类方法访问修饰符为private,则子类不能重

2022-05-05 20:45:34 76

原创 【Java】String,StringBuffer,StringBuilder区别及使用场景

一、不同点1.String是final修饰的,不可变每次操作会产生新的String对象。2.StringBuffer和StringBuilder都是在原对象操作。3.StringBuffer是线程安全的,StringBuilder线程不安全二、性能StringBuidler > StringBuffer > String三、使用场景经常需要改变字符串内容时用StringBuilder和St...

2022-04-28 15:51:54 963

原创 【Java】关键字Final

一 、 final的作用对于final,他的基本作用大家应该不陌生:1.修饰类:表示该类不可被继承2.修饰方法:表示该方法不可被子类重写,但可重载3.修饰变量:表示不能再修改这个变量的值对此有一个特殊的点我们需要清楚:1.当final修饰基本类型变量时,含义是不可修改变量的值2.当final修饰引用类型变量时,含义是可以修改变量的值,但不能修改变量的指向地址对于final,有一个特殊的问题:二、为什么局部内部类和匿名内部类只能访...

2022-04-27 10:57:42 335

原创 【Java】== 和 equals的区别

==:对比的是栈中的值,基本数据类型是变量值对比。而引用类型对比的是堆中内存对象的地址。equals:在object中默认也是采用==进行比较,如果不做改动,效果和==是一样的。通常会进行重写。而String类中已经重写了这个方法。比较的是字符串的内容String str1 = "Hellow";String str2 = new String("Hellow");String str3 = str2; //引用传递 这里我们用不同方式创建了三个变量这里要注意,

2022-04-26 13:53:27 389

原创 【Java】什么是面向对象

一 . 面向对象与面向过程的区别面向对象是对于面向过程功能的一种封装如果我们使用面向过程,我们需要编写五个步骤的代码,一步一步去实现;而如果我们使用面向对象的话,只需要调用封装好的两个对象即可。所以说:面向过程比较直接高效,面向对象更易于复用,扩展和维护。二 . 面向对象的三大特性1 . 封装意义:明确标识出来允许外部使用的所有成员变量和方法。内部细节对外部调用透明,外部只需要调用而不用管具体是怎么实现的比如说JavaBean的属性私有,外部无法直接调

2022-04-25 20:47:46 5706

原创 【Java】JDK JRE JVM之间的区别与联系

JDK : Java开发工具,开发人员使用的JRE:Java运行时的环境,用户只需要用到这个即可JVM:虚拟机具体关系如下表:JVM在这其中起到一个编译的作用,Java之所以跨平台,JVM起到了很大的作用。...

2022-04-21 15:39:49 627

空空如也

空空如也

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

TA关注的人

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