自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Day43-Java基础之单元测试和注解

自定义注解单独存在是没有什么意义的,一般会跟反射结合起来使用,会用发射去解析注解。针对于注解,只要掌握会使用别人已经写好的注解即可。关于注解的解析,一般是在框架的底层已经写好了。

2024-05-15 21:01:07 355

原创 Day42-Java基础之日志、类加载器和xml文件

万维网联盟(W3C)万维网联盟(W3C)创建于1994年,又称W3C理事会。1994年10月在麻省理工学院计算机科学实验室成立。建立者: Tim Berners-Lee (蒂姆·伯纳斯·李)。是Web技术领域最具权威和影响力的国际中立性技术标准机构。到目前为止,W3C已发布了200多项影响深远的Web技术标准及实施指南,如广为业界采用的超文本标记语言HTML(标准通用标记语言下的一个应用)、可扩展标记语言XML(标准通用标记语言下的一个子集)

2024-05-14 20:46:51 886

原创 Day41-Java基础之反射和动态代理

是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意属性和方法;这种动态获取信息以及动态调用对象方法的功能称为Java语言的反射机制。利用创建的对象调用类里面的内容可以跟,把要创建的对象信息和方法写在配置文件中。读取到什么类,就创建什么类的对象读取到什么方法,就调用什么方法此时当需求变更的时候不需要修改代码,只要修改配置文件即可。

2024-05-13 15:32:45 941 1

原创 Day40-Java基础之聊天室项目

txt文件:lisi=1234Client类:​​​​System.out.println("服务器连接成功!");​System.out.println("**********欢迎来到黑马聊天室********");System.out.println("1.登录");System.out.println("2.注册");System.out.println("输入你的选择: ");​。

2024-05-12 15:16:02 504

原创 Day39-Java基础之网络编程

计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统网络编程在网络通信协议下,不同计算机上运行的程序,可以进行数据传输。

2024-05-11 17:35:14 460

原创 Day38-Java基础之多线程2

提到池,大家应该能想到的就是水池。水池就是一个容器,在该容器中存储了很多的水。那么什么是线程池呢?线程池也是可以看做成一个池子,在该池子中存储很多个线程。线程池存在的意义:系统创建一个线程的成本是比较高的,因为它涉及到与操作系统交互,当程序中需要创建大量生存期很短暂的线程时,频繁的创建和销毁线程对系统的资源消耗有可能大于业务处理是对系统资源的消耗,这样就有点"舍本逐末"了。针对这一种情况,为了提高性能,我们就可以采用线程池。线程池在启动的时,会创建大量空闲线程,当我们向线程池提交任务的时,线程池就。

2024-05-10 17:41:54 814

原创 Day37-Java基础之多线程

概述生产者消费者模式是一个十分经典的多线程协作的模式,弄懂生产者消费者问题能够让我们对多线程编程的理解更加深刻。所谓生产者消费者问题,实际上主要是包含了两类线程:一类是生产者线程用于生产数据一类是消费者线程用于消费数据为了解耦生产者和消费者的关系,通常会采用共享的数据区域,就像是一个仓库生产者生产数据之后直接放置在共享数据区中,并不需要关心消费者的行为消费者只需要从共享数据区中去获取数据,并不需要关心生产者的行为Object类的等待和唤醒方法方法名说明。

2024-05-09 14:05:39 216

原创 Day36-Java基础之IO流

缓冲流,也叫高效流,是对4个基本的FileXxx字节缓冲流字符缓冲流缓冲流的基本原理,是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO次数,从而提高读写的效率。Java 提供了一种对象序列化的机制。用一个字节序列可以表示一个对象,该字节序列包含该对象的数据对象的类型和对象中存储的属性等信息。字节序列写出到文件之后,相当于文件中持久保存了一个对象的信息。反之,该字节序列还可以从文件中读取回来,重构对象,对它进行反序列化。对象的数据对象的类型和对象中存储的数据。

2024-05-08 16:10:32 714

原创 Day35-Java基础之IO字节流

