自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 maven

maven是Apache软件基金会的一个开源项目,是一个优秀的项目构建工具,它用来帮助开发者管理项目中的jar,及jar之间的依赖关系(在A.jar文件中用到了B.jar会自动的去下载),可以完成项目的测试,编译,打包等工作maven是如何管理项目中依赖的jar文件?maven将常用的jar收集起来,在它的服务器上存储,每个jar都有独一无二的地址,我们在开发期间只需要将jar包的地址配置在项目配置文件中即可,借助maven就可以自动去官方下载jar文件到本地。

2024-07-17 18:35:36 712

原创 java8新特性

这里我们直接创建了一个匿名内部类的对象,注意不是创建了接口/抽象类的对象,而是创建了一个类这个类没有名字,但是实现了该接口/抽象类中的方法,我们称之为匿名内部类,这样虽然简化了很多,也不用我们自己去创建类,但是其实上述代码,我们只关心的是compare这个方法的方法体,而不是该匿名内部类对象,所以为了再一次书写方便,简单,我们引入了lambda表达式。我们之前要在一些方法中传递接口/抽象类的对象时,要先自己写一个接口/抽象类的实现类,并实现里面的抽象方法,才能将接口/抽象类的对象当做参数进行传递.如下。

2024-07-16 22:43:34 690

原创 jdbc

jdbc:java数据库连接(java database connection)java程序可以连接不同的数据库,但数据库连接的具体细节有所不同,所以java中定义了一系列与数据库有关的类和接口,来实现java中的接口,,我们只需要将其导入到java程序中,再通过调用类中的方法来达到java连接数据库的目的总结:1.java连接数据库的细节是由数据库公司实现的,并将其打包成jar包2.我们使用不同的数据库就要去不同的数据库官网找到对应的jar包,来进行连接。

2024-07-16 10:18:54 797

原创 mysql(1)

数据库:对数据进行存储管理的仓库。

2024-07-14 10:43:39 1023

原创 java线程

一定不要调用run()方法,如果调用该方法,那么并没有创建一个线程,该程序中还是main一个主线程,代码的执行逻辑仍然是从上向下执行,只有调用了start()方法才是真正创建了一个独立的线程。要想在java程序中创建一个线程,第一种方式是继承Thread类,实现其中的run()方法,将线程中想要执行的任务写在run方法中,再调用Thread中的start()方法。Objtct类中有wait()方法,notify()方法,notifyAll()方法,可以用来实现线程间的通信。

2024-07-10 19:12:08 722

原创 java异常

是指程序在运行过程中出现的不正常情况注意:代码写错了(编译期间检查出来的错误),不属于异常的范围当java提供的异常类不满足我们的业务需求时,我们需要自己定义一个异常类,来达到让程序在发生不正常现象时可以向用户给一定的提示性信息,使程序有一定的健壮性。

2024-07-09 07:42:43 757 2

原创 javaIO流(2)

字符流对数据的操作是以一个个字符为单位的,字符流只能读文本文件,并将读到的字节按照编码表转为对应的字符,Reader和Writer是字符流的两个最大的抽象类,InputStreamReader和OutputStreamWriter分别继承了Reader和Writer,它俩的功能就是将读取到的字节转换为字符,所以又被称为转换流。

2024-07-08 11:02:43 847

原创 java IO流(1)

java中提供了一个File类来表示一个文件或目录(文件夹),并提供了一些方法可以操作该文件。

2024-07-07 21:22:51 920

原创 java集合(2)

泛型就是将数据类型当做参数传递(参数化类型),注意这里的数据类型只能是引用数据类型,不能传递基本数据类型,这样就可以在编译期间检查传入的参数是否是规定的类型。

2024-07-07 08:05:11 1193

原创 HashMap中的put()方法

HashMap底层是由哈希表(数组),链表,红黑树构成,哈希表存储的类型是一个节点类型,哈希表默认长度为16,它不会每个位置都用,当哈希表中的元素个数大于等于负载因子(0.75)*哈希表长度就会扩容到原来的2倍。

2024-07-06 18:37:59 196

原创 ArrayList中的add()方法

无参构造就是让ArrayList底层数组的引用指向一个默认的Object类型的数组,该数组的默认长度为10,也就是说我们如果不通过有参指定数组的长度,那么底层默认的数组的长度就是10,即ArrayList的无参构造默认的初始长度为10。

2024-07-06 07:03:18 804

原创 java集合(1)

