自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 板凳-----第五章 控制流

因为break导致递增表达式被跳过 所以我们在i ==7的分支也是这样 continue outer语句会跳到外部循环顶部. 并且跳过内部循环的递增表达式执行 因此我们在这里也进行了直接递增。如果在一个返回了 void的方法中没有return语句 那么该方法的结尾处会有一个隐含的return,所以方法里并不一定会有一个return。return关键字有两种用途 它可以指定一个方法的返回值(如果不存在就返回void ), 还会导致当前的方法退出 并且返回这个值。然后它实际上会重新进入外部迭代开始继续执行。

2024-07-18 20:11:58 605

原创 板凳----On_Java第四章 操作符

有符号”的右移位操作符 >> 则按照操作符右侧指定的位数将操作符左侧的操作数向右移动。“有符号”的右移位操作符使用了 “ 号扩展” 如果符号为正 则在高位插入0, 否则在高位插入1。Java还新增加了一种“无符号”的右移位操作 >>> ,它使用“扩展” 无论符号为正还是为负 都在高位插入0。show()方法将==的行为和每个对象都有的equals() 方法进行了比较。printf()通过使用指定的符号来対参数逬行格式化处理 %d用于int类型参数的输出 %b用于boolean 类型的输出 %n用于换行。

2024-07-13 14:53:49 716 1

原创 板凳---------unix网络编程卷1:第四章 基本 TCP 套接字编程

本章中只考虑使用fork实施的每客户单进程模型服务器首先启动,稍后某个时刻客户启动,它试图连接到服务器。我们假设客户给服务器发送一个请求,服务器处理该请求,并且给客户发回一个响应。这个过程一直持续下去,直到客户关闭连接的客户端,从而给服务器发送一个EOF(文件结束)通知为止。服务器接着也关闭连接的服务器端,然后结束运行或者等待新的客户连接。

2024-07-06 09:16:09 1089

原创 板凳----On_Java 第三章对象无处不在

当你创建一个用于放置对象的数组时 实际上数组里包含的是引用 而这些引用会被自动初始化为一个特殊的值 null。大多数微处理器芯片有额外的缓存内存,只不过缓存内存使用的是传统的内存管理方式. 而非寄存器, 字符串 String)可以用带引号的文本逬行初始化。如果一个字段是某个对象的引 . 你必须通过new关键字参考之前的相关介绍 初始化该引用并将其关联到具体的对象上。第二种情况是 你需要使用一个类的某个方法,而该方法和具体的对象无关 换句话说,你希望即便没有生成任何该类的对象 依然可以调用其方法。

2024-07-03 20:13:36 723

原创 板凳----Unix 网络编程卷1: 第三章: 套接字编程简介

结构可以在两个方向上传递:从进程到内核和从内核到进程。其中从内核到进程方向的传递是值—结果参数。地址转换函数在地址的文本表达和它们存放在套接字地址结构中的二进制值之间进行转换。多数现存的IPv4代码使用inet_addr和inet_ntoa这两个函数,不过两个新函数inet_pton和inet_ntop同时适用于IPv4和IPv6两种代码。

2024-06-27 21:08:56 1045

原创 板凳-----------On_Java第1章 什么是对象

面向对象程序设计(Object-oriented Programming,OOP)的概念和背景。

2024-06-25 20:29:17 774

原创 板凳--------第20章-信号:基本概念1

信号是事件发生时对进程的通知机制,软件中断。信号与硬件中断的相似之处在于打断了程序执行的正常流程,无法预测信号到达的精确时间。一个具有权限的进程能够向另一进程发送信号。信号,一种同步技术,甚至是进程间通信( IPC)的原始形式。进程也可以向自身发送信号。然而,发往进程的诸多信号,通常都是源于内核。引发内核为进程产生信号的各类事件如下。1.硬件发生异常,即硬件检测到一个错误条件并通知内核,随即再由内核发送相应信号给相关进程。2.用户键入了能够产生信号的终端特殊字符。

2024-06-24 21:04:43 1031

原创 板凳---------unix网络编程卷1:第二章传输层:TCP、UDP 和 SCTP

焦点是传输层,包括TCP、UDP和SCTP(Stream Control Transmission Protocol,流控制传输协议)。绝大多数客户/服务器网络应用使用TCP或UDP。SCTP是一个较新的协议,最初设计用于跨因特网传输电话信令。这些传输协议都转而使用网络层协议IP:或是IPv4,或是IPv6。绕过传输层直接使用IPv4或IPv6,称为原始套接字。UDP是一个简单的、不可靠的数据报协议,TCP是一个复杂、可靠的字节流协议。

2024-06-22 17:39:11 816

原创 On_Java 安装

