自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (1)
  • 收藏
  • 关注

原创 什么是双亲委派机制

当一个类收到了类加载请求时,不会自己先去加载这个类,而是将其委派给父类,由父类 去加载,如果此时父类不能加载,反馈给子类,由子类去完成类的加载。类加载器双亲委派模型机制。

2022-10-15 10:25:05 168

原创 你对Spring的理解?

spring

2022-09-26 11:30:43 186

原创 会话技术--

setDomain(“.baidu.com”),那么tieba.baidu.com和news.baidu.com中cookie可以共享。如果需要相同,则可以创建Cookie,键为JSESSIONID,设置最大存活时间,让cookie持久化保存。服务器端会话技术,在一次会话的多次请求间共享数据,将数据保存在服务器端的对象中。假设在一个tomcat服务器中,部署了多个web项目,那么在这些web项目中cookie能不能共享?在服务器启动后,将session文件转化为内存中的session对象即可。

2022-09-20 20:02:31 118

原创 redis简述

1、查询返回的数据为空,仍把这个空结果进行缓存,但过期时间会比较短2、布隆过滤器:将所有可能存在的数据哈希到一个足够大的 bitmap 中,一个一定不存在的数据会被这个 bitmap 拦截掉,从而避免了对DB的查询3、设置可访问的白名单4、进行实时的监控缓存击穿1、使用互斥锁:当缓存失效时,不立即去load db,先使用如 Redis 的 setnx 去设置一个互斥锁,当操作成功返回时再进行 load db的操作并回设缓存,否则重试get缓存的方法2、永远不过期:不要对这个key设置过期时间。...

2022-08-27 09:00:09 280

原创 synchronized ReentrantLock的实现原理是什么?

synchronized是JVM隐式实现的,而ReentrantLock是Java语言提供的API 3 ReentrantLock可设置为公平锁,而synchronized却不行。·ReentrantLock只能修饰代码块,而synchronized可以用于修饰方法、修饰代码块等。ReentrantLock需要手动加锁和释放锁,如果忘记释放锁,则会造成资源被永久占用。而synchronized无需手动释放锁。...

2022-08-17 18:25:02 106

原创 MYSQL第二天

重点,DQL是我们每天都要接触编写最多也是最难的SQL,该语言用来查询记录,不会修改数据库和表结构。

2022-08-16 21:36:29 282

原创 MYSQL数据库 学习第一天

Structured Query Language:结构化查询语言SQL是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存储数据以及查询、更新和管理关系型数据库系统。

2022-08-15 17:44:07 216

原创 泛型与枚举

##为什么要引入泛型泛型的本质就是为了参数化类型(在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制的类型)。也就是说泛型使用过程中,操作的数据类型被指定为一个参数,这种参数类型可以用在类、接口和方法中,分别被称为泛型类、泛型接口、泛型方法。###引入的意义在于:适用于多种数据类型执行相同的代码。如果没有泛型,要实现不同类型的加法,每种类型都需要重载一个add方法;通过泛型,我们可以复用为一个方法如图中所示,要是有不同的数据类型就要重写许多的方法。...

2022-08-12 19:37:21 118

原创 异常的简要概述

都是RuntimeException类及其子类异常,如NullPointerException(空指针异常)、IndexOutOfBoundsException(下标越界异常)等,这些异常是不检查异常,程序中可以选择捕获处理,也可以不处理。注意:这种异常处理方式,要求多个catch中的异常不能相同,并且若catch中的多个异常之间有子父类异常的关系,那么子类异常要求在上面的catch处理,父类异常在下面的catch处理。当出现了问题时,就会创建异常类对象并抛出异常相关的信息(如异常出现的位置、原因等)。..

2022-08-12 19:35:15 118

原创 代码块与static

static:是一个关键字,用于修饰成员变量和成员方法static的特点:被所有的对象所共享可以使用类名调用静态的加载优先于对象随着类的加载而加载静态方法:可以调用静态的成员变量可以调用静态的成员方法不可以调用非静态成员变量不可以调用非静态成员方法静态方法只能调用静态的成员非静态方法:可以调用静态的成员变量可以调用静态的成员方法可以调用非静态的成员变量可以调用非静态的成员方法。...

2022-08-12 19:26:40 96

原创 接口和抽象类

当编写一个类时,我们往往会为该类定义一些方法,这些方法是用来描述该类的功能具体实现方式,那么这些方法都有具体的方法体。分析事物时,发现了共性内容,就出现向上抽取。会有这样一种特殊情况,就是方法功能声明相同,但方法功能主体不同。那么这时也可以抽取,但只抽取方法声明,不抽取方法主体。那么此方法就是一个抽象方法。抽象类的成员特点:成员变量可以有成员变量可以有常量成员方法可以有抽象方法可以有非抽象方法构造方法可以有构造方法的,需要对抽象类的成员变量进行初始化。......

