初识 java(简单易懂入门篇)

javaEE是在javaSE的基础上构建的,主要应用于企业的网站开发、应用等;

javaME 微型版

一般是面向嵌入式或移动设备等应用的开发;

java语言特点


sun公司对java的描述是:“Java is a simple,object-oriented, distributed, interpreted, robust, secure, architecture neutral, portable, high-performance, multihreaded, and dynamic language”

“Java 是一门简单的,面向对象,分布式,解释性,健壮的,安全的,结构中立的,便捷的,高性能的,多线程的,动态的语言”

可以看出来优点是很多的,下面说几个主要的特点;

  1. 简单性:学习java一般都知道,java没有了c/c++里的指针,这就使开发者不再需要使用指针进行复杂的操作,多继承的消失也让java更加简洁;

  2. 健壮性:当需要对内存进学操作时,c/c++程序员需要自己创建指针并且自己释放指针内存,说着很容易,但是一旦真正操作起来,一个指针在几个函数里面到处跑,到最后可能就会忘记释放内存造成内存泄露,然后程序就会出现各种问题;而在java中就不会出现这个问题,因为java有自动垃圾回收机制(GC 机制),它时刻监控着你的内存使用,当你内存达到一定程度时会自动帮你清理,让你的内存状态保持最佳;

  3. 跨平台性:如果用c/c++语言在windows开发的大型的程序一旦换到mac os或着linux系统就可能无法运行了;但是java一旦在任意一个操作系统中编译后,不管去哪一个系统都可以正常运行;具体原理我们在下面分析;

java的其它特性像面向对象多线程等这里就不介绍了;


java虽然相对于c/c++有了这些优点,同样也有一些不足的地方;

就拿指针来说,虽然java没有了指针,操作起来更简单,但是也正是没有了指针,程序员就无法像使用c/c++一样直接去操作内存,所以相同情况下,使用指针的效率会更高一些;

其实java和c/c++对内存的的操作就像我们平时吃饭,c/c++是可以自己做饭的,而java就需要点外卖,所以你自己做的饭你想怎么弄都可以,操作性更高了,而java就只好买了不管怎么样只能去吃;但是c/c++做饭时就会有做成黑暗料理的风险,而java就不用担心这个;吃完饭后c/c++还需要刷碗(释放内存),而java就什么也不用管就有人自己收拾了;

ps:个人理解,如果有错误欢迎指出

JDK、JRE、JVM


我开始接触这三个名词的时候一脸懵,后来详细理了一下它们之间的关系就明白了,这里就先分别介绍一下:

JDK:java开发工具箱

JRE:java运行环境

JVM:java虚拟机

  1. JDK:JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK);如果你要开发java程序这个是必不可少的,安装后内部就会有一个JREjava的开发工具,因为你既然要开发软件就一定需要运行测试,所以JRE也就自己安装了;

  2. JRE:JRE(Java Runtime Environment,Java 运行环境),运行 JAVA程序所必须的环境的集合,包含 JVMJava 核心类库,这里就要提一下了,如果你只需要运行一个开发好的程序,那么只安装JRE就可以了;

  3. JVM:JVM 是 Java Virtual Machine(Java 虚拟机),JVM 是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的,JVM不能单独安装,它包含在JRE或者JDK中。

所以他们三者的关系可以归类为:

JDK包含JRE和java开发工具

JRE包含JVM和Java 核心类库

关系如图:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值