例如,如果Java安装在/usr/lib/jvm/java-版本路径下,可以在用户配置文件(如~/.bashrc或~/.zshrc)中添加以下行:export JAVA_HOME=/usr/lib/jvm/java-版本。菜单选项 View ---- 选择 Set encoding ---- Chinese Simpilified (GB2313) 其他中文编码也可以试试,直到解决问题.确定Java安装路径:安装Java后,需要确定Java的安装路径。19 篇文章 1 订阅。

2024-06-22 06:52:20 895

原创 板凳--------第60章 SOCKET:服务器设计

60.1 迭代型和并发型服务器 10161.迭代型: 服务器每次只处理一个客户端,只有当完全处理完一个客户端的请求后才会去处理下一个客户端。只适用于快速处理客户端请求的场景,因为每个客户端都必须等待,直到前面所有的客户端都处理完了服务器才能继续服务下一个客户端。2.并发型: 服务器能够同时处理多个客户端的请求。适用于每个请求都需要大量处理时间,或是当客户端和服务器在进行扩展对话中需要来回传递信息的场景。本章重点60.2 迭代型UDP echo服务器 1016#include <syslog.h

2024-06-20 19:50:13 845

原创 板凳-------unix 网络编程 卷1-1简介

也可能是连续数次输出操作的结果,而且每个分节所封装的单次输出操作的结果或者首尾两次输出操作的结果既可能是完整的,也可能是不完整的,具体取决于可在连接建立阶段由对端通告的最大分节大小(maximum segment size,MSS)以及外出接口的最大传输单元(maximum transmission unit,MTU)或外出路径的路径MTU(如果网络层具有路径MTU发现功能,如IPv6)。可见一个分组既可能是一个完整的IP数据报,也可能是某个IP数据报的SDU的一个片段被冠以新的IP首部后的结果。

2024-06-20 19:28:44 1002

原创 板凳-------第58章SOCKET:TCP/IP网络基础

基于UDP的应用程序通常不会知道源主机和目的主机之间的路径的MTU.一般来讲,基于UDP的应用程序会采用保守的方法来避免IP分段,即确保传输的IP数据报的大小小于IPv4的组装缓冲区的最小值576字节。一个流的初始序号(ISN)不是从0开始的,相反,他是通过一个算法来生成的,该算法会递增分配给后续TCP连接的ISN(为防止出现前一个连接中的分段与这个连接中的分段混淆的情况)。在一个子网中,子网掩码所扮演的角色与之前描述的网络掩码的角色是一样的,并且可以使用类似的标记法来标识分配给一个特定子网的地址范围。

2024-06-19 18:33:58 1004

原创 板凳--------57.Linux/Unix 系统编程手册(下) -- SOCKET : Unix domain

为一个UNIX domain socket 绑定到一个地址上,需要初始化一个sockaddr_un结构,然后指向这个结构的一个(转换)指针作为addr参数传入bind()并将addrlen指定为这个结构的大小。2. 删除所有与路径名一致的既有文件,这样就能将socket绑定到这个路径名上为服务器socket构建一个地址结构,将socket绑定到该地址上,将这个socket标记为监听socket。对于UNIX domain socket来讲,数据报的传输是在内核中发生的并且也是可靠的。

2024-06-16 20:50:00 581

原创 板凳------56.Linux/Unix 系统编程手册(下) -- SOCKET 介绍

监听socket(sockfd)会保持打开状态,并且可以被用来接受后续的连接,一个典型的服务器应用程序会创建一个监听socket,将其绑定到一个众所周知的地址上,然后通过接受该socket上的连接来处理所有客户端请求。这是因为:当函数被调用时,结构大小是一个值(value, 此值告诉内核该结构的大小,使内核在写此结构时不至于越界),当函数返回时,结构大小又是一个结果(result,它告诉进程内核在此结构中确切存储了多少信息),这种参数叫做值-结果参数(value-result)。

2024-06-15 12:18:33 747

原创 板凳----Linux/Unix 系统编程手册 25章 进程的终止

2.main函数调用了exit函数使进程终止退出,在进程终止之前,如果注册了终止函数,那么exit函数会先去依次调用进程终止函数,注册了几个就调用几个,每调用完一个终止函数并返回,调用顺序是以栈的形式来调用,然后调用flush刷新IO缓冲区的数据再返回,最后调用了系统调用_exit或_Exit,然后进程终止退出。不同的进程终止方式会产生不同的结果,如果我们选择return方式和exit方式,进程在终止之前会调用注册的进程终止函数,但是选择_exit方式,就算注册了终止函数,进程在终止之前也不会调用。

2024-06-13 19:19:50 1115

原创 板凳----《Linux/Unix系统编程手册》读书笔记24章

