Java入门知识点

  • Java入门知识点
    • Java的起源与演变
      • Java的起源
      • Java的演变
    • Java 体系与特点
      • Java体系
      • Java能做什么
      • Java的特性
    • Java 跨平台原理
      • Java 技术的两种核心机制
      • Java 虚拟机(JVM)
      • 垃圾回收器(GC)
    • 什么是程序?
    • Java 程序开发的三个步骤

Java入门知识点

Java的起源与演变

Java的起源

 20 世纪 90 年代,单片式计算机系统诞生,单片式计算机系统不仅廉价,而且功能强大,使用它可以大幅度提升消费性电子产品的智能化程度。
SUN 公司为了抢占市场先机,在 1991 年成立了一个由詹姆斯·高斯林
(James   Gosling)领导,名为“Green”项目小组,目的是开发一种能够在各种消费性电子产品上运行的程序架构。
那么使用何种编程语言来设计,是项目小组头疼的事。当时 C++较为有优势的,项目小
组首先考虑的是采用它来编写程序,但 C++过于复杂和庞大,再加上由于消费电子产品
所采用的嵌入式处理器芯片的种类繁杂,需要让编写的程序跨平台运行,假如用 C++编
写的话对程序的跨平台运行不友好。
最后项目小组决定:既不用 C++编写,也不开发全新的编程语言,而是对 C++进行改
造:去除了 C++复杂的指针和内存管理,并结合嵌入式系统的实时性要求,最终在
1992 年,他们开发了一种名为“Oak”的面向对象语言。
科当他们在向硬件生产商进行演示的时候,硬件生产商对此并不感冒,OaK 语言因为缺
乏硬件的支持而无法进入市场,从而被搁置一旁。
1994 年,项目小组看到了浏览器在未来的发展前景,于是决定将 OaK 应用于万维网。1995 年,他们用 OaK 语言研发了一种能将小程序嵌入到网页中执行的技术——
Applet,由于 Applet 不仅能嵌入网页,还可随同网页在网络上进行传输,
这让无数的程序员看到了 OaK 这门语言,与此同时,OaK 正式更名为 Java。
从此,Java 在互联网的推动下火了。

Java的演变

1996年 1 月,SUN 公司推出了 JDK1.0。在 JDK1.0 发布后,有很多程序员学习并运用
Java 来制作网页,JDK 包括两大部分:开发工具和运行环境。
运行环境包括核心 API、集成 API、用户界面 API、发布技术、Java 虚拟机(JVM)。
JDK1.0 的发布,标志着 Java 成为一种独立的开发工具。在同年 9 月,约有 8.3 万个网页
应用了 Java 技术来制作。
JDK1.0 的代表性技术有:Java 虚拟机、Applet、AWT 等。
1997    年 2 月,SUN 公司紧接着推出了 JDK 1.1,在推出后 3 周时间里,达到了近 22 万次的下载量。
1997年4 月 2 日,首届 Java One 大会在美国旧金山召开,参加会议的人超过一万人,创造了当时全球同类会议规模最高的纪录。9 月,Java Developer Connection 社区成员超过 10 万,同年还有 10 个最主要的操作系统供应商正式声明将在他们的产品中使用 Java。
JDK1.1 的代表性技术有:JDBC、JavaBeans、RMI、JAR 文件格式、Java 语法中的内部类和反射。
1998年 12 月 8 日,JDK1.2——第二代 Java 平台的企业版 J2EE 发布。
1999年 6 月,Sun 公司把 Java 体系分为三个方向:
J2ME(Java2 Micro Edition,Java2 平台的微型版),应用于移动、无线及有限资源的环境;
J2SE(Java 2 Standard Edition,Java 2 平台的标准版),应用于桌面环境;
J2EE(Java 2Enterprise Edition,Java 2 平台的企业版),应用于基于 Java 的应用服务器。
随着供应商的不同,Java 的 API 也分为三大类:
Java Core API:Java 核心类库;
Java Optional API:对之前 API 的扩充;
特殊 API:由特殊厂商或组织提供的 API。
Java 2 平台的发布,是 Java 发展过程中最重要的一个里程碑,标志着 Java 的应用开始普及。
JKD1.2 的代表性技术有:Swing、Java IDL、EJB、Java Plug-in 等,在 API 文档中,添加了 strictfp 关键字和 Collections 集合类。
1999年 4 月 27 日,HotSpot 虚拟机发布。HotSpot 是由一家叫“Longview Technologies”的小公司开发的,后来被 SUN 公司收购。HotSpot 虚拟机发布时是作为
JDK 1.2 的附加程序提供的,后来它成为了 JDK 1.3 及之后所有版本的 Sun JDK 的默认虚拟机。
2018年 9 月 26 日,Java SE 11 发布。这是 Java 大版本周期变化后的第一个长期支持版本(LTS 版本持续支持到 2026 年 9 月)。Java11 带来了 ZGC、Http Client 等重要特性,一共包含 17 个 JEP(JDK Enhancement Proposals,JDK 增强提案)。

