面试题-谈谈对java的认识

本文介绍了Java作为一种跨平台、面向对象的开发语言,其主要特点包括简单性、面向对象、平台无关性、可靠性、安全性和多线程等。平台无关性通过Java虚拟机(JVM)实现,而多线程则是Java的一大优势。此外,文章还探讨了Java的内存回收机制、优点(如垃圾回收和安全)以及缺点(如效率较低和逆向编译问题)。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java的基本认识
1、基本介绍
Java是一种跨平台的面向对象的开发语言。具有 简单性,面向对象,分布式,解释型,可靠,安全,平台无关,可一直,高性能,多线程,动态性等特点。


2、具体分析
Java是一种面向对象的开发语言:(参见面向对象)
平台无关性:
Java的平台无关性指的是java语言编写的程序不用修改就可以运行在不同软硬件的平台上。平台无关性分为:源码级和目标代码级。C和C++具有一定程度的源代码级别平台无关,表明C,C++编写的程序不用修改只需要重新编译就可以在不同平台上运行。
Java主要是依靠Java虚拟机(JVM)在目标代码级别实现平台无关性。JVM是一种抽象机器,运行于操作系统之上,自身有一套机器指令,并有自己的栈,寄存器等。但是JVM通常是软件商而不是在硬件上实现的。
可靠性安全性:Java源于C++但又消除了C++的很多不可靠元素。首先java不支持指针,杜绝了内存的非法访问;其次内存自动回收机制;java解释器运行时试试检查,防止数组和字符串访问越界;java提供异常处理机制
多线程:C和C++采用单线程体系结构,Java支持多线程
多线程的表现:
java虚拟机是采用多线程的方式运行多个java程序
java语言内置多线程控制,简化多线程程序开发,Java提供的Thread类可以支持程序员方便的使用多线程。
java的多线程受制于操作系统,如果操作系统不支持多线程则java的多线程无法表现


3、java的内存回收机制(参见java内存回收机制初窥)


4、java的优点
a、不是用指针:省去了使用指针对内存操作的混乱
b、垃圾回收
c、平台无关性
d、支持多线程


5、java的缺点
a、效率低:(以下分析效率低的原因)
限制内存操作带来的副作用,不能直接操作内;
垃圾回收机制;
解释执行;
多态(java多态是运行是实现的,C,C++多态是编译连接时候实现的)
平台无关性的副作用(不能直接调用系统API,需要使用自己的API隐式调用系统API,多了一层调用,使用JNI解决这个问题)
b、逆向编译的问题
c、使用swing等包开发桌面程序比较痛苦
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值