自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(87)
  • 资源 (22)
  • 收藏
  • 关注

原创 Spring 的七大模块

Spring Core框架最基础的部分,提供了IOC容器,Bean管理Spring Context基于bean,提供上下文信息,扩展相互JNDI、EJB、电子邮件、国际化、校验和调度等功能Spring Dao提供了JDBC的抽象层,他可以消除冗长的JDBC编码和解析数据库厂商特有的错误代码,还提供了声明性事务管理方法。Spring ORM提供了常用的“对象/关系”映射APIs的集成层。 其中包括JPA、JDO、Hibernate、MyBatis 等Spring AOP提供了符合AOP Alliance规

2022-06-08 09:03:07 325 1

原创 Java面试题大全(一)

可能会有重复(就当复习了)纯手打可能会出现错别字之类的。。。JDK 和 JRE 有什么区别?JDK:Java Development Kit 的简称,Java开发工具包,提供了Java的开发环境和运行环境JRE:Java Runtime Enviroment的简称,Java运行环境,为Java的运行提供了所需环境。具体来说JDK其实包含了JRE,同样还包含了很多Java程序调试和分析的工具。简单来说:如果需要运行Java程序,只需要安装JRE就行了,如果你需要编写Java程序,则需要安装JD

2022-05-11 14:20:07 276

原创 ssmp整合页面预览

主页面添加删除修改分页条件查询

2022-04-07 16:43:59 346

原创 云端 存图

111111

2022-01-17 14:34:54 203

原创 笔记存图(用于云端笔记的存图,没有实际意义)

笔记存图(用于云端笔记的存图,没有实际意义)

2021-12-31 16:29:29 286

原创 Java有5种方式来创建对象

使用 new 关键字(最常用): ObjectName obj = new ObjectName(); 使用反射的Class类的newInstance()方法: ObjectName obj = ObjectName.class.newInstance(); 使用反射的Constructor类的newInstance()方法: ObjectName obj = ObjectName.class.getConstructor.newInstance(); 使用对象克隆clone()方法: Object.

2021-12-29 14:16:09 79

原创 Java语言的特点

特点一:面向对象 两大基本概念:类,对象 三大特性:封装、继承、多态 特点二:健壮性 吸收了C/C++语言的优点,但去掉了其他影响程序健壮性的部分(如 指针、内存的申请与释放等),提供了一个相对安全的内存管理和访问机制 特点三:跨平台 通过java语言编写的应用程序在不同的系统平台上都可以运行 { Write once,Run Anywhere ) 原理:只要在需要运行Java应用程序的操作系统上,先安装一个Java虚拟机(JVM Java Virtual Machine)即可,由JVM程序在该系统中运行。

2021-12-26 19:11:48 825

原创 哪些类是线程安全的

VectorHashMapArrayListStringBufferProperties难道我们只能单纯的背java的那个类是线程安全的,那个类不是线程安全的么?这和授人以鱼有何区别呢?难道就没有一种方法授人以渔?直接教我们如何去判断一个类是否是线程安全的?java中的线程安全是什么:就是线程同步的意思,就是当一个程序对一个线程安全的方法或者语句进行访问的时候,其他的不能再对他进行操作了,必须等到这次访问结束以后才能对这个线程安全的方法进行访问什么叫线程安全:如果.

2021-12-26 19:03:34 1636

原创 构造方法是一种特殊的方法,具有以下特点

(1)构造方法的方法名必须与类名相同。(2)构造方法没有返回类型,也不能定义为void,在方法名前面不声明方法类型。(3)构造方法的主要作用是完成对象的初始化工作,它能够把定义对象时的参数传给对象的域。(4)一个类可以定义多个构造方法,如果在定义类时没有定义构造方法,则编译系统会自动插入一个无参数的默认构造器,这个构造器不执行任何代码。(5)构造方法可以重载,以参数的个数,类型,顺序。...

2021-12-26 19:01:51 746

原创 类的初始化过程也就是方法执行的过程

父类的静态域-子类的静态域 父类的非静态域-父类的构造函数 子类的非静态域-子类的构造函数 规律就是 父类先于子类 静态的先于非静态的其中静态域包含静态代码块与静态方法,这个谁在前面,则先执行谁。非静态域同理...

