第一章----Java概述+环境搭建

Java基础的东西看过好几遍,但是过一段都就忘记了,所以这次我决定花费一些时间整理一个系列博客供以后方便查阅。此系列根据Java编程思想+Java核心技术两本书整理而来,这两本书也是我极力推荐大家看的两本,因为每次看都有不同的收获,两本横向看相辅相成定会让你受益匪浅,好了敬请期待吧!

Java

1. Java简介

Java是由Sun公司在1995年5月推出的一种面向对象的编程语言,极好的实现了面向对象理论,更加注重对象的本身不用太关注事件的过程。

Java通过Java编程语言+Java类格式文件+Java虚拟机+Java应用程序接口四部分组成,我们通过IDE定义不同的类文件,通过调用类的方法(Java API)来访问资源系统,把源文件编译成.class的文件,通过Java虚拟机运行该文件。

Java白皮书

  • 简单性:语法简单易懂,剔除C++中难以理解的头文件指针等,类库小,但随着类库的增加和线程的支持大小有所增加 面向对象:更关注对象的本身,而不需要太关注实现的过程。

  • 网络技能:Java的网络能力简单且易于使用,用于处理像http或ftp之类的TCP/IP协议,允许通过URL打开或访问网络上的对象。

  • 健壮性:Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。Java采用指针模型可以消除重写内存和损坏数据的可能性,Java不需要使用指针构造字符串数组等机构,但如果必要Java也具有指针能力如:链表。

  • 安全性:Java没有指针,所以程序员不能得到隐蔽起来的内幕和伪造指针去指向存储器。更重要的是,Java编译程序不处理存储安排决策,所以程序员不能通过查看声明去猜测类的实际存储安排。编译的Java代码中的存储引用在运行时由Java解释程序决定实际存储地址。

  • 可移植性:Java使得语言声明不依赖于实现的方面。例如,Java显式说明每个基本数据类型的大小和它的运算行为(这些数据类型由Java语法描述)。Java环境本身对新的硬件平台和操作系统是可移植的。Java编译程序也用Java编写,而Java运行系统用ANSIC语言编写。

  • 解释性:Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。

  • 高性能:Java程序可以在任何实现了Java解释程序和运行系统(run-time system)的系统上运行。

  • 多线程:多线程可以带来更好的交互响应和用户行为。

  • 动态性:Java语言设计成适应于变化的环境,它是一个动态的语言。例如,Java中的类是根据需要载入的,甚至有些是通过网络获取的。

2. Java发展史

1991年Sun公司准备开发一种类似于有线电视转换盒一样的设备,项目命名为:Green。代码短小紧凑且与平台无关,根据Pascal语言设计出一种虚拟的机器生成中间代码的可移植性语言,即Java虚拟机。

1994年Green项目(First Pascal公司)解散。

1995年5月23日Java在SunWorld上得到演示,伟大的Java语言诞生。

1996年初Sun公司发布Java第一个版本,Java1.0版本却不能实际在开发中应用。

1998年12月发布Java1.2版本(标准版-J2SE-JavaSE),此版本更接近Java的一次编写随处运行理念,三天后发布(微型版-J2ME-JavaME)和(企业版-J2EE-JavaEE)。

2000年发布Java1.3。

2002年发布Java1.4。

2004年Java对语言做出了重大的改进,可以描述是又一重大里程碑,并正式命名为Java5.0版本,并增加泛型、foreach循环、枚举等概念。

2006年发布Java 6 版本。

2009年Sun公司曾经一度辉煌的日不落帝国终于沦陷,被Oracle收购之后Java进入一段停滞期。

2011年发布Java 7 版本。

2014年发布Java 8 版本。

3. Java开发环境搭建。

JDK(Java Development Kit):编写Java程序的程序员使用的软件。

JRE:运行Java程序使用的软件。

IDE:集成开发环境如:eclipse、idea等。

JDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html。注:安装默认路径是Program Files下面,最好把路径换掉或者把空格换掉,以避免不必要的麻烦。

目录结构

  • bin:编译器和工具

  • db:Java开发的关系型数据库文件

  • include:用于编译本地方法的文件

  • javafx-src:JavaFX脚本是一种声明式、静态类型编程语言

  • jre:Java运行环境文件

  • lib:类库文件

  • src:类库源文件

环境变量配置

  • JAVA_HOME:D:\Java\jdk1.8.0_31 它指向jdk的安装目录,Eclipse/NetBeans/Tomcat等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk。

  • PATH:%JAVA_HOME%\bin; 作用是指定命令搜索路径,在命令行下面执行命令如javac编译java程序时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等待,设置好PATH变量后,就可以在任何目录下执行javac/java等工具了。

  • CLASSPATH:.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar 作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPATH来寻找类的。我们需要把jdk安装目录下的lib子目录中的dt.jar和tools.jar设置到CLASSPATH中,当然,当前目录“.”也必须加入到该变量中。

环境变量验证

  • CMD验证:输入Java -version 然后回车控制台输出jdk版本号说明安装成功。

  • 新建HelloWorld.java文件,进入相应目录输入javac HelloWorld.java 然后回车,然后输入java HelloWorld 然后回车控制台输出Hello World 说明环境变量配置成功。

注:javac程序是Java的编译器,它将HelloWorld.Java编译成HelloWorld.class文件并发送到Java虚拟机,虚拟机执行编译器放在class文件中的字节码。

注:编译时需要提供待编译的文件需要后缀名即:HelloWorld.java,而运行时只需要制定类名就可以了,不需要带后缀即:HelloWorld。


不积跬步,无以至千里

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,204评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,091评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,548评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,657评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,689评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,554评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,302评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,216评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,661评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,851评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,977评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,697评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,306评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,898评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,019评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,138评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,927评论 2 355