自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 简单Spring源码解析(一) 容器启动

第二步和第三步总的来说就是先扫描-->BeanDefinition-->beanDefinitionMap,扫描之后创建对象,将对象放入map容器当中,然后将所有的单例都查找出来并且创建对象实例化单例Bean存到单例池里面。我们可以测试一下,在test中获取UserService对象的时候,Userservice中不添加@Scope("prototype")和添加是否不同。创建一个UserService的bean,扫描工具类看是否有通过这个注解得到的类信息。首先建立Test类和service类。

2023-09-14 18:27:43 171

原创 实现SSM项目在服务器的自动化部署(包括jdk安装,入门级教程简单易懂)

附带服务器安装jdk,tomcat,maven

2022-07-27 10:51:39 2131 1

原创 Leetcode1076小球会落在哪里(简单讲解,一看就会)

力扣(LeetCode)1706,简单算法题

2022-07-19 17:37:12 1274

原创 验证数组是否是有序数列(面试必刷题经典示例题)

判断一个数组或序列是正序,倒序还是乱序.给定N个整型数组,请输出每一个数组是正序,倒序,还是乱序

2022-07-02 17:34:13 753

原创 字符串反转

简单字符串反转

2022-07-02 17:30:41 1168

原创 怎样反转链表?(一看就会系列,5分钟解决连表反转)

反转链表

2022-07-02 17:25:48 1646

原创 单链表中间值(经典案例,5分钟解决)

遍历一遍单链表查找中间值,如果是偶数,则返回2个数位置靠前的数

2022-07-02 17:19:59 1855

原创 第一个项目中包含的注解

1.@RestController等于@Controller + @ResponseBody,在一个类上添加@RestController注解,表明了这个类是一个控制器类,用在controller层上2. @Controller的作用是把前端提交来的请求通过对URL的匹配,分配个不同的的接收器,再进行处理;就是从HTTP请求中获得信息,提取参数,并分发给不同的处理服务。用在controller层上3. @ResponseBody的作用是将方法的返回值,以特定的格式写入到response中,进而讲数据

2022-05-12 18:59:47 1379

原创 第一个商业项目复盘

多表查询想在前端连表查询一个新的表,可以在展示当前表的时候把新的表也查询出来,还可以在后端新建一个方法,新建新的方法调用接口调用不能通过id直接进行查询,要通过token获取id,进行查询下拉框查询要考虑到数据量是否大,如果大的话,就不能将全部都查询,输哪些查哪些写代码要考虑周全在写的时候一定要注意是一对多关系还是多对多关系,传回来的信息是单个实体还是一个集合防止冗余字段重复查询有些业务在要求某些数据不能重复,就需要在后台中进行判断------------------

2022-04-29 10:02:19 171

原创 IOC 注解

用注解的方实现属性注入@Value 用于注入普通类型(String,int,double等类型)@Autowired 默认按类型进行自动装配(引用类型)@Qualifier 不能单独使用必须和@Autowired一起使用,强制使用名称注入@Resource Java提供的注解,也被支持。使用name属性,按名称注入具体的代码如下// 默认当前类名就是ID名称,首字母小写@Component(value = "c")// @Controller// @Service(va

2022-02-20 11:18:38 1265

原创 Java Spring框架介绍,5分钟一看就会

spring框架

2022-02-19 20:05:06 2165

原创 Mybatis框架拼写动态SQL语句(经典案例,一学就会)

动态拼接Mysql

2022-02-19 20:00:17 1711

原创 SSM框架:Mybatis 缓存问题

一、什么是缓存1.什么是缓存存储在内存当中的数据 将用户常使用的数据存放在缓存(内存)当中,用户查询数据就不用从磁盘(关系型数据库文件)当中查询,从缓存当中查询,从而提高查询效率,解决了高并发系统的性能问题2.为什么使用缓存减少和数据库的交互次数,减少系统开销,提高系统效率3.什么样的数据能使用缓存经常查询并且不常改变的数据二、Mybatis缓存mybatis包含了一个非常强大的查询缓存特性,他可以非常方便的定制和配置缓存。缓存可以极大的提高查询的效率 mybatis系统当中默

2022-02-19 19:49:41 1491

原创 Java基础:对象包装类和自动装箱

