自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java中关于反射与动态代理

1、什么是反射?Java反射说的是在运行状态中,对于任何一个类,我们都能够知道这个类有哪些方法和属性。对于任何一个对象,我们都能够对它的方法和属性进行调用。我们把这种动态获取对象信息和调用对象方法的功能称之为反射机制。所谓的反射,实际上是获取到类的字节码.class文件,再通过Class对象获取类的方法和属性。反射案例,反射(Reflection)是 Java 中一种强大的机制,允许在运行时动态地获取类的信息、调用类的方法、操作类的属性等。

2024-07-11 23:55:51 1005

原创 Fastjson2使用JSONOObject或者mao转换为JSON字符串时丢失Null值字段

fastJson转换为JSONString时丢失值为null的问题

2024-07-11 23:19:22 436

原创 java字符集 字符流字节流理解

字符集

2024-07-01 15:46:58 203

原创 Git拉完整代码缺少某个类

Git LFS(Large File Storage)是 Git 的一个扩展,它可以帮助管理大型文件,包括长文件名。如果你的项目包含大量的大型文件或长文件名,可以尝试使用 Git LFS 来解决这个问题。安装和配置 Git LFS 的步骤可以参考官方文档:Git LFS Documentation。这个命令将启用 Git 的长路径支持,允许 Git 管理长文件名和路径。你可以通过修改 Git 的配置来解决这个问题。通过上述步骤,你应该能够解决 Git 克隆项目时出现的文件名过长错误。使用 Git LFS。

2024-06-24 17:28:49 247

原创 新建gitee项目关联idea中的springboot项目

根据您提供的命令和输出,您在尝试从远程仓库拉取更改时遇到了合并冲突。根据您提供的信息,您在使用Git时遇到了一个错误,提示您的当前分支落后于远程分支,并且拒绝了推送。这通常发生在您尝试将本地更改推送到远程存储库时,而远程存储库已经包含了其他人的更改。执行此命令后,您可能需要解决任何冲突,然后再次尝试推送您的更改。这种情况下,您需要先将远程存储库的更改合并到本地分支,然后再尝试推送您的更改。通过以上步骤,您可以成功解决合并冲突并提交结果,使得您的本地仓库与远程仓库同步。选择commit and push。

2024-05-27 14:40:33 1134

原创 谷粒商城P139集——云服务器frp内网穿透+nginx完美解决方案

输入域名,域名解析为云服务器ip地址nginx监听到server_name为域名的请求,将其转发给http://云服务器ip:88;frps(云服务器上的服务端)监听到88端口(对应于frps.ini里的vhost_http_port),frps通过绑定的端口号(bind_port)与本地主机连接。作为frpc的本地主机通过(server_port)和(server_addr)与有frps的云服务器连接,它将会把来自于云服务器的请求转发给()并且为之设置host字段(最终后端项目收到了如。

2024-01-12 11:33:43 1196

原创 mtbatisplus

思想就是 我们where之后的判断条件采用mtbatis构建的并且采用${} 拼接到我们自己的示例首先定义一个queryWrapper传给自己的方法 也就是定义在mapper中的方法。

2023-09-05 23:25:18 308

原创 java集成短信服务 测试版 qq邮箱简单思路

使用的是,百度搜一下官网用手机注册一个帐号就行,免费体验不需要认证注册后会有八块钱送,可以使用免费的给自己设置三个固定手机号发送短信,不需要认证。主账户账户授权令牌访问的Rest URlAPP id。

2023-08-01 21:44:50 677

翻译 Docker简单使用

Docker基本概念1、解决的问题1、统一标准应用构建打成软件包.exedocker build … 镜像应用分享所有软件的镜像放到一个指定地方 docker hub安卓,应用市场应用运行统一标准的 镜像docker run容器化2、资源隔离cpu、memory资源隔离与限制访问设备隔离与限制网络隔离与限制用户、用户组隔离限制2、架构安装Docker的主机运行在Docker主机上的Docker后台进程。

2023-06-22 15:07:59 127 1

原创 简述springmvc的流程

然后在这里应该是会执行类似web的service方法的操作 第一这个类是继承FrameworkServlet 父类是GenericServlet并且顶级接口是Servelt 并且 重写了 Service方法 学过javaweb应该知道这个服务方法 是判断前端请求的方法传过来的 请求方式并且判断执行 doget|dopost|doput|dodelete 因为重写了方法所以其实调用的还是调用重写的service方法而重写的方法中都是调用的 processRequest方法全权委托给了它。