生活中,你肯定经历过这样的场景。当你编辑一个文本文件,忘记了ctrl+s,可能文件就白白编辑了。当你电脑上插入一个U盘,可以把一个视频,拷贝到你的电脑硬盘里。那么数据都是在哪些设备上的呢?键盘、内存、硬盘、外接设备等等。我们把这种数据的传输,可以看做是一种数据的流动,按照流动的方向,以内存为基准,分为输入input和输出output,即流向内存是输入流,流出内存的输出流。Java中I/O操作主要是指使用java.io包下的内容,进行输入、输出操作。也叫做数据,也叫做作数据。

2024-05-07 15:55:47 442

原创 Day34-Java基础之异常和文件

我们说了Java中不同的异常类,分别表示着某一种具体的异常情况,那么在开发中总是有些异常情况是SUN没有定义好的,此时我们根据自己业务的异常情况来定义异常类。,例如年龄负数问题,考试成绩负数问题。在上述代码中,发现这些异常都是JDK内部定义好的,但是实际开发中也会出现很多异常,这些异常很可能在JDK中没有定义过,例如年龄负数问题,考试成绩负数问题.那么能不能自己定义异常呢?在开发中根据自己业务的异常情况来定义异常类.自定义一个业务逻辑异常:。一个登陆异常类。自定义一个编译期异常: 自定义类 并继承于。

2024-05-07 15:55:05 315

原创 Day33-Java基础之stream流

是一个长度不可变,内容也无法修改的集合。

2024-05-05 10:31:56 584

原创 Day32-Java基础之可变参数和综合练习

按照斗地主的规则,完成洗牌发牌的动作。具体规则:使用54张牌打乱顺序,三个玩家参与游戏,三人交替摸牌,每人17张牌,最后三张留作底牌。

2024-05-04 16:48:47 753

原创 Day31-Java基础之Map集合

HashMap底层是哈希表结构的依赖hashCode方法和equals方法保证键的唯一如果键要存储的是自定义对象,需要重写hashCode和equals方法TreeMap底层是红黑树结构依赖自然排序或者比较器排序,对键进行排序如果键存储的是自定义对象,需要实现Comparable接口或者在创建TreeMap对象时候给出比较器排序规则。

2024-05-03 16:53:36 942

原创 Day30-Java基础之Set集合

不可以存储重复元素没有索引,不能使用普通for循环遍历不可以存储重复元素没有索引可以将元素按照规则进行排序TreeSet():根据其元素的自然排序进行排序TreeSet(Comparator comparator) :根据指定的比较器进行排序两种比较方式小结自然排序: 自定义类实现Comparable接口,重写compareTo方法,根据返回值进行排序比较器排序: 创建TreeSet对象的时候传递Comparator的实现类对象,重写compare方法,根据返回值进行排序。

2024-05-02 17:14:16 867

原创 Day29-Java基础之List集合

Collection集合概述是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素JDK 不提供此接口的任何直接实现.它提供更具体的子接口(如Set和List)实现创建Collection集合的对象多态的方式具体的实现类ArrayListCollection集合常用方法方法名说明添加元素从集合中移除指定的元素根据条件进行移除清空集合中的元素判断集合中是否存在指定的元素判断集合是否为空int size()集合的长度,也就是集合中元素的个数。

2024-05-01 10:56:22 491

原创 Day28-Java基础之Arrays类和lambda表达式

/Arrays类//不存在返回-插入点再-1//包头不包尾//第二个参数是一个接口Arrays.sort(integers,new Comparator<Integer>(){//二分加插入排序//返回负数插在前面,返回正数插在后面,0也是后面});

2024-04-30 17:39:44 644

原创 Day27-Java基础之常用类2

java.util.Calendar类表示一个“日历类”,可以进行日期运算。它是一个抽象类,不能创建对象,我们可以使用它的子类:java.util.GregorianCalendar类。有两种方式可以获取GregorianCalendar对象:直接创建GregorianCalendar对象;通过Calendar的静态方法getInstance()方法获取GregorianCalendar对象【本次课使用】基本类型对应的包装类(位于java.lang包中)byteByteshortShort。

