自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 try、catch、finally中return的问题

try、catch、finally中return的问题一、try中有return,finally有returnpublic int test(){ int i =0; try{ i = 2; return i; }catch(Exception e){ System.out.println(e); }finally{ i = 3; return i;// i=3 }}返回值为3

2021-09-08 15:50:43 325

原创 JVM类加载器

JVM类加载器类加载器:引导类加载器、扩展类加载器、系统/应用类加载器按JVM官方进行分类(两种划分方法)按类划分引导类加载器(Bootstrap ClassLoader)自定义类加载器(直接或间接继承ClassLoader类的类加载器)按实现语言划分Bootstrap ClassLoader (C++、C实现的)其他类加载器(Java实现的)引导类加载器(BootStrap ClassLoader)引导类加载器是使用C++和C实现的,嵌套在JVM内部主要用于加载Java核

2021-09-05 21:01:40 124

原创 JVM类的加载过程

JVM类的加载过程从全局维度观察类的加载过程类的加载过程一般可以划分为:加载阶段 Loading、链接阶段 Linking、初始化阶段 InitializationIDEA安装插件jclasslib bytecode viewer即可查看反编译后的字节码文件加载阶段就是如何获取字节码文件的阶段通过一个类的权限定名获取定义此类的二进制字节流将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构(元数据)在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的

2021-09-05 17:12:38 156

原创 LeetCode——9/1-2021

LeetCode——9/1-20214. 寻找两个正序数组的中位数(困难) (挑战失败)给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。自己的思路:思路第一种使用左右两个指针分别指向nums1和nums2的下标,然后将两个数组的数进行比较并判断,当前对比发生翻转时为中位数。未能完成思路第二种将两个数组按大小进行组装在一起,形成一个有序的数组,在其中寻找中位数即可未能完成:组装成一个数组时失败参考

2021-09-02 15:11:51 92

原创 LeetCode笔记——8/31-2021

LeetCode笔记——8/31-20211. 两数之和(简单)给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。思路:暴力破解法使用两个for循环,遍历数组进行比较(自己想到的)HashMap检验法利用HashMap的不可重复性,将数组存入哈希表后,用target-当前数

2021-08-31 21:58:05 52

原创 二叉平衡树平衡方法(RR、LL、RL、LR)

二叉平衡树的平衡方法 (RR、LL、RL、LR)1、RR型 右单旋右右型:插入节点在不平衡因子节点右子树的右边右单旋:向左旋转2、LL型 左单旋左左型:插入节点在不平衡因子节点的左子树的左边左单旋:向右旋转3、RL型 右左双旋右左型:插入节点在不平衡因子节点的右子树的左边右左双旋:先以不平衡因子的右子树为支点进行右旋,再以不平衡因子节点为支点进行左旋4、LR型 左右双旋左右型:插入节点在不平衡因子节点的左子树的右边左右双旋:先以不平衡因子的左子树为支点进行左旋,

2021-08-30 11:10:36 3876

原创 零基础——Shiro整合SpringBoot+Mybatis-01基本操作

Shiro整合springboot案例环境准备案例介绍本案例使用shiro+SpringBoot+mybatis进行完成,未使用jsp或者thymeleaf等模板引擎,单纯使用json作为数据传送和返回点击此处看验证结果主要验证shiro作为权限管理的相关过程其中包括的相关知识有Mybatis中mapper的书写springmvcMd5加密过程中加盐salt和散列使用SSM相关过程等相关依赖pom.xml<?xml version="1.0" encoding="UTF-

2021-07-31 17:48:37 192 1

原创 原型模型—Java的浅克隆和深克隆

原型模式原型模式(Prototype Pattern)是一种对象创建型模式,用原型实例制定创建对象的种类,并且通过复制这些原型创建新的对象。在Java中,用 克隆 实现了原型模式浅克隆被复制对象的常量和引用对象都与源对象相同浅克隆仅复制当前对象,而不复制对象内的成员对象(即成员对象均指向源成员对象)代码实现:Teacher类:@Data // lombok 自动生成get和set@AllArgsConstructor// lombok 自动生成构造函数public class Tea

2021-04-20 20:47:10 124

原创 java中String类型对象在克隆时候的特殊性

查看原码可知String类型被final所修饰,不可对它的实例进行修改即:String类型的实例是一个常量,跟八大基本类型 int 、double等一样但根据我们所学到的,String是一个引用类型啊,为什么是一个常量呢?这就跟String实例化的过程相关String在实例化时,一旦初始化就再不能进行修改若是收到了修改, **Java处理机制会重新开辟一个新的地址空间**存放这个新的值,然后再把原来的对象指向新的地址。由此则衍生出了一个可修改的字符串类型——StringBuffer因此,在

2021-04-20 20:44:29 388

原创 [Vue warn]: Error in render: “TypeError: Cannot read property ‘matched‘ of undefined“——问题原因及解决

问题原因路由配置重名(可用Ctrl+单击 查看是否跳转到正确文件夹)详解:在导入vue-router时,vue有自身的命名规范—>必须包含“Router”字符,且大小写全局唯一。即别的地方在命名时不能完整包含“Router”字符import VueRouter from "vue-router";解决方法改变入口main.js入口文件main.js中路由与路由文件重名了(大小写或拼写重复都会引发这种问题)将main.js中的 Router 改为 router 便可import r.

2021-04-10 00:51:09 637

原创 Spring-Mybatis整合

Spring-Mybatis官网地址:http://mybatis.org/spring/zh/index.html一、整合基本配置文件目录结构:1. 导入依赖<dependencies> <!-- https://mvnrepository.com/artifact/org.aspectj/aspectjweaver --> <dependency> <groupId>org.aspectj</groupI

2021-03-29 15:01:11 70

原创 Spring @Component 找不到bean | 大小写问题

使用@Component注解类时,容易出现以下错误:org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean namedException in thread "main" org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'userserviceImpl' available at org.springfra

2021-03-24 15:32:27 3044

原创 java基础——类和抽象类和接口的异同点

类和抽象类 异同点:相同之处:包含成员变量、局部变量、类变量包含各类具体实现的方法具有构造方法、可继承和被继承、可实例化接口不同点:类:类可以被实例化类没有抽象方法子类可以任意重写父类方法抽象类:抽象类不能被实例化有抽象方法,抽象方法没有主体、只有方法名,不能为静态子类必须实现父类的抽象方法、否则子类也是抽象类具有抽象方法的类必定是抽象类、抽象类可以没有抽象方法接口和抽象类 异同点:相同之处:都不能直接被实例化,接口需要被实现、抽象类需要被继承存在

2021-03-17 00:32:49 181

原创 `com.mysql.cj.jdbc.Driver`和`com.mysql.jdbc.Driver`区别以及时区问题

com.mysql.cj.jdbc.Driver和com.mysql.jdbc.Driver区别、及时区问题一、问题原因在日常使用MySQL连接数据库的时候,使用了很久的com.mysql.jdbc.Driver系统对此竟然提出了警告:Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automati

2021-03-14 17:22:29 35238

转载 idea web.xml 配置无误但打不开servlet解决方法

idea web.xml 配置无误但打不开servlet解决方法记录一个突然发生的错误:在写后端的时候,不知道按错了什么,导致servlet无法开启解决方法:1.确保xml配置无误2.进入设置内容(我也不知道叫什么)3.修改路径 (一定得是你自己创建好的classes文件!!!)原文链接:https://www.cnblogs.com/ttzz/p/14082627.html...

2020-12-19 21:57:07 2043 1

原创 IDEA中,需要重启idea才能显示更改过后的HTML、CSS等文件内容的解决方案

记录困扰了很久的低级错误问题:每次修改css文件的时候,都需要重启整个idea才能有修改后的效果解决方法:清除浏览器缓存,就能解决问题了

2020-12-18 00:08:55 564

原创 操作系统实验——基于Java的模拟操作系统进程切换(简易版)

实验任务创建一个进程,给出工作量,每个进程所占的时间片大小为20个单位,实现就绪状态到执行状态之间的转化。如果一个进程在执行,点击其I/O请求即可产生阻塞,实现了等待一个事件的状态转移。阻塞状态到就绪状态需要事件发生,本程序为了简化,过40个时间单位自动解锁。本程序可以在VC、或其他程序设计语言中实现,容易使用时钟控件。在控制台模式下,该方式不是非常合适。开始实验一、 实验目的:通过实验进一步了解进程状态之间的转换和进程控制等相关操作,通过实验的方法模拟进程在操作系统中是如何进行切换的,并掌握进程的

2020-11-05 20:21:38 2793 3

原创 Java基础——注解与反射(反射的多种实例及机制)

注解和反射注解 Annotation定义Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制。Java 语言中的类、方法、变量、参数和包等都可以被标注。和 Javadoc(注释) 不同,Java 标注可以通过反射获取标注内容。在编译器生成类文件时,标注可以被嵌入到字节码中。Java 虚拟机可以保留标注内容,在运行时可以获取到标注内容 。组成部分:Annotation.javapackage java.lang.annotation;public i

2020-09-29 15:31:22 244 1

原创 Java基础——多线程简述

开启多线程的两种方法继承Thread类子类继承Thread类(重写run()方法)启动线程:子类对象.start()由于Java是单继承,不建议使用继承Thread的方法进行实现多线程实现Runnable接口实现Runnable接口(重写run()方法)启动线程:将该接口的实现类(你正在使用的类)作为参数传入Thread对象后,使用Thread对象.start()进行启动避免了Java的单继承性,方便同一个对象被多个线程使用的情况示例:public class Test1

2020-09-24 22:03:29 177

原创 以网易云为例,使用审查元素(开发者选项)获取音乐资源

1. 首先准备一个浏览器,并打开你要下载音乐的页面这里我使用的是360浏览器+网易云音乐2. 按键盘 F12 (也可以在网页空白处右键选择审查元素)进入开发者选项如图进入开发者选项①选中Network选项②在筛选栏输入“m4a”筛选出所需要的音乐资源③刷新界面或播放音乐,使得网站获取该音乐资源3. 选择得到的音乐资源①反选掉不需要的框框(强迫症选择,其他人无视也可,非必选项)②点击筛选得到的文件③在右侧寻找General下的 Request url的链接,并进行复制4

2020-08-23 23:42:23 9096

原创 Java基础——IO流(字节流、字符流的简单使用)

IO流概述IO包括输入和输出流输入流指的是将数据以字符或字节形式从外部媒介文件、数据库等读取到内存中。所以也分为字符输入流和字节输入流。输出流指的是将内存中的数据写入外部媒介,也分为了字符输出流和字节输出流。Java中I/O操作主要是指使用java.io包下的内容,进行输入、输出操作。输入也叫做读取数据,输出也叫做作写出数据。IO流的分类根据数据的流向分为:输入流和输出流。输入流 :把数据从其他设备上读取到内存中的流。输出流 :把数据从内存 中写出到其他设备上的流。格局数据的类型

2020-08-18 16:26:32 184

原创 Java学习(不断更新中)

Java学习目录Java学习JavaSEJava基础多线程注解和反射MySQL数据库基础语法基本操作数据库设计JDBCSQL注入数据库连接池JavaWeb开发SSM框架JavaSEJava基础多线程注解和反射MySQL数据库基础语法基本操作数据库设计JDBCSQL注入数据库连接池JavaWeb开发未来继续学习SSM框架未来继续学习...

2020-08-17 00:10:53 70

原创 Java基础——Lambda表达式及四种内置函数式接口

Lambda表达式概述Lambda表达式是JAVA8的新特性,使用Lambda表达式可以对一个函数式接口进行快速的实现(因此,lambda也可以看做是一个匿名函数。使用注意:JAVA的版本必须为JAVA8及以上并非所有接口都可以用Lambda表达式进行实现,Lambda表达式只适用于 接口定义的抽象方法只有一个(函数式接口)新特性:在JAVA8中,对接口内方法新增了一个修饰符——default。这使得被该修饰符修饰的方法可以在接口中得到默认实现@FunctionalInterface用

2020-08-16 23:44:32 894

原创 Java基础——集合的排序(Collections类和Compare比较器的使用)

Collections简介及常用功能java.utils.Collections是集合工具类,用来对集合进行操作。部分方法如下:public static <T> boolean addAll(Collection<T> c, T... elements):往集合中添加一些元素。public static void shuffle(List<?> list):打乱集合顺序。public static <T> void sort(List<

2020-08-16 23:41:44 1100 1

原创 Java基础——文件的简单操作(文件、文件夹遍历及检索---用Flie类实现)

File类概述java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。在Java中,File类是一个与系统无关的类,任何的操作系统都可以使用这个类中的方法记住三个单词:file 文件directory 文件夹/目录path 路径记住四个静态变量:String pathSeparator 路径分割字符串char pathSeparatorChar 路径分割符windows:分号Linux:冒号String

2020-08-14 23:38:44 238

原创 Java基础——Map接口及其实现类(两种遍历方法)

Map接口概述现实生活中,我们常会看到这样的一种集合:IP地址与主机名,身份证号与个人,系统用户名与系统用户对象等,这种一一对应的关系,就叫做映射。Java提供了专门的集合类用来存放这种对象关系的对象,即java.util.Map接口。我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式不同,如下图。Collection中的集合,元素是孤立存在的(理解为单身),向集合中存储元素采用一个个元素的方式存储。Map中的集合,元素是成对存在的(理解为

2020-08-12 23:04:19 227

原创 Java基础——List、Set接口简介

Collection有几个常用子类(java.util.List、java.util.Set)List 接口List接口介绍java.util.List接口继承自Collection接口,是单列集合的一个重要分支,习惯性地会将实现了List接口的对象称为List集合。在List集合中允许出现重复的元素,所有的元素是以一种线性方式进行存储的,在程序中可以通过索引来访问集合中的指定元素。另外,List集合还有一个特点就是元素有序,即元素的存入顺序和取出顺序一致。List接口特点:它是一个元素存取有

2020-08-11 23:33:40 324

原创 Java基础——红黑树的产生

红黑树是如何产生的呢?我们先来看看红黑树的亲戚二叉排序树又叫二叉查找树和二叉搜索树定义:若左子树不空,则左子树上所有结点的值均小于它的根结点的值;若右子树不空,则右子树上所有结点的值均大于它的根结点的值;左、右子树也分别为二叉排序树;没有键值相等的结点。查找算法与二分法类似,将查找的关键字与树结点进行对比,大的往右小的往左,相同则成功查找。步骤:若根结点的关键字值等于查找的关键字,成功。否则,若小于根结点的关键字值,递归查左子树。若大于根结点的关键字值,递归查右子树。若子

2020-08-06 11:50:13 165

原创 Java数据结构——堆栈、队列、数组、链表、数组、红黑树、哈希表

数据存储的常用结构有:栈、队列、数组、链表和红黑树。栈栈:stack,又称堆栈,它是运算受限的线性表,其限制是仅允许在标的一端进行插入和删除操作,不允许在其他任何位置进行添加、查找、删除等操作。简单的说:采用该结构的集合,对元素的存取有如下的特点先进后出(即,存进去的元素,要在后它后面的元素依次取出后,才能取出该元素)。例如,子弹压进弹夹,先压进去的子弹在下面,后压进去的子弹在上面,当开枪时,先弹出上面的子弹,然后才能弹出下面的子弹。栈的入口、出口的都是栈的顶端位置。这里两个名

2020-08-04 16:49:48 571

原创 Java基础——集合(Collection、迭代器、for each循环)

Collection集合概述集合:集合是java中提供的一种容器,可以用来存储多个数据。集合和数组既然都是容器,它们有啥区别呢?与数组的区别:数组的长度是固定的。集合的长度是可变的。数组中存储的是同一类型的元素,可以存储基本数据类型值。集合存储的都是对象。而且对象的类型可以不一致。在开发中一般当对象多的时候,使用集合进行存储。集合框架常用功能Collection是所有单列集合的父接口,因此在Collection中定义了单列集合(List和Set)通用的一些方法,这些方法可用于操

2020-07-31 18:00:23 333

原创 Java基础——构造过程解析

继承的构造首先, 类初始化时,继承链上(包括当前类)的全部静态代码块最 先执行一次.之后不再执行,除非程序又重启.(按链序和声明序且仅1次)其次,创建子类实例时,会先进行父类的构造(要么显式进行, 要么隐式用super()进行)最后,类的构造顺序:构造代码块(按声明序)→构造方法总体:父类静态块→子类静态块→父类构造块→父类构造子→ 子类构造块→子类构造子class C { static { System.out.println("C父类静态块"); }}class A ext

2020-07-30 21:46:51 216

原创 Java基础——多态(继承多态、接口多态)

多态多态的概念定义多态 polymorphism :对象根据所接收的消息而做出动作,同样的消息为不同的对象接收时可导致完全不同的行动,该现象 称为多态性静态绑定编译时多态 指在编译程序时就根据调用方法提供的信息,把它所对应的具体方法确定下来。即 在编译时就把调用方法名与具体方法绑定在一起方法重载动态绑定运行时多态 指在编译程序时还不能确定方法调用所对应的具体方法,只有在程序运行过程中才能确定具体的方法。 即 在程序运行时才把调用方法名与具体方法绑定在一起继承多态、接口多态为何需要多态?

2020-07-25 16:39:10 2021

原创 Java数据结构——稀疏矩阵(数组)的意义与转变方法

Java基础——稀疏矩阵(数组)的意义与转变方法定义​ 在矩阵中,若数值为0的元素数目远远多于非0元素的数目,并且非0元素分布没有规律时,则称该矩阵为稀疏矩阵;与之相反,若非0元素数目占大多数时,则称该矩阵为稠密矩阵。举例说明现有一个二维数组,其值如下所示0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 2 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 5 0 由于数组中有效数字(非0)与无效数组比例较小,存储空间利用率低,因此使用稀疏数组

2020-07-19 17:21:55 241

原创 Java基础——可变参数

可变参数定义: 在方法定义形参时,可通过使用定义可变参数的形式使得参数的个数可变。注意:书写规范 定义好形参的数据类型后在后面 + … +形参名称 (加不加空格都行)public int Example1(int... Num1){ 略;}可变参数只能出现在形参列表的最后// 正确写法:public double Example2(int Num1,double... Num2){ 略;}// 错误写法:public double Example2(int

2020-07-17 17:32:05 111

原创 Java基础——数据类型

数据类型基本类型基本信息类型默认值字节最大值最小值byte0256bit128-128short02B-3276832767int04B-21474836482147483647long0L8B-92233720368547758089223372036854775807float0.0f4B1.4E-453.4028235E38double0.0d8B4.9E-3241.7976931348623

2020-07-13 21:40:49 86

原创 Java背景基础

Java 背景java的诞生1972年C语言问世1982年C++问世1995年java诞生java的特性优点与C语言语法相似,容易上手没有指针、没有内存管理真正的可移植性,一次编写、到处运行面向对象、类型安全拥有高质量的类库分布式、多线程、动态性、健壮性java的三大版本及主要应用java2 SE 标准版(J2SE) (桌面程序,控制台开发)java2 ME 移动版 (J2ME)(嵌入式开发,手机和小家电;已淘汰)java2 EE 企业版 (J2EE) (WEB开发,服务

2020-07-12 15:41:27 148

原创 计算机网络基础|笔记

计算机网络目录计算机网络网络基础网络时代分类交换方式性能指标计算及专业名称网络协议三要素各层定义各类国际组织企业网络架构物理层传输介质冲突域和广播域宽带分配方式协议以太网各类传播方式前导码填充法CRC循环冗余校验HDLC协议响应方式丢失重传方式PPP协议分类协议字段 (8bit)认证方式IP协议地址分类广播地址分类子网划分NAT技术NAT技术:NAPTICMP协议错误类型报文类型不应发送ICMP报文的情况ARP免费ARP端口分类TCP协议字段分类三次握手四次挥手tcp传送过程tcp的流量控制计时器分类UD

2020-07-09 12:27:24 920

原创 HTML寒假自学

HTMLGhost的寒假学习HTML第一天学习情况学习成果运用到的语句遇到的困难Ghost的寒假学习你好!这是Ghost的个人技术成长博客。感谢您的浏览。HTML第一天学习情况今天学习了HTML的基本知识:1.初步了解了HTML2.准备好了开发环境(使用sublime进行编辑)3.网页布局基本知识(切豆腐、用css控制div、浮动布局、消除浮动)学习成果&lt;!DOCTYPE ...

2019-01-12 23:32:35 120

空空如也

空空如也

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

TA关注的人

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