自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 docker入门,这一篇就够了

Docker是一个开源的。

2024-07-14 20:33:54 740

原创 VMware_centos8安装

链接:https://pan.baidu.com/s/16zB-7IAACM_1hwR1nsk12g?链接:https://pan.baidu.com/s/1jPOR6qB9_X49Ca4mGMuIrQ?第一次运行会要求输入秘钥 秘钥在上边的百度网盘的连接里可以找到。下面需要下载Linux系统镜像,这里附上百度网盘的下载链接。正版VMware 17百度网盘下载链接 (含秘钥)到此所有安装工作结束。

2024-07-13 20:15:12 172

原创 Mybatis

概述MyBatis是一款优秀的半自动的ORM持久层框架,它支持自定义SQL,存储过程以及高级映射MyBatis支持几乎所有的JDBC代码以及设置参数和获取结果集的工作MyBatis将基本的JDBC常用接口封装,对外提供操作即可。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。MyBatis是一款优秀的持久层框架。那么什么是持久层呢?

2024-06-29 14:00:57 893

原创 Java反射

Java反射机制是在运行状态,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取信息以及动态调用对象的方法的功能被称为Java语言的反射机制。●一旦class文件被加载到内存,就会为其创建一个Class对象。任何类被使用时都会创建一个Class对象。●Class类是Java反射机制的基础,通过Class类,可以得到一个类的基本 信息。一个类在堆中只有一个Class对象,这个Class对象包含了类的完整结构信息。

2024-06-25 15:51:06 790 1

原创 Git的安装以及使用

Git是一个免费的开源 分布式版本控制系统,旨在快速高效地处理从小型到大型项目的所有内容。Git易于学习,占地面积小,具有闪电般的快速性能。它有诸如Subversion,CVS之类的版本控制工具,具有廉价的本地分支,便捷的暂存区域和多个工作流等功能。

2024-06-24 10:46:38 871

原创 回溯算法 -- 77. 组合

第一次取1,集合变为2,3,4 ,因为k为2,我们只需要再取一个数就可以了,分别取2,3,4,得到集合[1,2] [1,3] [1,4],以此类推。本题最直接的解法就是for循环的嵌套,比如当k取2时,这时大家都可以想到我们可以用两层for循环来解决这个问题。可以看出这棵树,一开始集合是 1,2,3,4, 从左向右取数,取过的数,不再重复取。相当于只需要把达到叶子节点的结果收集起来,就可以求得 n个数中k个数的组合集合。每次从集合中选取元素,可选择的范围随着选择的进行而收缩,调整可选择的范围。

2024-06-02 14:40:59 365 1

原创 回溯算法 -- 216. 组合总和 III

在[1,9]范围内使用4个不同的数字,我们可以得到的最小和是1+2+3+4 = 10,因为10 > 1,没有有效的组合。处理过程就是 path收集每次选取的元素,相当于树型结构里的边,sum来统计path里元素的总和。sum(int) 计算已经收集的元素的总和,也就是我们上面定义的path数组里元素的。targetSum(int) 目标和 对应的就是题目中给出的n。k(int) 这个为题目中给出的k个数的集合。path数组中的元素和达到题目中给出的n。path数组的长度达到题目中给出的k。

2024-06-02 14:22:54 296

原创 LeetCode 231. 2 的幂

请你判断该整数是否是 2 的幂次方。因此我们可通过n&(n-1)==0来判断是否为2的幂。1.恒有n&(n-1)==0。

2024-03-07 15:43:12 224

原创 数据结构---数组

/ 入参判断--对输入的参数进行判断 参数有误抛异常(index is invlid.)// 入参判断--对输入的参数进行判断 参数有误抛异常(index is invlid.)// 入参判断--对输入的参数进行判断 参数有误抛异常(index is invlid.)//resize(this.capacity / 2);

2024-03-02 10:23:24 652

原创 数据结构---栈(Stack)

