谈谈你对Java 平台的理解

经典回答

Java语言是一种面向对象的高级语言,它最显著的有两个特性,一是通过平台中立的class文件格式和屏蔽底层硬件差异的jvm实现‘一次编写,到处运行’;二是通过‘垃圾收集器’管理内存的分配和回收。

Java 是一种简单、严谨并且适合编写的语言,它不像C/C++ 那样有很多晦涩难懂的内容,如头文件、指针、结构等等。我们编写java 会接触到 JRE(Java Runtime Environment)或者 JDK(Java Development Kit)。 JRE,也就是 Java 运行环境,包含了JVM 和丰富的 Java 类库,比如集合,泛型,反射,并发,网络,IO/NIO等。而 JDK 可以作是 JRE 的一个超集,提供了更多工具,比如编译器、各种诊断工具等,让java 语言更加安全、健壮。还有更多第三方类库的支持,如spring、springmvc、mybatis等让java 非常适合开发。

很多对Java 的影响是它很慢,因为它是解释执行。其实不是这样的,Java 是解释执行+编译执行混合型。一般JVM 是直接解释执行.class文件,当出现高频代码时JVM 会通过JIT 即时编译器把经常运行的代码作为"热点代码"编译与本地平台相关的机器码,并进行各种层次的优化。

知识点

1、Java是纯面向对象的语言。《Java编程思想》中提到Java语言是一种“Everything is object”的语言,它能够直接反映现实生活中的对象,例如车、动物等,因此通过它编写程序更容易。

2、平台无关性。Java语言可以“一次编译,到处执行”。无论是在Windows平台还是在Linux、MacOS等其他平台上对Java程序进行编译,编译后的程序在其他平台上都可以运行。由于Java是解释性语言,编译器会将Java代码变成“中间代码”,然后在Java虚拟机(Java Virtual Machine,JVM)上解释执行。由于中间代码与平台无关,因此Java语言可以很好的跨平台执行,具有很好的可移植性。

3、Java提供了很多内置的类库,通过这些类库,简化了开发人员的程序设计工作,同时缩短了项目的开发时间,例如,Java语言提供了对多线程的支持,提供了对网络通信的支持,最主要的是提供了垃圾回收器,这使得开发人员从内存的管理中解脱出来。

4、提供了对Web应用开发的支持。例如,Applet、Servlet和JSP可以用来开发Web应用程序;Socket、RMI可以用来开发分布式应用程序。

5、具有较好的安全性和健壮性。Java语言经常被用在网络环境中,为了增强程序的安全性,Java语言提供了一个防止恶意代码攻击的安全机制(数组边界检测和Bytecode校验等)。Java的强类型机制、垃圾回收器、异常处理和安全检查机制使得用Java语言编写的程序具有很好的健壮性。

6、去除了C++语言中难以理解、容易混淆的特性,如头文件、指针、结构、单元、运算符重载、虚拟基础类、多重继承等,使得程序更加严谨简洁。

原文地址:https://www.cnblogs.com/tanwt/p/10148342.html

时间: 2024-10-27 11:46:17

谈谈你对Java 平台的理解的相关文章

java面试题(杨晓峰)---谈谈你对java平台的理解

从你接触java开发到现在,你对java最直观的印象是什么呢?是他宣传的"write once ,run anywhere"还是目前看已经有些形式主义的语法呢?你对于java平台到底了解到什么程度?请先停下来总结思考一下. 今天我要问你的问题是,谈谈你对java平台的理解?"java是解释执行"这句话正确吗? 典型回答. java本身是一种面向对象的语言,最显著地特征有两个方面,一是所谓的"书写一次,到处运行.write once,run anywhere

谈谈你对java平台的理解?

问题:谈谈你对java平台的理解?java是解释执行,这句话对吗? 典型回答:java本身是一种面向对象的语言,具有很好的跨平台的能力,能够做到"write once ,run anywhere".另外就是GC机制,java通过垃圾回收器回收分配内存,程序员无需自己操心内寸的回收问题. 我们日常会接触到jre和jdk.jre是java运行环境,包含了jvm和java类库等.jdk则是在jre的基础上提供了更多的工具,比如编译器,和一些诊断工具等. java是解释执行,这句话不是很准确.

