java每日二题(1)谈谈对面向对象思想的理解(2)JDK,JRE,JVM有什么区别

1、谈谈对面向对象思想的理解

首先,谈谈“面向过程”vs“面向对象”

我觉得这两者是思考角度的差异,面向过程更多是以“执行者”的角度来思考问题,而面向对象更多是以“组织者”的角度来思考问题,举个例子,比如我要产生一个0-10之间的随机数,如果以“面向过程”的思维,那我更多是关注如何去设计一个算法,然后保证比较均衡产生0-10的随机数,而面向对象的思维会更多关注,我找谁来帮我们做这件事,比如Random类,调用其中提供的方法即可。

所以,面向对象的思维更多的是考虑如何去选择合适的工具,然后组织到一起干一件事。

好比一个导演,要拍一场电影,那么首先要有男猪脚和女猪脚,然后还有其他等等,最后把这些资源组织起来,拍成一场电影。

再说回我们的程序世界,这个组织者的思维无处不在,比如,我们要开发项目,以三层架构的模式来开发,那么这个时候,我们不需要重复造*,只需要选择市面上主流的框架即可,比如SpringMVC,Spring,MyBatis,这些都是各层的主流框架

2、JDK,JRE,JVM有什么区别?

JDK:Java Development Kit,Java开发工具包,提供了Java的开发环境和运行环境。

包含了编译Java源文件的编译器Javac,还有调试和分析的工具。

JRE:Java Runtime Environment,Java运行环境,包含Java虚拟机及一些基础类库

JVM:Java Virtual Machine,Java虚拟机,提供执行字节码文件的能力

所以,如果只是运行Java程序,只需要安装JRE即可。

另外注意,JVM是实现Java跨平台的核心,但JVM本身并不是跨平台的,

不同的平台需要安装不同的JVM
java每日二题(1)谈谈对面向对象思想的理解(2)JDK,JRE,JVM有什么区别