简介

Java是一种撰写跨平台应用软件的面向对象语言,1995年由Sun Microsystems公司推出。 2009年04月20日,甲骨文74亿美元收购Sun,取得java的版权。 2011年7月28日,甲骨文发布java7.0的正式版。 2014年3月19日,甲骨文公司发布java8.0的正式版。

Java组成部分

(1)Java编程语言

(2)Java文件格式

(3)Java虚拟机(JVM)

(4)Java应用程序接口(Java API)

当编辑并运行一个Java程序时,需要同时涉及到这四种方面。使用文字编辑软件(例如记事本写字板UltraEdit等)或集成开发环境EclipseMyEclipse等)在Java源文件中定义不同的类,通过调用类(这些类实现了Java API)中的方法来访问资源系统,把源文件编译生成一种二进制中间码,存储在class文件中,然后再通过运行与操作系统平台环境相对应的Java虚拟机来运行class文件,执行编译产生的字节码,调用class文件中实现的方法来满足程序的Java API调用。

流程如下:Java-源文件(*.java文件)->Java编译器(javac.exe可执行文件,执行javac命令)->字节码文件(编译后文件,*.class文件)->(类装载器+字节码校验器)->解析器(解析成操作系统识2进制编码格式)->操作系统执行;

Java2平台包括

标准版(J2SE)、企业版(J2EE)和微缩版(J2ME)三个版本。

J2EE是Java 2 enterprise edition是Java的一种企业版用于企业级的应用服务开发(用于java 企业级应用程序开发);

J2SE是Java 2 standard edition是Java的标准版,用于标准的应用开发;(用于java桌面应用程序开发) ;

J2ME是Java 2 Micro Edition是Java的微型版,常用于小型电子设备上如手机上的开发,嵌入式开发等。

J2EE,J2SE,J2ME是java针对不同的的使用来提供不同的服务,也就是提供不同类型的类库。

java运行环境:

Java的平台由两个部分组成:一个是Java Virtual Machine即Java虚拟机JVM,另一部分是Java Application Programming Interface (Java API) 即Java应用程序设计接口,这两部份软件就构成了Java运行的基本的环境。Java API 是一个大的已经做好的软件集合,这个集合里有许多开发时所需要的控件,用来辅助开发。Java API和JVM整合在一起处于机器硬件之上.

java语言特点:

1)面向对象:
现实世界中任何实体都可以看作是对象。在java语言中,也是这样的概念,即,将一切都视为对象,也就是一种比较泛华的概念或者是称谓;
2)可移植性:
编译好的java程序或文件,可通过复制,拷贝到其他系统或者应用程序上,也可解释执行,达到复用的目的,即java语言具有这种可移植性和可复用性;
3)跨平台性:
目前操作系统有WINDOWS、UNIX、Mac OS,linux等,java语言可运行在不同的系统或者平台之上,包括java 的嵌入式,都说明其具有良好的跨平台性;
3)安全性:
1、garbage collection,garbage collector会让你的程序不容易出现内存泄露。GC 垃圾回收机制,会自动释放长时间不再使用的应用程度的系统内存;
2、exception,程序出现exception的时候程序员可以让程序停止运行,这样的话就不会被黑客黑了。
3、指针,JAVA里面没有指针。C的话就非常危险了,黑客可以让C的程序stack overflow, 然后在overflow的内存地址跳到一个不该跳的地方。
4)并发性:
java中存在Thread类,提供了多线程的并发机制;

p.s. 《java基础梳理-朝花夕拾》系列由何东飞根据自己工作几年以来对java的理解梳理而成,笔者闲暇时将持续更新,有不对的地方请各位指教。QQ:983489147

