自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 计算机网络——文件i0(2)

Java中标准库中支持的流对象,种类非常多,功能也非常丰富。上述介绍的,只是最基本的四个流对象的使用。后续咱们写网络编程的代码,还会再用到Scanner。写入数据我们也可以把字节流转成字符流的。一、字节流输入/读代码演示。现在我们来写一个代码题。三、字节流转成字符流。

2024-05-31 23:15:30 110 1

原创 网络初始(1)2023-9-24

上述描述的规定,就是此处我们约定的应用层协议。驱动程序就是为了让硬件和电脑接融,比如普通鼠标只有一个左键,右键和滑轮,但是有的特殊鼠标上面不止有这些东西,还有其他的按键,如果我们直接把特殊鼠标连接电脑,没有用到驱动程序,那么我们只能使用左键,右键和滑轮,但是如果用到了驱动程序我们就可以使用鼠标上面的所有按键。比如,一台电脑上面有很多应用程序,QQ音乐,微信,QQ,CCtalk等等,它们都连着网,当我们接受到一个数据,我们不知道是给哪一个应用程序,这时我们就可以通过端口号来区分我们把这个数据给哪个应用程序。

2024-05-31 19:05:03 569

原创 计算机网络——进程(第一章节)

我在排时间表的时候,ABC三个小哥,分配的时间,不是均等相同的,A我最喜欢分的时间最多,B其次,C只会舔,舔腻了,分的实际最少。前面谈到进程调度,前面的讨论都是基于"一个进程里只有一个线程"的情况,实际上,一个进程中,是可以有多个线程的,每个线程,都是可以独立色进行调度的。一个系统中,可以有很多进程,每个进程,都有自己的资源,一个进程中,可以有很多线程,每个线程都能独立调度,共享内存/硬盘资源。通过上述方式,把进程之间给隔离开了,如果某个需求中,确定就需要让多个进程相互配合,此时就不好搞了。

2024-04-26 15:21:24 754 1

原创 计算机网络——网络编程UDP2023-9-24

api这个东西,不是需要咱们去背的,而是要对照着文档,来写出来即可。此时客户端和服务器就可以通过网络配合完成通信过程了。上述三个步骤是,就是开发服务器程序的基本步骤。写一个简单UDP客户端/服务器程序。TCP和UDP的区别。

2024-04-02 11:47:12 208 1

原创 计算机网络——深入线程(第三章)

把isQuit改成成员变量,此时lambda访问这个成员,就不再是变量捕获的语法了,而是”内部类访问外部类的属性“此时就没有final之类的限制了。1》如果t线程正在运行中,此时调用调用t.join的线程就会阻塞,一直阻塞到t线程执行结束为止。进程状态,最核心的,一个就是就绪状态,阻塞状态(对于线程同样适用)以线程为单位进行调度的。异常确实是出现了,sleep确实是唤醒了,但是上述t任然在继续工作,线程没有真正结束!2》如果t线程已经执行结束了,此时调用t.join线程,就直接返回了。

2024-03-11 20:35:35 371 1

原创 计算机网络——线程安全(第四章节)

使用规则上,并不复杂,抓住一个原则:两个线程针对同一个对象加锁,就会产生锁竞争。但是再底层原理上,synchronized还有不少值得讨论的地方。3>N个线程,M把锁。(相当于2的扩充),此时,是更容易出现死锁的情况的。面试官的问法:你是否了解死锁?关于死锁的成因和解决方案,大家一定要重点掌握。一、synchronized修饰。看代码演示这个代码里面又锁嵌套。三、volatile关键字。什么也没有打印,为什么呢。上面写的都是需要回答的。

2024-03-10 22:27:57 337

原创 计算机网络——创建线程方法(第二章节)

