- 博客(181)
- 收藏
- 关注
原创 Java的Cpp本地库调用
程序员需要根据这个头文件来进行源文件的实现。假设您的项目结构如下所示,并且都为空白文件。可加载的路径中(例如当前目录),然后使用。,不过我没有尝试过,待补充…头文件,生成的头文件。程序员进行代码实现,
2024-07-17 16:48:53 261
原创 Java的面向对象基础
/ 定义类的语法形式[类修饰符] class 类名 {// 一些属性/成员变量...// 一些方法/成员方法...Java的类和C语言的结构体很类似,和Cpp的class几乎一致,和Cpp一样可以类中加入方法(方法可以简单理解为函数),方法需要依赖对象才能被调用。关于类,我们需要注意下面几点:一般一个Java文件内部只会存在一个类(也就是一一对应,但是我们在学习过程中可以放在一个文件中)main()方法所在的类一般要使用public修饰(默认会在public修饰的类中寻找main()方法)
2024-07-08 17:18:52 693
原创 Java的基础语法
方法和C中的函数是否类似(因为它们的工作是差不多的,都是通过调用来达到简化代码的目的),而为什么不继续延用“函数”这个术语,而使用“方法”呢?简单来说就是类的出现导致的,Java使用类来创建一个又一个的对象,这些对象很类似普通的变量,而类内写入的对象可以执行的方法,这样创建出一个对象就可以使用配套的对象方法,这些内容我将会在下一节的类中重新阐述(现在您把方法简单视为函数)。// 方法的使用/* 输出结果3*/另外,方法不能嵌套定义,一个方法的内部是不能定义另外一个方法的。
2024-07-07 11:49:16 751
原创 C语言调试技巧
Linux中的调试工具是gdb,而Windows下的VS以强大的调试界面闻名,并且该IDE也在不断增强现代化(2024-6-6)。
2024-07-06 16:55:25 914
原创 网络链路层
以太网实际上就是一种局域网技术,全称以太网协议。本身不是一种具体的网络,而是一种技术标准。除了以太网,还可以使用无线局域网(`Wi-Fi`)、令牌环(`Token Ring`)等技术来搭建局域网,实现设备之间的网络通信...
2024-06-02 23:01:30 861
原创 网络网络层
我们依旧需要明确网络层需要解决的问题,上图我们可以看到,真实的网络传输不是只在端和端之间发生的,中间还会经过各种网络设备,而不是简单的线性传输。上图就是典型的图结构,必然会涉及到图算法(例如经典的最小路径选择等)。因此网络...
2024-06-02 22:59:05 1294
原创 网络传输层
如果还没触发保活定时器,发送端立刻恢复了网络,但是发送端知道曾经出现了异常提前把链接释放了,而如果接收端依旧在使用旧链接,就有可能向发送端发送数据,发送端就会收到莫名的回应(没有三次握手建立链接就得到的回应),因此本端就会要求对端重新连接,也就是发送。客户端发起向服务端的连接请求,大量的客户端连接就需要被服务器管理起来,因此链接连接成功的时候,就是在内核中创建对应的数据结构对象,然后再使用某种数据结构进行链接管理(转化为对链接的增删查改),因此维护链接本身就是有成本的。不同报文对应的处理方式是不一样的。
2024-05-24 21:04:57 680
原创 C语言数组
简单来说,数组是一组相同类型元素的集群,是一种组织数据用的数据结构。可以让用户在使用大量相同数据的情况下,能用更高的数据组织能力。
2024-05-17 15:45:21 612 1
原创 网络应用层
我们之前读写数据的时候都是按照字符串的方式来发送和接收的,那如果是具有 结构化数据 怎么办呢?假设我们需要实现一个网络计算器,就需要先规定好两个结构体(其实从这就是制定协议的开始了):进一步可认为,协议定制的时所需要用到的字段也是协议的一部分。规定好协议后,如果客户端和服务端规定传输数据的规格直接进行传输确实是可以...
2024-05-12 15:43:18 803 1
原创 苹果手机空间溢出导致白苹果的解决方案
嗯,我猜测…因为被朋友推荐了一款游戏,没注意到空间需求导致惨遭“空间背刺”,于是开始考虑刷机。接下来阐述一下我的设备和刷机工具:iOS 17.5左右,因为我有些忘记了,刷机后版本有可能发生变动、苹果数据线、电脑刷机参考教程资料:(1)(2)
2024-04-29 15:45:29 620
原创 Linux网络套接字编程
在传输层发送报文的时候会包含两个地址:源 IP 地址(Source IP Address):这是指发起通信的设备的 地址。在网络通信中,每个主机设备都被分配一个唯一的 地址,用于标识其在网络上的位置。目的 IP 地址(Destination IP Address):这是指接收通信的主机设备的 地址,可以告诉网络中的路由器或交换机将数据包发送到哪个设备。端口 端口号(Port) 是传输层协议(如 或 )中的一个概念,用于标识网络中一个特定的进程或服务。它是一个 位的整数,取值范围是 。端口号告诉操作
2024-04-26 00:08:11 1061
原创 C基础语法速览
本文面向C语言初学者精炼讲解了数据类型、变量、常量及字符基础。C语言中的数据类型包括字符、整型、浮点型等,合理选择类型可节省存储并提高运算效率。变量在指定作用域内定义并分配内存,局部变量限于{}内,全局变量贯穿整个程序;变量命名需遵循规范,可使用const创建不可更改的常量。文中介绍了四种常量类型:字面常量、const修饰的常变量、宏常量和枚举常量,并说明了字符与字符串的区别及转义字符的应用。此外,强调了现代编译器对字符串存储方式的支持以及对早期编译器三字母词特性的回顾。
2024-04-23 20:53:56 1061 2
原创 C语言编译环境下载
本指南为C语言初学者推荐使用Visual Studio 2022(VS2022)集成开发环境,并详述了从检查系统要求、下载安装包、选择安装选项至创建首个C语言项目并运行测试代码的全程保姆级安装教程。
2024-04-23 20:49:54 905
原创 C语言先导
基于个人编码学习经验总结的C语言学习指南,涉及C语言的重要性、发展历史、优劣势、应用场景、学习路径和资源,以及代码标准和结构,旨在为初学者提供学习C语言的全面概述和建议。
2024-04-23 20:41:47 1099
原创 cpp-httplib的下载和使用
httplib是一个基于C++的轻量级HTTP框架,它提供了简单易用的API,用于创建HTTP服务器和客户端。
2024-04-18 18:20:35 1579
原创 网络基础先导
最好在牢固前面几大件(编程语言、数据结构、操作系统),并且您有一个服务器的基础上(我使用的是腾讯云中配置最低的服务器)再来学习本系列的网络知识。
2024-04-15 13:11:33 876
原创 Linux线程、互斥量、条件变量、信号量基础
线程是在进程内部的执行流,是 OS 调度的基本单位。这是一种常见的说法,虽然每个字您都认识,但是您有可能无法理解,我们慢慢来阐述。假设一个场景:每个进程都有自己的进程地址空间和进程 ,如果我们有一种方法,创建多个子进程的时候只创建多个进程 对象,但是都指向同一个父进程的进程地址空间(就是两个指针指向同一个数据结构对象嘛)。即通过一定的技术手段,将父进程的进程地址空间以一定的方式划分给不同子进程的 内,达到共享资源的目的,例如“多个执行流各自执行在同一个代码区内的不同函数”。而对于 来讲,运行上述的每一
2024-03-16 15:13:54 1027 1
原创 MySQL和语言的连接
有了之前的基础,就可以使用语言来使用数据库了,实际上原生命令行操作数据库的场景比较少,语言级别的库和包才更加常用,接下我来带您学习如何使用C/C++访问MySQL客户端。然后创建一个可以远程登录的用户,并且拥有对一个coon数据库的所有权限。然后去安装对应的库。我们这里只演示C语言的调用。但是这个方法比较麻烦,并且易错,因此这里只是简单讲一下流程,我还是推荐您直接使用yum来安装。但是其实我们之前就安装过了,在使用时候,就已经安装过了。可以使用查看内部有关MySQL的头文件。若没有找到就使用。
2024-03-08 12:29:27 966
原创 MySQL的用户管理
如果只使用root用户,就存在安全隐患,这点在Linux系统本身就体现出来了,MySQL也有类似的问题,因此也有自己的账户管理。我们前面铺垫过一个事情,MySQL本质是在管理一些表的相关文件,文件在Linux中怎么区分用户?那不就是调用Linux本身的文件权限等接口么?的用户本身也是以一个表的形式来管理的,而创建用户实际上就是插入用户的名字、权限、密码插入到user中(最简单粗暴的做法也是这样的,但是一般没必要)。之后要提到的相关命令,往深处也是对user表做增删查改。MySQL。
2024-03-07 15:18:05 530
原创 MySQL的事务基础
前要:在网络服务中,如果对CURD不加限制,会出现什么问题?在多个客户端同时向一个卖票服务器买票时(假设票数只剩一张),A客户端让数据库内的票数count减1,但是还没来得及更新数据,又有B服务器查询数据库,此时B服务器看到票数还是1,又进行了减1操作,导致一张票被同时卖了两次。CURD的过程需要满足什么条件,才能解决上述问题呢?
2024-03-06 17:22:37 883
原创 MySQL的索引
索引可以提高海量数据库的性能(不加内存,不改程序,不调sql),只需要执行正确的,查询速度就可能提高成百上千倍。但查询速度的提高是以插入、更新、删除的速度作为代价的,这些写操作增加了大量的IO。上述这段话还有很多是我们体会不到的,继续往下看。我们先记住,MySQL的服务器进程,所有的CURD都是在内存中进行的,索引也是这样,在内存中一定存在某种数据结构。而索引就是针对第一个方式对数据做优化,让查询速度变快,我们可以见一见什么叫索引。
2024-02-29 20:02:58 995
原创 MySQL的内外连接
内连接实际上就是利用WHERE子句(连接条件)对两张表形成的笛卡尔积(内连接)进行筛选,我们之前学习的查询基本都是内连接,也是在实际生产中被使用得最多的连接查询。上述的语法形式比我们之前的笛卡尔积更加准确,语义更加明显,但结果一样。
2024-02-29 20:00:41 597
原创 Linux进程通信基础
前要:本节内容主要是管道和共享内存块,而且我们需要明白我们所讲的进程通信本质是为了在内存中传递数据(看到同一份资源)。而实际上,我们也可以通过磁盘传递数据,但是为什么不这么做呢?很简单,内存的IO速度比磁盘的IO速度快,能够在内存中读取,为什么还要把数据刷新到磁盘中再次读取呢?这种数据的传递,我们更愿意称为流的传递。
2024-02-01 15:38:50 896
原创 VScode设置行宽提示线
字段,则可以手动将下述代码复制粘贴进去,需要注意的是您必须复制到整个。,查看代码文件中是否出现白色竖线。内,区别注意结尾带上逗号。这条竖线可以提示您,
2024-01-30 08:04:33 1238
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人