java基础梳理--朝花夕拾(一)的更多相关文章

  1. java基础梳理--朝花夕拾(三)

    1.了解面向对象的编程思想以及面向对象的特性: 对象: EveryThing is Object: 万物皆是对象,在程序中,我们可以将类.接口.方法.属性等都认为是对象: 面向对象: 是一种程序设计方 ...

  2. java基础梳理--朝花夕拾(二)

    1.Java语言语法规则和文件格式: 第一个Java程序:/** 第一个Java程序:控制台输出Hello world!*/public class Test{    //访问修饰符 class关键词 ...

  3. java基础梳理

  4. Java基础梳理(一)

    List和Set比较,各自的子类比较 对比一:Arraylist与LinkedList的比较 1.ArrayList是实现了基于动态数组的数据结构,因为地址连续,一旦数据存储好了,查询操作效率会比较高 ...

  5. java基础知识梳理

    java基础知识梳理 1 基本数据类型

  6. java面试总躲不过的并发(一): 线程池ThreadPoolExecutor基础梳理

    本文核心:线程池ThreadPoolExecutor基础梳理 一.实现多线程的方式 1.继承Thread类,重写其run方法 2.实现Runnable接口,实现run方法 3.实现Callable接口 ...

  7. java后端知识点梳理——java基础

    面向对象 java三大特性 封装: 将事务封装成一个类,达到解耦,隐藏细节的效果.通过get/set等方法,封装了内部逻辑,并保留了特定的接口与外界联系. 继承: 从一个已知的类中派生出一个新的类,新 ...

  8. 黑马程序员——【Java基础】——Java概述

    ---------- android培训.java培训.期待与您交流! ---------- 一.Java语言概述及三大技术架构 1.Java语言概述 Java是SUN公司于1995年推出的一种面向I ...

  9. 【Spring学习】【Java基础回顾-数据类型】

    Java基础回顾过程中,之前对于Java相关基础知识都是从这个人的博客看一些,那边的内容看一下,觉得不够系统化,决定用xmind脑图的形式,将Java基础知识回顾的作为一个系列,当前正在做的会包含: ...

随机推荐

  1. YII 框架在windows系统下的安装

    第一步,下载yiii框架 http://www.yiichina.com 第二步安装: 1.首先需要下载应用模板,分为基础模板和高级应用模板,这里我以高级应用模板为例子 : 去这里现在高级应用模板 h ...

  2. 浏览器报XMLHttpRequest cannot loadxxxxxx

    解决方案 找到浏览器-----右击---属性---加 加上这一句就不会报错--allow-file-access-from-files 加上这一句就不会报错--allow-file-access-fr ...

  3. mysql写shell小技巧

    set global general_log=on;set @file=0x653A2F2F7777772F2F782E706870;set global general_log_file=@file ...

  4. angular中因异步问题产生的错误解决方法

    方法一 private userTaskList(){ let auth = this.make_basic_auth("kermit","kermit"); ...

  5. flask 渲染jinja2模版和传参

    渲染模版(html文件) A.模版文件(html)放入到template目录下,项目启动的时候会从template目录里查找, B.从flask中导入“render_tempalte”函数 C.在视图 ...

  6. 网络编程基础【day09】:socketserver进阶(十)

    本节内容 1.概述 2.多用户并发 3.socketserver.BaseServer 一.概述 之前上一篇写的 day8-socketserver使用 讲解了socketsever如何使用,但是在最 ...

  7. python 管道 事件(Event) 信号量 进程池(map/同步/异步)回调函数

    ####################总结######################## 管道:是进程间通信的第二种方式,但是不推荐使用,因为管道会导致数据不安全的情况出现 事件:当我运行主进程的 ...

  8. Kafka技术内幕 读书笔记之(三) 消费者:高级API和低级API——消费者消费消息和提交分区偏移量

    消费者拉取钱程拉取每个分区的数据,会将分区的消息集包装成一个数据块( FetchedDataChunk )放入分区信息的队列中 . 而每个队列都对应一个消息流( KafkaStream ),消费者客户 ...

  9. Hadoop记录-NameNode优化

    1.NameNode启动过程 加载FSImage: 回放EditLog: 执行CheckPoint(非必须步骤,结合实际情况和参数确定,后续详述): 收集所有DataNode的注册和数据块汇报. 采用 ...

  10. Linux记录- Linux下限制rm -rf /

    操作说明: 为了防止在linux下执行操作的时候误操作rm -rf /,或者rm -rf 一些比较重要的目录,我们做以下操作来限制rm的删除 1.下载源码安装包 https://raw.githubu ...