- 博客(23)
- 收藏
- 关注
原创 Linux 系统收发网络包
软中断是Linux内核中一种机制,用于处理异步事件,如网络数据包的到达、定时器事件等。软中断允许内核在不打断正在执行的进程的情况下,及时响应这些异步事件。内核中的ksoftirqd线程专门负责软中断的处理,当 ksoftirqd 内核线程收到软中断后,就会来轮询处理数据。ksoftirqd 线程会从 Ring Buffer 中获取一个数据帧,用 sk_buff 表示,从而可以作为一个网络包交给网络协议栈进行逐层处理。
2024-08-28 19:25:46
1417
原创 java反射机制
JAVA给我提供了一套API,用这套API我们可以在运行时动态的获取指定对象所属的类,创建运行时类的对象,调用指定结构(属性、方法)等。API:java.lang.Class:代表一个类(现在只用学)反射被视为动态语言的关键。
2024-04-22 00:30:00
1591
原创 FILE类与IO流
Java程序中,对于数据的输入/输出操作以流的方式进行,可以看作是一种数据的流动①自定义类需要实现一个接口:Serializable(属于一个标识接口)②要求自定义类声明一个全局常量:static final long seriaVersionUID = 78968889L(这个随便,不一样就行);用来唯一的标识当前的类的。③要求自定义类的属性也必须是可序列化的。对于基本数据类型的属性:默认就是可以序列化的对于引用数据类型的属性:要求实现Serializable接口。
2024-04-16 09:03:13
1179
原创 网络编程(现在不重要)
本章所有内容在先学习阶段都不是特别重要(除了URL),所以不用担心不理解,了解一遍即可。Socket类:包括IP和端口号。URL类的实例化和常用方方法。
2024-04-16 09:02:56
740
原创 数据结构与集合源码
介绍:数据结构就是一种程序设计优化的方法论,研究数据的逻辑结构和物理结构以及他们之间的相互关系,并对这种结构定义相应的运算,目的时加快程序的运行速度、减少内存占用的空间。1.实现了List接口,存储有序的可以重复的数据2.底层使用Object[]数组存储3.线程安全的。
2024-04-09 09:38:45
773
原创 Java-泛型
所谓泛型,就是允许在定义类、接口时通过一个“标识”表示类中某个“属性的类型”或者是某个方法的“返回值或参数的类型”。这个类型参数将在使用时(比如,继承或实现接口时、创建对象或调用方法时)确定(即传入实际的类型参数,也称为类型参数)开发中遇到了带限制条件的通配符时,在赋值时,如果没报错,就正常使用;报错了,就改一改。不要浪费时间;带限制条件的通配符,如果是?extendsA的形式就不能写入数据(除了null),但如果是?superA的形式就可以写入;如果只是普通的通配符就不能写入数据//自定义泛型类。
2024-03-09 21:17:01
1037
1
原创 实验室记账项目(java+Mysql+jdbc)
因为自己学习能力有限和特殊情况必须要找一个项目来做,但是上网搜的那些项目有两种(一种是技术太多,自己能力不够;一种是技术太少,项目太简单)导致都不适合本人,本人现有技术只有Mysql和java和jdbc,因此就自己搞了一个项目,用来当作账本用;时间太短,不能保证健壮性和效率(见谅),我在文章中会提到哪里可以优化(蓝色部分),我是真的没时间了,你们感兴趣了可以自己设计。
2024-02-28 18:55:09
1043
原创 集合框架体系和使用1(Collection)
一旦初始化,长度就确定了数组中的多个元素是依次紧密排列的,有序的,可重复的(优点)数组一旦初始化完成,其元素的类型就是确定的,不是此类型的元素,就不能添加到数组中(优点)元素的类型既可以是基本数据类型,也可以是引用数据类型。
2024-02-27 12:33:58
977
原创 多线程(如何创建+解决安全问题)
程序(program):为了完成特定的任务,用某种语言编写的一组指令,即指一段静态的代码进程(process):程序的一次执行过程。程序是静态的,进程是动态的。进程作为操作系统调度和分配资源的最小单位线程(thread):进程可进一步细化为线程,是程序内部的一条执行路径。线程作为CPU调度和执行的最小单位。并行(parallel):指两个或多个事件在同一时刻发生(同时发生),有多条指令在多个CPU上同时执行。并发(concurrency):指两个或多个事件在同一时间段发生。
2023-12-28 09:49:29
1231
1
原创 面向对象(高级)
abstract = 抽象的1.不能修饰属性,构造器,代码块2.(自洽)不能与哪些关键字一起使用*不能修饰私有方法。(private)私有方法不能被重写*不能修饰静态方法。(static)避免静态、抽象方法被类调用*不能修饰final方法。(final)final修饰的方法不能被重写*不能修饰final类。(inal)final修饰的类不能被继承理解:(final和abstract水火不容,完全相反)必须使用public static final修饰(就算不写,他也会默认给你加上)
2023-12-26 10:37:13
1112
1
原创 面向对象(基础)
在一个类中,允许存在一个以上的同名的方法,只要他们的参数列表不同即可,满足这样特征的多个方法,彼此之间构成方法的重载。1.基本数据类型:将此变量保存的数据传递出去2.引用数据类型:将此变量保存的地址值传递出去这样理解更容易:数组元素可以是基本数据类型也可以是引用数据类型,当元素是引用类型中的类时,我们称为对象数组。类似于c语言中的结构体数组。
2023-12-22 21:20:31
930
1
原创 java标识符规则、变量和数组(了解)
如果不加系统就会认为他是int类型的变量,而如果这个数恰恰超出了int的数据范围,那么便会报错,如果没超出,则会自动类型提升不报错。强调本专栏更适合复习Java的人,当然初学者也可以跟着(但遇到那种“后面会讲”这类词,你就不用看我在那之后写的内容了,跳过看即可)这是康师傅视频里面的例子,不想自己做了,给康师傅宣传一下,自学java的可以去搜索他的视频,讲的超细。b站尚硅谷宋红康真的超细,初学者可以过去看看,专栏里的照片明显不属于本人的照片都是视频里的内容。
2023-12-22 20:04:43
960
原创 蓝桥杯题目(最少砝码)
到最后就已经的到了以一个重要信息:我们所要找的最小砝码数中砝码的重量依次是(1,3,9,27……),如果:这些砝码数总量加起来(区间的最大值,能称重的最大值)
2023-12-02 01:07:35
1254
1
原创 学生成绩管理系统(期末实验作业)(郑州轻工业2023)
/用于存储学生的学号,我们这里用"万能的"char数组,下面同理//用于存放学生的名字//存放班级//存放每门课程的积分,里面的每个元素就是课程积分//记录学生每门课程等级}Student;//链表中的下一个结点int num;//课程编号//课程名字//这里我们用的数组比较懒省事,对应试题编号作为下标一一对应里面的分数,我们假设他最多不超过1000;int count;//试题数目}Courseinf;int count;
2023-11-28 19:52:42
1668
6
原创 KMP算法的实现(包括如何创建next数组)
当kmp算法匹配失败的时候,会去看模式串最后一个匹配的字符它对应的next值是多少,我们就把j原本回溯的位置加上几,即j跳过了几个元素(j原本回溯的位置是最开始0,kmp算法就是让他跳过了一些不必要回溯的位置),变现成公式就是j=next[j-1].当kmp算法匹配失败的时候,会去看模式串最后一个匹配的字符它对应的next值是多少,我们就把j原本回溯的位置加上几,即j跳过了几个元素(j原本回溯的位置是最开始0,kmp算法就是让他跳过了一些不必要回溯的位置)(已经匹配的数量加上这次匹配成功的1次)
2023-11-26 11:41:56
1352
4
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人