2023-05-25 21:20:08 728

原创 mysql的存储过程和存储函数

含义:存储过程的英文是。它的思想很简单,就是一组经过预先编译的 SQL 语句的封装。执行过程:存储过程预先存储在 MySQL 服务器上,需要执行的时候,客户端只需要向服务器端发出调用存储过程的命令,服务器端就可以把预先存储好的这一系列 SQL 语句全部执行。好处1、简化操作,提高了sql语句的重用性,减少了开发程序员的压力2、减少操作过程中的失误,提高效率3、减少网络传输量(客户端不需要把所有的 SQL 语句通过网络发给服务器)

2023-05-18 09:01:05 578

原创 mysqlmvcc多版本并发控制

MVCC (Multiversion Concurrency Control),多版本并发控制。顾名思义,MVCC 是通过数据行的多个版本管理来实现数据库的。

2023-05-18 09:00:42 451

原创 mysql锁概述

在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。为保证数据的一致性,需要对。

2023-05-18 09:00:20 446

原创 事务基础知识

当我们通过事务对数据进行修改的时候,首先会将数据库的变化信息记录到重做日志中,然后再对数据库中对应的行进行修改。这样做的好处是,即使数据库系统崩溃,数据库重启后也能找到没有更新到数据库系统中的重做日志,重新执行,从而使事务具有持久性。状态,那么就需要把已经修改的事务中的操作还原到事务执行前的状态。状态时,可能遇到了某些错误(数据库自身的错误、操作系统错误或者直接断电等)而无法继续执行,或者人为的停止当前事务的执行,我们就说该事务处在。,也就是属于该事务的数据库操作既可以读取数据,也可以修改数据。

2023-05-18 09:00:05 282

原创 mysq的约束学习

约束是表级的强制规定。可以在创建表时规定约束(通过 CREATE TABLE 语句),或者在表创建之后通过 ALTER TABLE 语句规定约束。

2023-05-18 08:59:45 1120

原创 mybaitis入门预知

这个配置文件的名字必须叫做:logback.xml或者logback-test.xml,不能是其它的名字。其中一个是:mybatis-config.xml,这是核心配置文件,主要配置连接数据库的信息等。第一:在MyBatis中一定是有一个很重要的对象,这个对象是:SqlSessionFactory对象。这种实现也是可以的,可以看到一些信息,比如:连接对象什么时候创建,什么时候关闭,sql语句是怎样的。这个文件名也不是固定的,放的位置也不是固定,我们这里给它起个名字,叫做:CarMapper.xml。

2023-05-18 08:57:25 788

原创 webproject中要用到的基本常识简单了解vue ajax axios 正则表达式 以及验证码和JS锻炼

/有异常时执行的回调 reason.response.data可以获取到响应的内容。.then(function(value){}) //成功响应时执行的回调 value.data可以获取到服务器响应内容。例如: var reg = /abc/gim , var reg = new RegExp(“abc”,“gim”);2 - (载入完成)send()方法执行完成,已经接收到全部响应内容。基本格式: axios().then().catch()

2023-05-12 21:17:08 483

原创 web程序很多规范

operate=page&page=login 访问这个URL,执行的过程是什么样的?系统启动时,我们访问的页面是: http://localhost:8080/pro23/page.do?那么页面上的thymeleaf表达式(标签)浏览器是不能识别的。为什么不是: http://localhost:8080/pro23/login.html?3) 第三范式:表中的每一列和主键都是直接依赖关系,而不是间接依赖。

2023-05-12 21:13:42 483

原创 第10章 索引优化与查询优化

索引是高效找到行的一个方法,但是一般数据库也能使用索引找到一个列的数据,因此它不必读取整个行。毕竟索引叶子节点存储了它们索引的数据;当能通过读取索引就可以得到想要的数据,那就不需要读取行了。

2023-05-08 20:24:50 603

原创 其他数据库日志

从服务器为了与主服务器保持一致,要从主服务器读取二进制日志的内容,并且把读取到的信息写入。

2023-05-08 20:22:59 475

原创 java中的Servlet对象生命周期以及过滤器监听器

ServletContextAttributeListener - 监听ServletContext的保存作用域的改动(add,remove,replace)ServletRequestAttributeListener - 监听ServletRequest的保存作用域的改动(add,remove,replace)HttpSessionAttributeListener - 监听HttpSession的保存作用域的改动(add,remove,replace)模型有很多种类:数据访问模型(DAO);