《Linux/Unix系统编程手册》读书笔记24章D 24章 进程的创建 42524.1 fork()、exit()、wait()以及execve()的简介 425. 系统调用fork()允许父进程创建子进程. 库函数exit(status)终止进程,将进程占用的所有资源归还内核,交其进行再次分配。库函数exit()位于系统调用_exit()之上。在调用fork()之后, 父,子进程中一般只有一个会通过调用exit()退出,而另一个进程则应适用_exit()终止。#define _BSD_SOURC

2024-06-10 22:25:03 715

原创 板凳——————————————————(老树)C Prime Plus( 第9章 函数)

第9章 函数9.1 复习函数函数(function)是完成特定任务的独立代码单元。函数让程序更加模块化,提高代码可读性,方便修改。9.1.1 创建并使用简单函数函数原型指明了函数的返回值类型和函数接受的参数类型。这些信息称为该函数的签名(signature)9.1.3 函数参数9.1.4 定义带形式参数的函数ANSI C风格的函数头:void show_n_char(char ch, int num)改行告知编译器本函数具有两个参数ch和num,类型分别是char和int。这两个参数被称

2021-10-17 14:04:40 4460

原创 板凳———————————————(昏鸦)Introduction to Java Programming-1

// 4.3 bracket.java p90 2021年04月05日 星期一 21时28分50秒 String input; while(true){ System.out.print("Enter string containing delimiters: "); System.out.flush(); input = getString(); if(input.equals("")) break;...

2021-04-06 20:08:35 172

原创 板凳——————————————————c++(104-2)

#if 0 //fo/compose3.cpp p490 2021年04月06日 星期二 19时03分50秒#include <iostream>#include <algorithm>#include <functional>#include <locale>#include <string>char myToupper(char c){ std::locale loc; return std::use_facet&l...

2021-04-06 20:04:45 366

原创 板凳——————————————————(昏鸦)Introduction to Java Programming

//Introduction to Java Programming//p30/603 2021年03月21日 星期日 13时46分12秒import javax.swing.JOptionPane;import java.util.Scanner;public class hello{/* public static void main(String[] args){System.out.println(“Welcome to Java!”);}wannian07@wannian07-P

2021-03-21 14:24:29 241 2

原创 板凳——————————————————c++(104-1)

#if 0//17.1 write.cpp 2021年03月16日 星期二 19时05分03秒#include #include int main(){ const char * state1 = “Florida”;const char * state2 = “Kansas”;const char * state3 = “Euphoria”;int len = std::strlen(state2);std::cout << “Increasing loop index:\n”

2021-03-16 20:01:06 1655

原创 板凳——————————————————c++(104)

c++ Primer Plus (第六版)#if 0#include int main(){unsigned int yards {}, feet{}, inches {};std::cout << "Enter a distance as yards, feet, and inches "<< “with the three values separated by spaces:”<< std::endl;std::cin >> yards

2021-03-13 20:16:40 1480

原创 板凳——————————————————(昏鸦)数据结构(老韩)

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器package Com.one;import java.util.Stack;publi

2021-02-06 19:07:56 89

原创 板凳——————————————————c++(103)

#include #include #include templatestd::ostream& operator<<(std::ostream& os, const std::vector& vec){for (auto& el : vec){os << el << ’ ';}return os;}int main(){std::vectorstd::string vec = {“Hello”, “from”

2020-10-29 20:08:03 11641

原创 板凳——————————————————c++(102)

#include #include #include #include #include //p31std::function<int(int, int)> returnLambda (){return [] (int x, int y){return x*y;};}//https://www.bilibili.com/video/BV1DV411k7X6?t=625//Implement enumerate in c++17template<typename T

2020-10-24 22:28:01 196

原创 板凳——————————————————c++(101)

//The c++ standard library 2nd p9#include #include #include #include #include #include void printX(){}//侯捷老师C++ 11标准 Variadic Templates 1template<typename T, typename… Type>void printX(const T& firstArg, const Type&… args){std:

2020-10-22 21:00:33 156

原创 板凳——————————————————(老树)C陷阱与缺陷(2)

//2020年09月14日 星期一 19时19分26秒#include <stdio.h>#include int Max (int a, int b){return a > b ? a : b;}float Max (float a, float b){return a > b ? a : b;}double Max (double a, double b){return a > b ? a : b;}int (*pfun)(int, int);

2020-09-16 21:22:05 218

原创 板凳——————————————————(老树)C陷阱与缺陷(1)

解佩令一生蒙懂,世事不晓。吃茶饭、不知饥饱。坐处生根,立一似、顽石当道。任傍人、笑我虚矫。文艺不解,岂知典教。说修行、无分剖。面上尘埃,发**、身披衲袄。永长生、浩劫不老。#include <stdio.h>#include int main(){//https://blog.csdn.net/lyy296293760/article/details/80058935//&和|不同于&&和||&:按位与,优先级高于&&,也可作为逻辑与

2020-09-13 20:34:45 97

原创 板凳——————————————————(枯藤 )MIX汇编 前导(7)

