我肝了一个月,给你写出了这本Java开发手册。

我肝了一个月,给你写出了这本Java开发手册。

这是程序员cxuan的第四篇硬核分享java

先来看一下本篇文章的思惟导图吧,我会围绕下面这些内容进行讲解。内容很干,小伙伴们看完还但愿不吝转发。(高清思惟导图版本关注做者公众号 Java建设者 回复 Java666 获取,其余思惟导图获取方式在文末)。
我肝了一个月,给你写出了这本Java开发手册。程序员

下面开始咱们的文章。编程

Java 概述

什么是 Java?安全

Java 是 Sun Microsystems 于1995 年首次发布的一种编程语言和计算平台。编程语言还比较好理解,那么什么是 计算平台 呢?多线程

“计算平台是在电脑中运行应用程序(软件)的环境,包括硬件环境和软件环境。通常系统平台包括一台电脑的硬件体系结构、操做系统、运行时库。框架

Java 是快速,安全和可靠的。从笔记本电脑到数据中心,从游戏机到科学超级计算机,从手机到互联网,Java 无处不在!Java 主要分为三个版本编程语言

  • JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版)
  • JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平台企业版)
  • JavaME(J2ME)(Java 2 Platform Micro Edition,java平台微型版)。

Java 的特色ide

Java 是一门面向对象的编程语言性能

什么是面向对象?面向对象(Object Oriented) 是一种软件开发思想。它是对现实世界的一种抽象,面向对象会把相关的数据和方法组织为一个总体来看待。编码

相对的另一种开发思想就是面向过程的开发思想,什么面向过程?面向过程(Procedure Oriented) 是一种以过程为中心的编程思想。举个例子:好比你是个学生,你天天去上学须要作几件事情?

起床、穿衣服、洗脸刷牙,吃饭,去学校。通常是顺序性的完成一系列动做。

class student {
  void student_wakeUp(){...}
   void student_cloth(){...}
   void student_wash(){...}
   void student_eating(){...}
   void student_gotoSchool(){...}
}

而面向对象能够把学生进行抽象,因此这个例子就会变为

class student(){
   void wakeUp(){...}
   void cloth(){...}
   void wash(){...}
   void eating(){...}
   void gotoSchool(){...}
}

能够不用严格按照顺序来执行每一个动做。这是特色一。

  • Java 摒弃了 C++ 中难以理解的多继承、指针、内存管理等概念;不用手动管理对象的生命周期,这是特征二。
  • Java 语言具备功能强大和简单易用两个特征,如今企业级开发,快速敏捷开发,尤为是各类框架的出现,使 Java 成为愈来愈火的一门语言。这是特色三。
  • Java 是一门静态语言,静态语言指的就是在编译期间就可以知道数据类型的语言,在运行前就可以检查类型的正确性,一旦类型肯定后就不能再更改,好比下面这个例子。
public void foo() {
    int x = 5;
    boolean b = x;
}

静态语言主要有 Pascal, Perl, C/C++, JAVA, C#, Scala 等。

相对应的,动态语言没有任何特定的状况须要指定变量的类型,在运行时肯定的数据类型。好比有Lisp, Perl, Python、Ruby、JavaScript 等。

从设计的角度上来讲,全部的语言都是设计用来把人类可读的代码转换为机器指令。动态语言是为了可以让程序员提升编码效率,所以你可使用更少的代码来实现功能。静态语言设计是用来让硬件执行的更高效,所以须要程序员编写准确无误的代码,以此来让你的代码尽快的执行。从这个角度来讲,静态语言的执行效率要比动态语言高,速度更快。这是特色四。

  • Java 具备平台独立性和可移植性

Java 有一句很是著名的口号:Write once, run anywhere,也就是一次编写、处处运行。为何 Java 可以吹出这种牛批的口号来?核心就是 JVM。咱们知道,计算机应用程序和硬件之间会屏蔽不少细节,它们之间依靠操做系统完成调度和协调,大体的体系结构以下

我肝了一个月,给你写出了这本Java开发手册。

那么加上 Java 应用、JVM 的体系结构会变为以下

我肝了一个月,给你写出了这本Java开发手册。

Java 是跨平台的,已编译的 Java 程序能够在任何带有 JVM 的平台上运行。你能够在 Windows 平台下编写代码,而后拿到 Linux 平台下运行,该如何实现呢?

首先你须要在应用中编写 Java 代码;

用 Eclipse 或者 javac 把 Java 代码编译为 .class 文件;

而后把你的 .class 文件打成 .jar 文件;

而后你的 .jar 文件就可以在 Windows 、Mac OS X、Linux 系统下运行了。不一样的操做系统有不一样的 JVM 实现,切换平台时,不须要再次编译你的 Java 代码了。这是特色五。

  • Java 可以容易实现多线程

Java 是一门高级语言,高级语言会对用户屏蔽不少底层实现细节。好比 Java 是如何实现多线程的。从操做系统的角度来讲,实现多线程的方式主要有下面这几种

在用户空间中实现多线程

在内核空间中实现多线程

在用户和内核空间中混合实现线程

而我认为 Java 应该是在 用户空间 实现的多线程,内核是感知不到 Java 存在多线程机制的。这是特色六。

  • Java 具备高性能

咱们编写的代码,通过 javac 编译器编译称为 字节码(bytecode),通过 JVM 内嵌的解释器将字节码转换为机器代码,这是解释执行,这种转换过程效率较低。可是部分 JVM 的实现好比 Hotspot JVM 都提供了 JIT(Just-In-Time) 编译器,也就是一般所说的动态编译

相关文章
相关标签/搜索