2023-05-08 20:20:21 404

原创 web中为什么要引入service层以及前端控制器DispatchServlet的作用以及原理剖析

4. 向系统消息表新增一条记录(某某某新用户注册了,需要根据通讯录信息向他的联系人推送消息) - DAO中的insert操作。也就是说注册这个业务功能需要通过多个DAO方法的组合调用,从而完成注册功能的开发。模型层:模型分为很多种:有比较简单的pojo/vo(value object),有业务模型组件,有数据访问层组件。3. 向用户积分表新增一条记录(新用户默认初始化积分100分) - DAO中的insert操作。2) BO中的方法属于业务方法,也实际的业务是比较复杂的,因此业务方法的粒度是比较粗的。

2023-05-08 20:16:23 767

原创 javaweb tomcat的理解以及web主要对象的介绍和Thymeleaf技术简述

4) 其他的API: session.getId() , session.isNew() , session.getCreationTime() , session.invalidate() 等等。- 下次客户端给服务器发请求时,会把sessionID带给服务器,那么服务器就能获取到了,那么服务器就判断这一次请求和上次某次请求是同一个客户端,从而能够区分开客户端。第一次接收请求时,这个Servlet会进行实例化(调用构造方法)、初始化(调用init())、然后服务(调用service())

2023-05-08 20:13:46 694

原创 javaweb前置知识

1.CSS2.JS。

2023-05-08 20:10:15 658

原创 JDBC重点

使用步骤总结//1.注册驱动//2.获取连接//3.编写SQL语句//4.创建preparedstatement并且传入SQL语句结构//5.占位符赋值//6.发送SQL语句,并且获取结果//7.结果集解析//8.关闭资源使用API总结//1.注册驱动方案1: 调用静态方法,但是会注册两次方案2: 反射触发//2.获取连接user=账号&password=密码 )//3.创建statement//静态//预编译。

2023-04-23 19:39:28 635

原创 mysql索引

这样我们再插入记录(9, 1, ‘c’) 时,由于 页3 中存储的目录项记录是由 c2列 + 主键 + 页号 的值构成的,可以先把新纪录的 c2 列的值和 页3 中各目录项记录的 c2 列的值作比较,如果 c2 列的值相同的话,可以接着比较主键值,因为B+树同一层中不同目录项记录的 c2列 + 主键的值肯定是不一样的,所以最后肯定能定位唯一的一条目录项记录,在本例中最后确定新纪录应该被插入到 页5 中。索引是在存储引擎中实现的,因此每种存储引擎的索引不一定完全相同,并且每种存储引擎不一定支持所有索引类型。

2023-04-21 19:40:24 521

原创 mysql的存储引擎

查看存储引擎查看mysql提供什么存储引擎复制成功设置系统默认的存储引擎查看默认的存储引擎#或修改默认的存储引擎如果在创建表的语句中没有显式指定表的存储引擎的话,那就会默认使用 InnoDB 作为表的存储引擎。

2023-04-21 19:37:56 702

原创 mysql用户权限与控制

mysql –h hostname|hostIP –P port –u username –p DatabaseName –e “SQL语句”-h参数后面接主机名或者主机IP,hostname为主机,hostIP为主机IP。-P参数后面接MySQL服务的端口,通过该参数连接到指定的端口。MySQL服务的默认端口是3306,不使用该参数时自动连接到3306端口,port为连接的端口号。-u参数后面接用户名,username为用户名。-p参数会提示输入密码。

2023-04-21 19:36:05 986

原创 java新版本新特性

Java 8 (又称为 JDK 8或JDK1.8) 是 Java 语言开发的一个主要版本。Java 8 是oracle公司于2014年3月发布,可以看成是自Java 5 以来最具革命性的版本。Java 8为Java语言、编译器、类库、开发工具与JVM带来了大量新特性。速度更快Lambda表达式强大的Stream API便于并行并行流就是把一个内容分成多个数据块,并用不同的线程分别处理每个数据块的流。相比较串行的流,并行的流可以很大程度上提高程序的执行效率。

2023-04-21 19:33:55 795

原创 第17章_反射机制

Reflection(反射)是被视为动态语言的关键,反射机制允许程序在运行期间借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个类只有一个Class对象),这个对象就包含了完整的类的结构信息。我们可以通过这个对象看到类的结构。这个对象就像一面镜子,透过这个镜子看到类的结构,所以,我们形象的称之为:反射。

