自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

盖世英雄

看前面黑洞洞,定是那巢穴,待俺赶上去杀他个干干静静········

  • 博客(140)
  • 资源 (6)
  • 收藏
  • 关注

原创 文件权限详解

以上有一个目录和两个文件。然后通过 ls -l 命令,可以查看文件的具体属性:iNode:节点,文件/目录在文件系统中对应的唯一值文件类型:目录、文件还是其它文件权限:不同用户对该文件所具备的权限链接数目:硬链接数目文件所有者:文件的主人文件所属组:文件所属的组文件修改时间:文件最后的访问/修改时间以上总共对应了8段字符,每段字符的解释如下文件类型用于表明它是文件、链接文件或者目录等,主要有以下几种若为 d 则是目录;若为 - 则是文件;

2023-07-13 12:12:02 198

原创 Mysql锁

行锁行锁(record lock): 请注意它是针对索引的锁(所以如果没有索引时,最终行锁就会导致整个表都会被锁住)行锁种类共享锁(S Lock): 也叫读锁允许一个事务去读一行,阻止其他事务获得相同数据集的排他锁上锁方式select * from tableName limit 1 //基于MVCC方式,不上锁select * from tableName lock in share mode;//读锁(显示)排它锁(X Lock): 也叫写锁允许获得排他锁的事务更新数据,阻止其

2021-06-25 14:14:43 164

原创 CPU性能篇

CPU性能篇负载判断使用CPU进程:%user %sysCPU百分比: top(平均百分比) mapstat(每个CPU以及平均百分比)具体进程:pidstat等待CPU进程:%waitCPU百分比:vmstat 依据就绪队列长度来判断具体进程:pidstat (%wait)不可中断进程: %iowaitCPU百分比: top(平均百分比) mapstat(每个CPU以及平均百分比)具体进程:命令汇总topCPU使用率:它...

2021-02-04 19:44:15 300

原创 用户组、用户管理

用户组管理/etc/group用户组的删除、修改、添加实际就是对/etc/group的文件更新示例如下组名:密码:组标识号:组内列表 root:x:0:bin:x:1:daemon:x:2:postdrop:x:90:postfix:x:89:chrony:x:996:sshd:x:74:mysql:x:1000:组名:用户组名称,不能重复密码:一般Linux用户组都没口令,这个字段为空或者x,或者*组标识号:是一个整数,被系统用来标识组;组内列表:标识组内所有用户列表,不同

2021-02-04 19:43:06 271

原创 目录作用及内容

/usr 和 /usr/local区别https://blog.csdn.net/aqxin/article/details/48324377/usr系统级别目录,可以理解为c:windows,/usr/lib可以理解为C:/Windows/System32。系统关键资料都在此下面/usr/local用户级的程序目录,可以理解为C:/ProgremFiles/。用户自己编译的软件默认会安装到这个目录下。一般开发经常安装软件在此目录下面/opt用户级的程序目录,可以理解为D:/Sof

2021-02-04 19:42:32 891

原创 【shell】【字符串操作】