Java核心-01谈谈你对Java平台的理解

今天我要问你的问题是,谈谈你对 Java 平台的理解?“Java 是解释执行”,这句话正确吗? 典型回答 Java本身是一种面向对象的语言,最显著的特性有两个.一是所谓的“书写一次,到处运行”,能够非常容易获得跨平台能力:另一个就是垃圾收集,Java通过垃圾收集器回收分配内存,大部分情况下,程序员不需要自己操心内存的分配和回收. 我们日常接触到 JRE( Java Runtime Environment) 或者 JDK( Java Development Kit).JRE 也就是 Java 运行

谈谈对Java平台的理解

从我第一次接触Java的时候,老师就说"Write once,run anywhere",这句话虽然听起来有一点太过于形式主义,但是也突出了它的特点.那么,现在的我们应该总结一下和思考一下,自己对于Java平台的理解. Java本身是一种面向对象的语言,最显著的两个特性有两个方面: ①.书写一次,到处运行,具有跨平台的能力: ②.具有垃圾收集(GC,Garbage Collection)功能,Java通过垃圾收集器(GC)回收分配内存,大部分情况下,程序员不需要自己担心内存的分配和回收

对Java平台的理解(ing)

1)  Java是一种面向对象的语言,最显著的特性有两个方面: ----书写一次,到处运行(Write once,run anywhere) 能够非常容易的获得跨平台的能力 ----垃圾收集(GC,Garbage Collection) Java通过垃圾收集器(Garbage Collector)回收分配内存,大部分情况下,程序员不需要自己操心内存的分配和回收. 2) JRE(Java Runtime Environment),是指Java运行环境,包含了JVM和Java类库,以及一些模块等.

java 平台的理解

一:java不仅仅是解释执行(java编译成字节码,在转换成机器码),还有动态编译,在程序运行时,利用jit编译将热点代码编译成机器码,这时候就是编译执行,不是解释执行 二: 三:jdk8是解释和编译混合模式,也有server和client模式,也有c1,c2的内置的jit编译 四:-xint 就是告诉虚拟机解释执行,放弃编译执行 ,-xcomp 就是关闭解释执行. 五:aot编译.优化了jit的预热,直接将字节码转成机器码 原文地址:https://www.cnblogs.com/hanguo

谈谈我对Java中CallBack的理解

谈谈我对Java中CallBack的理解 http://www.cnblogs.com/codingmyworld/archive/2011/07/22/2113514.html CallBack是回调的意思,熟悉Windows编程的人对"回调函数"这四个字一定不会陌生,但是Java程序员对它可能就不太了解了."回调函数"或者"回调方法"是软件设计与开发中一个非常重要的概念,掌握"回调函数"的思想对程序员来说(不管用哪种语言)

谈谈我对Spring IOC的理解

转自京东开涛大神的微博,这是我看过最好的对IOC DI的解释. 学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的,今天和大家分享网上的一些技术大牛们对Spring框架的IOC的理解以及谈谈我对Spring Ioc的理解. 1.1.IoC是什么 Ioc-Inversion of Control,即"控制反转",不是什么技术,而是一种设计思想.在Jav

如何在Java平台上使用脚本语言做Java开发

如何在Java平台上使用脚本语言做Java开发     最近开始流行区分Java平台和Java语言,但很多Java开发者还是不能确定如何在 Java应用程序开发中结合脚本.本篇文章,Gregor Roth给出了在Java平台上使用脚本的方法.通过这篇文章,你可以了解怎样在你的Java应用程序中使用脚本,是否你要通过使用Groovy和 Jython把不同的Java应用程序模块粘合在一起,或者写一个你自己的基于JRuby的应用程序,适用于Java平台. 作为一个Java开发者,你可能已经注意到了,J