- 博客(18)
- 收藏
- 关注
原创 网络原理-TCP/IP
应用层主要是程序员和应用程序关注的层,应用层的协议主要约定了如何组织数据,以及要传输哪些数据,数据的格式等等,我们可以借用XML,或者JSON这两种语言,帮助我们制定好数据交换的格式,目前先简单了解,后面详细介绍。
2025-08-01 17:42:21
737
原创 Socket套接字
DatagramSocket是UDP的Socket,用于发送和接收数据报,通过不同的构造方法,可以指定作为客户端还是服务端,客户端一般是不需要指定端口号,由操作系统分配,而服务端的端口号则需程序员指定,有了固定的端口号,方便为客户端服务。方法名方法说明创建一个UDP套接字的Socket,绑定到本机随机端口,由操作系统决定,一般用作客户端创建一个UDP套接字的Socket,绑定到本机指定端口,一般用作服务端此套接字发送数据报此套接字等待接收数据报,没有接收到会阻塞等待关闭套接字。
2025-07-22 18:26:07
1046
原创 文件操作(java)
输出流与输入流类似,但是输出流在工作时,会将主存中的内容先写到缓冲区内,等到所有写操作完成时,再全部将缓冲区的内容写到磁盘中,如果程序中间出现异常中断,逻辑会出现问题,所以在每次写时我们会进行一次刷新操作,把缓冲区的内容写到磁盘内。java中用File类来描述文件,由于每个操作系统的文件形式都不一样,JVM为程序员统一了对各个操作系统中文件的操作。我们以主存为中心,将数据与主存交换通过一种数据流的方式,在Java中利用两个抽象类来描述。该类主要用于文件的读取操作,以字节流读取。我们主要学习后三个构造方法。
2025-07-07 16:38:55
943
原创 多线程(进阶)
CAS的全称是conpare and swap,比较然后交换,假设内存中的某个变量的值为A,我们手中的预期值是V,我们会把V和A比较,如果相等,则把我们需要赋的值B写入这个变量内存中,如果不相等,则会进行下一次CAS操作。下面写一个伪代码方便理解一下。address表示内存地址,expectValue表示预期值,newValue表示需要写入的值。CAS操作是原子性的,他在硬件层面表示一条指令cmpxchg。
2025-07-03 19:38:44
1023
原创 多线程-初阶
/利用阻塞队列来组织任务//创建一个扫描队列执行任务的线程//获取任务并判断是否执行} else {//如果该任务等待时间过长,该线程频繁调度资源,白忙活一段时间,则计算等待时间//如果其中有其他新任务添加,则需要立马唤醒});//利用一个后台线程,短时间内不断唤醒扫描的线程try {},"后台线程");//提供一个提交任务的方法//由于该方法中有锁,如果其他线程不放锁,会导致put没法唤醒阻塞队列,那么造成死锁,双方一直等待。
2025-05-12 16:52:53
1001
3
原创 抽象类和接口
抽象类就是用来被继承的,它的作用就是为了实现多态,在不同的对象继承该抽象类时,只需要重写该抽象类的抽象方法,实际上抽象类的存在帮我们多了一个编译器的校验,在重写的方法上会有一个override注解,表示该方法是被重写的。在java中类之间不支持多继承,但是类与接口中一个类可以实现多个接口,比如可以跑,可以飞,可以游泳都可以对应一个接口,而一个类可以实现这些接口,实现这些功能。在java中,接口就是各种实现类的规范,只要实现了该接口,就可以实现其中的功能,接口是一种引用数据类型。比如鸭子实现跑步和游泳功能。
2024-09-12 19:43:48
601
原创 面向对象程序设计特性(封装、继承、多态)
可以自己创建一个包用来管理自己的类,通常在文件的最上方加一条package语句可指定当前类在哪个包中,如果没有package语句,会默认放入src这个包中,创建方式如下。
2024-09-10 18:28:05
992
原创 java SE 类和对象
定义类的关键字为class。类中一般分为两部分,一部分是成员变量(用于描述个体属性),另一部分是成员方法(用于描述个体具有哪些功能)。public class Dog {//类名//成员变量System.out.println("汪汪汪");//成员方法类名定义时采用大驼峰,即每个单词的首字母都要大写。
2024-09-05 20:06:36
424
1
原创 C语言自定义类型——结构体
本次学习一种C语言自定义的数据类型——结构体在C语言中,我们学到了许多数据类型,int,float,char,double,指针,数组等。那么结构体属于一种自定义类型,它的内容是存储了各种类型的数据的集合,对比一下数组,数组是相同类型元素的集合。
2024-06-06 17:27:57
1016
6
原创 strcmp以及strstr函数学习
strcmp主要用于字符串按字典顺序来排序作出判断前后顺序,strstr主要用于观察两个字符串中是其中一个是否包含了另一个字符串。且以下字符串函数都需要包含头文件string.h看看C标准中是如何定义的。函数功能通俗的讲就是比较两个字符串的字典顺序,如果str1在str2之前则返回小于0的数,反之返回大于0的数,如果两个字符串的内容相同,则返回0。函数作比较时,是计算的是每个字符的ASCII码值。
2024-06-03 20:54:17
930
原创 strcpy和strncpy函数介绍以及模拟实现
strcpy函数主要用于复制一份字符串到另一个数组中,strncpy与它的区别就是可以指定复制的字符个数,相对来说灵活度更高。
2024-05-23 16:37:21
400
1
原创 扫雷简易版(C语言)
先简单说明一下游戏玩法,玩家需要在n*n的棋盘里面扫雷,玩家如果点击的位置里面有雷,则游戏结束,反之,该位置则显示周围含有的地雷数量,如此循环,直到玩家找出所有不是雷的位置,则游戏胜利。游戏的实现不算太难,总的来说就是内容太多,只要肯花时间,相信你也能写出一个高级版的扫雷游戏。下面给出所有代码展示//存放地雷//存放排查后的信息//棋盘初始化//打印棋盘*///埋雷//展示埋好雷的棋盘//排查雷do {menu();case 1: {
2024-04-24 18:49:15
996
7
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