2021-12-26 19:01:13 227

原创 toLowerCase( )的底层

return new String(result, 0, len + resultOffset);所以底层new 了一个新的字符串并且返回。因为0x0003 不等于0x0002 ,所以返回false,如果是equals 则返回true因为== 比较的是地址。equals 比较的话 先比较地址,如果相等,直接返回true然后看比较的对象是不是String类型,如果不是直接返回false如果是的话,则依次比较每个字符,如果全部相等,则返回true...

2021-12-26 18:59:14 229

原创 异常

异常分为两种,一种为运行异常RuntimeException,另一种为检查异常CheckedException。对于运行异常,编译器没有强制对其进行捕获。会把异常一直往上层抛出,直到遇到处理代码为止。常见的运行异常有:nullpointexception(空指针异常),indexoutofboundexception(越界异常)。。。。。检查异常,所有继承自Exception并且不是运行异常的都是检查异常,在程序中需要用try catch进行捕获。常见的有IO异常和SQL异常。...

2021-12-26 18:57:58 150

原创 |与||

"|"是按位或:先判断条件1,不管条件1是否可以决定结果(这里决定结果为true),都会执行条件2"||"是逻辑或:先判断条件1,如果条件1可以决定结果(这里决定结果为true),那么就不会执行条件2...

2021-12-26 18:57:05 61

原创 日志的级别

日志的级别之间的大小关系如右所示:ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF Log4j建议只使用四个级别,优先级从高到低分别是 ERROR > WARN > INFO > DEBUG。 log4j在运行期间是不可以重新设置的...

2021-12-26 18:55:21 425

原创 下列关于异常处理的描述中,错误的是

正确答案: D 你的答案: B(错误)程序运行时异常由Java虚拟机自动进行处理使用try-catch-finally语句捕获异常可使用throw语句抛出异常捕获到的异常只能在当前方法中处理,不能在其他方法中处理编译时异常必须显示处理,运行时异常交给虚拟机。运行时异常可以不处理。当出现这样的异常时,总是由虚拟机接管。比如我们从来没有人去处理过Null Pointer Exception异常,它就是运行时异常,并且这种异常还是最常见的异常之一。出现运行时异常后,...

2021-12-26 18:54:26 5780

原创 错题笔记(九)

面试很喜欢问的: 首先,重载和重写都是多态的一种体现方式。重载是编译期间的活动,重写是运行期间的活动。 其次,重载是在一个类中定义相同的名字的方法,方法的参数列表或者类型要互相不同,但是返回值类型不作为是否重载的标准,可以修改可见性; 重写是不同的,要求子类重写基类的方法时要与父类方法具有相同的参数类型和返回值,可见性需要大于等于基类的方法多态性通过继承,一个类可以用作多种类型:可以用作它自己的类型、任何基类型,或者在实现接口时用作任何接口类型。这称为多态性...

2021-12-26 18:52:35 119

原创 错题笔记(八)

