自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

m0_61601521的博客

打不过就加入

  • 博客(39)
  • 收藏
  • 关注

原创 SpringBoot登入页面图片验证码

验证码

2022-08-16 20:37:35 377 1

原创 环境变量:JAVA_HOME、PATH 和 CLASSPATH 区别

环境变量:JAVA_HOME、PATH 和 CLASSPATH 区别

2022-08-16 16:12:21 589

原创 ​Spring:IOC、DI 和 AOP

​Spring:IOC、DI 和 AOP

2022-08-13 00:50:15 343

原创 Apache POI操作Excel文件

Apache POI是用Java编写的免费开源的跨平台的Java API,Apache POI提供API给Java程序对Microsoft Office格式档案读和写的功能,其中使用最多的就是使用POI操作Excel文件。POI结构:HSSF - 提供读写Microsoft Excel XLS格式档案的功能XSSF - 提供读写Microsoft Excel OOXML XLSX格式档案的功能(我们使用)HWPF - 提供读写Microsoft Word DOC格式档案的......

2022-03-01 23:20:06 2971 2

原创 FastDFS文件存储(文件存储,图片存储,视频存储)

常见图片存储方案:1. 直接将图片保存到服务的硬盘(或者使用nginx搭建图片服务器) 优点:开发便捷,成本低 缺点:扩容困难2. 使用开源的分布式文件存储系统,例如FastDFS、HDFS等 优点:容易实现扩容 缺点:开发复杂度稍大(尤其是开发复杂的功能)3. 使用第三方的云存储服务,例如阿里云、七牛云等 优点:开发简单,拥有强大功能,免维护 缺点:付费 常见图片存储方......

2022-02-28 22:58:10 5437

原创 MyBatis:sql语句中的 #{} 和 ${} 的区别

sql语句中的 #{} 和 ${} 的区别 #{} 表示占位符?(是一个预编译的占位符作用),可以防止sql注入,会进行类型自动转换 一般获取参数时都会使用#{} ${} 表示字符串拼接,不能防止sql注入,不安全,并且也不会进行类型自动转换 当动态的排序时,使用 ${value} <select id="方法名" parameterType="参数类型" resultType="返回类型"> select * from

2022-02-26 21:01:55 699

原创 JWT(Json Web Token)