常用命令sed命令sed可以对字符串进行删除、拼接等操作cut命令对单个字符截取,若多个字符,就需要awk cut -f 1 -d "/"截取${varible:n1:n2}:截取变量varible从n1开始的n2个字符,组成一个子字符串。 $ EXCLAIM=cowabunga $ echo ${EXCLAIM:0:3}长度${#string} $string的长度比较[["a.txt"==a*]]...

2021-02-04 19:42:01 369

原创 【shell】【字典】

命令行参数变量含义$0当前脚本的文件名$n传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2。$#传递给脚本或函数的参数个数。$*传递给脚本或函数的所有参数。$@传递给脚本或函数的所有参数。被双引号(" ")包含时,与 $* 稍有不同,下面将会讲到。$?上个命令的退出状态,或函数的返回值。$$当前Shell进程ID。对于 Shell 脚本,就是这些脚本所在的进程ID。运行脚本时传递给脚

2021-02-04 19:41:21 367

原创 【shell】【语法注意事项】

[toc]### 数值的比较参数 | 说明---|----eq | 等于则为真-ne | 不等于则为真-eq | 等于则为真-ne |不等于则为真-gt |大于则为真-ge |大于等于则为真-lt |小于则为真-le |小于等于则为真```INT1=2INT2=3if [ INT1 -eq INT2 ]thenecho "true"fi```### 字符串比较参数 | 说明---|---== |相等...

2021-02-04 19:40:59 239

原创 【shell】【文件操作】

文章目录文件展示修改文件权限查找文件文件大小查看逐行读取文件文件展示3152621 -rwxr-xr-x. 1 niesh niesh 12K Jul 21 17:34 aat以上总共对应了8段字符,每段字符的解释如下iNode:节点,文件/目录在文件系统中对应的唯一值文件类型:目录、文件还是其它文件权限:不同用户对该文件所具备的权限链接数目:硬链接数目文件所有者:文件的主人文件所属组:文件所属的组文件修改时间:文件最后的访问/修改时间修改文件权限更改文件权限:chmod

2021-02-04 19:40:16 85

原创 【shell】【流程控制】

参考文档文章目录for循环switch选择if 判断while语句跳出循环for循环#!/bin/bash for i in 1 2 3 4 5 do echo "$i-->$(uptime)" done #!/bin/bash for i in `ls ./*.tar.gz` do tar -zxvf $i >/dev/null done #!/bin/bash #注意变量

2021-02-04 19:39:36 91

原创 【shell】【比较】

文章目录数值的比较字符串比较逻辑判断文件和目录数值的比较参数说明-eq等于则为真-ne不等于则为真-eq等于则为真-ne不等于则为真-gt大于则为真-ge大于等于则为真-lt小于则为真-le小于等于则为真INT1=2INT2=3if [ INT1 -eq INT2 ] then echo "true"fi字符串比较参数说明==相等则为真!=不相等则为真-z字符串的长度

2021-02-04 19:39:04 94

原创 【shell】【Vim命令汇总】

目录vim的模式导航命令插入命令查找命令替换命令移动命令撤销拷贝剪切粘贴注释命令vim的模式正常模式(按Esc或Ctrl+[进入) 左下角显示文件名或为空插入模式(按i键进入) 左下角显示--INSERT--可视模式(不知道如何进入) 左下角显示--VISUAL--导航命令% 括号匹配插入命令i 在当前位置生前插入I 在当前行首插入a 在当前位置后插入A 在当前行尾插入o 在当前行之后插入一行...

2021-02-04 19:37:21 327

转载 程序员高手和菜鸟究竟差在哪里

程序员高手和菜鸟究竟差在哪里?不要错过加薪着做软件的时间越来越长,我发现,做软件越来越难。难在哪?难在怎么做出一个好的软件。好的软件标准是什么?两个词,好用,好看!程序员的最大价值在于做出好用又好看的软件的能力。因 此,我觉得程序员的价值绝对不在于技术本身,而在于做出好用且好看软件的能力。这是一个开放性的话题,每一个人都是菜鸟过来的,我希望和祝愿每一个技术人 员都能尽快成为高手,也希望更多老鸟来分享经验。在这篇文章,我将根据自己的经验来分享,期望能给人有更多的有帮助的信息。在这里,我只想从技..

2021-01-18 14:20:53 314

原创 【技术】【怎么学习技术?】

程序员最核心的竞争力——「学习力」如果有人问我:你在面试程序员时,最看中的是什么能力?那我的答案一定是:学习力。互联网时代的技术来得快,去得更快。就像Flash这样曾经雄霸天下多年的技术,都有被人人唾弃的一天。如果没有足够强的学习能力,就无法跟上变化,被淘汰只是迟早的事。想想看,你苦心钻研多年引以为傲的技术,一夜之间就没有用武之地了,难免会有一种「身体被掏空」的感觉。学习力强的程序员敢大胆地体验尝试新技术,他们的技术栈始终在保持不断地更新。他们能快速把握事物的本质,并判断出它能用来做什么,不能用

2021-01-18 14:17:27 208

转载 【技术】【源码阅读】

“我能熟练使用这个框架/软件/技术就行了, 为什么要看源码?”“平时不用看源码, 看源码太费时间,还容易忘记,工作中出现问题再针对性地阅读,效率更高。”“为了面试才需要看源码!”如果你也有类似的疑问,不妨接着往下看01为什么要阅读源码?1.1 在通用型基础技术中提高技术能力在 JAVA 领域中包含 JAVA 集合、Java并发(JUC)等, 它们是项目中使用的高频技术,在各种复杂的场景中选用合适的数据结构、线程并发模型,合理控制锁粒度等都能显著提高应用程序的...

2021-01-18 14:14:44 171

原创 【IO】【文章摘录】

Java NIO原理图文分析及代码实现关于Java NIO的一些看法NIO与传统IO的区别java的io读写,缓冲区是如何提高读写效率的深入java NIO系列之缓冲区分析与源码解读深入分析 Java I/O 的工作机制

2020-11-25 08:48:31 78

原创 【JDK】【list接口】

概括数组:01234尾部头部栈:先进后出。只能在头部添加、删除、查看;单向队列:实现Queue接口。只能在尾部添加,头部只能查看和删除;双向队列:实现Deque接口即双端列表。尾部和头部都可以添加、删除、查看;arrayList底层是数组;linkedList底层是链表;ArrayDeque底层也是数组,并没底层是树的实现;ArrayList底层数据结构数组存取数据默认大小及扩容机制默认容量为10。没有奇偶限制。扩容:int newCapac

2020-11-25 08:48:22 87

原创 【JDK】【set接口】

概括此接口表示没有重复元素,且元素不保证顺序;此接口所以功能都是依据MAP接口下面数据结构来实现的;HashSet实现原理内部基于hashMap实现,利用hashMap的key不能重复来实现无重复元素功能;因此,hashSet相当于只键,值都是固定值,这个值定义为: Object PRESENT = new Object();特点元素不会重复;没有顺序;扩充了add方法,添加元素时候都会返回true或者false来表示是否有这个key值;TreeSet实现原理和ha

2020-11-25 08:48:09 74

原创 【MutiThread】【volatile关键字】

public class Client {private boolean stop = false;//没有volcatile标示private int num = 0;class A implements Runnable {public void run() { while (!stop) { num++; // System.out.println("aaaa");//打印一句话 //Thread.sleep(1000); //..

2020-11-25 08:47:03 92

原创 【MutiThread】【线程调度机制】

所谓多线程的并发运行,其实就是指各个线程轮流获得CPU的使用权,分别执行各自的任务。CPU的功能主要就是用于中断、内核以及用户进程处理,优先级分为中断>内核>用户进程,而线程何时获得CPU的使用权是由Java虚拟机说了算的。Java虚拟机的一项任务就是负责线程的调度。线程的调度是指按照特定的机制为多个线程分配CPU的使用权。有两种调度模型:1 分时调度模型2 抢占式调度模型。分时调度模型是让所有线程轮流获得CPU的使用权,并且平均分配每个线程占用的CPU的时间片。java虚拟机采用.

2020-11-25 08:46:17 182

原创 不同文件系统差异

文件系统区别文件系统区别主要在外存分配上以不同的方式存放;不同文件系统操作系统对于文件外存的访问方式都不一样,例如有连续的内存分配,也有显示的链接分配;例如FAT文件系统,在操作系统内部有个12位的文件分配表,表里面存放整个硬盘盘块(分区)的使用情况,例如某个文件占那个盘块,这样来读取文件的时候,首先回去这个文件分配表(FAT)里面去查找这个文件具体的物理磁盘位置信息,然后再进行读取;FAT12文件系统的分配表位数是12位的,所以叫FAT12;同理,为了满足更大的内存,又出现了FAT16文件系统.

2020-11-25 08:45:45 3734

原创 多线程和汇编联系

多线程主要是在80286以及以上的处理器中的功能,最早的32位多线程是80386,看了你另外的帖子,你好象懂点汇编语言,不知道你懂不懂80386汇编,他们的指令形式差不多,区别就在于工作机制和32位.如何你想搞多线程,首先要会386下的汇编,比起8086处理器,它了许多功能,如:分页机制(虚拟存储器),多线程等…还有很多功能,至于它多线程的工作机制主要是内存查表的方法,将所有程序的地址段地址和偏移地址放入GDT表和IDT表中,再用时钟频率的中断来不断读取这张表到cs:eip寄存器中和将cs:eip内容保存如

2020-11-25 08:45:39 752

原创 截图

2020-11-25 08:45:33 54

原创 进程的阻塞和挂起的区别(整理)

理解一:挂起是一种主动行为,因此恢复也应该要主动完成,而阻塞则是一种被动行为,是在等待事件或资源时任务的表现,你不知道他什么时候被阻塞(pend),也就不能确切 的知道他什么时候恢复阻塞。而且挂起队列在操作系统里可以看成一个,而阻塞队列则是不同的事件或资源(如信号量)就有自己的队列。理解二:阻塞(pend)就是任务释放CPU,其他任务可以运行,一般在等待某种资源或信号量的时候出现。挂起(suspend)不释放CPU,如果任务优先级高就永远轮不到其他任务运行,一般挂起用于程序调试中的条件中断,当出现某个条.

2020-11-25 08:45:27 1861

原创 文件描述符

每一次打开一个文件时候,这个进程(操作系统进程)内部都会产生一个与文件相对应的一个数据结构,这个结构里面通常存放一些操作这个文件的所有属性,例如文件读取到那个位置,所以里面肯定会有个POS值,当有很多文件打开的时候,自然就会有很多类似的数据结构来存储文件的属性信息,然后,这个所有的数据结构又会全部存放在一个数组里面,每个数组元素的值就是数据文件结构的位置,当然如果有两个操作都打开同一个文件,那么就会有连个不同的索引值,指向同一个文件结构体。而数组的每个元素的位置就叫做“文件描述符”即0,1,2,3,4··.

2020-11-25 08:45:20 253

原创 栈和堆

对于栈来说,CPU或者说硬件设备有专门的栈寄存器,同时CPU为此有相应的栈操作指令集,当然也就有相应的硬件支持,指令分别是push,pop,可以控制栈寄存器的指针向上或者向下移动,例如Java的方法执行,因此汇编操作这两个指令时候,就会被编译成相应的栈指令,进行操作,所以毋容置疑,直接从硬件的操作,绝对是最快的。正是有这样的操作指令,他也就描述了栈的先进先出数据结构,至于栈的内存空间,自然也就是操作系统内核来操作这些栈指令,来进行栈内存管理。堆,其实准确的说就是满足堆内存性质的一种数据结构。这种数据结构.

2020-11-24 08:47:33 406

原创 指令集--汇编--驱动程序-操作系统

无论AMD还是inter名牌的CPU,硬件厂商都会提供各自CPU的驱动程序,这个驱动程序是所有系统的最底层,他上层可以是操作系统,也可以是汇编语言,因此汇编语言没有操作系统也是可以运行的,或者汇编语言和操作系统没有什么关系;指令集是最底层的指令,每个不同的硬件CPU都有特定的指令集集合;汇编语言是直接操作指令集系统,第一点已经说过,他其实经过编译器然后转换成指令集,当然,这个编译器也是厂商提供的;驱动程序也是依据自身的硬件设置需求,然后根据指令集完成驱动程序的开发;因此,比如I/0的一些控制方式,如.

2020-11-24 08:47:23 1244

原创 文章

浅谈操作系统对内存的管理缓存一致性

2020-11-24 08:47:17 60

原创 JVM和OS内存数据交互

JVM启动申请多大的内存;java 启动的时候会按照配置参数分配一定的内存空间,通过OS预先分配的内存空间大小是-Xms的大小,而不会是-Xmx的大小,许多空间也只有是在真正使用的时候才分配的;当创建对象的时候,内存的分配是有JVM和OS交互完成的;数据为什么经过多次的拷贝才能到IO?当向OS申请到一定内存之后,OS就不在管理了,因为对于OS来说这些内存空间已经给JVM了,她并不知道什么时候来释放这些各个对象的内存空间,这些只有JVM自己知道,因此,JVM的对象都是有JVM来管理的;.

2020-11-24 08:47:10 410

原创 【IO】深入java NIO系列之缓冲区分析与源码解读

在进行NIO 缓冲区的介绍之前,我们需要理解以下概念:缓冲区操作进程执行IO操作,向操作系统发起请求,操作系统要么向缓冲区中写入数据,要么将缓冲区中的数据排干数据从磁盘移动到进程的内存区域整个过程:进程发起read()系统调用,要求其缓冲区被填满,内核随即要求磁盘控制硬件发送命令,磁盘控制器直接将数据写入内核的内存缓冲区中,该过程通过DMA来完成,无需主CPU协助,当磁盘控制器将内核缓冲区填满,内核随即将数据复制到进程对应缓冲区中。 这里涉及到内核空间和用户空间的概念内核空间:内核空

2020-11-24 08:47:02 136

原创 基本概念

接口是指两种硬件之间的连接电路,值得注意的是,接口和端口是两种不同的感念,端口是指连接电路中的一些寄存器,这些寄存器分别用来存放数据信息、控制信息、和状态信息。相应的端口分别称为数据端口、控制端口和状态端口。若干个端口加上相应的控制逻辑才组成接口。cpu通过输入指令、从端口读入信息,通过输出指令,可将信息写入端口中。如图5.28IO是针对内存来讲得,只要与内存程序通讯的就可以理解为IO。比如向硬盘写读数据,都需要把数据放入内存之后,然后CPU处理,内存就是一个数据的中转站,所以只要经过内存就是一种..

2020-11-24 08:46:56 116

原创 CPU缓存刷新的误解

时间 2014-01-02 14:01:56 segmentfault资讯原文 http://segmentfault.com/a/1190000000375559即使是资深的技术人员,我经常听到他们谈论某些操作是如何导致一个CPU缓存的刷新。看来这是关于CPU缓存如何工作和缓存子系统如何与执行核心交互的一个常见误区。本文将致力于解释CPU缓存的功能以及执行程序指令的CPU核心如何与缓存交互。我将以最新的Intel x86 CPU为例进行说明,其他CPU也使用相似技术以达到相同目的。绝大部分常见的现

2020-11-24 08:46:47 455

原创 计算机硬件组成

2020-11-24 08:46:38 124

原创 截图

2020-11-24 08:46:32 145

原创 内存对齐

内存地址对齐,是一种在计算机内存中排列数据(表现为变量的地址)、访问数据(表现为CPU读取数据)的一种方式,包含了两种相互独立又相互关联的部分:基本数据对齐和结构体数据对齐 。为什么需要内存对齐?对齐有什么好处?是我们程序员来手动做内存对齐呢?还是编译器在进行自动优化的时候完成这项工作?在现代计算机体系中,每次读写内存中数据,都是按字(word,4个字节,对于X86架构,系统是32位,数据总线和地址总线的宽度都是32位,所以最大的寻址空间为232 = 4GB,按A[31,30…2,1,0]这样排列,但是

2020-11-24 08:46:23 786

原创 文章

你不知道的FileInputStream的秘密同步和异步、阻塞和非阻塞深入java NIO系列之缓冲区分析与源码解读深入分析 Java I/O 的工作机制IO的分层IO性能的重要指标文件系统从Java视角理解CPU缓存(CPU Cache)...

2020-11-23 08:40:16 86

原创 规范

基础规范表、字段必须要有中文注释,切注意更新注释;命名规范库名,表名,列名必须用小写,采用下划线分隔,见名字知意思库名,表名,列名必须见名知义,带有自述性,长度不要超过32字符t_xxx开头表设计规范表必须有主键,推荐使用UNSIGNED整数为主键。无主键,在主从同步时候,会导致备库死掉;建议将大字段,访问频度低的字段拆分到单独的表中存储,分离冷热数据列设计规范使用TINYINT来代替ENUM必须把字段定义为NOT NULL并设默认值单表列数必须小于30;禁止使用t

2020-11-23 08:40:07 50

原创 设计原则

经验扩展性:是否对后期的业务开发,拥有扩展功能。这也是架构设计和基础开发的区别;字段冗余原则相关字段是否变化:例如订单存储商品的成本价,批发价等,这些在后期是会变化的,因此下单时候需要存储当时的以便追踪当时订单的价格情况;性能问题:如果这个字段数据操作中频繁使用,需要冗余。例如退款时候,需要用户ID,而且是异步任务在处理,如果此时不容易用户id,任务处理时候就需要调用接口来获取用户ID,造成操作不方便和性能问题,此时就需要容易会员ID字段;是否方便查询:正常严格按照也对对象来设计表,但是有时候为

2020-11-23 08:40:00 111 1

原创 Mysql操作命令

文章备份用户管理https://www.cnblogs.com/clsn/p/8047028.htmlhttps://blog.csdn.net/typa01_kk/article/details/49126365https://blog.csdn.net/anzhen0429/article/details/78296814https://www.cnblogs.com/jiuyi/p/6211275.htmlhttps://blog.csdn.net/u014313075/article/d

2020-11-23 08:39:51 120

原创 SQL优化原则

当多个单列索引建立时候,然后SQLwhere条件后面分别用这几列作为条件,那么此时只有一个索引有效;SQL查询事件有两部分组成:查询本身的计算时间和查询前的等待时间。经常索引影响的是前者,而锁机制影响的就是后者;Myisam:采用的是表级别的的锁定,即在有多个查询时候不进行锁定,一旦有更新操作,就进行操作。因此适合查询次数很多,但是更新比较少的应用系统。尽量使用查询缓存。当有很多相同的查询被执行多次的时候,这些数据就会放到缓存里面,但是需要注意的是这些数据没有被修改过,如果这条数据的某一个字..

2020-11-23 08:39:42 320

计算机组成原理(第2版)

计算机组成原理 学习底层知识必须掌握的一门课程。

2014-10-07

自己动手写操作系统

自己动手写操作系统 作为了解操作系统很好的入门文档

2014-10-07

jquery.js API

中文版得jquery 的API,提供详细的说明

2011-09-01

网上商城代码以及详细解释

网上商城的代码 以哎呦,不错哦。哎呦,不错哦。哎呦,不错哦。哎呦,不错哦。

2011-08-09

xml 和 html区别

xml和html的区别 以及dom文档内部的使用问题 和对象的具体概念

2011-08-09

空空如也

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

TA关注的人

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