栈是"后进先出(LIFO---Last In First Out)"的数据结构(盘子的叠放:当服务员将新的盘子放在餐桌上时,他们通常会将盘子放在已有的盘子堆的顶部。给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。// 栈中实际存放元素个数与0相比,相同返回true,不同返回false。// 栈中实际存放的元素的个数。// 将栈中实际存放的元素的个数初始化。// 栈不为空时,现将实际元素个数更新。// 更新实际存放元素的个数。

2024-03-02 10:22:46 1032

原创 数据结构---队列(Queue)

/ 将this.front置为零,this.tail=this.size。// 判断双端队列中(从尾部开始比ele小的元素都要出队)

2024-03-02 10:21:56 537

原创 Java中读取文件--Stream流&BufferReader

使用BufferReader读取文件。使用Stream流读取文件。

2024-03-02 10:21:18 217

原创 数据结构--树

有序树和无序树:如果将树中所有结点的各子树看成从左至右是有次序的,反之无序的为无序树(在有序树中最左边的子树的根称为第一个孩子最右边称为最后一个孩子)性质3:对任何一棵二叉树T,如果其终端结点数为n0,度为2的结点数为n2,则n0= n2+1(度为0的结点数比度为2的结点数多1)二分搜索树的每个结点的值(大于其左子树的所有结点的值|小于其右子树的所有结点的值)双亲和孩子:结点下的子树称为该结点的孩子.相应地,该结点称为孩子的双亲。// 先序遍历以root为根的树,将结果保存在list中。

2024-03-02 10:20:35 849

原创 【算法】动态规划

首先,动态规划就是利用历史记录,来避免我们重复计算,我们需要使用一位数组或者二维数组来保存。第一步骤:定义元素的含义,我们在开头提到过,我们可以使用一位数组或者二维数组来保存历史数据。现在我们假设使用一个一维数组来保存数据,这时一个非常重要的点就是规定你所创建的这个数组的含义,例如你创建了一个一维数组dp[],这个dp[i]是代表什么意思呢?第二步骤:找出数组元素之间的关系式,

2024-01-31 20:00:36 1873

原创 Java网络编程

TCP通信能实现两台计算机之间的数据交互,通信的两端,要严格区分为客户端(Client)与服务端(Server)。类表示。创建Socket对象,向服务端发出连接请求,服务端响应请求,两者建立连接开始通信。类表示。创建对象,相当于开启一个服务,并等待客户端的连接。

2023-12-09 22:44:01 1549

原创 Java线程

t.start() 方法的作用是:启动一个分支线程,在JVM中开辟一个新的栈空间,这段代码任务完成之后,瞬间就结束了。这段代码的任务只是为了开启一个新的栈空间,只要新的栈空间开出来,start()方法就结束了。t.run() 不会启动线程,只是普通的调用方法而已。不会分配新的分支栈。(这种方式就是单线程。run方法在分支栈的栈底部,main方法在主栈的栈底部。run和main是平级的。启动成功的线程会自动调用run方法,并且run方法在分支栈的栈底部(压栈)。

2023-12-09 17:19:51 371

原创 JavaGUI

GUI(Graphical User Interface)即图形用户界面,是指采用图形方 式显示的用户界面,与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。1.2容器容器是Component的子类,一个容器可以容纳多个组件,并使他们成为一个整体。容器可以简化图形化界面的设计,以整体结构来布置界面,所有的组件都可以通过add()方法加入容器中。有三种类型的容器:Window、Panel、ScrollPane。

2023-12-09 15:35:49 1080

原创 JavaIO

IO流的好处是简单易用,缺点是效率较低。

2023-10-22 08:56:26 43 1

原创 Java集合

Set集合也是一个接口,继承自Collection,与List类似,都需要通过实现类来进行操作。特点不允许包含重复的值没有索引(就不能使用普通的for循环进行遍历。//HashSet可以去除重复的元素//因为HashSet是无序的所以没有索引。

2023-10-21 18:04:58 42 1

原创 java异常

在java中异常的产生主要有以下三种原因:(1)编写程序代码中的错误产生的异常,比如数组越界、空指针异常等,这种异常叫做未检查的异常,一般需要在类中处理这些异常。(2)Java内部错误发生的异常,Java虚拟机产生异常。(3)通过throw(抛出异常)语句手动生成的异常,这种异常叫做检查的异常,一般是用来给方法调用者一些必要的信息。

2023-10-19 22:56:09 39 1

原创 Java面向对象----API_常用类

Object类中的equlas()方法比较的是两个对象的地址是否相同,与"=="的作用一样。用于引用数据类型比较时,比较的是两个引用的地址是否相等。== 用于基本数据类型比较时,比较的是值是否相等。解决方法:equals()方法进行重写。

2023-07-18 21:01:08 55 1

原创 Java面向对象

被abstract关键词修饰的类,里面可能会包含具体的抽象方法。抽象类不一定包含抽象方法,但是有抽象方法的一定是抽象类。抽象类只能作为父类(基类),抽象类一般位于类结构的上层,定义一些抽象的成员方法,让子类去实现。当子类继承抽象类后要么将子类设置为抽象类,要么对父类中的抽象方法进行重写。注意事项:1.抽象类不能实例化对象(不能创建对象)2.抽象类中可以没有抽象方法3.有抽象方法的类一定是抽象类。

2023-07-17 21:47:30 61 1

原创 Java面向对象

在 Teacher 类的构造方法中使用了 this 关键字对属性 name、salary 和 age 赋值,this 表示当前对象。this.name=name语句表示一个赋值语句,等号左边的 this.name 是指当前对象具有的变量 name,等号右边的 name 表示参数传递过来的数值。这是一个计算利息的小问题。

2023-07-15 19:46:17 75 1

原创 面向对象程序设计

面向过程最大的劣势就是无法解决复杂的系统,相对于面向对象的语言难以维护,也不能复用,想要扩展更多的功能也很困难。方法调用时,实参是对象(或数组),这时实参与形参指向同一个地址,在方法执行中,对形参的操作实际上就是对实参的操作,这个结果在方法结束后被保留了下来,所以方法执行中形参的改变将会影响实参。值传递:(参数类型是基本数据类型):方法调用时,实参把它的值传递给对应的形参,形参只是用实参的值初始化自己的存储单元内容,是两个不同的存储单元,所以方法执行中形参值的改变不影响实参的值。(变量)名字 年龄 毛色。

2023-07-13 20:34:26 408 1

原创 用Java写五子棋小游戏

纵向对比和横向对比的思路相同,也是从最后一个落子的位置开始寻找,先向上边查看是否有4个相同颜色且连续的棋子,如果没有记录连续相同颜色棋子的个数然后从最后一个落子的位置向下寻找,如果加上左边的总数满足5个或5个以上则判定胜利。方法来实现黑棋和白棋的输入以及多种情况的判断(包括:黑棋白棋位置重复的问题,黑棋白棋位置越界问题,以及调用方法iswin()来实现对五子棋胜利的判断)将上述的集中方法结合起来就可以实现用java来写一个五子棋小游戏。创建iswin()方法来实现判断获胜的条件。首先我们需要定义全局变量。

2023-07-12 20:44:25 191 2

原创 Java数组的排序

冒泡排序的思路:1.从第一位开始,将相邻两位的大小进行比较,如果前面的值大于后面的值,就交换两个数的位置,一轮循环过后,最大的数会被放在最后一位。2.以此类推,只不过最后一位不参与比较。

2023-07-11 17:13:19 37

原创 Java中的方法以及一维数组

访问权限修饰符 修饰符...][返回值类型] 方法名(形式参数类型 参数名){//调用同一个类中的方法,直接使用方法名调用即可。java的方法不能独立存在,所有的方法必须定义在一个类里。以上两段代码展示了java中方法的声明,以及两种调用方式。数据类型[] 变量名 int[ ] a;数据类型 变量名[] int a[ ];将某个重复使用的一段代码定义到一个有名的代码块中。for(数据元素的类型 临时变量:遍历的数组){数组是一组相同数据类型元素的集合,是一个容器。

2023-07-11 16:04:13 33

原创 Java的流程控制循环结构

当表达式中的值与每一个case的值均不匹配时,将会执行defalut后面的语句,如果没有defalut则结束switch循环。将一个循环放在另一个循环体内,就形成了嵌套循环。其中, for ,while ,do…表达式可以是:byte char int short 枚举类型 String类型。如果某个case分支没有提供break语句,则会继续执行下一个case里的语句。表达式3){ 语句;} while(逻辑表达式);case语句后只能使用常量表达式。switch(表达式){while(逻辑表达式)

2023-07-10 20:00:50 45 1

原创 Java的数据类型等基础知识点

1.任意八种基本数据类型的数据与String类型只能进行连接“+”运算,且结果一定也是String类型。容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精度降低或溢出;浮点数字面量默认为double类型, 声明float类型,需要在字面量后加f或F。程序中对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间。注意:注意4字节的float类型表示的范围大于8个字节的long类型。原因是:浮点数在存储时结构与整数的计算方式不同。字符串:属于引用数据类型。

2023-07-10 11:58:18 63 1

原创 Java的基础以及写一个简单的小程序

javaSE(Java Standard Edition标准版 java基础):包含java语言核心的类(String,输入输出,线程)//java语言中的输出语句。jre中包含jvm(Java虚拟机)是java程序最终运行的环境,把.class文件再次翻译成机器码。文档注释,用于类,方法,属性,功能进行说明,可在调用时提示,以及使用javadoc命令生成说明文档。标识符:Java语言中对类,方法,变量,包等要素进行命名使用的字符串序列。变量名,方法名:首字母小写,多单词组成时,第二个单词首字母大写。

2023-07-09 16:31:09 417 1

原创 c语言基础:递归算法

斐波那契数列的是这样一个数列:1、1、2、3、5、8、13、21、34…,第 n 项目为 f(n) = f(n-1) + f(n-2)。求第 n 项的值是多少。我们观察数列,前两项为1,第三项为前两项的和,第四项等于第二 三项的和,因此我们可以得出一个结论,第n项等于第(n-1)与第(n-2)项的和!(每次运算都要在n的基础上-1,知道n=1或者n=2时停止!这就是一个具有递归作用的函数,我们可以看出写递归函数的主要是找到等价关系式。首先,我们要明白用递归写这个函数的主要功能是找到第n项的值是多少?

2023-05-20 22:22:33 84 1

原创 C语言基础

如果用这种方法来定义字符串,则定义的字符个数要少数组的下标,因为在末尾会自动加。”是我设的函数名,圆括号是为了让编译器确认这是一个。字符串本质上是一种以'\0'结尾的字符数组.的,相当于对数组中的每一个元素进行赋值。是计算字符串的长度,它的计算方法是遇到。是为了清楚,该字符串是在那里结束。的作用是说明这个函数没有返回值,“,写其他类型的参数,如设一个整形参。这种形式会在最后一个字符的末尾加。我是一个自定义函数,作用是打印。也是会占一个字符的位置。作为字符串结束的标志。就是规定该函数的功能。

2023-04-21 19:30:25 40 1

原创 C语言基础

基本整型(int)、短整型(short int)、长整型(long int)、双长整型(long long int)、字符型(char)和布尔型(bool)。printf("\nshort的大小为:%d\n", sizeof(short));// %d叫做占位符。printf("long long的大小为:%d\n", sizeof(long long));printf("long的大小为:%d\n", sizeof(long));printf("int的大小为:%d\n", sizeof(int));

2023-04-16 08:55:41 48 1

空空如也

空空如也

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

TA关注的人

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