2023-04-21 19:30:52 523

原创 File类与IO流

File类及本章下的各种流,都定义在java.io包下。一个File对象代表硬盘或网络中可能存在的一个文件或者文件目录(俗称文件夹),与平台无关。(体会万事万物皆对象)File 能新建、删除、重命名文件和目录,但 File 不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流。File对象可以作为参数传递给流的构造器。想要在Java程序中表示一个真实存在的文件或目录,那么必须有一个File对象,但是Java程序中的一个File对象,可能没有一个真实存在的文件或目录。

2023-04-21 19:27:52 509

原创 第14章_数据结构与集合源码

第14章_数据结构与集合源码本章专题与脉络1. 数据结构剖析我们举一个形象的例子来理解数据结构的作用:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bgDcr8wF-1682075329317)(images/image-20220412011531879.png)]**战场:**程序运行所需的软件、硬件环境**敌人:**项目或模块的功能需求**指挥官:**编写程序的程序员**士兵和装备:**一行一行的代码**战术和策略:**数据结构上图:没有战术

2023-04-21 19:20:38 544

原创 java中的泛型

当我们在类或接口中定义某个成员时,该成员的相关类型是不确定的,而这个类型需要在使用这个类或接口时才可以确定,那么我们可以使用泛型类、泛型接口。如果我们定义类、接口时没有使用,但是某个方法形参类型不确定时,这个方法可以单独定义。

2023-04-21 19:07:31 833

原创 java集合框架

Set接口是Collection的子接口,Set接口相较于Collection接口没有提供额外的方法Set 集合不允许包含相同的元素,如果试把两个相同的元素加入同一个 Set 集合中,则添加操作失败。Set集合支持的遍历方式和Collection集合一样:foreach和Iterator。Set的常用实现类有:HashSet、TreeSet、LinkedHashSet。HashSet 是 Set 接口的主要实现类,大多数时候使用 Set 集合时都使用这个实现类。

2023-04-21 19:04:31 469

转载 常用类和基础API

#类和基础API本章专题与脉络1. 字符串相关类之不可变字符序列:String1.1 String的特性java.lang.String 类代表字符串。Java程序中所有的字符串文字(例如"hello" )都可以看作是实现此类的实例。字符串是常量,用双引号引起来表示。它们的值在创建之后不能更改。字符串String类型本身是final声明的,意味着我们不能继承String。String对象的字符内容是存储在一个字符数组value[]中的。"abc" 等效于 char[] da

2023-04-21 18:55:11 629

原创 mysql索引定义的规范

【代码】选择排序的理解。

2023-04-16 17:29:03 188

原创 选择排序的理解

【代码】选择排序的理解。

2023-04-07 21:07:55 33

原创 关于数据结构与算法中的异或举例问题在一个数组中求出出现次数为奇数的两个数

在一个数组中求出出现次数为奇数的两个数。其他数为偶数次数出现。

2023-04-06 21:33:08 49

原创 java中集合的扩容机制

HashSet和HashMap都是默认初始容量是16(jdk1.7的),但是jdk1.8做了优化,初始容量为0,第一次存元素的时候才扩容为16,加载因子是0.75,扩容为原来的2倍。2.HashMap使用有参构造方法的话,HashMap容量并不是我们参数给定的大小,而是大于等于给定容量参数的 最接近 2的次幂。如我们给定容量为7,则是2的3次幂,即8容量,因为2的次幂可以通过右移快速得到。新容量为原容量的2倍+1.Hashtable 中的方法是同步的,而HashMap中的方法在缺省情况下是非同步的。

2023-03-29 10:30:54 713

转载 java中泛型的理解

并不是这样,在使用泛型的时候如果传入泛型实参,则会根据传入的泛型实参做相应的限制,此时泛型才会起到本应起到的限制作用。如果不传入泛型类型实参的话,在泛型类中使用泛型的方法或成员变量定义的类型可以为任何的类型。也就是说在泛型使用过程中,操作的数据类型被指定为一个参数,而这种参数类型可以用在类、方法和接口中,分别被称为泛型类、泛型方法、泛型接口。它提供了编译期的类型安全,确保在泛型类型(通常为泛型集合)上只能使用正确类型的对象,避免了在运行时出现ClassCastException。

2023-03-28 15:39:51 82

空空如也

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

TA关注的人

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