2022-08-12 19:01:45 46

原创 什么是多态?

父类类型 变量名 = new 子类类型();变量名.方法名();父类 变量名 = new 子类();如: class Fu {}//类的多态使用抽象类 变量名 = new 抽象类子类();如: abstract class Fu {}System.out.println(“重写父类抽象方法”);}}//类的多态使用接口 变量名 = new 接口实现类();如: interface Fu {}System.out.println(“重写接口抽象方法”);}}...

2022-08-12 18:54:23 100

原创 Object类

private 方法隐式地被指定为 final,如果在子类中定义的方法和基类中的一个 private 方法签名相同,此时子类的方法不是重写基类方法,而是在子类中定义了一个新的方法。在覆盖 equals() 方法时应当总是覆盖 hashCode() 方法,保证等价的两个对象散列值也相等。对于引用数据类型, ==判断两个变量是否引用同一个对象,而equals()判断引用的对象是否等价。对于引用类型,final 使引用不变,也就不能引用其它对象,但是被引用的对象本身是可以修改的。声明方法不能被子类重写。...

2022-08-12 18:49:47 41

原创 创建线程池的方式

3.CachedThreadPool: 该方法返回一个可根据实际情况调整线程数量的线程池。线程池的线程数量不确定,但若有空闲线程可以复用,则会优先使用可复用的线程。若所有线程均在工作,又有新的任务提交,则会创建新的线程处理任务。该线程池中的线程数量始终不变。当有一个新的任务提交时,线程池中若有空闲线程,则立即执行。若没有,则新的任务会被暂存在一个任务队列中,待有线程空闲时,便处理在任务队列中的任务。若多余一个任务被提交到该线程池,任务会被保存在一个任务队列中,待线程空闲,按先入先出的顺序执行队列中的任务。.

2022-08-12 16:03:54 49

原创 java中让一个数组扩容

数组的扩容

2022-08-12 11:50:35 135

原创 什么是继承?

3.在Java中,多层继承是可以的,即一个类的父类可以再去继承另外的父类,例如C类继承自B类,而B类又可以去继承A类,这时,C类也可称作A类的子类。方法重写的应用场景:当父类的方法不能完全满足子类使用的时候,既可以保留父类的功能(沿袭、传承),还可以有自己特有的功能。防止类追溯时找不到上级,报错。1、在Java中,类只支持单继承,不允许多继承,也就是说一个类只能有一个直接父类,例如下面这种情况是不合法的。class C extends B{} // 类C继承类B,类C是类B的子类,同时也是类A的子类。.

2022-08-11 21:46:53 204

原创 this和构造方法

构造方法(构造器):每个类都有一个默认的无参构造器,jvm自动给我们添加的, 如果我们手写一个构造器,jvm不会给我们自动添加构造器。//这时调用的是Student的有参数构造方法;//这时调用的是Student的无参数构造方法;构造器只能在构造器中被调用,而且必须放在代码的第一行,并且不能在一个构造函数调用两个以上的构造函数。A:this:代表所在类的对象引用方法被哪个对象调用,this就代表那个对象。构造方法也是可以重载的,重载条件和普通方法相同。如果你不提供构造方法,系统会给出默认构造方法。...

2022-08-10 08:58:48 155

原创 String与Scanner

