美文网首页
编程的几点理解

编程的几点理解

作者: JAVA弑云 | 来源:发表于2020-03-31 22:00 被阅读0次

平常一直敲代码,根本不知道代码是怎么在计算机中怎么运行的,这几天看了点书,发表点自己的看法

计算机的组成

计算机是由内存,cpu,和磁盘和电源组成的,cpu里面也有自己的运算单元,寄存器,和控制单元.磁盘负责存放程序和文件,内存也和磁盘作同样的事情,但是内存要比磁盘的速度快上很多倍,所以价格也比磁盘高,
cpu做的事情就是通过寄存器找到内存的地址并将数据和指令读到一个存数据的寄存器和一个存指令的寄存器,然后再执行计算,并将结果输出到另一个寄存器,最后写回内存,并最终输出.

程序

程序本质就是指令和数据的集合,比如我写的java代码.编译器会将代码转成字节码,jvm运行的时候会一行一行翻译成机器码.因为计算机运行只认识0101010而不是什么字节码的内容,有时候一些代码频繁加载,所以jvm会直接将热点代码直接编译成字节码,这样能更提升运行的效率. 写代码就是在和计算机交流,我们用我们熟悉的语言编写代码, 而编译器则是一个专业的翻译将我们写的代码翻译给计算机听.

存储

文件的存储,磁盘这边是分扇区的,分了扇区还要分簇的,簇和扇区成比例的,一个扇区可能只有512kb大小,但是簇可能随着磁盘容量变大从一个簇对应一个扇区到一个簇可能对应多个扇区,相同的文件是存放在同一个簇的,如果这个文件的大小可能超出一个簇,占到两个簇,但是第二个簇的剩余空间可能还有很多,但是这个空间也不会给别的文件去使用,因为删文件的时候是去删簇的,如果两个文件在同一个簇里,操作系统对这个簇操作就可能把另一个文件给删除掉,所以规定不同文件不没能在同一个簇里.

数据类型

数据类型是个很有意思的点.比如你用short,int,long,去表示12的时候,但是每个类型占绝对的大小是不一样的,可能这个占一个字节,而另外一个就占用4个字节了,所以编程的时候也要注意节约内存,虽然现在的内存容量都很大了,但是节省字节,意味着也能提升内存的存储效率.

函数的调用

函数的调用本身涉及到入栈出栈.具体表现在在一个函数中调用另一个函数,你调用完函数是还需要返回到当前函数的,所以cpu里面有一个寄存器专门做这个事情的,叫做栈寄存器,栈的结构就是先进后出的数据结构,栈寄存器里保存了,函数和被调用的指令地址,当被调用的函数运行完后栈里面就会剩下调用函数的下一个指令地址,达到调用其他函数再返回继续当前流程的作用.这个也是很重要的,没有这个,也就没有函数调用

上面就是我的看法,可能有不对的地方,欢迎指出

相关文章

网友评论

      本文标题:编程的几点理解

      本文链接:https://www.haomeiwen.com/subject/luaguhtx.html