- 博客(27)
- 收藏
- 关注
原创 面向对象程序综合设计——大球吃小球
姓名学号任务分配及实现包佳莉(组长)球(Ball)我的球(MyBall),其他球(OtherBall),方向接口(Direction),小组博客编写张子翔(组员)多线程实现球类的移动和倒计时(Frame2),选择难度和代码的整合(SelectFrame)胡凌瑞(组员)背景音乐的添加(Music),登陆界面(GameLogin),重开/退出(Again)
2024-01-12 10:47:25
563
原创 计算机组成原理:并行存储器和多模块交叉存储器
并行存储器和多模块交叉存储器是现代计算机组成中的重要组成部分。它们各自具有不同的优点和缺点,适用于不同的应用场景。并行存储器具有高速读写性能,适用于需要大量数据访问的场景;而多模块交叉存储器具有成本较低、提高整体数据访问速度等优点,适用于对成本和性能有较高要求的场景。在选择使用哪种类型的存储器时,需要根据具体的应用需求进行权衡和选择。
2023-12-16 23:45:48
1377
原创 java 缓冲流
通过本文的介绍,我们深入了解了Java缓冲流的原理、使用方法和注意事项。缓冲流通过在内存中创建缓冲区,减少了直接与底层I/O设备的交互次数,从而提高了数据读写效率。在实际应用中,我们可以通过创建BufferedInputStream或BufferedOutputStream对象来使用缓冲流,并通过read()或write()方法进行数据的读取或写入。在使用缓冲流时,需要注意内存消耗情况、异常处理、资源关闭以及数据的完整性和正确性等问题。同时,在使用缓冲流进行网络传输时,需要注意网络连接的稳定性。
2023-12-13 00:09:18
444
原创 Java字符流
通过以上示例代码的学习,可以总结出Java字符流的基本使用方法。首先,我们需要使用相应的输入流或输出流类来打开文件,并创建相应的输入流或输出流对象。然后,我们可以使用这些对象的read()或write()方法来读取或写入文本数据。需要注意的是,在读取或写入完成后,我们需要关闭输入流或输出流对象,以释放资源。另外,在读取或写入大量文本数据时,我们可以使用缓冲流来提高性能。缓冲流可以将读取或写入的数据先存储在缓冲区中,然后一次性读取或写入多个数据,从而减少IO操作的次数。
2023-12-09 23:57:53
417
原创 Java字节流详解
首先,我们了解了Java字节流的基本概念和分类,包括输入流、输出流、缓冲流和非缓冲流等。然后,我们学习了Java字节流的常用方法,包括读取字节数据和写入字节数据。在实际应用中,我们可以根据具体需求选择使用合适的方法来操作字节数据。同时,我们还介绍了Java字节流的缓冲处理机制,通过缓冲流的使用可以提高数据处理的效率。在实际应用中,我们可以根据需要选择是否使用缓冲流来处理字节数据。对于大文件或需要频繁读写的情况,使用缓冲流可以显著提高性能。
2023-12-05 23:04:12
554
原创 Java StringBuilder:高效字符串处理的利器
在Java编程语言中,String类是不可变的,这意味着每次对字符串进行修改操作(如连接、替换等)时,都会创建一个新的字符串对象,这会导致大量不必要的内存分配和性能损耗。为了解决这个问题,Java提供了StringBuilder类,它是一个可变的字符串处理类,专门用于高效地构建和修改字符串。使用场景:在处理大量字符串操作,尤其是循环中的字符串拼接时,应优先考虑使用StringBuilder,以提高性能和效率。
2023-12-02 20:03:46
408
原创 java 静态内部类
在Java编程中,静态内部类是一种特殊的内部类,它属于外部类本身,而不是外部类的任何对象。这意味着,静态内部类可以直接访问外部类的静态成员,但不能直接访问外部类的非静态成员。静态内部类是一种强大的封装和组织代码的工具,它可以提高代码的可读性和可维护性。静态内部类是Java编程中的一个重要概念,它允许我们在一个类的内部定义另一个类,这个内部类可以直接访问外部类的静态成员。这使得我们可以更好地组织和封装代码,提高代码的可读性和可维护性。
2023-11-30 19:27:14
440
原创 java List
总结一下,Java中的List接口是一个有序的元素集合,提供了丰富的操作方法。在这个例子中,我们创建了一个存储String类型元素的ArrayList对象,并向其中添加了三个元素。在Java中,List接口是Collection框架的一部分,用于存储有序的元素集合。List接口继承了Collection接口,并添加了一些特定于列表操作的方法,例如根据索引访问元素、搜索元素等。在Java中,List接口有多种实现类,例如ArrayList、LinkedList和Vector等。二、List接口的主要方法。
2023-11-28 23:26:55
1134
1
原创 java Set
Java Set是Java集合框架中的一部分,用于存储不重复元素的数据结构。它提供了一种集合的概念,其中的元素具有唯一性。Set接口是Java中用于处理不重复元素的核心接口,常见的实现类有HashSet、TreeSet等。通过使用Set,我们可以方便地存储、访问和操作不重复元素的数据集合。除了基本类型的元素外,我们还可以将自定义对象存储在Set中。在存储自定义对象时,需要确保对象的唯一性,通常需要重写对象的equals()和hashCode()方法。
2023-11-25 22:11:32
319
原创 java Map
Java Map是Java集合框架中的一部分,用于存储键值对的数据结构。它提供了一种映射关系,可以通过键来访问对应的值。Map接口是Java中用于处理键值对数据的核心接口,常见的实现类有HashMap、TreeMap等。通过使用Map,我们可以方便地存储、访问和操作数据,实现更高效的数据处理。Map作为Java集合框架的重要组成部分,提供了方便的键值对存储和访问机制。在实际开发中,我们可以根据具体需求选择适合的Map实现类,如HashMap或TreeMap,以实现高效的数据处理和操作。
2023-11-23 21:39:10
396
原创 java IO流
Java IO流是Java用于处理输入/输出的一个重要特性。通过使用IO流,我们可以方便地进行文件的读写、网络数据的传输等操作。Java IO流提供了丰富的类和接口,用于处理各种类型的数据。主要包括输入流(InputStream)和输出流(OutputStream)两大类,它们分别用于读取数据和写入数据。通过对Java IO流的学习和使用,我们可以高效地进行文件的读写操作以及网络数据传输等操作。在实际开发中,我们可以根据具体的需求选择合适的IO流类,并结合缓冲流与转换流等机制,提高IO操作的性能和灵活性。
2023-11-21 17:16:50
50
1
原创 java泛型
在这个例子中,printItem方法接受一个Box类型的参数,其中的类型参数使用了通配符。需要注意的是,使用通配符类型参数时,不能对其进行修改操作(如添加、删除元素),因为具体类型未知。就像有一个万能的盒子,我们可以放入各种物品,而且盒子还会确保放入的物品类型是正确的,这确实是一个非常强大的工具!在这个例子中,T是一个泛型类型参数,表示Box类可以存储任意类型的对象。通配符类型参数用于表示任意类型,常用于泛型方法的参数类型。前者表示类型参数是T或T的子类,后者表示类型参数是T或T的父类。
2023-11-16 20:37:18
38
1
原创 java异常
在Java编程中,异常是指程序在运行过程中出现的非正常情况或意外行为。当程序遇到无法处理的问题时,就会抛出异常。异常处理是Java中非常重要的一部分,它可以帮助我们更好地管理和控制程序的运行流程,提高程序的稳定性和可靠性。
2023-11-14 21:59:14
37
1
原创 面向对象大作业之课程设计
3.准备实现的部分:实现游戏的界面、地鼠的出现和消失、玩家的打击操作、计分系统、计时器、排行榜等功能。3.计时和计分系统:游戏应该有一个计时器,记录玩家的游戏时间,并且根据玩家的表现来计算得分。4.游戏结束和重新开始:当游戏时间结束后,游戏应该显示玩家的得分,并提供重新开始游戏的选项。1.地鼠随机出现和消失:游戏应该能够随机生成地鼠的位置,并且地鼠出现一段时间后会自动消失。2.玩家点击地鼠得分:玩家需要在地鼠出现的时间内点击地鼠,每次成功点击会得到一定的分数。使用内存来存储游戏状态、玩家得分等数据。
2023-11-13 23:45:31
71
原创 存储系统基本概念
4.相联存储器(Associative Memory)即可以按内容访问的存储器 (ContentAddressed Memory,CAM)可以按照内容检索到存储位置进行读写,“快表”就是一种相联存储器。3.存储速度:数据传输率(主存带宽 : 单位为字/秒、字节/秒(B/s )或 位/秒(b/s)) = 数据的宽度 / 存储周期,数据的宽度即存储字长。信息读出后,原存储信息被破坏一一破坏性读出(如DRAM芯片,读出数据后要进行重写)。断电后,存储信息依然保持的存储器一一非易失性存储器(磁盘、光盘)。
2023-11-10 15:04:05
29
1
原创 java抽象类
在Java编程语言中,抽象类是一种特殊的类,它被设计为不能被实例化。抽象类的主要目的是提供一个通用的、共享的类定义,它可以包含具体的实现,同时也可以包含抽象方法。这些抽象方法必须由任何继承抽象类的子类实现。使用关键字“abstract”来定义抽象类和抽象方法。
2023-11-09 23:44:14
44
1
原创 Lambda表达式
1.Lambda表达式是JDK8开始新增的一种语法形式;作用: 用于简化匿名内部类的代码写法。lambda表达式的基础语法(被重写方法的形参列表) - > {被重写方法的方法体代码//使用lambda表达式实现接口// System.out.println("学生快乐的游泳~~~~");// }// };System.out.println("小狗游得贼快");s.swim();Lambda表达式简化Comparator接口的匿名形式// }// });});对!
2023-11-07 23:08:36
28
原创 路由技术基础——OSPF协议原理
1.OSPF简介:OSPF(Open Shortest Path First,开放式最短路径优先)是IETF(互联网工程任务组)组织开发的一个基于链路状态的内部网关协议。它用于在单一自治系统(Autonomous System,简称AS)内决策路由。OSPF是链路状态路由协议,而与之相对的RIP是距离矢量路由协议。2.OSPF在园区网络中的应用:3.OSPF基础术语——区域:4.OSPF基础术语—— Router-ID5.OSPF的基础术语——度量值6.OSPF协议报文类型7.OSPF报文认证。
2023-11-04 23:28:23
74
1
原创 以太网交换原理
1.以太网协议:以太网是一种局域网技术,而不是一种网络。冲突域:冲突域是指连接在同一共享介质上的所有节点的集合,冲突域内所有节点竞争同一带宽,一个节点发出的报文 (无论是单播、组播、广播),其余节点都可以收到。广播域:1.以太网帧格式:以太网技术所使用的顺称为以太网顺(Ethernet Frame),或简称以太帧。MAC地址含义:MAC(Medium Access Control)地址在网络中唯一标识一个网卡,每个网卡都需要并拥有有唯一的一个MAC地址。
2023-11-03 23:46:04
51
原创 this关键字
在if语句判断时,如果是写if(score>score),那么两个score都会调用最近的对象(也就是传入的形参),那么这个语句判断永远都是false,输出结果如下。首先在Student类中创建了一个变量名为score,然后写了一个printPass方法传入的形参名字也为score。this就是一个变量,可以用在方法中,来拿到当前对象,哪个对象调用方法,this就指向哪个对象,也就是拿到哪个对象。得到的结果都是各自分别的地址,说明this指向了调用它的对象。this主要用来解决 变量名称冲突问题。
2023-11-02 23:41:45
23
原创 Java static关键字理解
类方法中不可以出现this关键字,因为当用类名调用printHelloWorld方法时,没有对象,this无法指向对象。1.类方法中可以直接访问类的成员,不可以直接访问实例成员(同一个类中,访问类成员,可以省略类名):有static修饰,属于类,在计算机里只有一份,会被类的全队对象共享。a.如何使用: 类名.类变量(推荐) 或者 对象名.类变量(不推荐)2.实例方法中既可以直接访问类成员,也可以直接访问实例成员。static:叫静态,可以修饰成员变量,成员方法。a.如何使用:对象.实例变量。
2023-11-01 22:09:37
26
1
原创 Arrays,comparator,comparable
方法一:让该对象的类实现Comparable(比较规则)接口,然后重写compareTo 方法,自己来制定比较规则。方法二:使用下面这个sort方法,创建Comparator比较器接口的匿名内部类对象,然后自己制定比较规则。注意点:如果指定的新数组长度<原来的数组长度,则只输出新数组制定长度。第二点重写compareTo(),一个是繁琐的写法,标蓝色的是简写。把数组中原数据改为新数据再存进去(例子中将数据打了八折)输出为:(空余的位置系统用0补齐)拷贝数组,可以指定新数组的长度。对数组进行排序(默认升序)
2023-10-31 23:44:07
50
1
原创 equals比较过程分析:
3.类型检查:如果传入对象不为null,那要确保他与当前对象的类型相同或者是该类型的子类才能进行比较;2.null检查:检查传入的对象是否为null,若是,那当前对象与之不相等,返回false;:检查传入的对象引用是否与当前对象的引用相等,如果是,他们肯定相同,就返回true;5.特殊情况处理:例如对于浮点数的比较(详情见DecimalFormat类)a.对于基本数据类(int double)用==来比较。b.对于对象引用类型 用equals来比较。
2023-10-30 12:13:14
58
1
原创 使用“类ChatGPT”工具完成课程设计的规划
这个系统首先在商城中存储了一些商品,然后客户可以浏览商城中的商品,然后选择自己感兴趣的商品将其(可以选择想添加的商品的数量)添加到购物车中,也可以从购物车中删除自己不想要的商品。2.由于“类ChatGPT”的回答可能不完全准确或满足你的需求,你需要学会筛选和评估所提供的信息,以确定哪些信息是有用的。3.了解如何与机器进行有效的交互,例如理解机器的回答,以及何时需要提供更多的上下文或信息以帮助机器更好地理解你的需求。2.开发一个推荐算法,根据用户的购物历史和商品属性,为用户推荐可能感兴趣的商品。
2023-10-24 20:58:22
219
原创 5-互评-OO之接口-DAO模式代码阅读及应用
体现在通过调用 addStudent 方法添加学生时,无论是数组还是列表实现,都只需要关注 StudentDao 接口的方法,而不需要关注具体的数据存储方式。通过将数据访问逻辑封装在DAO类中,并将对象的创建和管理交给工厂类或构造函数来处理,可以将代码划分为独立的模块,每个模块具有清晰的职责和功能。这种抽象可以使得应用程序在需要切换数据源时,无需修改业务逻辑代码,只需要更改DAO层的实现即可,大大提高了代码的灵活性和可扩展性。接口的方法调用来实现,该接口提供了统一的数据访问接口,屏蔽了底层存储细节。
2023-10-15 10:58:12
53
原创 项目案例作业2: 对案例进行面向对象分析
在Java等面向对象的编程语言中,通常会为类的每一个属性设置一个getter方法(用于获取属性值)和一个setter方法(用于设置属性值)。在学生管理系统中,toString()方法通常用于返回学生的一些信息(姓名,性别,成绩等)。这样做的好处是当我们需要打印学生信息时,不需要一个一个的获取学生信息,而是直接使用toString()方法。在学生管理系统中,封装性的体现主要在于将学生的属性(如姓名、学号、性别等)和学生的行为(如增加学生、删除学生、查找学生等)封装在“学生”这个类中。找到其中的名词与动词。
2023-10-08 16:37:19
43
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人