取决于系统的调度器。(大家如果自己尝试,大概率实现打印true,因为调用strat之后,新的线程被创建也是有一定开销的,创建过程中,主线程就执行println)可以看见,这两个while循环再“同时执行”,看到的结果,是两边的日志都在交替打印,每个线程都是一个独立执行的逻辑(独立的执行流)此时,代码中不会创建新的线程,只有一个主线程,这个主线程里面只能依次执行循环,执行完一个循环再执行另一个。idea对于新手不友好,以调试模式启动程序会有一个专门的窗口,查看方法的调用栈在这里看到所有线程的信息。

2024-03-10 22:26:20 347 1

原创 抽象类和接口(2)

接口不是像抽象类一样是很多对象的共性,它是特性,比如:Animal抽象类,它里面有抽象方法eat(),eat()是每一个动物都具有的吃饭的能力,如狗,猫,鸟需要吃饭,这是很多对象的共性。Iswinning这个接口,它里面有swin()这个抽象方法,但是不是每一对象都是可以游泳,比如鸟就不会游泳,但是狗会游泳可以实现这个接口,人类也会游泳也可以实现这个接口。4.接口中的方法是不能在接口中实现的,只能由实现接口的类来实现(因为接口中的方法被 abstract修饰)

2023-06-02 12:55:24 42

原创 抽象类和接口(1)

使用抽象类的场景就如上面的代码,实际工作不应该由父类完成,而应该由子类完成,那么此时如果不小心误用成父类了,使用普通类编译器是不会报错的,但是父类是抽象类就会在实例化的时候提示错误,让我们尽早发现问题。9.在一个B类继承一个抽象类A后,B类不想重写A类的抽象方法,这是我们可以把B类加一个abstract修饰,那么这时B类就变成抽象类并且也不用写A类的抽象方法,但是如果有一个C类来继承B类那么此时需要写A和B两个抽象类的抽象方法。就是我前面说的被继承,然后子类重写抽象类的方法,完成子类自己的行为。

2023-06-02 12:46:59 26

原创 JAVA类和对象(2)

注意:一旦用户定义了一个构造方法,那么编译器将不会再生成,那么每个构造方法都需要用户自己去定义,比如:用户实例化了两个对象,用户定义了一个构造方法,那么编译器将不会再提供构造方法,另一个也需要用户去定义。5. 当一个类中没有一个构造方法的时候,java会自动生成构造方法,但是如果有一个构造方法之后那么每一个构造方法都需要自己构造,java不会再提供构造方法。8.如果用户没有定义构造方法,编译器会生成一份默认的构造方法,生成的默认构造方法一定是无参的。1.构造方法(也称为构造器)是一次特殊的成员方法,

2023-05-10 16:53:49 43 2

原创 扫雷游戏实现

注:怎样递归的(可以调试观察)爆炸展开一片中输入需要排查的坐标,如果在范围内就开始递归往下执行,函数调用计算这个坐标周围有几个雷或没有雷num=GetMineCount(mine, x, y),没有雷就进入if,有雷就进入else。5.扫雷(如果所选坐标周围‘8’个没有雷,那么爆炸式展开一片(函数递归),猜测是雷可以标 记)。3.函数调用放雷棋盘(所有初始化为’0’),函数调用扫雷棋盘(所有初始化为‘*')。4.函数调用放雷棋盘(放雷则为‘1’,其他则为‘0’),运用随机数设置。

2023-05-06 16:10:56 73

原创 JAVA类和对象(1)

1.定义一个类,就相当于在计算机里面定义了一种新类型如int、double等,而int和double是 java中自带的类型,而类是用户自己定义的如上述的Cat和下列Student,有这些类后,就可 以使用这些类来定义实例(或者称为对象)。4.this是"成员方法"第一个隐藏的参数,编译器会自动传递,在成员方法执行时,编译器会负责 将调用成员方法对象的引用传递给该成员方法,this负责接收。boolean赋为false.

2023-05-04 16:31:17 45 1

空空如也

空空如也

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

TA关注的人

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