初始JAVA

JAVA 帝国的诞生

1972年C诞生

  • 贴近硬件,运行极快,效率极高。
  • 操作系统,编译器,数据库,网络系统等
  • 指针和内存管理

1982年C++诞生

  • 面向对象
  • 兼容C
  • 图形领域、游戏等

java 基础知识储备-LMLPHP

纵使C/C++非常强大,但是页有其不变的一面。其中C语言是很适合初学者作为入门语言的,但是仅仅是入门语言,因为C语言中有两大难处分别为:内存管理指针。很多初学者对于这两个方面真的基于是没得办法了。但是其实不推荐C语言除了其有点难之外,还有一个原因就是因为,C语言虽然官方说能在所有机器上运行,但是要针对每一个机器写对应的库函数,即便是一点点错误也可能导致程序无法执行。C++是面向对象的编程语言,它兼容C语言的一些特性,C++如果说从编程语言和执行速度上来说绝对是一门非常好的语言,但是其门槛相对较高,许多学习者很难完全掌握这门语言。

介于C/C++的原因,就有声音要求建立一门新的语言:

  • 语法有点像C
  • 没有指针
  • 没有内存管理
  • 真正的可移植性,编写一次,到处执行
  • 面向对象
  • 类型安全
  • 高质量的类库
  • ··· ···

那么,它就来了!!!!!

java 基础知识储备-LMLPHP

为了实现跨平台,java增加了一个抽象层,名为虚拟机JVM,在所有的平台上只要安装了JVM,就可以运行java的程序。

Java初生

  • 1995年的网页简单而粗糙,缺乏互动性
  • 图形界面程序(Applet)
  • Bill Gates说:这是迄今为止设计的最好语言!
  • Java 2 标准板(J2SE):去占领桌面
  • Java 2 移动版(JAME):去占领手机
  • Java 2 企业版(J2EE):去占领服务器
  • 大量巨头加入

Java开发了非常多的平台,系统,工具

  • 构建工具:Ant,Maven,Jekins
  • 应用服务器:Tomcat,Jetty,Jboss,Websphere,weblogic
  • Web开发:Struts,Spring,Hibernate,myBatis
  • 开发工具:Eclipse,Netbean,intellij idea,Jbuilder
  • ··· ···

2006年:Hadoop(大数据领域)

2008年:Android(手机端)

Java 特性和优势

  1. 简单性

    语法基于C语言,而且没有指针和内存管理,更容易掌握

  2. 面向对象

    1. 万物皆对象
  3. 可移植性

    1. 写一次可以在多个设备上运行。可以跨平台运行。
  4. 高性能

  5. 分布式

  6. 动态性

    1. Java本身不具有动态性,但是Java具有的反射机制,通过这个机制使Java具有动态性
  7. 多线程

    1. Java支持多线程,多线程也是使Java成为服务器端成为主流发开语言的原因之一。
  8. 安全性

  9. 健壮性

java成功的原因,除了自身实力过硬外还有运气因素。踩中了互联网发展的趋势。

JDK JRE JVM

Write Once、Run Anywhere 编写一次可以在任何地方运行

Java的三大版本

JavaSE:标准版(桌面程序,控制台开发···)

​Java的基础和核心

JavaME:嵌入式开发(手机,小家电···)基本mo了

JavaEE:E企业级开发(web端,服务器开发···)

​学号JavaE的基础,要首先打牢SE的基础


JDK: Java Development Kit(Java开发者工具)

​JDK最外部的大圈,包含了JRE和JVM,还包含了一些自己的工具用于程序开发,Javac编译和运行Java,Javadoc将Java的一些东西生成文档,jar可以将Java打包成应用··· ···

JRE:java Runtime Environment(Java运行时环境)

​包含Java虚拟机,Java的一些库和Applet所需的一些文件,JDK包含JRE相当于是父亲级别的,我们只需要下载JDK即可因为里面包含JRE。

JVM:java Virtual Machine(Java虚拟机)

​可以用软件来实现也可以用硬件来实现。相当于在所有的操作系统上模拟了一颗CPU来处理Java相关的东西。有两种运行方式:一种为解释型,一种为编译型。Java的跨平台核心就是引用了JVM。通过虚拟机来屏蔽了操作系统的区别真正实现了一次编译,到处运行。

java 基础知识储备-LMLPHP

Java搭建开发环境

