- 博客(27)
- 收藏
- 关注
原创 计算机加减乘除原理
我们在编写代码的时候经常写到 int a=b+c; a=b-c;a=b*c; a=b/c……对于我们来说,计算加减乘除是一件很简单的事,但对于只认识0、1的计算机来说,它的计算方式显然和我们是不一样的。今天我们就来了解一下计算机到底是如何进行加减乘除运算的加法现在我们有两二级制数A和B,值分别为A=10010001,B=11010011,我们先人工来算一下他的和:10010001+11010011---------------101100100我们在人工进行计算时从右往左依次将后两位进行相加
2021-12-11 09:47:06
3778
原创 break和continue的区别
break在循环过程中,可以使用break语句跳出当前循环。break语句通常都是配合if语句使用。要特别注意,break语句总是跳出自己所在的那一层循环。例如:public class Main { public static void main(String[] args) { for (int i=1; i<=5; i++) { System.out.println("i = " + i); for (int j=1
2021-12-01 21:42:10
744
原创 (Leetcode) ERROR: AddressSanitizer: heap-buffer-overflow
坐标:LeetCode 605:种花问题原代码:int len=flowerbedSize;for(int i=0;i<len;i++) { ……}然后……,它就报错了……==42==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x602000000174 at pc 0x55dafceb37fc bp 0x7ffe637aa8c0 sp 0x7ffe637aa8b0READ of size 4 at
2021-12-01 21:30:26
820
2
原创 排序算法(下)
(六)、快速排序(Quick Sort)1、算法描述快速排序 的基本思想:通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。步骤1:从数列中挑出一个元素,称为 “基准”(pivot );步骤2:重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处于数列的中间位置。这个称为分区操作;步骤3:递归地(recursive)把
2021-11-04 00:31:42
125
原创 排序算法(上)
(一)、冒泡排序(Bubble Sort)1、原理 首先创建一个数组,里面存放着待排序的元素列表,我们如果需要把比较大的元素排在前面,把小的元素排在后面,那么需要从尾到头开始下面的比较操作:(1)比较相邻的元素。如果第一个比第二个大,就交换他们两个。(2)对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。(3)针对所有的元素重复以上的步骤,除了最后一个。(4)持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。2、
2021-11-03 23:57:09
181
原创 Linux学习笔记(十一)——启动管理与备份恢复
十一、启动管理与备份恢复(一)、启动管理1、系统运行级别运行级别运行级别命令[root@localhost ~]# runlevel \#查看运行级别命令 [root@localhost ~]# init 运行级别\#改变运行级别命令 2、系统启动过程initramfs内存文件系统·CentOS 6.x中使用initramfs内存文件系统取代了CentOS 5.x中的initrd RAM Disk。他们的作用类似,可以通过启动引导程序加载到内存中,然后加载启动过程中
2021-10-29 15:26:42
143
原创 Linux学习笔记(十)——日志管理
日志管理(一)、日志管理简介· 在CentOS 6.x中日志服务已经由rsyslogd取代了原先的syslogd服务。rsylogd日志服务更加先进,功能更多。但是不论该服务的使用,还是日志文件的格式其实都是和syslogd服务相兼容的,所以学习起来基本和syslogd服务一致。· rsyslogd的新特点:- 基于TCP网络协议传输日志信息;- 更安全的网络传输方式;- 有日志消息的及时分析框架;- 后台数据库;- 配置文件中可以写简单的逻辑判断;- 与syslog配置文
2021-10-29 15:22:22
158
原创 Linux学习笔记(九)——Linux系统管理
Linux系统管理(一)、进程管理1、进程查看进程简介进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。进程管理的作用· 判断服务器健康状态· 查看系统中所有进程· 杀死进程查看系统中的所有进程 ps[root@localhost ~]#ps aux*#查看系统中所有进程,使用BSD操作系统格式*[root@localhost ~]ps -le*#查看系统中所有进程,使用Linux标准命令格式。*·USER:该进
2021-10-29 15:18:25
134
原创 Linux学习笔记(八)——Linux服务管理
Linux服务管理1、服务的分类启动与自启动服务启动:就是在当前系统中让服务运行,并提供功能。服务自启动:自启动是指让服务在系统开机或重启动之后,随着系统的启动而自动启动服务。查询已安装的服务· RPM包安装的服务chkconfig --list#查看服务自启动状态,可以看到所有RPM包安装的服务· 源码包安装的服务查看服务安装位置,一般是/usr/local/下RPM安装服务和源码包安装服务的区别RPM安装服务和源码包安装服务的区别就是安装位置的不同源码包安装在
2021-10-29 15:10:09
109
原创 Linux学习笔记(七)——shell语言
七、Shell语言(一)、shell概述1、Shell简介· Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。· Shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性较强。Shell是解释执行的脚本语言,在Shell中可以直接调用Linux系统命令。2、Shell脚本的执行方式echo输出命令[root@localhost ~]#echo [选项] [输出内容]选项:
2021-10-29 15:04:55
2895
原创 Linux学习笔记(六)——文件系统管理
文件系统管理1、回顾分区和文件系统分区类型· 主分区:总共最多只能分四个· 扩展分区:只能有一个,也算作主分区的一种,也就是说主分区加扩展分区最多有四个。但是扩展分区不能存储数据和格式化,必须再划分成逻辑分区才能使用。· 逻辑分区:逻辑分区是在扩展分区中划分的,如果是IDE硬盘,Linux最多支持59个逻辑分区,如果是SCSI硬盘Linux最多支持11个逻辑分区。分区表示方法分区的设备文件名主分区1/dev/sda1主分区2/dev/sda2主分区3/d
2021-10-29 15:01:37
144
原创 Linux学习笔记(五)——文本编辑器(vi/vim)的使用
文本编辑器(vi/vim) 的使用基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。 这三种模式的作用分别是:(一)命令模式用户刚刚启动 vi/vim,便进入了命令模式。此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。以下是常用的几个命令:iao切换到输入模式,以输入字符。x删除当前光标所在处的字符。: 切换到
2021-10-29 14:48:08
255
原创 Linux学习笔记(四)——权限管理
权限管理(一)、ACL权限1、查看分区ACL权限是否开启 dumpe2fs -h /dev/sda3#dumpe2fs命令是查询指定分区详细文件系统信息的命令-h 仅显示超级块中信息,而不显示磁盘块组的详细信息2、临时开启分区ACL权限[root@localhost ~]#mount -o remount, acl/#重新挂载根分区,并挂载加入acl权限3、永久开启分区ACL权限[root@localhost ~]#vi /etc/fstab *UUID=c2ca6f5
2021-10-29 14:44:10
140
原创 Linux学习笔记(三)——用户与用户组
用户与用户组(一)、用户配置文件1、用户管理简介· 越是对服务器安全性要求高的服务器,越需要建立合理的用户权限等级制度和服务器操作规范。· 在Linux中主要是通过用户配置文件来查看和修改用户信息。2、/etc/passwd· 第1字段:用户名称· 第2字段:密码标志· 第3字段:UID(用户ID) - 0: 超级用户 - 1-499: 系统用户 - 500-65535:普通用户· 第4字段:GID(用户初始组ID)· 第5
2021-10-29 14:30:27
164
原创 Linux学习笔记(二)——软件安装
一、软件安装(一)、rpm包管理软件包分类· 源码包(脚本安装包)· 二进制包(RPM包、系统默认包)1、rpm命令管理(1)、RPM包命名原则httpd-2.2.15-15.e16.centos.1.i686.rpmhttpd 软件包名2.2.15 软件版本15 软件发布的次数el6.centos 适合的linux平台i686 适合的硬件平台rpm rpm包扩展名(2)、RPM包依赖性(为解决依赖问题,用yum在线管理
2021-10-29 14:19:06
224
原创 Linux学习笔记(一)——基本命令
一、文本编辑器(vi/vim) 的使用基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。 这三种模式的作用分别是:(一)命令模式用户刚刚启动 vi/vim,便进入了命令模式。此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。以下是常用的几个命令:iao切换到输入模式,以输入字符。x删除当前光标所在处的字符。: 切
2021-10-16 19:27:15
147
原创 R语言基础
R语言是一门常用于数据分析、统计建模的计算机语言,它与主流的C/C++、Java、Python等语言相比,支持更多的数据类型,例如向量、矩阵,同时提供了多种统计和数学计算方法。可以前往 https://www.r-project.org/ 下载R语言解释器,并且推荐使用 RStudio 这个R语言的集成开发环境。RStudio 可以在 https://www.rstudio.com/ 下载。R语言基于向量运算帮助及基本命令清屏命令:Ctrl+L导入包:library(base)安装包:insta
2021-10-16 19:17:12
921
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人