2024-04-29 18:13:51 951

原创 Day26-Java基础之正则表达式

语法示例:"." : 匹配任何字符。"\d":任何数字[0-9]的简写;"\D":任何非数字[^0-9]的简写;"\s": 空白字符:[ \t\n\x0B\f\r] 的简写"\S": 非空白字符:[^\s] 的简写"\w":单词字符:[a-zA-Z_0-9]的简写"\W":非单词字符:[^\w]代码示例://.表示任意一个字符System.out.println("你".matches(".."));//false。

2024-04-28 19:36:52 1051

原创 Day25-Java基础之常用类1

同时我们发现Math类中的方法都是静态的,因此在使用的时候我们可以直接通过类名去调用。对于计算机而言,其实是没有数据类型的概念的,都是0101010101,数据类型是编程语言自己规定的,所以在实际存储的时候,先把具体的数字变成二进制,每32个bit为一组,存储在数组中。比较内存地址值一般情况下是没有意义的,我们希望比较的是对象的属性,如果两个对象的属性相同,我们认为就是同一个对象;如果我们的数据是一个浮点类型的数据,有的时候计算机并不会将这个数据完全转换成一个二进制数据,而是将这个将其转换成一个无限的。

2024-04-27 17:30:34 1181

原创 Day24-Java基础之面向对象进阶3

abstract是抽象的意思,用于修饰方法方法和类,修饰的方法是抽象方法,修饰的类是抽象类。我们已经学完了抽象类,抽象类中可以用抽象方法,也可以有普通方法,构造方法,成员变量等。那么什么是接口呢?接口是更加彻底的抽象,JDK7之前,包括JDK7,接口中全部是抽象方法。接口同样是不能创建对象的。//接口的定义格式:interface 接口名称{// 抽象方法​// 接口的声明:interface// 接口名称:首字母大写,满足“驼峰模式”类与接口的关系为实现关系,即类实现接口。

2024-04-26 21:23:01 442

原创 Day23-Java面向对象进阶2

多态: 是指同一行为,具有多个不同表现形式。从上面案例可以看出,Cat和Dog都是动物,都是吃这一行为,但是出现的效果(表现形式)是不一样的。前提【重点】有继承或者实现关系方法的重写【意义体现:不重写,无意义】父类引用指向子类对象【格式体现】父类类型:指子类对象继承的父类类型,或者实现的父接口类型。学习了继承后,我们知道,子类可以在父类的基础上改写父类内容,比如,方法重写。如果有一个方法我不想别人去改写里面内容,该怎么办呢?Java提供了final关键字,表示修饰的内容不可变。final。

2024-04-25 18:37:37 713

原创 Day22-Java基础之面向对象进阶

static是静态的意思。static可以修饰成员变量或者修饰方法。假如我们要定义如下类: 学生类,老师类和工人类,分析如下。学生类 属性:姓名,年龄 行为:吃饭,睡觉老师类 属性:姓名,年龄,薪水 行为:吃饭,睡觉,教书班主任 属性:姓名,年龄,薪水 行为:吃饭,睡觉,管理如果我们定义了这三个类去开发一个系统,那么这三个类中就存在大量重复的信息(属性:姓名,年龄。行为:吃饭,睡觉)。这样就导致了相同代码大量重复,代码显得很臃肿和冗余,那么如何解决呢?

2024-04-24 19:36:10 914

原创 Day21-Java基础之集合

什么是集合提供一种存储空间可变的存储模型,存储的数据容量可以发生改变ArrayList集合的特点长度可以变化,只能存储引用数据类型。泛型的使用用于约束集合中存储元素的数据类型​​//下面是空参,有参,get和set方法​loop:System.out.println("-----------------欢迎来到黑马学生管理系统-------------------");System.out.println("1:添加学生");

2024-04-23 18:25:54 906

原创 Day20-Java基础之字符串