//2020年08月13日 05时26分36秒assume cs:codesgcodesg segmentmov ax, 2000hmov ss, axmov sp, 0add sp, 4pop axpop bxpush axpush bxpop axpop bxmov ax, 4c00hint 21codesg endsendassume cs:codesgcodesg segmentmov ax, 2000hmov ds, axmov bx, 1000hmov

2020-08-17 04:27:49 133

原创 板凳——————————————————(枯藤 )MIX汇编 前导(6)

//2019年天津大学智算学部汇编语言程序设计-李罡//2020年08月09日 15时05分15秒The direction depends on DF, if DF = 1 they decreasecld # clear the DF (= 0), increasestd # set the DF (= 0), decrease.section .datavalue1:.ascii “This is a test string.\n”.section .bss.lcomm outpu

2020-08-09 17:26:51 175

原创 板凳——————————————————(枯藤 )MIX汇编 前导(5)

2020年08月08日 15时11分33秒/*32-Bits, C LIB2020年08月08日 15时11分33秒.section .dataoutput:.ascii “Hello Wold!\n”length = .-output.section .text.globl mainmain:nopmovl $4, %eaxmovl $1, %ebxmovl $output, %ecxmovl $length, %edxint $0x80movl $1, %eaxmov

2020-08-08 20:41:38 165

原创 板凳——————————————————(枯藤 )MIX汇编 前导(4)

https://www.dazhuanlan.com/2020/01/17/5e216a2472e4c/汇编学习笔记这里主要讲述的是函数的调用,在汇编中是怎么实现的。但是我还是没看懂,要一点点的画寄存器的状态图吧。首先,碰到了几个问题,我使用的Linux环境是64位的。如果使用pushl和popl, 会出现 “invalid instruction suffix for push”这是因为pushl和popl都是适用在32bit系统上的,因为64-bit 的系统,不接受32-bit的数值,所以用p

2020-08-04 22:13:02 349

原创 板凳——————————————————(枯藤 )MIX汇编 前导(3)

.section .dataoutput:.ascii “The value is x\n”values:.int 1, 3, 5, 7, 9.section .text.globl mainmain:nopmovl $output, %esimovl $0, %edi #将0移入索引寄存器loop:movl values(, %edi, 4), %eax #加载数据的第一个字addl $0x30, %eaxmovb

2020-08-04 14:11:16 120

原创 板凳——————————————————(枯藤 )MIX汇编 前导(2)

wannian07@wannian07-PC:~$ gedit test.c#include <stdio.h>int main(int argc, char *argv[]){ printf("Hello %s\n","World!"); return 0; }wannian07@wannian07-PC:~$ gcc -S test.cwannian07@wannian07-PC:~$ gcc test.s -o testwannian07@wannian

2020-08-03 15:44:30 136

原创 板凳——————————————————c++(100)

////Linux C与C++ 一线开发p517#include <sys/socket.h>#include <stdio.h>#include <stdlib.h>#include <arpa/inet.h>#include <assert.h>#include <stdlib.h>#include <fcntl.h>#include <sys/time.h>#include <str

2020-07-19 05:41:04 135

原创 //板凳——————————————————c++(99)

////Linux C与C++ 一线开发p512#include <sys/socket.h>#include <stdio.h>#include <arpa/inet.h>#include <assert.h>#include <stdlib.h>#include <fcntl.h>#include <sys/time.h>#include <string.h>#include <uni

2020-07-18 18:00:07 118

原创 板凳——————————————————c++(98)

#include <sys/socket.h>#include <stdio.h>#include <arpa/inet.h>#include <assert.h>#include <stdlib.h>#include <fcntl.h>#include <sys/time.h>#include <string.h>#include <unistd.h>#include <er

2020-07-17 21:13:28 105

原创 板凳——————————————————c++(97)

#include #include <stdio.h>#include <arpa/inet.h>#include <stdlib.h>#include <sys/types.h>#include <netinet/in.h>#include <string.h>#include <unistd.h>#include <errno.h>#include <netdb.h>int m

2020-07-17 20:24:08 179

原创 板凳——————————————————c++(96)

////Linux C与C++ 一线开发p401//2020年07月16日 14时42分29秒#include #include #include #include #include #include <time.h>#include <stddef.h>std::thread::id main_thread_id = std::this_thread::get_id();void is_main_thread(){ if(main_thread_id

2020-07-16 15:03:14 135

原创 板凳——————————————————c++(95)

////Linux C与C++ 一线开发p390#include <stdio.h>#include <stdlib.h>#include <pthread.h>#include <string.h>#include <unistd.h>void mycleanfunc(void *arg){printf(“mycleanfunc:%d\n”, *((int *)arg));}void *thfrunc1(void * arg){

2020-07-16 10:48:24 138

空空如也

空空如也

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

TA关注的人

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