线程 进程 基础 程序
计算机系统基础PA0
实验前的阅读 传自远古时代的OS实验课程网站中的Linux入门教程 一个有意思的问题 想要回答这个问题就要知道什么是manpage 不妨man man 看来,当我们执行man xxx 时,给出的是xxx的参考文档 能被man识别到的xxx有以下几类: man cd 没有,不就是说明cd 不是上面几类 ......
仿微信聊天程序 - 09. 聊天信息
本文是仿微信聊天程序专栏的第九篇文章,主要记录了【聊天信息】的逻辑实现,下面涉及代码是《仿微信聊天程序 - 09. 聊天窗口》的基础上进行完善的。 ## 实现效果 在《仿微信聊天程序 - 09. 聊天窗口》章节中,已经实现了基本的聊天界面框架,《09. 聊天信息》这里只是补充实现聊天内容部分功能。 ......
复习-基础课-基础算法
1.快速排序:不稳定,其他略。 2.归并排序:稳定,常用于求逆序对。 void msort(int l, int r) { if(l >= r) return; int mid = (l + r) >> 1; msort(l, mid); msort(mid + 1, r);//递归排序 int k ......
类似nohup在windows通过cmd后台运行进程方法
Linux后台运行进程时,通常使用如下方法: ``` nohup "运行的内容" & ``` windows相应功能的命令行如下(此方法进程有页面,可能会在桌面展示,关闭窗口后进程消失。 ``` call start /min "n" "运行的内容" ``` cmd下难以实现nohup能力,但使用p ......
C#-使用脚本启动程序并传入参数
winform和控制台的程序入口都是program.cs中的Main函数。 我们可以F5启动程序,也可以双击bin目录下的exe启动。现在我想通过exe启动程序时,给程序传入参数,程序根据收到的参数进行逻辑处理。 首先给Main函数增加参数: static void Main(string[] ar ......
仿微信聊天程序 - 02. 注册界面
本文是仿微信聊天程序专栏的第二篇文章,主要记录了【注册界面】的实现。 ## 界面设计 仿微信聊天程序的注册界面,是一个表单,由三个输入框和一个按钮组成,具体UI展示如下图所示: ![](https://img2023.cnblogs.com/blog/3033437/202307/3033437-2 ......
仿微信聊天程序 - 03.登录界面
本文是仿微信聊天程序专栏的第三篇文章,主要记录了【登录界面】的实现。 ## 界面设计 仿微信聊天程序的登录界面跟注册界面差不多,只是比注册界面少了一个昵称输入框,如下图所示: ![](https://img2023.cnblogs.com/blog/3033437/202307/3033437-20 ......
仿微信聊天程序 - 04. 主界面
本文是仿微信聊天程序专栏的第四篇文章,主要记录了【主界面】的实现。 ## 界面设计 仿微信聊天程序的主界面总体跟微信的主界面差不多,但是比微信的主界面简单得多,如下图所示: ![](https://img2023.cnblogs.com/blog/3033437/202307/3033437-202 ......
仿微信聊天程序 - 05. 聊天列表
本文是仿微信聊天程序专栏的第五篇文章,主要记录了【聊天列表】的界面实现。 ## 界面设计 聊天列表在主界面左边,主要显示最近的聊天记录,以及添加好友的信息等,总体界面设计如下: ![](https://img2023.cnblogs.com/blog/3033437/202307/3033437-2 ......
仿微信聊天程序 - 06. 好友列表
本文是仿微信聊天程序专栏的第六篇文章,主要记录了【好友列表】的界面实现。 ## 界面设计 好友列表在主界面左边,界面UI风格跟聊天列表类似,只不过相比聊天列表更加简单,不需要显示聊天信息,时间等,总体界面设计如下: ![](https://img2023.cnblogs.com/blog/30334 ......
仿微信聊天程序 - 07. 好友信息
本文是仿微信聊天程序专栏的第七篇文章,主要记录了【好友信息】的界面实现。 ## 界面设计 这里的好友信息界面没有处理复杂的功能,仅仅显示好友信息,支持在此界面中发起聊天而已,总体的界面设计如下图所示: ![](https://img2023.cnblogs.com/blog/3033437/2023 ......
仿微信聊天程序 - 08. 聊天窗口
本文是仿微信聊天程序专栏的第八篇文章,主要记录了【聊天窗口】的界面实现。 ## 界面设计 聊天窗口是整个聊天程序的核心控件,比较复杂,大致可以分为上中下三个部分,上面显示用户昵称以及一些操作菜单,中间是聊天内容显示区域,下面的信息发送的区域,总体界面设计如下: ![](https://img2023 ......
仿微信聊天程序 - 01. 开篇
本文是仿微信聊天程序专栏的第一篇文章,主要简要说明仿微信聊天程序的功能需求及架构设计。 仿微信聊天程序专栏主要记录了使用JavaFX + Netty开发仿微信聊天程序 米虫IM。 ## 功能需求 米虫IM已经完成的功能如下: * 用户注册功能 * 用户登录功能 * 搜索好友功能 * 添加好友功能 * ......
CTO网络工程师:进制转换基础
十进制: 计数符号 0到9 基数 10 计数规则 逢十进一 表示方法:101 或(101)10 八进制 计数符号 0到7 基数 8 计数规则 逢八进一 二进制 计数符号 0到1 基数 2 计数规则 逢二进一 十六进制 基数 16 计数规则 逢十六进一 表示方法 ......
尝试使用vb写出能搞一点小破坏的程序
Const OverwriteExisting=Trueset shell=createobject("wscript.shell")msgbox "点击"currentpath = createobject("Scripting.FileSystemObject").GetFolder("."). ......
【技术积累】JavaScript中的基础语法【一】
博客推行版本更新,成果积累制度,已经写过的博客还会再次更新,不断地琢磨,高质量高数量都是要追求的,工匠精神是学习必不可少的精神。因此,大家有何建议欢迎在评论区踊跃发言,你们的支持是我最大的动力,你们敢投,我就敢肝 ......
Python的多线程(threading)与多进程(multiprocessing )
可以用来做后台任务,可以在django view中调用,当做异步任务 考核系统中要的 threading,用来异步考核结果和考核进度的统计 Python的多线程(threading)与多进程(multiprocessing ) ......
程序员基本认知
> 内容来至: 人月神话,代码大全,程序员修炼之道 # 架构认知 ## Easier To Change 优秀的设计比糟糕的设计更容易变化,为你指向正确的设计方向。 ### 可逆性 > 想想薛定谔的猫,把你的代码比喻为装100只猫的盒子,需求比喻为猫的话,想想你的代码为多少可能提供了支持? 因为改变 ......
消息队列基础
消息队列本质是将同步处理转成异步处理 消息队列的基本要求不丢消息高可用高性能 消息队列名称 RabbitMQ RocketMQ Kafka 优点 轻量级 低延迟和高稳定性 1. 与周边生态系统的兼容性最好 2. 基于异步批量设计的异步收发性能最好 缺点 1. 消息大量堆积时性能大幅下降 2. 使用的 ......
网络编程 p1 网络基础
# 网络基础 ## **网络通信** 1. 概念:两台设备之间通过网络实现数据传输; 2. 网络通信:将数据通过网络从一台设备传输到另一台设备; 3. java.net包下提供了一系列的类或接口,供程序员使用,完成网络通信; ![](https://img2023.cnblogs.com/blog/ ......
JAVA----线程池
线程池 线程的状态:1新建状态(没启动) 2 可运行状态(可能在运行,也可能等待cpu时间片) 3 阻塞(等待获取排他锁,或者等待其他线程唤醒,不醒无法获取时间片)4 限期等待(一段时间后被系统自动唤醒) 5 死亡:可能任务执行结束或产生异常结束。 线程池的状态: RUNNING:运行状态,可以接受 ......
线程安全 与 非线程安全
线程安全: 多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。 非线程安全: 在运行中不提供数据访问保护,这就可能导致多个线程先后更改数据,最后所得的数据是脏数据。 HashMap 是线程不 ......
cuda驱动程序入口点访问分析
cuda驱动程序入口点访问分析 1. 简介 Driver Entry Point Access APIs提供了一种检索 CUDA 驱动程序函数地址的方法。从 CUDA 11.3 开始,用户可以使用从这些 API 获取的函数指针调用可用的 CUDA 驱动程序 API。 这些 API 提供的功能类似于它 ......
基础的几种混淆方式
## 异或加密 异或加密的一个特点就是计算量小,在混淆shellcdoe特征上是一个比较好的手法,不过基础的异或加密的一个特点就是解密的密钥固定 ```python string = "f" # 要异或的shellcode key = 11 #你的密钥 def enc(string, key): r ......
每个程序员必读的经典书籍
作为程序员,面对日新月异的技术,我们必须不断的坚持学习来拓展知识面,加深技术理解,提高自身竞争力。但是技术相关的书籍浩如烟海,如何选择成为摆在我们眼前的问题?今天我从**编程语言、算法与数据结构、数据库、网络编程、软件开发**等5个方面聊下有哪些经典书籍值得我们仔细阅读。在最后我也总结了所有书籍的p ......
线程间共享数据的问题
#### 线程间共享数据的问题 * 多线程共享数据的问题多由数据改动引起 * 破坏数据结构不变量的恶性条件竞争是会引起问题的 * 解决的方式有,控制对数据结构的访问,有互斥实现,还有修改数据结构的设计及其不变量,由一连串不可拆分的改动完成.这通常被称为无锁编程,还有一种事务的方法,核心思想是单独操作 ......
0.mysql基础sql
常用的数据库sql语句,数据库相关的技术和理论是成体系的,从基础使用到数据库原理,到性能优化,海量数据处理,但不同的技术角色所需掌握的深度是不同的: 如果你是一位普通系统软件开发人员掌握基本sql操作、数据库索引、存储结构等也够用 如果你是一位高并发系统的架构设计与开发者,那海量数据的数据库处理、锁 ......
1-19 编写函数 reverse(s),将字符串 s 中的字符顺序颠倒过来。使用该函数 编写一个程序,每次颠倒一个输入行中的字符顺序
# Archlinux GCC 13.1.1 20230429 2023-07-15 21:41:44 星期六 点击查看代码 ``` #include #include void reverse( char *s ); void reverse_in(); int main() { reverse_ ......
程序员神器——cmder
程序员神器——cmder 简介 Cmder是一款软件包,它的诞生纯粹是出于对Windows上缺乏优秀的游戏机模拟器的无奈。它以出色的软件为基础,采用Monokai配色方案和自定义提示布局,从一开始就显得非常性感。 特点 便携,解压即可用 自带git、ls、curl等命令 可设置命令别名 丰富的颜色主 ......