自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 自定义线程池

自定义线程池

2023-09-11 15:06:16 72

原创 Java的代理模式

Java代理模式

2023-08-21 21:14:26 59

原创 Java 值传递还是引用传递?

Java值传递

2023-08-21 16:42:12 75

原创 SpringBoot整合Quartz

SpringBoot整合Quartz

2023-08-18 22:34:56 54

原创 MySQL中的超大分页如何处理

这两条SQL的查询所消耗的时间是不一样的,后者耗费的时间更多;因为需要先将90010条记录查出来排序,然后将前面的90000条记录去除,最后将剩下的10条记录返回。先通过子查询的覆盖索引不需要回表将10条id记录筛选出来,然后主键id作为连表条件,不回表直接将数据返回。那么如何解决这种效率问题呢?

2023-08-12 17:00:55 251

原创 MySQL中的字符串问题

字符串、mysql的字符串

2023-08-11 21:59:02 24

原创 SQL执行过程以及执行计划、MySQl的自增主键

自增主键、执行计划、SQL、MySQL

2023-08-10 20:56:36 28

原创 MySQL的事务以及锁

事务、锁、mysql

2023-08-09 21:29:05 21

原创 MySQL的三大日志

mysql的日志

2023-08-08 21:36:16 73

原创 MySql的索引

mysql的索引

2023-08-07 21:08:05 22

原创 synchronized 锁的升级

锁升级

2023-08-06 18:15:52 85

原创 CopyOnWriteArrayList

CopyOnWriteArrayList

2023-08-06 17:49:56 51

原创 Drools与SpringBoot整合