1.java是类型的语言(前置课程是讲过java在内存当中是如何存储的)在这个地方我们可以看到我们定义了几个变量,变量的基本赋值并没有什么问题,但是后边我们让 a = b; a = cat;却不能这样赋值,这是为什么呢?可能有些同学知道,java是强类型的语言,可是什么是强类型呢?强类型的语言本质其实来自于数据在内存当中的存储。1、我们知道java有8种基本数据类型和3种引用数据类型2、比如int在内存当中分配是1个符号位,31位数值位,3、float在内存当中分配是1个.

2022-02-13 11:24:35 1706

原创 Java基础:运算符(小白文附经典示例一看就懂)

经典java运算符示例

2022-02-13 11:10:34 1650

原创 Java基础:递归算法和案例

递归的定义:函数调用其本身递归的案例一:我们看如下数列,一个自然数的数列java实现 /** * 定义一个方法 来代表 f(n) * @param n * @return 递归的方式必须要有返回值 */ public static int recursion(int n){ // 首先定义出方法的出口 if(n==1){ return 1; } return recursion(n-1) +1;}二.

2022-02-12 11:27:19 1931

原创 Java八大算法:希尔排序

一、简单插入排序存在的问题数组arr = {2,3,4,5,6,1}这时要插入的数据1(最小),过程是这样的:{2,3,4,5,6,6}{2,3,4,5,5,6}{2,3,4,4,5,6}{2,3,3,4,5,6}{2,2,3,4,5,6}{1,2,3,4,5,6}结论:当需要插入得数是较小的数时,后移的次数明显增多,对效率有影响二、希尔排序介绍希尔排序也是一种插入排序。它是简单插入排序进过改进之后的一个更高效的版本,也成为了缩小增量排序三、希尔排序的基本思想

2022-02-12 11:22:32 1579

原创 Java八大算法:选择排序——>简单选择排序O(nlogn)

基本操作:选择排序(select sorting)也是一种简单的排序方法。它的基本思想是:第一次从arr[0到]arr[n-1]中选取最小值,与arr[0]交换,第二次从arr[1]到arr[n-1]中选取最小值,与arr[1]交换,第三次从arr[2]到arr[n-1]中选取最小值,与arr[2]交换,…,第i次从arr[i-1]arr[n-1]中选取最小值,与arr[i-1]交换,…, 第n-1次从arr[n-2]~arr[n-1]中选取最小值,与arr[n-2]交换,总共通过n-1次,得到一个

2022-02-12 11:06:24 120

原创 Java八大算法:插入排序

基本原理插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。动态图代码(这个地方用的是前后交换的方式)package com.qcby;import java.util.Arrays;public class Shu { public static v

2022-02-12 11:01:42 1627

原创 Java八大算法:冒泡排序

冒泡排序的基本原理对存放原始数组的数据,按照从前往后的方向进行多次扫描,每次扫描都称为一趟。当发现相邻两个数据的大小次序不符合时,即将这两个数据进行互换,如果从小大小排序,这时较小的数据就会逐个往前移动,好像气泡网上漂浮一样。下面来看一组动态图冒泡排序的特点:升序排序当中每一轮比较会把最大的数沉到最底(这里以从小到大为例),所有相互比较的次数每一轮会比前一轮少一次。排序的执行过程:package com.qcby;import java.util.Arrays;pub

2022-02-12 10:53:58 84

原创 Java基础:对象和类

一、什么是面向对象编程?对于一些规模较小的问题, 将其分解为过程的开发方式比较理想//class 类的关键字// Cat:类名public class Cat { }public class Test { public static void main(String[] args) { Cat cat = new Cat(); //类的实例化,其实质就是给类在堆内存当中开辟内存空间 //Cat() : 实际开辟内存空间的类型 //new : 关键字--...

2022-02-11 18:14:48 1530

原创 Java基础:构造器

普通方法java中的构造方法是一种特殊的方法,用于初始化对象。java构造函数在对象创建时被调用。它构造时,即提供对象的数据java访问权限修饰符明细表修饰符 当前类 同包 子类 其他包 public ✓ ✓ ✓ ✓ protected ✓ ✓ ✓ X 默认 ✓ ✓ X X private ✓ X X X -----------------------.

2022-02-11 18:04:39 41

原创 Java基础:final关键字

1.final修饰变量1.变量可分为引用数据类型和基本数据类型两种public class Person { static final int a = 10; static final int[] arr = {1,2,3}; public static void main(String[] args) { int[] brr = {4,5,6}; arr = brr; //final定义的变量arr不能指向brr的空间 arr[1] = 4; //fina..

2022-02-11 17:14:21 1949

原创 Java基础:内存指向

一、类与对象的关系1.什么是对象我们来看一下代码:分析一下java的数据调用

2022-02-11 16:56:51 1591

原创 JAVA基础:继承

继承包含的概念:继承的本质:复用已存在的方法和域一、概念:继承是java面向对象编程的基石,继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。public class Person { public void run() { System.out.println("任何人都可以跑。。。"); }}class Student extends Person{ private void e

2022-02-11 15:47:34 1523

原创 Java基础:抽象

一、抽象类的基本概念普通类是一个完善的功能类,可以直接产生实例化对象,并且在普通类中可以包含有构造方法、普通方法、static方法、常量和变量等内容。而抽象类是指在普通类的结构里面增加抽象方法的组成部分。那么什么叫抽象方法呢?在所有的普通方法上面都会有一个“{}”,这个表示方法体,有方法体的方法一定可以被对象直接使用。而抽象方法,是指没有方法体的方法,同时抽象方法还必须使用关键字abstract做修饰。而拥有抽象方法的类就是抽象类,抽象类要使用abstract关键字声明。假设你的公司要进.

2022-02-11 12:12:20 1402

原创 Java基础面试:为什么重写equals()方法一定要重写hashCode()方法

一、为什么重写equals()方法一定要重写hashCode()方法想要接受这个问题我们必须了解一下三个对象==在引用数据类型当中进行的是地址的比较,equals()方法在Object类当中其底层也是用==比较地址,但是不同的类可能会重写equals()方法,比如String类中的equals()方法就是先比较地址是否相同,如果相同直接返回true,地址不同在比较值,如果值相等那么同样返回true();hashCode()方法我们首先观察一个这个方法,它本身其实是一个nativ.

2022-02-11 11:55:22 1741

原创 Java基础:抽象类的特征(接口与抽象类的区别)

一、抽象类的特点1.由abstract修饰的类叫做抽象类,也可以修饰抽象方法2.abstract修饰的抽象方法可以不在抽象类当中实现,但一定要在子类当中重写,并实现3.只有抽象类当中才能有抽象方法,普通类当中不能有抽象方法4.抽象类当中不一定全是抽象方法,也可以使用普通方法,普通方法可以不用重写5.抽象类不能被实例化,但是可以使用多态6.final 不能和abstract同时使用,final修饰的方法禁止重写, abstract修饰的方法要求重写 ,冲突7.private修饰的方

2022-02-11 11:17:53 1607

原创 Java基础:接口的特征

一、接口的特征1.接口用interface实现2.接口中所有的成员变量都是由public static final修饰的3.接口中的所有方法默认都是public abstract修饰的4.接口没有构造方法,构造方法用于创建对象(接口没办法new对象),但是可以使用多态5.实现接口的类中,必须实现接口中的所有方法,如果不实现接口中所有的方法,那么该类是抽象类6.接口和接口之间可以互相继承7.与继承关系类似,接口与实现类之间存在多态性...

2022-02-11 10:50:46 2616

原创 Java基础:Java异常体系

一、异常体系简介异常是指由于各种情况,导致程序中断运行的一种指令流,例如:文件找不到、非法参数等等。为了保证程序正常运行,在设计程序之初,我们就要考虑各种异常情况,并正确处理他。异常也是一种对象,java中定义Throwable作为所有异常的超类。Thorwable类(表示可抛出)是所有异常和错误的超类,两个直接子类为Error和Exception,分别表示错误和异常。Java异常体系结构图,如下Throwable:包括两个重要的子类:Exception(异常)和Error(错误)。1.

2022-02-11 10:47:35 2290

原创 Java八大算法:归并排序

一、什么是归并排序?1.概念归并排序(Merge sort)是建立在归并操作上的一种有效的排序算法,归并排序对序列的元素进行逐层折半分组,然后从最小分组开始比较排序,合并成一个大的分组,逐层进行,最终所有的元素都是有序的2.算法原理基本思想归并排序就是递归得将原始数组递归对半分隔,直到不能再分(只剩下一个元素)后,开始从最小的数组向上归并排序。将一个数组拆分为两个,从中间点拆开,通过递归操作来实现一层一层拆分。 从左右数组中选择小的元素放入到临时空间,并移动下标到下一位置。 重复

2022-02-10 18:49:42 3766 3

原创 JAVA八大算法:基数排序

我们回想一下我们小时候是怎么学习比较数字大小的?我们是先个位数,如果一个位数比另一个位数多,那这个数肯定更大。如果位数同样多,就按位数递减依次往下进行比较,哪个数在这一位上更大那就停止比较,得出这个在这个位上数更大的数字整体更大的结论。基本思想基数排序是桶排序的扩展,他的基本思想是:将整数按位切割成不同的数字,然后按每个位数分别比较。具体做法是:将所有待比较数值统一为同样的位数长度,数位较短的数前边补零。然后,从最低位开始,依次进行一次排序,这样从最低位排序一直到最高位排序完成后,就变成一个有序

2022-02-10 18:31:13 595

原创 JAVA八大算法:快速排序

原理:   快速排序,就是给基准数据找其正确索引位置的过程.   如下图所示,假设最开始的基准数据为数组第一个元素23,则首先用一个临时变量去存储基准数据,即tmp=23;然后分别从数组的两端扫描数组,设两个指示标志:low指向起始位置,high指向末尾.首先从后半部分开始,如果扫描到的值大于基准数据就让high减1,如果发现有元素比该基准数据的值小(如上图中18<=tmp),就将high位置的值赋值给low位置 ,结果如下:然后开始从前往后扫描,如果扫描到的值小于基准数据就让.

2022-02-10 18:25:52 1585

原创 JAVA八大算法:实现堆排序和理解

一、完全二叉树完全二叉树是一种特殊的二叉树。从上到下,从左到右,每一层的节点都是满的,最下边一层所有的节点都是连续集中在最左边二、堆堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;或者每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆。如下图同时,我们对堆中的结点按层进行编号,将这种逻辑结构映射到数组中就是下面这个样子该数组从逻辑上讲就是一个堆结构,我们用简单的公式来描述一下堆的定义就是:大顶堆:arr[i] >= arr.

2022-02-10 18:10:53 1596

原创 JAVA基础:枚举和反射知识点

枚举枚举类包含类的全部功能简单的枚举类无法new出来新的实例枚举里面一般都是私有,只允许读不允许改,只有访问器对象是受限制的AA,BB,CC,DD,EE是DD类中的5个对象,枚举的对象有限个,他的其他用法和普通类都一样反射1.Classclass获取类型信息.getClass()Class.forName(Object)根据类的路径获取class信息反射:通过类信息获取类的实例的方式:newInstance...

2022-01-11 19:22:20 201

原创 JAVA构造方法,类的继承,第四章末尾第五章末尾

它里面也相当于Son1弄了个构造方法是吗Person类叫基类也叫超类Son1 叫子类,也叫派生类构造方法覆盖但是父类的并没有消失通过super能调用父类子类想调用父类构造器要用super关键字,子类调用super必须放在第一行多态就是多种形态,例如X有多种形态一个父类可以有很多子类即派生类Object被视为所有的父类final阻止继承阻止重写强制类型转换//祖先类的引用 = 子孙后代类的堆中值的地址c...

2022-01-10 20:29:21 239

原创 Mysql 连接 Eclipse(5分钟解决eclipse连接Navicat)

所谓接口就是一个方法去调用数据库JDBC最主要写这4个类

2022-01-09 19:31:21 965

原创 JS部分笔记

http://localhost:8080/myweb/myfirst.htmlurl:统一资源定位符IP地址在做网络寻址local host是在本机进行寻找超文本传输协议传输我们的当前html编码会导致头文件是否乱码注意头文件,注意路径,注意名字大小写 404问题就是url问题?后面是给后台提交的信息其他一概用button获取div框的值用html引号内是KEY值,冒号后面是value值J...

2022-01-09 19:28:12 1626

原创 字符串拼接

public class Test{public static void main(String[] aaa){//统计字符串中的小写字母,大写字母数字空格的个数String str = "1123ahdiASDFGF shaid";int upper = 0;int lower = 0;int num = 0;int space = 0;for (int i = 0; i < str.length(); i++) {//返回该索引处的char值char c

2022-01-05 21:22:04 198

原创 MySQL数据库的完整性约束(精简版)

数据库的完整性约束

2021-12-30 17:59:02 2918

空空如也

空空如也

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

TA关注的人

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