String 类代表字符串,Java 程序中的所有字符串文字(例如“abc”)都被实现为此类的实例。也就是说,Java 程序中所有的双引号字符串,都是 String 类的对象。String 类在 java.lang 包下,所以使用的时候不需要导包!

2024-04-22 20:33:49 362

原创 Day20-Python基础学习之正则表达式和递归(完结)

正则表达式import re​# match 从头开始匹配 头部不匹配返回None​# search 从开头找到结尾搜索,找到第一个就停止​# findall 搜索全部匹配的。

2024-04-22 19:04:44 422

原创 Day19-Python基础学习之Socket

conn.send(msg.encode("UTF-8")) # 这里要编码。socket_server.bind(("localhost", 8888)) # 本机的8888端口。print(f"服务端回复的消息是:{recv_data.decode("UTF-8")}")socket_server.listen(1) # 1表示接收的连接数量。msg = input("输入你要和客户端回复的消息")print(f"接受到了客户端的信息是:{address}")

2024-04-21 18:02:53 402

原创 Day19-Java基础之面向对象案例练习

需求:格斗游戏,每个游戏角色的姓名,血量,都不相同,在选定人物的时候(new对象的时候),这些信息就应该被确定下来。举例:程序运行之后结果为:姓名为:乔峰 血量为:100姓名为:鸠摩智 血量为:100乔峰举起拳头打了鸠摩智一下,造成了XX点伤害,鸠摩智还剩下XXX点血。鸠摩智举起拳头打了鸠摩智一下,造成了XX点伤害,乔峰还剩下XXX点血。乔峰举起拳头打了鸠摩智一下,造成了XX点伤害,鸠摩智还剩下XXX点血。鸠摩智举起拳头打了鸠摩智一下,造成了XX点伤害,乔峰还剩下XXX点血。

2024-04-21 16:50:50 927

原创 Day18-Python基础学习之多线程编程

格式: thread_obj = threading.Thread([group[,target[,name[,args[,kwargs]]]]])thread_rap = threading.Thread(target=rap, args=("要rap", )) # 注意一个元素的元组要带参数。# target:执行的目标任务名 args:元组形式传参 kwargs:字典形式传参 name:线程名,一般不用设置 group:暂时不用。# 多线程:一个进程可以开启多个线程。# 创建一个唱歌的线程。

2024-04-20 19:59:02 246

原创 Day18-Java基础之面向对象