Java 体系与特点

Java体系

Java SE:Java Platform,Standard Edition
标准版:各应用平台的基础,桌面开发和低端商务应用的解决方案。
Java EE:Java Platform,Enterprise Edition
企业版:以企业为环境而开发应用程序的解决方案
Java ME :Java Platform, Micro Edition
微型版:致力于消费产品 和嵌入式设备的最佳解决方案

Java能做什么

开发桌面应用程序银行软件、商场结算软件
开发面向 Internet 的 web 应用程序门户网站(工商银行)、网上商城、阿里巴巴、电子商务网站
提供各行业的解决方案金融、电信、电力...
嵌入式开发移动电话、可视电话、数字机顶盒和汽车导航系统

Java的特性

一种纯面向对象的编程语言。
一种与平台无关(跨平台)的语言。(它提供了在不同平台下运行的解释环境)
一种健壮的语言,吸收了 C/C++语言的优点。
有较高的安全性。(自动回收垃圾,强制类型检查,取消指针)

Java 跨平台原理

Java 技术的两种核心机制

Java 虚拟机(Java Virtual Machine) JVM
垃圾回收器((Garbage Collection)GC

Java 虚拟机(JVM)

JVM 可以理解成一个可运行 Java 字节码的虚拟计算机系统1.它有一个解释器组件,可以实现 Java 字节码和计算机操作系统之间的通信2.对于不同的运行平台,有不同 的 JVM。3.JVM 屏蔽了底层运行平台的差别,实现了“一次编译,随处运行”。

垃圾回收器(GC)

不再使用的内存空间应当进行回收-垃圾回收。
在 C/C++等语言中,由程序员负责回收无用内存。
Java 语言消除了程序员回收无用内存空间的责任:
JVM 提供了一种系统线程跟踪存储空间的分配情况。并在 JVM 的空闲时,检查并释放
那些可以被释放的存储空间。
垃圾回收器在 Java 程序运行过程中自动启用,程序员无法精确控制和干预。

什么是程序?

程序一词来自生活,通常指完成某些事务的一种既定方式和过程
在日常生活中,可以将程序看成对一系列动作的执行过程的描述
**计算机中的程序**
为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令(即命令)的集合
**Java 程序的类型**命今行程序GUI 程序Applet 程序J2EE web 应用程序

Java 程序开发的三个步骤

Java小结|Java入门知识点相关推荐

  1. 【JAVA】基础入门知识点回顾

    1. public static String与 public static final String的差异 String 为不可变对象,一旦产生,就不可以改变其值. public static St ...

  2. 呕心沥血整理的Java零基础入门到精通全套知识点教程

    学习 Java,我将会从三个阶段来介绍,分为初级.中级和高级 计算机基础 计算机基础都包括哪些呢? 计算机组成原理.操作系统.计算机网络.数据结构与算法. 计算机组成原理 先说计算机组成原理,这部分内 ...

  3. Java 基本功之(一)入门知识点

    转载自https://github.com/Snailclimb/JavaGuide/blob/master/docs/java/basis/Java%E5%9F%BA%E7%A1%80%E7%9F% ...

  4. 迅速学java——100条小知识点快速入门

    1.首先java是一种高级语言是一个面向对象的编程语言同时最重要的是它的可移植性. 2.java语言的产生及发展历史,由James Gosling领导的小组在Sun公司开发,发展主要用于开发可嵌入家电 ...

  5. 《Java 开发从入门到精通》—— 2.2 编写第一段Java程序

    本节书摘来异步社区<Java 开发从入门到精通>一书中的第2章,第2.2节,作者: 扶松柏 , 陈小玉,更多章节内容可以访问云栖社区"异步社区"公众号查看. 2.2 编 ...

  6. JAVA WEB快速入门之从编写一个JSP WEB网站了解JSP WEB网站的基本结构、调试、部署...

    接上篇<JAVA WEB快速入门之环境搭建>,在完成了环境搭建后(JDK.Tomcat.IDE),现在是万事具备,就差写代码了,今天就来从编写一个JSP WEB网站了解JSP WEB网站的 ...

  7. Java学习从入门到精通

    Java Learning Path (一).工具篇 一. JDK (Java Development Kit) JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envi ...

  8. 大白话说Java反射:入门、使用、原理,BAT 面试官 如何面试

    写在最前面,我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家.扫码加微信好友进[程序员面试学习交流群],免费领取.也欢迎各位一起在群里探讨技术. 文章 ...

  9. 创建的maven子项目怎么访问接口404_【经验分享】新手学Java编程语言怎么入门?...

    新手学Java编程语言怎么入门?掌握语言基础是第一步,了解java基础知识,Java关键字.核心概念或者基本编码技术.掌握操作符.控制执行流程.访问权限控制.复用类.多态.接口.字符串.泛型.数组.容 ...

最新文章

  1. spring+hibernate的配置
  2. Cosmos OpenSSD--greedy_ftl1.2.0(一)
  3. 可重入锁 不可重入锁_什么是可重入锁?
  4. linux 空硬盘,linux – dd在整个磁盘上,但不想要空的部分
  5. 按钮、菜单的重绘代码
  6. 基于SSM校园一卡通管理系统
  7. python大众点评霸王餐_大众点评-每天自动抽取霸王餐
  8. ps界面为啥突然变大了_【新手必看】使用PS绘画需要学会哪些基本操作?
  9. 手机投屏到电脑的5种方式,你学到了吗!
  10. UG二次开发GRIP成品工具
  11. 已知经纬度自动在地图上标点
  12. php实现微信一键登录,PHP如何实现微信的授权登录
  13. 周志华教授:如何做研究与写论文?
  14. 数据可视化--物流大数据服务平台
  15. AcWing 1113. 红与黑【《信息学奥赛一本通》】【DFS】【BFS】【Flood Fill】
  16. aria2c指定下载存储路径的一个问题(可能不算bug)
  17. ArcBlock ⑨ 月报 | 稳步向前 创建未来
  18. 读书感受 之 《AI·未来》
  19. 真机调试Error type 3 Error: Activity class {com.example.xxxxxx/com.example.xxxx}does not exist
  20. Mykernel 第二周实验报告

热门文章

  1. Minecraft 1.16.5模组开发(三十八) 3D盔甲(新)
  2. 阿里云AI训练营-数据分析入门:利用Pandas分析美国总统选举
  3. 二维数组_A_2020美国大选Trump VS Biden
  4. Arcgis水文分析模块小流域划分流程
  5. GitHub开源:SQLite 增强组件 Sheng.SQLite.Plus
  6. 计算机基础知识测试试题及答案,【精品免费】计算机基础知识考试试题及答案...
  7. php 剪贴板,windows中剪贴板是指
  8. 华为3COM路由器交换机配置命令详解
  9. 目标检测YOLO实战应用案例100讲-基于深度学习的红外目标检测研究与应用
  10. 19数字媒体技术1班 刘增千PS笔记5