JWT(Json Web Token)JWT令牌由Header(头部)、Payload(负载)、Signature(签名)三部分组成,每部分中间使用点(.)分隔,比如:xxxxx.yyyyy.zzzzz Header(头部) 头部包括令牌的类型(即JWT)及使用的哈希算法(如HMAC、SHA256或RSA)。 Payload(负载) 第二部分是负载,内容也是一个Json对象,它是存放有效信息的地方,它可以存放JWT提供的现成字段,比 如:iss(签发者),exp(过......

2022-02-20 20:42:19 3501

原创 ThreadLocal 原理

ThreadLocal 本地线程

2022-02-20 14:11:01 913

原创 数据库事务 transanction

什么是事务 transanction ?事务,指逻辑上的一组操作,组成这组操作的单元要么全部成功,要么全部失败。事务的作用:保证一组操作全部成功或者失败。数据库事务 transanction 正确执行的四个基本要素:ACID,原子性(Atomicity)、一致性(Correspondence)、隔离性(Isolation)、持久性(Durability)。 原子性(Atomicity) 整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环

2022-02-19 20:59:35 530

原创 过滤器(Filter)和 拦截器(Interceptor)的区别

拦截器 SpringMVC中的拦截器,相当于web开发中的过滤器Filter,用于对Controller进行预处理(前置增强)和后处理(后置增强) 多个拦截器形成的一条链,称为拦截器链(Interceptor chain) 当访问被拦截的(具体的目标Controller)方法时,拦截器链中的拦截器就会按照之前定义的顺序被调用 拦截器也是AOP思想的具体实现 拦截器,在进入 controller之前拦截。 实现HandlerIntercept

2022-02-19 19:32:20 503

原创 注解Annontation 详解

注解Annontation

2022-02-19 14:49:37 368

原创 JDBC(Java DataBase Connectivity,Java 数据库连接)

JDBC(Java DataBase Connectivity,Java 数据库连接)JDBC(Java DataBase Connectivity,Java 数据库连接):sun公司为了简化和统一Java连接数据库,定义的一套规范(类,接口)。JDBC,是用于Java编程语言和数据库之间的数据库无关连接的标准Java API。JDBC和MySQL驱动的关系:接口(JDBC)与实现(MySQL驱动jar包)的关系JDBC API详解 1 ...

2022-02-15 22:07:10 501

原创 Redis(REmote DIctionary Server,远程字典服务)

Redis(REmote DIctionary Server,远程数据服务)Redis(REmote DIctionary Server,远程数据服务)是用C语言开发的一个开源的高性能键值对(key-value)数据库,Redis把所有数据是保存在内存里面的。官方提供测试数据,50个并发执行100000个请求,读的速度是110000次/s,写的速度是81000次/s ,且Redis通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止Redis支持的键值数据类型如下:key......

2022-02-13 22:07:34 1459

原创 数据库(DataBase,DB):关系型数据库 和 非关系型数据库

1.数据库(DataBase,DB)数据库(DataBase,DB):指长期保存在计算机的存储设备(硬盘)上,按照一定规则组织起来,可以被各种用户或应用共享的数据集合,还是以文件的方式存在服务器的电脑上的。数据库(DataBase,DB),就是存储数据的仓库, 可以持久化保存数据,并通过sql语句快速的对数据进行增删改查CRUD操作(CRUDP:创建create,读取read,修改update,删除delete,分页page)。数据库与普通的文件系统的主要区别(起因):数据库能快速

2022-02-12 21:36:18 2332

原创 JSON(全称JavaScript Object Notation)详解

JsonJson的全称为:JavaScript Object Notation,是一种轻量级的数据交互格式。它基于ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。Json作为一种理想的数据交互语言,用于客户端和服务器的数据交互。Json格式数据 实际上是由Js对象演化而来{"key":value,"key1":value1 ...}。Json数据由 键值对(key:value)组成,键一定是字符串类型,值是任意...

2022-02-12 13:29:35 1312

原创 序列化和反序列化的详解

1.为什么需要Java 序列化(Serialization)?Java 提供了一种对象序列化的机制。 序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行 读 写 操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。2.如何实现 Java 序列化(Serialization)?将 需 要 被 序 列 化 的 类 实 现 Serializable 接 口 , 该 接 口 没 有 需 要 实 现 的 方.

2022-02-11 22:04:22 472

原创 抽象类abstract 和 接口Interface 的区别?

1.为什么需要抽象类?在Java语言中, abstract class 和 interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。抽象类是对类的抽象,是一种模板设计;接口是行为的抽象,是一种行为的规范。抽象类是用来捕捉子类的通用特性的;接口是抽象方法的集合。抽象类主要用于当做基础类使用,即基类(抽象类 用于被继承的子类使用的)。如果想拥有一些方法,并且这些方法有默认实现,那么使用抽象类。接口主要用于模...

2022-02-11 14:20:27 1730

原创 Java基础:异常机制

异常概述:指程序在执行过程中,出现的非正常情况,最终会导致jvm非正常停止工作Java是面向对象的语言,产生的每个异常其实都是一个异常对象,每个异常对象一定会有所属的异常类Java中默认将异常抛给jvm处理,而jvm处理的方式就是中断运行,将异常信息打印到控制台Throwable 类是 Java 语言中所有错误或异常的超类Error 类和 Exception 类的父类都是 Throwable 类error 和 ...

2022-02-10 19:51:41 138

原创 面向对象三大特征:封装,继承,多态

修饰符 class 类名{1.成员变量(属性)2.成员方法(行为)3.构造器(指构造方法,初始化类的对象数据)4.内部类5.代码块}

2022-02-09 21:56:47 828

原创 参数是基本类型和引用类型的传递区别

参数是基本类型和引用类型的区别引用数据类型简单来说,所有的非基本数据类型都是引用数据类型,除了基本数据类型对应的引用类型外,类、 接口类型、 数组类型、 枚举类型、 注解类型、 字符串型都属于引用类型。主要有以下区别:1、存储位置基本变量类型在方法中定义的非全局基本数据类型变量的具体内容是存储在栈中的 引用数据类型变量其具体内容都是存放在堆中的,而栈中存放的是其具体内容所在内存的地址2、传递方式基本数据类型是按值传递 引用数据类型是按引用传递...

2022-02-09 11:47:13 583

原创 常量和变量的区别?

常量:在程序运行过程中,其值不可以发生改变的量。与C语言不同,Java(直接)不支持常量。但是可以通过声明变量static和final来创建常量。一旦声明了一个静态变量,它们将在编译时加载到内存中,即只有一个副本可用。声明变量final后,就无法再次修改其值。常量又分为直接常量和符号常量。直接常量直接常量分类 含义 举例 字符串常量 用双引号括起来的多个字符(可以包含0个、一个或多个) "a"、"abc"、"中国"等 整数常

2022-01-21 23:07:25 2104

原创 continue,break和return的区别?

continue跳出本次循环,继续执行下次循环(结束正在执行的循环 进入下一个循环条件)

2022-01-18 21:34:51 173

原创 字符串常量:String、StringBuffer和StringBuilder的区别?

字符串常量:String、StringBuffer和StringBuilder的区别?

2022-01-18 00:10:20 568

原创 内网和外网的区别?

Java的三大框架:Struts+Hibernate+SpringStruts主要负责表示层的显示;Hibernate主要是数据持久化到数据库;Spring利用它的IOC和AOP来处理控制业务(负责对数据库的操作);01Struts框架:struts是开源软件。使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。如果我们想混合使用Servlets和JSP的优点来建立可扩展的应用,struts是一个不错的选择。02Hibernate框...

2022-01-14 21:04:13 3913

原创 VO BO PO DO DTO POJO和ORM 区别

VO BO PO DO DTO和POJO的区别POJO Plain Ordinary Java Object 普通Java对象 简单java对象 VO value object 值对象/表现层对象 前端页面传递数据给表现层 BO Business Object 业务层对象 是在业务层进行使用的java对象 PO Persistant Object 持久层对象 是在持久层 使用的java对象 DO

2022-01-14 00:14:22 489

原创 前后端分离:什么是接口文档?

Swagger接口文档和knife4j接口文档

2022-01-11 21:43:59 3636

原创 为什么项目中使用 slf4j 而不是Log4j ?

Java日志:slf4J 和 Log4J,Logback,Log4J2

2022-01-08 23:51:12 575

原创 SpringMVC原理

服务器端程序,一般都基于两种形式,一种C/S架构程序,一种B/S架构程序. 使用Java语言基本上都是开发B/S架构的程序,B/S架构又分成了三层架构三层架构表现层:web层/Controller层,用来和客户端进行数据交互的。表现层一般会采用MVC的设计模型业务层:server层,处理公司具体的业务逻辑的持久层:dao层(Data Access Object 数据访问对象),用来操作数据库的MVC(Model View Controller)模型视图控制器Mode.

2022-01-08 22:46:16 296

原创 ThreadPool线程池原理

线程池运行原理Java中线程池运行原理: 1.线程的调度是抢占式 2.线程启动之后会开辟独立的栈空间(工作内存),来执行线程的任务 3.主线程会等所有的子线程执行完毕,才会销毁,才会结束程序运行Java程序:(只有一个进程)1.一个Java程序就是只有一个进程,而一个进程一次只能执行一条线程2.所以Java只有多线程并发(交替执行), 没有多线程并...

2022-01-05 23:55:31 457

原创 方法重载(Overload)和 方法重写(Override)的区别

4种权限修饰符的访问权限表权限修饰符 同一类 同包 不同包,子类(继承) 不同包,非子类 public(公共的) ✔ ✔ ✔ ✔ protected(受保护的) ✔ ✔ ✔ × default(默认的) ✔ ✔ × .

2022-01-05 21:57:26 3857

原创 网络编程:协议、IP地址 和 端口号(三)

IP地址: 可以唯一标识网络中的设备端口号: 可以唯一标识设备中的进程(App应用程序)IPconfig:IP配置---config配置 IP地址:指互联网协议地址(Internet Protocol Address),俗称IPIP地址用来给一个网络中的计算机设备做唯一的编号。相当于每个人的身份证号码。IP地址分类:- IPv4: 4个32位的二进制数,形式为a.b.c.d,例如192.168.65.100。 其中a、b、...

2022-01-05 00:45:41 1193

原创 网络编程:http协议 和 https协议的区别(二)

HTTPHTTP:是超文本传输协议(HyperText Transfer Protocol)的简写,是一种网络传输协议,基于TCP,规定了数据传输的格式,是互联网上应用最为广泛的一种网络协议。现在客户端浏览器与服务端通信基本都是采用Http协议。也可以用来进行远程服务调用。缺点是消息封装臃肿。HTTP作用:用于定义WEB浏览器与WEB服务器之间交换数据的过程和数据本身的内容HTTPS(HTTP+SSL)HTTPS:是以安全为目标的 HTTP 通道,是 HTTP 的安全版,HT.

2022-01-03 23:50:37 743

原创 网络编程:协议、IP地址 和 端口号(一)

网络编程网络编程,就是在一定的协议下,实现计算机在网络中进行通信的程序。软件结构 优点 缺点 C/S结构 (客户端\服务器) Client/Server结构,是指客户端和服务器结构 分解服务器压力 需要下载客户端,服务器更新客户端也要更新优点 B/S结构 (浏览器\服务器) Browser/Server结构,是指浏览器和服务器结构 不需要下载客户端软件,只需要服务器更新 ..

2022-01-03 22:34:24 1380

原创 == 和 equals 的区别

== 和 equals 最大的区别: == 是运算符,equals是方法; == 是运算符 情况 1 如果比较的对象是基本数据类型,则比较的是数值是否相等; 情况 2 如果比较的是引用数据类型,则比较的是对象的地址值是否相等。 equals() : 用来比较方法两个对象的内容是否相等。但equals()一般有两种使用情况:情况 1:类没有重写 equals() 方法和 hashCode() 方法..

2022-01-02 00:20:20 552

原创 数据类型:基本数据类型 和 引用数据类型

数据类型:基本数据类型和引用数据类型有了基本类型为什么还要有包装类?计算机存储单元Integer的赋值范围为:-128到127基本类型与字符串之间的转换自动装箱和自动拆箱计算机存储设备的最小信息单元叫“位(bit)”,我们又称为“比特位”,通常用小写的字母”b”表示。计算机中最基本的存储单元叫“字节(byte)”,通常用大写字母”B”表示,字节是由连续的8个位组成。

2021-12-31 22:01:52 436

原创 SVN Git GitHub Gitee GitLab区别

目前的最常用的版本控制中心有两种:SVN和Git;SVN和Git都只是一个命令行工具,用于代码的存储和版本控制版本控制中心 仓库区(Repository) SVN 集中式版本控制系统 中央服务器(远程仓库) 必须联网工作 Git 分布式版本控制系统 中央服务器(远程仓库),个人电脑(本地仓库) 可以离线工作 SVN就像是一对多的关系,一个仓库供多个人使用,而且必须联网才能工作,个人感觉不是太方便。Git就像是多对..

2021-12-29 22:31:18 705

原创 Windows Linux Mac OS三大系统

目前常见的三大操作系统:Windows系统、Linux系统 和 Mac OS操作系统。普通用户一般是选择Windows或MacOS, Linux主要是占据服务器领域市场。不管是Windows操作系统、Linux系统还是苹果的Mac OS操作系统,甚至包括操作系统的鼻祖UNIX操作系统,最早都是用C语言编写的。系统 选择推荐 Mac OS 高端大气上档次,Mac OSX操作系统界面非常独特 钱多,讲究格调推选Mac OS Linux 开源免费,Linux

2021-12-29 00:01:06 5081

原创 JDK、JRE和JVM的关系

JDK、JRE和JVM的关系,Java语言跨平台原理,Java语言的三种技术架构

2021-12-26 22:22:51 444

原创 Java有53个关键字

Java有53个关键字

2021-12-26 19:46:31 150

空空如也

空空如也

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

TA关注的人

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