自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 确保监听在事务之后执行

/ 在事务提交之后执行的代码。

2023-11-13 21:34:06 129

原创 COALESCE函数的用法

如果所有的值都是NULL,那么COALESCE函数将返回NULL。这个函数非常有用,因为它可以帮助处理空值的情况。通过使用COALESCE函数,您可以在查询中设置默认值或选择备用值,以便在遇到空值时提供一个非空的结果。COALESCE函数是一个在SQL中常用的函数,它用于返回参数列表中的第一个非空值。如果所有参数都为NULL,那么COALESCE函数将返回NULL。在上述示例中,如果column_name的值为NULL,那么COALESCE函数将返回字符串’Default Value’作为结果。

2023-07-21 10:38:58 4111 1

原创 CompletableFuture.runAsync() 跟supplyAsync()方法的区别

【代码】CompletableFuture.runAsync() 跟supplyAsync()方法的区别。

2023-06-09 10:29:32 3043

原创 springboot版本跟springcloud版本兼容问题

指定springcloud版本指定springboot版本其余依赖于springboot或springcloud的自启动jar包都不需要指定版本号,自己指定可能会发生版本冲突,springboot跟springcloud版本兼容问题参考以下网址参考地址:https://start.spring.io/actuator/info...

2021-07-15 00:04:38 301

原创 RabbitMQ安装教程详解

1.下载并安装erlang原因:RabbitMQ服务端代码是使用并发式语言Erlang编写的,安装Rabbit MQ的前提是安装Erlang。下载地址:http://www.erlang.org/downloads下载需要的版本安装即可(傻瓜式安装,一直点下一步即可)配置环境变量新建一个系统变量在Path系统环境变量中添加cmd打开命令窗口输入erl查看版本信息正确显示版本信息则代表安装成功2.下载并安装rabbitmq下载地址:http://www.rabbitm

2021-07-14 22:33:22 561

原创 UML图及软件设计原则详解

1.UML图统一建模语言(Unified Modeling Language,UML)是用设计软件的可视化建模语言。它的特点是简单、统一、图形化、能表达软件设计中的动态与静态信息。UML从目标系统的不同角度出发,定义了用例图、类图、对象图、状态图、活动图、时序图、协作图、构件图、部署图等9种图。1.1类图概述类图(Class diagram)是显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。类图不显示暂时性的信息。类图是面向对象建模的主要组成部分。1.2类图的作用

2021-07-11 15:07:25 2374

原创 mybatis报错Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource

今天在idea用测试mybatis的时候报错最后发现是mybatis配置文件中引入mapper文件的地址写错了,可能是我idea2020版本的原因,必须下面这样才能过低版本的可以写成com/itheima/mapper/UserMapper.xml是可以过的...

2021-06-17 22:55:52 750 1

原创 SpringMVC实现文件上传

1. 文件上传三要素表单项type="file"表单的提交方式是post表单的enctype属性是多部分的表单形式,及enctype="multipat/form-data"<form action="${pageContext.request.contextPath}/user/quick22" method="post" enctype="multipart/form-data"> 文件<input type="file" name="upload">

2021-06-14 11:09:52 158

原创 SpringMvc自定义类型转换器

SpringMVC默认已经提供了一些常用的类型转换器,例如客户端提交的字符串转成int型进行参数设置。但是不是所有的数据类型都提供了类型转换,没有提供的就需要自定义转换器,例如:日期类的数据就需要自定义转换器。自定义转换器的开发步骤:1. 定义转换器实现类Converter接口public class DateConverter implements Converter<String, Date> { @Override public Date convert(String

2021-06-14 09:11:00 195

原创 java jdk 中观察者模式类的使用

java jdk 中观察者模式类的使用1.Observable类Observable是抽象目标类(被观察者),它有一个Vecotr集合成员变量,用于保存所有要通知的观察者对象,下面来介绍它最重要的3个方法void addObserver(Object arq)方法:调用集合中的所有观察者对象的update方法,通知它们数据发生改变,通常越晚加入集合的观察者越先得到通知。void setChange()方法:用来设置一个boolean类型的内部标志,注明目标对象发生了变化,当它为true时。voi

2021-03-30 15:40:30 403

原创 程序、进程、线程之间的关系

程序是一段静态的代码,是应用软件执行的蓝本进程是程序一次动态执行的过程,它对应了从代码加载、执行完毕的一个完整过程,这也是进程开始到消亡的过程线程是进程中相对独立、可调度的执行单元。是执行中的最小单位,是系统独立调度和分配CPU的基本单位。一个程序一般是一个进程,但可以一个程序中有多个进程。一个进程中可以有多个线程,但只有一个主线程。java应用程序中默认的主线程是main方法,如果main方法中创建了其他线程,JVM就会执行其他的线程。...

2020-08-27 22:19:00 418

原创 JAVA为什么能够跨平台

因为java程序编译之后生成的.class文件,不是能被硬件系统直接运行的代码,而是一种“中间码”——字节码,然后不同的硬件平台上安装有不同的java虚拟机(JVM),由JVM把字节码再“翻译”成所对应的硬件平台能够执行的代码,因此对于java编程者来说,不需要考虑硬件平台是什么。所以java可以跨平台。...

2020-08-27 09:46:19 186

原创 谈谈你对struts2的理解

1)struts2是一个MVC框架,MVC是一种开发模式,把业务逻辑代码与视图代码分离,通过控制器连接业务逻辑与视图。MVC将应用分成了视图、模型、控制层三部分,使代码结构层次清晰、降低耦合度、代码的重用性高。2)结合Struts2处理请求的工作流程加以说明:客户端发送一个请求到服务器,tomcat会接收这个请求,tomcat会读取项目中web.xml中的配置,判断请求是否符合Struts2过滤器StrutsPrepareAndExecuteFilter过滤的路径,如果符合会把这个请求交给Struts2

