JAVA特点优点以及环境
文章目录
- Java语言运行机制
- 核心机制—Java虚拟机
- 核心机制—垃圾回收
- JAVA特点、优点
- 环境
- JDK
- JRE
- JDK、JRE、JVM关系
- 开发环境配置
Java语言运行机制
- Java虚拟机 (Java Virtal Machine)
- 垃圾收集机制 (Garbage Collection)
核心机制—Java虚拟机
JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器。
- 对于不同的平台,有不同的虚拟机。
- 只有某平台提供了对应的java虚拟机,java程序才可在此平台运行
- Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”
核心机制—垃圾回收
- 不再使用的内存空间应回收—— 垃圾回收。
- 在C/C++等语言中,由程序员负责回收无用内存。
- Java 语言消除了程序员回收无用内存空间的责任:它提供一种系统级线程跟踪存储空间的分配情况。并在JVM空闲时,检查并释放那些可被释放的存储空间
- 垃圾回收在Java程序运行过程中自动进行,程序员无法精确控制和干预。
- Java程序还会出现内存泄漏和内存溢出问题吗?Yes!
JAVA特点、优点
1、跨平台/可移植性
这是Java的核心优势。Java程序的跨平台主要是指字节码文件可以在任何具有Java虚拟机的计算机或者电子设备上运行,Java虚拟机中的Java解释 器负责将字节码文件解释成为特定的机器码进行运行。
2、安全性
- Java取消了强大但又危险的指针。由于指针可进行移动运算,指针可随便指向一个内存区域, 而不管这个区域是否可用,这样做是危险的,因为原来这个内存地址可能存储着重要数据 或者是其他程序运行所占用的, 并且使用指针也容易数组越界。
- Java提供了自动内存管理机制,由垃圾回收器在后台自动回收,Java在字节码的传输过程中使用了公开密钥加密机制(PKC)。
- 而在运行环境提供了四级安全性保障机制:字节码校验器 -类装载器 -运行时内存布局 -文件访问限制
3、面向对象
面向对象是一种程序设计技术,非常适合大型软件的设计和开发。由于C++为了照顾大量C语言使用者而兼容了C,使得自身仅仅成为了带类的C语言,多少影响了其面向对象的彻底性!
Java则是完全的面向对象语言。
- 两个要素:类、对象
- 三个特征:封装、继承、多态
4、简单性
Java就是C++语法的简化版,指的就是将C++的一些内容去掉;比如:头文件,指针运算,结构,联合,操作符重载,虚基类等等。同时,由于语法基于C语言,因此学习起来完全不费力。
5、高性能
Java最初发展阶段,总是被人诟病“性能低”;客观上,高级语言运行效率总是低于低级语言的,这个无法避免。Java语言本身发展中通过虚拟机的优化提升了几十倍运行效率。比如,通过JIT(JUST IN TIME)即时编译技术提高运行效率。 将一些“热点”字节码编译成本地机器码,并将结果缓存起来,在需要的时候重新调用。这样的话,使Java程序的执行效率大大提高,某些代码甚至接待C++的效率。
因此,Java低性能的短腿,已经被完全解决了。业界发展上,我们也看到很多C++应用转到Java开发,很多C++程序员转型为Java程序员。
6、分布式
Java是为Internet的分布式环境设计的,因为它能够处理TCP/IP协议。事实上,通过URL访问一个网络资源和访问本地文件是一样简单的。Java还支持远程方法调用(RMI,Remote Method Invocation),使程序能够通过网络调用方法。
7、多线程
多线程的使用可以带来更好的交互响应和实时行为。 Java多线程的简单性是Java成为主流服务器端开发语言的主要原因之一。
8、健壮性
- 去除了c语言中的指针
- 自动的垃圾回收机制 – > 但仍然会出现内存溢出、内存泄漏
环境
JDK
JDK(Java Development Kit Java开发工具包)
JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了 JRE。所以安装了JDK,就不用在单独安装JRE了。
- 其中的开发工具:编译工具(javac.exe) 打包工具(jar.exe)等
JRE
- JRE(Java Runtime Environment Java运行环境)
- 包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等, 如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。
JDK、JRE、JVM关系
- JDK = JRE + 开发工具集(例如Javac编译工具等)
- JRE = JVM + Java SE标准类库
开发环境配置
要让cmd在任何路径下都可以运行开发工具
JAVA_HOME = bin的上一层目录
path = %JAVA_HOME%\bin
JAVA特点优点以及环境相关推荐
- Java开发和运行环境的搭建(详细教程)
对JDK.JRE.Java 的认识 JDK 是Java Development Kit的缩写,即Java开发工具集.JDK是整个Java的核心,包括了Java运行环境(JRE).Java开发工具和Ja ...
- 基于Java技术的Web环境下分布式数据库互操作性的实现
作者:李炽明 莫倩 徐明 1 JDBC工作原理 JDBC(Java Database Connectivity)是1个Sun公司注册了的商标,代表用来执行SQL语句的Java语 ...
- Java认识和开发环境搭建
Java开发环境 文章目录 Java开发环境 一.认识Java 二.Java开发环境 1.Java编译过程 2.JVM.JRE.JDK之间的关系 3.安装JDK 4.配置环境变量 三.编译工具安装(I ...
- MyEclipse搭建java Web项目开发环境
MyEclipse搭建java Web项目开发环境 首先,在开始搭建MyEclipse的开发环境之前,还有三步工具的安装需要完成,只要在安装配置成功之后才可以进入下面的java Web项目开发环境的搭 ...
- Java及Android开发环境搭建
前言 自从接触java以来,配置环境变量折腾了好几次,也几次被搞得晕头转向,后来常常是上网查阅相关资料才解决.但是过一段时间后一些细节就会记不清了,当要在其他机子上配置时又得上网查或者查阅相关书籍,如 ...
- java applet配置_配置Java Applet的运行环境
Java小程序,也就是Java Applet,可以在Web浏览器中运行.Java Applet必须以脚本的形式嵌入到HTML页面中,才能在web浏览器中运行. 之前总以为本地安装了JDK,指定好JAV ...
- java三个环境变量_java基础(一):我对java的三个环境变量的简单理解和配置
首先说说java的三个环境变量:java_home,classpath,path java_home:jdk的安装路径[你一层一层点开安装路径,直到当前目录有一个bin目录,然后在地址栏里面右键单击复 ...
- java web开发myeclipse_【java项目实战】一步步教你使用MyEclipse搭建java Web项目开发环境(一)...
首先,在开始搭建MyEclipse的开发环境之前,还有三步工具的安装需要完成,只要在安装配置成功之后才可以进入下面的java Web项目开发环境的搭建. 1.安装工具 第一步,下载并安装JDK,到官网 ...
- java ee开发环境_设置Java EE 6开发环境
java ee开发环境 本教程简要说明了如何设置典型的环境来开发基于Java EE 6的应用程序. 除了可以正常工作的Windows XP客户端具有足够的CPU能力和内存外,本教程没有其他先决条件. ...
最新文章
- LeetCode 228: Summary Ranges
- 机器学习101:我们天天都在说的机器学习,究竟该怎么入门?
- 权重可以当做概率幅吗?---用神经网络的收敛模拟机械波的波动
- php网站制作商品结算怎么做,一种以让产品、信息快速同步多网站销售并结算的技术的制作方法...
- 【详细分析】1023 Have Fun with Numbers (20 分)_20行代码AC
- java调用python,传参json字符串,含中文传参
- java 并_java并发编程(一)
- Swift初探(一)
- Leetcode每日一题:1365.how-many-numbers-are-smaller-than-the-current-number(有多少小于当前数字的数字)
- 双系统重装Ubuntu经验分享
- sign-canvas 一个基于canvas开发,封装于Vue组件的通用手写签名板(电子签名板),支持pc端和移动端;
- Html中的表格、Table和div,表格页面、员工登记表、Div代码
- Excel 10个高级办公技巧
- ps怎么缩放图层大小_PS怎么快速修改图层大小|Adobe Photoshop CS6图层大小尺寸调整--系统之家...
- java for 死循环_一个Java For语句死循环的例子源码
- 酷狗外链播放器html5,WP博客制作并添加酷狗外链播放器
- 数独-比回溯法更优的人类思维逻辑的数独解法
- ❤️ 工厂模式:教你如何制造一台Huawei P50手机 ❤️
- 去除VScode中的蓝色波浪线
- 异型窗体制作(两种方法)