我们经常需要存储一些数据类型相同的元素,之前我们学过的容器就是数组,但是数组存在一个问题1.数组的长度一旦确定就不能改变但是我们在实际开发中,往往需要动态增长的容器来帮我们存储数据,显然只用数组的话需要自己去创建新数组并拷贝元素,这大大降低了开发效率,所以java提供了底层不同实现的数据结构的容器称为集合Collection是一个接口,里面可以定义抽象方法,常量,静态方法,默认方法(jdk8及之后),该接口是单列集合的父接口,其中主要用于定义一些单列集合通用的方法,例如:单列集合的增删改查。

2024-07-05 21:39:43 691

原创 java常用类(3)

Calendar类是一个日历类,该类是一个抽象类,所以我们在使用时要创建他的子类对象,一般我们创建GregorianCalendar类的对象,该类就是现在我们使用的公历,Calendar类就是用来替代Date类中的一些方法的类。在java.util包中,Date类主要是一个日期类,Date类的对象主要用来记录对象被创建那一刻的时间,里面有很多获取关于时间的方法,只不过因为该类在JDK1.0时就已经被写好了,很多方法已经被抛弃了,有其他类替换了。注意:BigDecimal的构造方法中如果用到小数,一定要。

2024-07-03 18:05:05 1011

原创 java面向对象(3)

继承:将不同对象的相同特征抽取出来并创建一个类(父类),将相同的特征定义到父类中,在该对象的类中就不用重复定义,直接使用extends关键字继承该父类,就拥有该父类中的除私有的属性。(3)如果我们要显示写出super()去调用父类的构造方法时,必须写在子类的构造方法中的首行,这样做的目的是在子类中要用到父类的成员时,确保父类成员先初始化完成(先父后子)(1)@Override是java提供的一个注解标签,加了该标签的方法代表的是重写父类中的方法,这个标签不是必须的,但在重写方法时建议加上。

2024-07-03 15:36:31 609

原创 java常用类(2)

java中所有用" "双引号括起来的都是String类的对象,String类的对象有以下特征。

2024-06-26 15:44:32 683

原创 java常用类(1)

自动装箱底层其实就是调用静态方法valueOf(),而valueOf()方法底层有一个缓冲数组,如果要装箱的值在-128 -- 127之间,它会直接从该缓冲数组中获取,也就是说如果用 == 去比较两个值是否相等,是相等的,因为获取的是同一个对象,如果装箱的值不在这个区间,它会去new一个新的对象,也就是说如果不在这个区间你用 == 去比较,这两个对象的地址是不同的,即使他们两个值是相同的,但地址也不同。copyOf()方法,用于数组的复制,将一个数组中的内容复制到一个指定长度的数组中,并返回这个新数组。

2024-06-25 14:16:43 986 1

原创 java面向对象(4)

(1)常量在接口中可以直接int num;通过定义变量的方式去定义常量,因为编译器会默认加上public static final,也就是说在接口中 int num == public static final int num;(2)抽象方法在接口中可以 void eat();这样来定义一个抽象方法,编译器会默认加上public abstract,也就是说在接口中 void eat() == public abstract void eat();(3)静态方法。

2024-06-23 21:12:02 1291

原创 java面向对象(2)

this关键字表示当前对象,可以在类中调用成员变量,成员方法,构造方法。

2024-06-21 19:33:25 280

原创 java面向对象(1)

(1)发现类:将问题中的事务抽象成一个个类的过程类的声明格式:[访问权限修饰符] [修饰符] class [类名]访问权限修饰符:public,无(默认)修饰符:final,abstract关键字class用来定义一个类,类名首字母大写(2)发现类的共有属性(成员变量)成员变量的声明格式:[访问权限修饰符] [修饰符] type 变量名注意:(1)成员变量是定义在方法体之外,类当中的变量(2)成员变量的作用范围是整个类域。

2024-06-20 19:53:48 743

原创 java数组

(1)数组是用来存储一组相同数据元素的容器(2)java中的数组本身就是一个对象,是引用类型(3)数组一旦创建长度不可改变(4)数组的存储空间是连续的(5)数组中既可以存储基本数据类型,也可以存储引用数据类型。

2024-06-20 10:22:13 230

原创 java基础语法

注释:以某种特定的符号作为标记,对代码进行解释说明,方便理解代码,程序运行到注释不会执行注释分类:(1)单行注释(快捷键ctrl+/):用于单行的代码进行注释 //(2)多行注释(快捷键ctrl+shift+/):用于对多行代码进行注释 /**/(3)文档注释:用于对类,方法,变量进行解释说明的,一般在一个类的开头使用,调用时会有提示 /** */

2024-06-18 16:38:40 564 2

原创 java环境配置

(1)java应用范围广:安卓开发,大数据开发,服务器后端,游戏平台(2)java性能优越,生态丰富(3)java就业岗位多。

2024-06-17 20:12:15 895 1

原创 动态内存管理(C语言)

