第一次问题 1.程序、数据和文件是否代表了软件的真正含义呢? 2.开发软件和建造客机有何本质区别 3.在编写C程序代码时,对文件的访问是影响程序速度的一个重要因素,那提高文件的访问速度除了常见的使用内存缓冲区之外还有什么方法? 第二次问题 1.我们一定要学习Python吗? 2.Python和JAV ...
分类:
其他好文 时间:
2020-03-11 22:14:17
阅读次数:
89
一、为什么要使用线程池? a) 减少开销。因为创建和销毁线程需要和底层操作系统交互,每个线程都去做这个操作,会浪费大量的时间,降低系统效率 b) 避免内存溢出。线程池的线程数量不会超过最大值,不使用线程池可能会造成无限制的创建线程 二、为什么不使用Executors来创建线程池 a) Java中有自 ...
分类:
编程语言 时间:
2020-03-11 22:10:41
阅读次数:
497
原文:https://www.jianshu.com/p/c1015f5ffa74 感谢作者:TyiMan 一、进程间通信的概念 每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块 「缓冲区」 ,进程1把数据从用户空间 ...
分类:
系统相关 时间:
2020-03-10 19:50:54
阅读次数:
64
Linux设备文件简介 概述 设备管理是linux中比较基础的东西,但是由于Linux智能程度的越来越高,Udev的使用越来越广泛,使得越来越多的Linux新用户对 /dev 目录下的东西变得不再熟悉。有时候遇见问题就会变得抓狂。 Linux 中的设备有2种类型:字符设备(无缓冲且只能顺序存取)、块 ...
分类:
系统相关 时间:
2020-03-10 16:10:43
阅读次数:
80
1. 文件描述符 一个非负整数,当打开一个现有文件或创建一个新文件时,内核向进程返回一个文件描述符。 每个文件打开时会在内核中建立一个文件表项,这个文件表项包括文件的状态信息、存储文件内容的缓冲区、当前文件的读写位置等,这些文件表项保存在内核的一个数组(文件表)里。 每个进程在内核中有一个整形数组, ...
分类:
系统相关 时间:
2020-03-10 14:28:36
阅读次数:
72
主要知识点: DMA 数据传输 串口传输 通道引脚初始化 (一)、DMA 数据传输 1、外设到存储器传输 2、存储器到外设传输 3、存储器到存储器传输 外设一般为:ADC、SPI、I2C等。 存储器一般为:片内SRAM、外部存储器、片内FLASH等 DMA功能框图:8个流通道(DMA_SxCR ), ...
分类:
其他好文 时间:
2020-03-10 14:10:00
阅读次数:
54
一、 字符流FileReader) * 1.字符流是什么 * 字符流是可以直接读写字符的IO流 * 字符流读取字符, 就要先读取到字节数据, 然后转为字符. 如果要写出字符, 需要把字符转为字节再写出. * 2.FileReader * FileReader类的read()方法可以按照字符大小读取 ...
分类:
其他好文 时间:
2020-03-09 17:59:34
阅读次数:
61
一,粘包问题详情 1,只有TCP有粘包现象,UDP永远不会粘包 你的程序实际上无权直接操作网卡的,你操作网卡都是通过操作系统给用户程序暴露出来的接口,那每次你的程序要给远程发数据时,其实是先把数据从用户态copy到内核态,这样的操作是耗资源和时间的,频繁的在内核态和用户态之前交换数据势必会导致发送效 ...
分类:
其他好文 时间:
2020-03-09 16:17:18
阅读次数:
47
RabbitMQ是基于AMQP的一款消息管理系统。AMQP(Advanced Message Queuing Protocol),是一个提供消息服务的应用层标准高级消息队列协议,其中RabbitMQ就是基于这种协议的一种实现。 常见mq: ActiveMQ:基于JMS RabbitMQ:基于AMQP ...
分类:
其他好文 时间:
2020-03-08 17:55:01
阅读次数:
83