C:字符串是常量,一旦被赋值,就不能被改变 (每次对 String 类型进行改变的时候,都会生成一个新的 String 对象,然后将指针指向新的String 对象。包括 start,不包括end。* boolean startsWith(String str):判断字符串对象是否以指定的str开头。* boolean endsWith(String str):判断字符串对象是否以指定的str结尾。* int indexOf(String str):获取str在字符串对象中第一次出现的索引。...

2022-08-10 08:47:01 121

原创 面向对象与面向过程

向过程就是:面向过程,其实就是面向着具体的每一个步骤和过程,把每一个步骤和过程完成,然后由这些功能方法相互调用,完成需求。类是对事物也就是对象的一种描述,可以将类理解为一张设计图,根据设计图,可以创建出具体存在的事物。面向过程POP:是一种以【过程】为中心的编程思想,功能的每一步,都是自己实现的。面向对象OOP:是一种以【对象】为中心的编程思想,通过指挥对象实现具体的功能。小结1、客观存在的任何一种事物,都可看做为程序中的对象(万物皆对象)类是对现实的生活中,类具有共同的属性和行为的事务描述。...

2022-08-10 08:46:01 43

原创 一维数组,二维数组

为了提高运算效率,就对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式。首先一个类的创建:先把解析的字节码信息加载到方法区中,再在堆中给分划内存并且有一个地址标记。变量 p 就在入到栈内 通过地址的引用找到堆中的数据。数据类型[][] 变量名 = new 数据类型[m][n];数组既可以存储基本数据类型,也可以存储引用数据类型。数组是存储多个变量(元素)的东西(容器)数据类型 数组名[][];数据类型[] 数组名[];格式1:数据类型[] 数组名;数据类型[][] 数组名;...

2022-08-10 08:44:42 41

原创 循环判断语句

虽然可以完成同样的功能,但是还是有小区别:do…while循环至少会执行一次循环体。for循环和while循环只有在条件成立的时候才会去执行循环体for循环语句和while循环语句的小区别:使用区别:控制条件语句所控制的那个变量,在for循环结束后,就不能再被访问到了,而while循环结束还可以继续使用,如果你想继续使用,就用while,否则推荐使用for。原因是for循环结束,该变量就从内存中消失,能够提高内存的使用效率。...

2022-08-10 08:42:31 604

原创 什么是反射机制

JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。静态编译和动态编译静态编译:在编译时确定类型,绑定对象动态编译:运行时确定类型,绑定对象优点: 运行期类型的判断,动态加载类,提高代码灵活度。缺点: 性能瓶颈:反射相当于一系列解释操作,通知 JVM 要做的事情,性能比直接的java代码要慢很多。反射是框架设计的灵魂。在我们平时的项目开发过程

2022-08-06 17:47:22 41

原创 程序、进程、线程 简单解析

进程 : 进程是程序一次执行的过程,是系统运行程序的基本单位,因此进程是动态的,  系统运行一个程序即是一个进程从创建、运行到消亡过程,简单来说, 一个进程就是一个 执行中的程序,  它在计算机中一个指令接着一个指令地执行 着,同时,每个进程还占有某些系统资源如 CPU 时间,内存空间,,输入输出设备的使用权和网络带宽等等。 进程在执行时,系统要有每个进程独立数据空间(进程上下文)  进程与进程之间有不同内存区域,每个进程都各自独立  进程之间切换会有较大开销  操作系统是多进程。...

2022-08-04 20:45:12 125

原创 final finally finalize区别

回收器来调用,当我们调用System.gc() 方法的时候,由垃圾回收器调用finalize(),回收垃圾,一。finalize是一个方法,属于Object类的一个方法,而Object类是所有类的父类,该方法一般由垃圾。被final修饰的变量不可以被改变,被final修饰不可变的是变量的引用,而不是引用指向的内容,引。final可以修饰类、变量、方法,修饰类表示该类不能被继承、修饰方法表示该方法不能被重写、修。finally代码块中,表示不管是否出现异常,该代码块都会执行,一般用来存放一些关闭资源的代。..

2022-08-03 23:41:25 48

原创 什么是守护线程?

User和Daemon两者几乎没有区别,唯一的不同之处就在于虚拟机的离开:如果 User Thread已经全部退出运行了,只剩下Daemon Thread存在了,虚拟机也就退出了。Daemon的作用是为其他线程的运行提供便利服务,守护线程最典型的应用就是 GC (垃圾回收器),它就是一个很称职的守护者。只能在线程未开始运行之前设置为守护线程。在Java中有两类线程:User Thread(用户线程)、Daemon Thread(守护线程)(2) 在Daemon线程中产生的新线程也是Daemon的。...

2022-08-03 23:10:06 1021 1

原创 JAVASE学习笔记

set 和 get 方法。

2022-08-03 16:27:14 46

原创 JAVA循环语句和条件判断

区别:do…while循环至少会执行一次循环体。for循环和while循环只有在条件成立的时候才会去执行循环体for循环语句和while循环语句的小区别:使用区别:控制条件语句所控制的那个变量,在for循环结束后,就不能再被访问到了,而while循环结束还可以继续使用,如果你想继续使用,就用while,否则推荐使用for。原因是for循环结束,该变量就从内存中消失,能够提高内存的使用效率。...

2022-08-03 16:20:04 379

原创 JAVASE基础第一天学习笔记

什么是JVM?JVM是Java的虚拟机所有的程序需要运行在虚拟机上,并且每个平台都有着自己的虚拟机,由此java语言是可以跨平台的。* 什么是jre?JRE是包括了JVM和java程序所需的核心类库。要是存在一个开发好的程序,只需JRE就能运行,所有一台电脑只需要运行程序就只需要装JRE即可。什么是JDK?JDk是提供java开发人员使用,其中包含了java开发工具和JRE。...

2022-08-02 19:51:33 82

原创 java环境的配置

win+r 输入cmd 命令行输入 java 就会出现。然后就可以用命令行检测是否已经配置完毕。

2022-08-02 19:43:25 137

原创 String StringBuffer 和 StringBuilder

1.操作少量的数据适用String2.单线程操作字符串缓冲区下操作大量数据适用3.多线程操作字符串缓冲区下操作大量数据适用。

2022-07-18 21:40:54 54

java基础知识面试题.pdf

适用于java的面试

2022-08-10

空空如也

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

TA关注的人

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