Drools与SpringBoot整合1、新建一个springboot项目2、新建Fact对象package com.mc.entity;/** * @author chenmingcai * @date 2021/12/9 10:36 */public class Order { private String name; private Integer score; private Integer amount; public String getNam

2021-12-12 16:59:58 292

原创 JSP 四大作用域

JSP 四大作用域: page (作用范围最小)、request、session、application(作用范围最大)。1、存储在application对象中的属性可以被同一个WEB应用程序中的所有Servlet和JSP页面访问。(属性作用范围最大)2、存储在session对象中的属性可以被属于同一个会话(浏览器打开直到关闭称为一次会话,且在此期间会话不失效)的所有Servlet和JSP页面访问。3、存储在request对象中的属性可以被属于同一个请求的所有Servlet和JSP页面访问(在有转发的

2021-08-20 13:55:56 594

原创 Java程序初始化顺序

Java程序初始化顺序:1、父类的静态代码块2、子类的静态代码块3、父类的普通代码块4、父类的构造方法5、子类的普通代码块6、子类的构造方法

2021-08-20 13:55:42 45

原创 抽象类分析

A 是抽象方法,抽象类可以包含抽象方法,也可以不包含,实现重载。(√)B 在类中不能constInt = constInt + 5(×)C 返回值不能作为重载的依据(×)D 有方法体的不能作为抽象函数(×)

2021-08-20 13:55:27 76

原创 Servlet的生命周期

Servlet的生命周期一般可以用三个方法来表示**init():**仅执行一次,负责在装载Servlet时初始化Servlet对象**service() :**核心方法,一般HttpServlet中会有get,post两种处理方式。在调用doGet和doPost方法时会构造servletRequest和servletResponse请求和响应对象作为参数。**destory():**在停止并且卸载Servlet时执行,负责释放资源初始化阶段:Servlet启动,会读取配置文件中的信息,构造指定的S

2021-08-20 13:54:52 40

原创 WEB容器 servlet

getParameter()是获取POST/GET传递的参数值;getInitParameter获取Tomcat的server.xml中设置Context的初始化参数getAttribute()是获取对象容器中的数据值;getRequestDispatcher是请求转发。

2021-08-20 13:54:36 38

原创 异常的四个环节

Java语言中的异常处理包括声明异常、抛出异常、捕获异常和处理异常四个环节。throw用于抛出异常。throws关键字可以在方法上声明该方法要抛出的异常,然后在方法内部通过throw抛出异常对象。try是用于检测被包住的语句块是否出现异常,如果有异常,则抛出异常,并执行catch语句。cacth用于捕获从try中抛出的异常并作出处理。finally语句块是不管有没有出现异常都要执行的内容。...

2021-08-20 13:54:09 140

原创 Java package 作用

为了更好地组织类,Java 提供了包机制,用于区别类名的命名空间。包的作用1、把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。2、如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突。3、包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。Java 使用包(package)这种机制是为了防止命名冲突,访问控制,提供搜索和定位类(clas

2021-08-20 13:53:52 431

原创 Java 四种引用类型

四种引用类型JDK1.2 之前,一个对象只有“已被引用”和"未被引用"两种状态,这将无法描述某些特殊情况下的对象,比如,当内存充足时需要保留,而内存紧张时才需要被抛弃的一类对象。所以在 JDK.1.2 之后,Java 对引用的概念进行了扩充,将引用分为了:强引用(Strong Reference)、软引用(Soft Reference)、弱引用(Weak Reference)、虚引用(Phantom Reference)4 种,这 4 种引用的强度依次减弱。一,强引用Object obj = new

2021-08-20 13:53:38 31

原创 内部类的分类

2021-08-20 13:53:09 47

原创 DispatcherServlet 的工作流程

DispatcherServlet 的工作流程

2021-08-20 11:48:37 84

原创 try{}catch{}finally{}

情况1: try{} catch(){}finally{} return;显然程序按顺序执行。情况2: try{ return; }catch(){} finally{} return;先执行try块中return 语句(包括return语句中的表达式运算),但不返回;执行finally语句中全部代码最后执行try中return 返回finally块之后的语句return不执行,因为程序在try中已经return。情况3: try{ } catch(){return;} finally{} r

2021-08-12 21:45:29 167

原创 synchronized、volatile

synchronized 关键字 : 用来给对象和方法或者代码块加锁,当它锁定一个方法或者一个代码块的时候,同一时刻最多只有一个线程执行这个段代码。volatile:用来确保将变量的跟新操作通知到其他线程,当把变量声明为volatile类型后,编译器与运行时都会注意到这个变量是共享的,因此不会将该变量上的操作与其他内存操作一起重排序。然而,在访问volatile变量时不会执行加锁操作,因此也就不会使执行线程阻塞,因此volatile变量是一种比 synchronized关键字更轻量级的同步机制。ser.

2021-08-12 21:19:12 46

原创 Exception(异常)

Exception(异常)是程序本身可以处理的异常。主要包含RuntimeException等运行时异常和IOException,SQLException等非运行时异常。运行时异常 包括:都是RuntimeException类及其子类异常,如NullPointerException(空指针异常)、IndexOutOfBoundsException(下标越界异常)等,这些异常是不检查异常,程序中可以选择捕获处理,也可以不处理。这些异常一般是由程序逻辑错误引起的,程序应该从逻辑角度尽可能避免这类异常的发生。

2021-08-12 21:05:44 792

原创 int、byte转换

这题考察的就两个知识点:一、强制转换(主要涉及各个类型占几个字节,这里我只简单说一下byte型占一个字节,也就是8位,int型4个字节,32位);二、在计算机系统中,数值一律用补码来表示(存储)正数:补码=反码=原码(当然以二进制形式表达)129 int类型(4个字节)二进制: 00000000 00000000 00000000 10000001强制转换byte型后,只有一个字节即 10000001(注意这里从二进制角度看,第一位是符号位,即求负数的补码接下来)只要求出上面原码对应的补码就行了,.

2021-08-12 21:05:19 123

原创 单向环形链表

单向环形链表思路创建孩子节点 //孩子节点 class Child{ private int no;//节点编号 private Child next;//节点指向域 public Child(int no){ this.no = no; } public int getNo() { return no; }

2021-03-17 13:07:24 61

原创 双向链表

双向链表区别单向链表查找的方向只能是从前往后这一方向,而双向链表可以向前也可以向后查找单向链表不能自我删除,只能通过辅助节点,也就是找到待删除节点的前一个节点;而双向链表可以实现自我删除思路创建节点类和双向链表类 class HeroNode3{ int no;//节点编号 String name;//节点名称 String nickName;//节点昵称 HeroNode3 next;//节点指向域,指向后一个节点

2021-03-17 13:05:50 56

原创 单链表

单链表在链表末尾插入节点前提节点存储的信息包括数据域、指向域,数据域存储节点的基本信息,指向域存储节点的指向,即指向下一个节点头节点不能改变,因为一旦改变就很难遍历链表了链表为空的判断条件:head.next = null在插入节点时,可以使用一个辅助变量temp来充当指向,让temp=head思路创建一个HeroNode类 class HeroNode{ private int no; private String name;

2021-03-17 13:01:25 63

原创 数组模拟队列和数组模拟环形队列

队列数组模拟队列前提front指的是队列中的第一个数据的前一个位置,rear指的是队列中的最后一个数据的位置,maxSize指的是数组长度即队列大小front 的初始值 = -1,rear 的初始值 = -1队列为空的判断条件:front == rear队列满的判断条件:rear = maxSize - 1队列中有效的数据个数:rear思路创建一个类来模拟队列 class Queue{ private int maxSize;//数组最大长度 pr

2021-03-13 13:38:57 79

原创 稀疏数组

稀疏数组稀疏数组可以看做是普通数组的压缩,普通数组中存在大量无意义的数据,使用稀疏数组可以节省存储空间,还可以提高IO效率稀疏数组的第一行第一列存放二维数组的行数,第一行第二列存放二维数组的列数,第一行第三列存放二维数组中不同值的个数,接下来的行存放这些不同值所在的行数、列数和值思路先创建一个初始的二维数组 //初始化二维数组:原始棋盘 int chessArr1[][] = new int[11][11]; chessArr1[1][2

2021-03-13 13:29:35 75

空空如也

空空如也

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

TA关注的人

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