C语言提供了一个动态内存开辟的函数这个函数向内存申请一块连续可用的空间,并返回指向这块空间的指针如果开辟成功,则返回一个指向开辟好空间的指针如果开辟失败,则会返回NULL(空指针),因此malloc函数的返回值一定要做检查返回值的类型是void*,所以malloc函数并不知道开辟空间的类型,具体在使用时使用者自己决定如果size等于0,这种行为C标准没有定义,具体取决于编译器C语言还提供了另一个函数free,专门是用来做动态内存的释放和回收的。

2023-07-19 17:52:26 1337 7

原创 字符串函数及内存函数C语言

初学者看到,有可能会以为我是要将arr数组中的五个元素全部设置为1,但是实际上并不是,这样设置会将内存中每个字节都设置为1,结果是一个很大的数。可见该函数是以字节进行内存设置的,如果要将该数组全部填充为某一值(0除外),这个方法是不行的。在一个字符串中查找指定子串存不存在,存在返回第一次出现的位置到结束的字符串。上面四种都是字符串长度不受限制的,下面介绍三种字符串长度受限制的。将源字符串拼接到目标字符串的后面,返回的是目标字符串的地址。将源字符串拷贝到目标字符串中,返回的是目标字符串的地址。

2023-07-17 12:49:55 272 8

原创 C语言指针面试题

p是一个数组指针,指向的是大小为4的整型数组,我们画出二维数组a的内存布局找到a[4][2]的位置,同时我们可以将数组指针想成一个二维数组,这个二维数组有许多列,但每一列只能有四个元素,这样我们就能找到p[4][2]的位置,因为数组从左到右是低地址到高地址所以此时&p[4][2] - &a[4][2]相减的值为-4,-4的补码对应的16进制数就是地址即FFFFFFFC。

2023-07-16 20:41:51 627 15

原创 单链表基本操作(java)

Node head;//头节点,Node类型 int size;

2023-07-15 13:42:28 252 2

原创 Mysql查询

(2)ifnull(被检测值,默认值)函数检测是否为null,如果为null,则返回指定的值,否则返回原本的值。lpad(str,length,填充字符):用指定的字符实现左填充将str填充为指定长度。rpad(str,length,填充字符):用指定的字符实现右填充将str填充为指定长度。1.sum,avg一般用于处理数值型,max,min,count可以处理任何类型。(5)mod(被除数,除数):取余,被除数为正,则为正;(4)truncate(数值,保留小数的位数):截断,小数点后截断到几位。

2023-07-07 22:22:57 1872 13

原创 C语言指针进阶

i < sz;buf2 ++;

2023-07-06 22:50:53 88 9

原创 MySql数据库增删改

(1)实现数据持久化到本地(2)使用完整的管理系统统一管理,可以实现结构化查询,方便管理。

2023-07-05 20:58:36 307 6

原创 GUI (java)

Swing是纯Java组件,使得应用程序在不同的平台上运行时具有相同外观和相同的行为。Swing中的大部分组件类位于javax.swing包中.Swing中的组件非常丰富,支持很多功能强大的组件关于GUI组件的类都在Swing包里。

2023-07-03 22:28:49 2666 10

原创 TCP字节流套接字编程(网络编程)

在start()方法中调用processConnection方法,而processConnection里在处理所有和这个连接有关的请求,只要这个连接不断开,这个while循环就不会结束,也就无法和下一个客户端进行连接了,有人可能会说那不用循环可不可以呢,答案是不可以,因为在String request = sc.nextLine()方法中可能会阻塞,即用户一直不输入信息。但是这里的clientSocket,数量多,每个客户端都有一个,生命周期也更短,跟随着当前这一个连接,客户端不连了就可以释放了。

2023-06-16 16:57:29 203 3

原创 UDP数据报套接字编程(网络编程)

现在我们正处于万物互联的时代,在以后的编程中是离不开网络的,所以我们有必要学习一下网络编程,而网络编程的核心是Socket Api(网络编程套接字),在网络协议的分层中我们知道,传输层以下的协议,都是操作系统内核实现的,换句话说,Socket Api是站在传输层的角度和应用层进行交互的,也可以认为Socket Api是和传输层密切相关的,而传输层中提供了两个最核心的协议->TCP/UDP,因此Socket Api也提供了两种不同的风格,那就是TCP/UDP风格(其实还有第三种风格unix域套接字,只不过现在

2023-06-14 20:25:03 446 15

原创 扫雷游戏(C语言)

C语言实现扫雷小游戏

2023-05-11 11:22:53 154 5

原创 任意子棋游戏设计(C语言)

任意子棋的实现

2023-05-09 17:49:55 236 4

原创 二维数组(java)

二维数组基础

2022-11-14 15:45:34 23801 4

空空如也

空空如也

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

TA关注的人

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