一个问题引发的思考
Posted 我永远信仰
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个问题引发的思考相关的知识,希望对你有一定的参考价值。
今天看到一个题,这是以前并没有去在意的,答案是80
刚开始的时候只知道加不加括号的区别,但是为什么呢?
#define: 预编译
预编译:又叫预处理。预编译不是编译,而是编译前的处理,预编译所执行的操作就是简单的“文本”替换
主要想到了这个
语言有:编译型和解释型。例如c是编译型语言,python是解释型语言,java一半一半。
解释型语言需要先解释成机器指令(以后计算机组成原理的内容)也就是需要有一个翻译的过程,而且每一次执行都需要进行翻译的过程,那么一定存在效率问题。
编译型语言,一次编译就能生成可执行程序,可以无限次运行,效率高。
效率问题也在一定程度上决定了某一种语言是偏向底层还是面对上层。
操作系统也属于底层,一般是用c/c++开发的,比如windows,linux,Mac、……
应用程序:平时大家使用的App,网页等等
在面对上层的语言中,比如java会调用底层的方法,也就是java中的本地方法(c/c++的方法,java的根加载器就是使用c/c++实现的),而底层不会调用上层
底层提供一点点变化,上层能玩出花来(比如并发编程中的CAS)
CAS:在Java并发编程中调用的CAS方法是操作系统提供的,而操作系统是c/c++实现的。
以上是关于一个问题引发的思考的主要内容,如果未能解决你的问题,请参考以下文章
Spring之LoadTimeWeaver——一个需求引发的思考