工欲善其事必先利其器,下面就来搭建开发环境。

JDK的下载安装

Java现在属于ORACLE,JDK下载连接

下载到的版本可自行选择,当然要对应自己的操作系统,这里我是以windows操作系统为例。目前下载JDK需要注册ORACLE的账号,注册就行了。

java 基础知识储备-LMLPHP

尽量下载JDK8、7,目前企业中用的最多的就是这两个版本,因为新的版本可能不太稳定。这和Windows版本选择一样,要选择稳定的版本使用。只需要了解新版本有什么特性就行了。

下载后会发现是一个exe可执行文件,直接双击安装即可。

再安装过程中会出现有一个下一步,下一步之后会有一个安装到电脑中的哪一个位置,建议安装到一个好找的地方。

设置好之后确定点击下一步。等待安装完成,然后关闭

设置环境变量

  1. 我的电脑--右键点击属性---选则高级系统设置--点击环境变量

  2. 我们要在系统环境变量配置--点击下面的新建

  3. 变量名:JAVA_HOME

  4. 变量值:为刚在安装的JDK文件夹的路径,然后点击确定

  5. 配置path变量,在系统变量中找到path,点击进去后点击新建

  6. 然后后输入%JAVA_HOME%\bin

  7. 然后再新建一个,输入%JAVA_HOME%\jar\bin

  8. 然后全部确定

  9. 检测是否安装成功,打开CMD输入java -version回车如果打印了Java的版本,表明打印成功

    windows+r键打开放大镜

java 基础知识储备-LMLPHP

java 基础知识储备-LMLPHP

JDK卸载操作

  1. 删除Java的安装目录
  2. 删除JAVA_HOME
  3. 删除path下关于Java的目录
  4. 在doc窗口下 java -version查看是否真正删除

Hello World

程序猿的第一声呐喊:Hello World!

  1. 新建文件夹,存放代码
  2. 新建一个java文件
    1. 文件后缀名为.java
    2. Hello.java
  3. 编写代码
public class Hello{//类 Hello为类名 public为修饰符
	public static void main(String[] args){//main为主方法程序必须通过main方法执行 其前面的为修饰符和关键字
		System.out.print("Hello World!");//输出Hello World!
	}
}

java 基础知识储备-LMLPHP

首先Java再运行文件的时候,都需要将文件编译成字节码文件在执行。

可能遇到的问题:

  1. 每个单词的大小写不能出现问题:Java大小写敏感
  2. 尽量使用英文
  3. 文件名和类名(类名就是class后面的名字)必须保证一致,并且首字母大写。
  4. 符号使用了中文,会报错,一定要注意。

Java程序运行机制

计算机的高级编程语言分为两种,分别为:

  1. 编译型(complie )
    1. 就是将程序整体的编译,如果代码文件有部分改动,也需要重新编译整段代码。操作系统一般使用的都是编译型。C/C++也都是编译型
  2. 解释型
    1. 就是代码再编写的过程中写一句编译一句。比如网页对速度要求不高,就可以使用解释型边执行边解释。Java script也是属于解释型语言。
  3. 这两种编译方法各有好处不能说谁好谁坏。

Java那即属于编译型又属于解释性。

随着技术的发展计算机的性能提高,解释型和编译型的界限与来越模糊。

程序运行机制

java 基础知识储备-LMLPHP

IDEA安装和介绍

IDEA官网

什么是IDE Ecslipes ... IDEA (java的开发工具)

​集成开发环境(IDE,Integrated Development Environment)是用与提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具,集成了代码编写功能、分析功能、编译功能、调试功能等一体化开发软件服务套,所有具备这一特性的软件或者软件套组都可以叫集成开发环境。

IDEA介绍

在业界被认为是最好的开发环境。

java 基础知识储备-LMLPHP

直接搜索IDEA即可进入官网。上面也设置了传送门。

安装步骤:

  1. 下载好后双击即可安装

  2. 直接NEXT然后选择安装路径,不推荐安装路径中含有中文。然后NEXT。然后会弹出以下界面:按照图中的选项勾选。

  3. java 基础知识储备-LMLPHP

  4. 然后如果你下的为专业版可能会需要添加验证码,当然也可以选择试用30天。也可以百度破解(不推荐)。

  5. 安装后就可以打开正常使用了。

安装好后可以在百度搜索:IDEA优化(看个人爱好)

04-02 07:12