在打算写这么一篇文章的时候,想到很多,觉得要是全都写下来的话,估计BZ也不知道要写多少,总之,好多吧!那么,就让BZ一切从简... 

    我们知道java它的特殊性在于,用它所写代码的运行是依靠自己的一套jvm规则,通过java自己的编译器将之编译成字节码文件,而后,通过已经实现jvm规则的容器,也就是jvm虚拟机将class(字节码)文件加载.

    这时候,在它的jvm内部,会将加载进来的class文件进一步链接执行. jvm内部是有它自己的一套汇编指令集的,通过自己的这套汇编指令集来与class文件进行匹配,从而最终还是变成机器码交由物理操作系统的cpu来处理,在这过程中,它的执行当然也是会依赖操作系统的,像windows操作系统等,都有自己的函数库,封装了很多函数,来供第三方软件调用.当然,这些东西在创造这门语言的时候,就已经被语言的创造者考虑好了,对于这些,<<编译原理>>这本书中讲的也是比较清晰,BZ自认为对这方面的理解很菜,就不说叨了!

    就这样,一段0和1跑起来了!

    现在,我们再在上面的东西中,加一些内容:

    其实,在BZ个人来说,我觉得程序的本质存在就是处理数据,当然可能有人会说,应该是0和1,或者有人会说高低电平等等,我们姑且就不扯这些吧!

     我们知道,在cup的指令执行中,内存中一段数据,cpu并不知道它是我们实际的data(数据),还是应该执行的指令,只要是cpu它自己的指令指针所指的内容,它在读取以后,都会当成指令来执行,简直就是长枪所指,所向披靡!聊完这个,我们再来聊聊内存,我们知道,在电脑内存不够的情况下,需要给电脑开拓一下疆土,这就需要我们根据具体配置情况,给它加入新的内存条了,这些,真正归结为的是物理上的说法.我们一般会将所有的硬件区域的内存(显示器有它自己的GPU,也有它自己的内存....)都串联起来成一条逻辑内存区,在这个区域中,有一部分地址是属于显示器的,如果将数据写到这部分内存地址中,就会在电脑屏幕上显示出来,当然,这些也都涉及到一些其他的技术,像是电子方面,像素,三原色,以及GPU内嵌的核心算法等,这些BZ也不懂,就这样,我们整个的程序,也就是将数据搬来搬去,各种运算,然后显示出来,这也就是BZ所说的程序本质就是处理数据!

    BZ写到这里,也就停手了!因为这里面涉及到的每一个关键词,我觉得,都可以出好几本书了,所以BZ也就适可而止,把要表达的认知和思想表现出来就可以了!

    此仅是BZ个人编程至今,所学至今的认知和看法!

    最后,编程的人生需要分享!

    

一段代码-Java的更多相关文章

  1. 收藏的一段关于java大数运算的代码

    收藏的一段关于java大数运算的代码: package study_02.number; import java.math.BigDecimal; import java.math.BigIntege ...

  2. java中 synchronized 的使用,确保异步执行某一段代码。

    最近看了个有关访问网络url和下载的例子,里面有几个synchronized的地方,系统学习下,以下内容很重要,记下来. Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一 ...

  3. 一段代码看 Java 引用类型

    Java 中的操作数(不知道叫什么,相对于 bytecode 而言,类似 CPU 的操作码和操作数)分为值类型和引用类型: 值类型就是直接存储最终数值的,如 char, int, float, dou ...

  4. [改善Java代码]Java的泛型是类型擦除的

    泛型可以减少强制类型的转换,可规范集合的元素类型,还可以提高代码的安全性和可读性,正是因为有了这些优点,自从Java引入泛型之后,项目的编码规则上便多了一条,优先使用泛型. Java泛型(Generi ...

  5. 一段网上java常见escape和unescape方法的BUG

    escape编码和unescape编码,就是将一个字符转换为16进制unicode编码,前面加%字符进行标识. 此处不再多做解释,参考这里:http://www.jb51.net/article/23 ...

  6. 记录这段时间java编程的小知识点

    记录这段时间java编程的小知识点 eclipse项目导入中文乱码 eclipse左侧目录结构变动 eclipse代码段左右移动 按tal键,是整体右移. 按shift  table 同时按,是整体左 ...

  7. springboot项目启动成功后执行一段代码的两种方式

    springboot项目启动成功后执行一段代码的两种方式 实现ApplicationRunner接口 package com.lnjecit.lifecycle; import org.springf ...

  8. 正则表达式(代码java版)

    目录 元字符 检测工具 普通字符 字符类 预定义字符类 数量词 默认数量词 自定义量词 预定义量词 边界标识符 正则组 简单应用 复杂组序 捕获组 看了好些天的正则表达式,终于有时间来写一篇关于它的博 ...

  9. 评《撸一段 SQL ? 还是撸一段代码? 》

    最近看到一篇博客<撸一段 SQL ? 还是撸一段代码?>,文章举例说明了一个连表查询使用程序code来写可读性可维护性更好,但是回帖意见不一致,我想作者在理论层面没有做出更好的论述,而我今 ...

随机推荐

  1. HDU 2088 Box of Bricks(脑洞)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=2088 Box of Bricks Time Limit: 1000/1000 MS (Java/Oth ...

  2. UI到底应该用xib/storyboard完成,还是用手写代码来完成?

    UI到底应该用xib/storyboard完成,还是用手写代码来完成? 文章来源:http://blog.csdn.net/libaineu2004/article/details/45488665 ...

  3. mdev自动创建和删除设备节点

    设备节点的创建有二种方法: 1)手动创建:mknode命令  当insmod后,还需要手动moknod创建设备节点才能被应用层打开,并且使用完成之后还要删除节点. 2) 自动创建:mdev mdev, ...

  4. 轻量ORM-SqlRepoEx (十)SqlRepoEx Nuget包下载说明

    ORM-SqlRepoEx 是 .Net平台下兼容.NET Standard 2.0,一个实现以Lambda表达式转转换标准SQL语句,使用强类型操作数据的轻量级ORM工具,在减少魔法字串同时,通过灵 ...

  5. iOS:PrefixHeader / 头文件 / 宏定义(18-03-02更)

    宏定义,不一定放在PCH文件,可能放在一个.h文件,再用PCH包含进来. 1.屏幕尺寸 // 屏幕尺寸 #define kSCREEN_WIDTH [UIScreen mainScreen].boun ...

  6. 竞赛题解 - NOIP2018 旅行

    \(\mathcal {NOIP2018} 旅行 - 竞赛题解\) 坑还得一层一层的填 填到Day2T1了 洛谷 P5022 题目 (以下copy自洛谷,有删减/修改 (●ˇ∀ˇ●)) 题目描述 小 ...

  7. thinkphp 利用GD库在图片上写文字

    <?php /** * Created by PhpStorm. * User: Administrator */ namespace Home\Event; use \Think\Image; ...

  8. MySQL 5.7修改root密码的4种方法

            sometimes we will forget our password of root in MySQL DB server.so,there're several methods ...

  9. Vue项目用webpack打包后,预览时资源路径出错(文末有vue项目链接分享)

    最近用vue写了一些项目,项目写完之后需要打包之后才能放到网上展示,所以在这里记录一下项目打包的过程以及遇到的一些问题. --------------------------------------- ...

  10. FireDAC的SQLite初探

    // uses FireDAC.VCLUI.Wait  之后, 可不用添加 TFDGUIxWaitCursor TFDConnection          // 数据连接 TFDQuery      ...