2020-08-26 14:05:37 376

原创 什么是java反射?获取Class对象的方式?以及反射的优缺点

定义:反射机制是在运行时,对于任意一个类,都能够知道这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意一个方法,在java中,只要给定类的名字,就可以通过反射机制来获得类的所有信息,这种动态获取的信息以及动态调用对象的方法的功能称之为java语言的反射机制。获取Class对象的j几种方式:Class.forName(“全类名”)类名.Class对象名.getClass()基本类型的包装类,可以调用包装类的Type属性来获得该包装类的Class对象(了解即可)反射的优缺点:优点:

2020-08-26 00:48:59 266

转载 oracle数据库中char,varchar,varchar2以及nvarchar的区别

1.CHAR(size)和VARCHAR(size)的区别CHAR为定长的字段,最大长度为2K字节;VARCHAR为可变长的字段,最大长度为4K字节;2.CHAR(size)和NCHAR(size)的区别CHAR如果存放字母数字占1个字节,存放GBK编码的汉字存放2个字节,存放UTF-8编码的汉字占用3个字节;NCHAR根据所选字符集来定义存放字符的占用字节数,一般都为2个字节存放一个字符(不管字符或者汉字)3.VARCHAR(size)和VARCHAR2(size)的区别在现在的版本中,两者

2020-08-25 13:24:48 453

原创 关于深克隆和浅克隆的区别,以及怎么实现深克隆和浅克隆

浅克隆:被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用任指向与原来的对象,换言之,浅克隆仅仅复制所克隆的对象,而不复制它所引用的对象。实现方式:被克隆的需对象实现Cloneable接口,重写clone方法代码如下:Class A implements Cloneable{ Integer id; String name; protected Objext clone(){ return super.clone(); }}深克隆:被复制对象的所有变量都含

2020-08-23 23:26:25 250

原创 Java中的设计模式

Java中的设计模式java中的设计模式有23种,主要分为三个类型,创建类型,结构类型和行为类型。创建类型在这里插入代码片Sing

2020-08-20 13:13:08 127

原创 如何通过Maven导入oracle驱动包

如何通过Maven导入oracle驱动包由于oracle不是开源的,所以它的相关依赖也不是开源的,maven远程仓库没有这个包。所以需要在本地仓库安装一个oracle驱动包,每一次使用maven它都会访问本地仓库的驱动包格式:mvn install:install-file -Dfile=本地地址 -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=6.0 -Dpackaging=jar需要注意空格,其中-DgroupId,-DgroupId, -Dv

2020-08-20 12:35:55 505

原创 Ajax同步和异步的理解

Ajax同步和异步的理解同步:发送请求–>等待服务器处理–>返回结果(响应),期间客户端浏览器不能做其他事情异步:发送请求–>等待服务器处理(此时浏览器可以做其他事情)–>返回结果 异步请求无需等待,同步需要等待服务器处理结束并返回结果之后才能继续。同步请求相当于一条直线的队列,异步请求不在同一个队列中,各自执行。 异步请求的好处:提高用户体验,提高访问速度...

2020-08-20 09:49:58 161

原创 String和StringBuffer的区别?StringBuffer和StringBuilder的区别?

String是不可变的,对String类的任何改变都会返回一个新的String对象。StringBuffer是可变的,对StringBuffer中的内容修改都是当前这个对象String重写了equals方法和hashCode方法,StringBuffer没有重写equals方法。String是final类。StringBuffer不是。String创建的字符串是在常量池中,创建的变量初始化一次,如果在对该字符串改变会产生新的字符串地址值,StringBuffer是在堆中创建对象,当对字符串改变时不会产

2020-07-06 13:54:22 178

原创 Java创建对象有几种方式?

java中提供了以下四种创建对象的方式new关键词创建对象通过反射机制创建对象采用clone机制创建对象通过序列化机制创建对象

2020-07-06 13:40:55 168

空空如也

空空如也

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

TA关注的人

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