在打算写这么一篇文章的时候,想到很多,觉得要是全都写下来的话,估计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. 集合HashMap和HashSet中迭代器的使用

    package setTest; import java.util.HashMap;import java.util.HashSet;import java.util.Iterator;import ...

  2. openmax component类的继承关系

    向OpenCORE里继承一个新的codec时,需要用到OpenMAX接口规范对该codec进行封装,即要定义一个用于封装的类(wrapper),实现OpenMAX规定的集中核心方法(omx core  ...

  3. iOS中break、continue、return三者的区别

    iOS中break.continue.return三者的区别 1. break         直接跳出当前层次的循环. 如果嵌套循环如for中嵌套while,break只能跳出内层的while循环, ...

  4. 为类型“xxxx”多次调用了 Map,且其中至少有一个调用未指定目标表名称。

    ef的继承映射真的是能搞死人啊...小结一下: 下图中的代码,ResponseTextMessage.ResponseNewsMessage.ResponseMethodMessage等几个类都是Re ...

  5. STM32F103片外运行代码分析

    STM32F103片外运行代码分析 STM32F103有三种启动方式: 1.从片内Flash启动: 2.从片内RAM启动: 3.从片内系统存储器启动,内嵌的自举程序,用于串口IAP. 无法直接在片外N ...

  6. ASP.NET 跨域请求之jQuery的ajax jsonp的使用解惑 (转载)

    前天在项目中写的一个ajax jsonp的使用,出现了问题:可以成功获得请求结果,但没有执行success方法,直接执行了error方法提示错误——ajax jsonp之前并没有用过,对其的理解为跟普 ...

  7. write函数过程解析

    write函数作为用户向终端或者文件进行写数据的重要函数,有着重要的作用. |------|          |---------|   |---------| |----------| | wri ...

  8. css代码添加背景图片常用代码

    css代码添加背景图片常用代码 1 背景颜色 { font-size: 16px; content: ""; display: block; width: 700px; heigh ...

  9. oracle表空间的创建+权限分配

    /*分为四步 */ /*第1步:创建临时表空间 */ create temporary tablespace user_temp tempfile 'D:\oracle\oradata\Oracle9 ...

  10. vue-cli使用swiper4在ie以及safari报错

    vue-cli项目中,通过npm run swiper --save-dev安装的是swiper4版本的插件,这样安装以后在谷歌火狐等浏览器都可以正常运行,但是在safari浏览器(可能是版本太低)还 ...