类的组成是由属性和行为两部分组成属性:在类中通过成员变量来体现(类中方法外的变量)行为:在类中通过成员方法来体现(和前面的方法相比去掉static关键字即可)类的定义步骤:①定义类②编写类的成员变量③编写类的成员方法public class 类名 {// 成员变量变量1的数据类型 变量1;变量2的数据类型 变量2;// 成员方法方法1;方法2;

2024-04-20 19:33:28 753

原创 Day17-Python基础学习之设计模式

某些场景下,我们需要一个类无论获取多少次类对象,都仅仅提供一个具体的实例,用以节约创建对象的开销和内存开销# 单例模式pass​# 这里是两个独立对象print(s1)print(s2)​# 引入在另一个文件中的已创建的对象# 两者一致print(s1)print(s2)# 单例模式pass​。

2024-04-19 21:21:20 449

原创 Day17-Java基础之综合案例

需求:机票价格按照淡季旺季、头等舱和经济舱收费、输入机票原价、月份和头等舱或经济舱。按照如下规则计算机票价格:旺季(5-10月)头等舱9折,经济舱8.5折,淡季(11月到来年4月)头等舱7折,经济舱6.5折。代码示例:​​/* 机票价格按照淡季旺季、头等舱和经济舱收费、输入机票原价、月份和头等舱或经济舱。按照如下规则计算机票价格:旺季(5-10月)头等舱9折,经济舱8.5折,淡季(11月到来年4月)头等舱7折,经济舱6.5折。

2024-04-19 20:59:46 545

原创 Day16-Python基础学习之闭包和装饰器

闭包​fn1 = outer("Hello") # 类型是函数 注意这里传入的参数对于内部函数来说是持续存在的​# 修改外部函数的值return In​fn(10)fn(10)​# 案例else:return atm​atm(100)​# 总结:闭包优点是无需定义全局变量即可实现通过函数持续访问、修改某个值,闭包使用的变量难以被错误的调用修改。

2024-04-18 17:41:36 323

原创 Day16-Java基础之方法

定义格式:public static void 方法名 ( ) {// 方法体;范例:// 方法体;调用格式:方法名();范例:method();注意:方法必须先定义,后调用,否则程序将报错定义格式:参数:由数据类型和变量名组成 - 数据类型 变量名参数范例:int apublic static void 方法名 (参数1) {方法体;​public static void 方法名 (参数1, 参数2, 参数3...) {方法体;范例:......

2024-04-18 13:48:54 380

原创 Day15-Java基础之循环和数组

又叫死循环。循环一直停不下来。

2024-04-17 17:23:37 866

原创 Day15-Python基础学习之PySpark

通过parallelize方法将python对象加载到spark内,成为RDD对象。# 基于SparkConf类对象创建SparkContext对象。# 要查看rdd里的内容,需要使用collect方法。# 读文件通过textFile方法,成为rdd对象。# 停止SparkContext对象的运行。# 通过map方法将全部数据乘10。# 创建SparkConf对象。# 注意字典打印出来只有key。# 打印spark运行版本。# 加载数据,即数据输入。# pySpark入门。# 数据计算map方法。

2024-04-17 17:21:42 434

原创 Day14-Java基础之循环控制语句

在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。所以,我们必须清楚每条语句的执行流程。而且,很多时候要通过控制语句的执行顺序来实现我们想要的功能。

2024-04-16 20:53:10 756

原创 Day14-Python基础学习之pymysql

json_file_reader = JsonFileReader("D:/BaiduNetdiskDownload/第13章资料/2011年2月销售数据JSON.txt")text_file_reader = TextFileReader("D:/BaiduNetdiskDownload/第13章资料/2011年1月销售数据.txt")cursor = conn.cursor() # 获得游标对象。conn.commit() # 这里确认了。# python操作Mysql数据库。

2024-04-16 17:31:58 493

原创 Day13-Java基础之运算符和表达式

所以在参与计算的时候,变量b1和变量b2里面的值都会自动提升为int类型的。就是把一个取值范围小的数据或者变量,赋值给另一个取值范围大的变量。案例:动物园里有两只老虎,两只老虎的体重分别为通过键盘录入获得,请用程序实现判断两只老虎的体重是否相同。当+操作中出现字符串时,此时就是字符串的连接符,会将前后的数据进行拼接,并产生一个新的字符串。当+操作中出现了字符,会拿着字符到计算机内置的ASCII码表中去查对应的数字,然后再进行计算。计算规则:如果两边相同,结果为false,如果两边不同,结果为true。

2024-04-15 20:51:11 666

原创 Day13-C++基础之文件操作

/这里将Person类型强转为char。//不指定路径会创建在项目文件夹下。//如果文件存在就先删除再创建:ios::trunc。cout<<"文件打开失败"<<endl;//这里注意:读文件打开方式:ios::in。//二进制方式:ios::binary。//写文件打开方式:ios::out。//3.打开文件,并判断是否打开成功。//1.包含头文件 fstream。//追加方式写文件:ios:app。//3.指定打开方式。

2024-04-15 20:47:31 771

原创 Day13-Python基础学习之数据分析案例

json_file_reader = JsonFileReader("D:/BaiduNetdiskDownload/第13章资料/2011年2月销售数据JSON.txt")text_file_reader = TextFileReader("D:/BaiduNetdiskDownload/第13章资料/2011年1月销售数据.txt")bar.add_yaxis("销售额", list(data_dict.values()), label_opts=LabelOpts(is_show=False))

2024-04-15 18:19:34 673

空空如也

空空如也

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

TA关注的人

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