包含抽象方法的类必须定义为抽象类; 抽象类不一定包含抽象方法,也可以包含普通方法; 抽象类有构造方法,但是不能new一个对象; 抽象类只支持单继承。取模运算,结果的符号和被除数符号一致、垃圾回收主要针对的是堆区的回收,因为栈区的内存是随着线程而释放的。堆区分为三个区:年轻代(Young Generation)、年老代(Old Generation)、永久代(Permanent Generation,也就是方法区)。年轻代:对象被创建时(new)的对象通常被放在Young(除了一.

2021-12-25 21:07:03 260

原创 错题笔记(七)

Arraylist的内存结构是数组,当超出数组大小时创建一个新的数组,吧原数组中元素拷贝过去。其本质是顺序存储的线性表,插入和删除操作会引发后续元素移动,效率低,但是随机访问效率高LinkedList的内存结构是用双向链表存储的,链式存储结构插入和删除效率高,不需要移动。但是随机访问效率低,需要从头开始向后依次访问//ArrayList源码public class ArrayList<E> extends AbstractList<E> impleme

2021-12-25 20:58:26 81

原创 力扣:两数之和

给定一个整数数组 nums和一个整数目标值 target,请你在该数组中找出 和为目标值 target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/two-sumclass Solution { public int[] twoSum(int[] nums, int target) { ...

2021-12-21 14:02:31 152

原创 错题笔记六

javac.exe是编译功能javaCompilerjava.exe是执行程序,用于执行编译好的.class文件javadoc.exe用来制作java文档jdb.exe是java的调试器javaprof.exe是剖析工具java中创建对象有以下几种方法:1.用new语句创建对象,这是最常用的创建对象的方式。2.运用反射手段,调用java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法。3.调用对象的clon

2021-12-18 16:48:06 91

原创 有余额2000,两个线程每次取200(Callable)

package com.a;import java.util.concurrent.Callable;/** * @author 夜灬瞬 * @date 2021年12月17日 14:43 */public class Test124 implements Callable<Integer> { static Integer money = 2000; @Override public Integer call() throws Exception {.

2021-12-17 14:59:40 202

原创 有余额2000,两个线程每次取200(Runnable)

package com.a;/** * @author 夜灬瞬 * @date 2021年12月17日 14:30 */public class Test123 implements Runnable { Integer money = 2000; @Override public void run() { boolean flag = true; while (flag) { synchronized (th.

2021-12-17 14:56:15 205

原创 有余额2000,两个线程每次取200(同步锁)

package com.a;/** * @author 夜灬瞬 * @date 2021年12月17日 14:28 */public class Test122 extends Thread { static Integer money = 2000; public Test122(String name) { super(name); } @Override public void run() { boolean f.

2021-12-17 14:54:13 100

原创 有余额2000,两个线程每次取200 (Thread方法锁)

package com.a;/** * @author 夜灬瞬 * @date 2021年12月17日 14:21 */public class Test120 extends Thread { static Integer money = 2000; public Test120(String name) { super(name); } @Override public void run() { boolean f.

2021-12-17 14:51:36 115

原创 多线程:返回三个数中的最大数

@Testpublic void test1() throws ExecutionException, InterruptedException { //创建线城实例 MaxNum m = new MaxNum(3, 5, 7); //创建FutrueTask实例 FutureTask<Integer> ft = new FutureTask<Integer>(m); Thread thread = new Thread(ft); .

2021-12-17 09:34:38 118

原创 简单多线程:龟兔赛跑

@Testpublic void test() { TR tr = new TR("兔子"); TR tr1 = new TR("乌龟"); tr.start(); tr1.start();}class TR extends Thread { public TR(String name) { super(name); } @Override public void run() { for (int i.

2021-12-17 09:33:59 264

原创 错题笔记五

抽象类:用abstract修饰,抽象类中可以没有抽象方法,但抽象方法肯定在抽象类中,且抽象方法定义时不能有方法体;抽象类不可以实例化只能通过继承在子类中实现其所有的抽象方法;抽象类如果不被继承就没有任何意义;抽象类为子类定义了一个公共类型,封装了子类中的重复内容。接口:同Interface关键字定义接口,是特殊的抽象类因为类中只包含抽象方法;接口中不能定义成员变量可以定义常量;接口是其通过其他类使用implements关键字定义实现类,一个类一旦实现接口就必须实现其中的所有抽象方法,一个类可以实现多个

2021-12-17 09:13:44 463

原创 错题记录四

如果两个方法只有返回值类型不同, 这两个方法在编译器看来还是同一个方法、方法重载:方法名称相同,参数列表不同(可以是参数的类型,个数,顺序不同)方法重载满足的条件 1. 同一个类中,方法名相同,参数列表不同的2个或多个方法构成方法的重载 2.参数列表不同指参数的类型,参数的个数,参数的顺序至少一项不同 3.方法的返回值类型,方法的修饰符可以不同。栈-先进后出(比喻:坐电梯) 队列-先进先出(水管) list-链表(怎么存就怎么取)Stack 栈 先进后出Queue...

2021-12-17 09:06:01 143

原创 错题笔记六

类的加载是由类加载器完成的,类加载器包括:根加载器(BootStrap)、扩展加载器(Extension)、系统加载器(System)和用户自定义类加载器(java.lang.ClassLoader的子类)。从Java 2(JDK 1.2)开始,类加载过程采取了父亲委托机制(PDM)。PDM更好的保证了Java平台的安全性,在该机制中,JVM自带的Bootstrap是根加载器,其他的加载器都有且仅有一个父类加载器。类的加载首先请求父类加载器加载,父类加载器无能为力...

2021-12-16 09:43:01 639

原创 错题笔记五

接口中的属性在不提供修饰符修饰的情况下,会自动加上public static final注意(在1.8的编译器下可试):(1)属性不能用private,protected,default 修饰,因为默认是public(2)如果属性是基本数据类型,需要赋初始值,若是引用类型,也需要初始化,因为默认有final修饰,必须赋初始值;(3)接口中常规的来说不能够定义方法体,所以无法通过get和set方法获取属性值,所以属性不属于对象,属于类(接口),因为默认使用static修饰。getPar

2021-12-16 09:39:53 104

原创 错题笔记四

java提供了两种异常错误的异常类,分别为ERROR和EXCEPTION,错误和异常,他们的父类是Throwable.error表示程序在运行期间出现了严重的错误,并且该错误是不可恢复的。exception表示可恢复的异常,是编译器可以捕捉到的。分两类:检查异常(checked exception)和运行时异常(runtime exception)数据库事务的隔离级别有4个,由低到高依次为Read uncommitted、Read committed、Repeatable read、Serial

2021-12-16 09:35:49 82

原创 错题笔记三

Map接口有两个金典的子类分别是Hashtable 和 Hashmap。Hashtable 线程安全,不支持key和value为空,key不能重复,但value可以重复,不支持key和value为null。Hashmap 非线程安全,支持key和value为空,key不能重复,但value可以重复,支持key和value为null。1)接口可以继承接口,而且可以继承多个接口,但是不能实现接口,因为接口中的方法全部是抽象的,无法实现;另外,如果是Java 7以及以前的版本,那么接.

2021-12-16 09:32:43 78

原创 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

古典问题:不死神兔(public static void main(String[] args) { System.out.println(rabite(10)*2);; } private static int rabite(int month) { if (month == 1 || month == 2){ return 1; } else{ return rabite(month

2021-12-15 10:29:56 294

原创 错题记录三

main()函数即主函数,是一个前台线程,前台进程是程序中必须执行完成的,而后台线程则是java中所有前台结束后结束,不管有没有完成,后台线程主要用与内存分配等方面。 前台线程和后台线程的区别和联系:1、后台线程不会阻止进程的终止。属于某个进程的所有前台线程都终止后,该进程就会被终止。所有剩余的后台线程都会停止且不会完成。2...

2021-12-15 09:58:04 93

原创 错题记录二

首先:创建并启动线程的过程为:定义线程—》实例化线程—》启动线程。一 、定义线程:1、扩展java.lang.Thread类。2、实现java.lang.Runnable接口。二、实例化线程:1、如果是扩展java.lang.Thread类的线程,则直接new即可。 2、如果是实现了java.lang.Runnable接口的类,则用Thread的构造方法: Thread(Runnable target) Thread(Ru...

2021-12-15 09:44:45 129

原创 错题笔记一

JAVA中的委托事件模型Java自JDK1.1之后采用委托事件模型(delegation event model)。委托事件模型是进行图形用户界面设计的核心,在了解该模型之前,先介绍几个基本概念。1、 事件 事件(event)是指一个状态的改变,或者一个活动的发生。例如,用户点击窗口关闭按钮,发生窗口关闭事件;用户单击一个按钮,产生动作事件2、 事件源 发生事件的组件称为事件源。例如,用户单击窗口关闭按钮是在窗口上发生的事件,所以窗口为事件源;用户单击按钮产生的动作事...

2021-12-15 09:32:21 87

原创 错题笔记二

引用毕向东教程的一段话:1.成员变量:编译和运行都参考左边。2.成员函数(非静态):编译看左边,运行看右边3.静态函数:编译和运行都看左边java多态有两种情况:重载和覆写在覆写中,运用的是动态单分配,是根据new的类型确定对象,从而确定调用的方法;在重载中,运用的是静态多分派,即根据静态类型确定对象,因此不是根据new的类型确定调用的方法thread.Join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程。比如在线程B中调用了线程A的Join(

2021-12-14 11:49:57 653

原创 错题笔记一

Applet类是浏览器类库中最为重要的类,同时也是所有JAVA小应用程序的基本类。一个Applet应用程序从开始运行到结束时所经历的过程被称为Applet的生命周期。Applet的生命周期涉及init()、start()、stop()和destroy()四种方法,这4种方法都是Applet类的成员,可以继承这些方法,也可以重写这些方法,覆盖原来定义的这些方法。除此之外,为了在Applet程序中实现输出功能,每个Applet程序中还需要重载paint()...

2021-12-14 11:43:02 343

原创 错题记录二

1、throws出现在方法头,throw出现在方法体2、throws表示出现异常的一种可能性,并不一定会发生异常;throw则是抛出了异常,执行throw则一定抛出了某种异常。3、两者都是消极的异常处理方式,只是抛出或者可能抛出异常,是不会由函数处理,真正的处理异常由它的上层调用处理。在你面前有一个n阶的楼梯,你一步只能上1阶或2阶。请问,当N=11时,你可以采用多少种不同的方式爬完这个楼梯();当N=9时呢?你需要爬11楼的时候,你倒回去一步只能待在第10楼或者第9楼。换句话说就是到达

2021-12-10 09:58:44 128

原创 错题笔记一

final表示最终的意思,它修饰的类是不能被继承的;final修饰的方法能被继承(Math类里就有),但是不能够被重写。其实关系并不复杂,你只需要记住这样一句话:final可用于声明属性、方法和类,分别表示属性不可变,方法不可重写,类不可继承。当然final修饰的方法是可以被重载的。字符串的拼接与常量比较的问题(前提是字符串拼接之后的内容与常量相同),若拼接字符串的+两边存在变量,则会在堆上new一个新的对象,此时与常量的==结果为false;若拼接字符串的+两边均是常量,由于java的常量优化

2021-12-10 09:37:05 87

redis 实战篇 前端代码 已经部署好的部分

redis 实战篇 前端代码 已经部署好的部分

2022-06-16

redis 入门篇 资料 redis学习

redis 入门篇 资料 redis学习

2022-06-16

redis 入门篇 代码 redis入门

redis 入门篇 代码 redis入门

2022-06-15

day05-MQ高级.rar

day05-MQ高级.rar

2022-06-02

day04-多级缓存.rar

day04-多级缓存.rar

2022-06-02

redis-demo.zip

redis-demo.zip

2022-06-02

分布式缓存 redis 分布式缓存

分布式缓存 redis 分布式缓存

2022-06-02

分布式事务 资源文件 seata

分布式事务 资源文件 seata

2022-06-02

seata - demo seata示例代码

seata - demo seata示例代码

2022-06-01

微服务保护 Sentinel

微服务保护 Sentinel

2022-06-01

gurui 商城 资源文档

gurui 商城 资源文档

2022-05-11

瑞吉外卖第三天讲义资源

瑞吉外卖第三天讲义资源

2022-04-28

springcloud day1 资料

springcloud day1 资料

2022-04-26

springboot基础篇视频21-50

springboot基础篇视频21-50

2022-04-25

springboot基础篇视频资料1-20

springboot基础篇视频资料1-20

2022-04-25

瑞吉外卖第六天讲义资源

瑞吉外卖第六天讲义资源

2022-04-22

瑞吉外day05资源讲义

瑞吉外day05资源讲义

2022-04-22

瑞吉外卖第四天资源讲义

瑞吉外卖第四天资源讲义

2022-04-22

瑞吉外卖第二天资源讲义

瑞吉外卖第二天资源讲义

2022-04-22

瑞吉外卖第一天的讲义压缩

瑞吉外卖第一天的讲义压缩

2022-04-22

Springboot整合mp前端页面资源

Springboot整合mp前端页面资源

2022-04-07

案例:购物车案例模块-全选

案例:购物车案例模块-全选

2022-01-18

空空如也

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

TA关注的人

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