写在前面的话:

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

第一节: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中的类是根据需要载入的,甚至有些是通过网络获取的。

第二节:Java发展史

  1. 1991年Sun公司准备开发一种类似于有线电视转换盒一样的设备,项目命名为:Green。代码短小紧凑且与平台无关,根据Pascal语言设计出一种虚拟的机器生成中间代码的可移植性语言,即Java虚拟机
  2. 1994年Green项目(First Pascal公司)解散
  3. 1995年5月23日Java在SunWorld上得到演示,伟大的Java语言诞生
  4. 1996年初Sun公司发布Java第一个版本,Java1.0版本却不能实际在开发中应用
  5. 1998年12月发布Java1.2版本(标准版-J2SE-JavaSE),此版本更接近Java的一次编写随处运行理念,三天后发布(微型版-J2ME-JavaME)和(企业版-J2EE-JavaEE)
  6. 2000年发布Java1.3
  7. 2002年发布Java1.4
  8. 2004年Java对语言做出了重大的改进,可以描述是又一重大里程碑,并正式命名为Java5.0版本,并增加泛型、foreach循环、枚举等概念
  9. 2006年发布Java 6 版本
  10. 2009年Sun公司曾经一度辉煌的日不落帝国终于沦陷,被Oracle收购之后Java进入一段停滞期
  11. 2011年发布Java 7 版本
  12. 2014年发布Java 8 版本

第三节: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。

Java第一章----Java概述+环境搭建的更多相关文章

  1. 第一章、Python环境搭建

    一.安装Python解释器 Windows下   Python开发环境搭建 1.官网下载: https://www.python.org/downloads/ 2.选择对应的版本 3.双击运行 4.选 ...

  2. 疯狂java——第一章 java语言概述与开发环境

    J2ME: 主要用于控制移动设备和信息家电等有限存储的设备. J2SE: 整个java技术的核心和基础,它是J2ME和J2EE编程的基础. J2EE: Java技术中应用最广泛的部分,J2EE提供了企 ...

  3. Linux基础入门 第一章:Linux环境搭建——Redhat 6.4图文安装教程

    1.创建新的虚拟机 2.选择自定义 3.选择Workstation 10.0 4.选择稍后安装操作系统 5.选择Red Hat 6 64位 6.对虚拟机命名和选择安装位置 7.选择处理器配置 8.选择 ...

  4. javaSE习题 第一章 JAVA语言概述

    转眼就开学了,正式在学校学习SE部分,由于暑假放视频过了一遍,略感觉轻松,今天开始,博客将会记录我的课本习题,主要以文字和代码的形式展现,一是把SE基础加强一下,二是课本中有很多知识是视频中没有的,做 ...

  5. 20165233 Java第一章学习总结

    20165233 2017-2018-2 <Java程序设计>第一周学习总结 教材学习内容总结 第一章 Java特点:语法简单.面向对象.与平台无关.动态. 字节码不能被任何平台直接识别. ...

  6. “全栈2019”Java第一章:安装JDK11(Mac)

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 文章原文链接 “全栈2019”Java第一章:安装JDK11(Mac) 下一章 “全栈2019”Java ...

  7. 第一章 Java的I/O演进之路

    I/O基础入门 Java的I/O演进 第一章 Java的I/O演进之路 1.1 I/O基础入门 1.1.1 Linux网络I/O模型简介 根据UNIX网络编程对I/O模型的分类,UNIX提供了5中I/ ...

  8. Java基础知识二次学习-- 第一章 java基础

    基础知识有时候感觉时间长似乎有点生疏,正好这几天有时间有机会,就决定重新做一轮二次学习,挑重避轻 回过头来重新整理基础知识,能收获到之前不少遗漏的,所以这一次就称作查漏补缺吧!废话不多说,开始! 第一 ...

  9. 第一章 –– Java基础语法

    第一章 –– Java基础语法 span::selection, .CodeMirror-line > span > span::selection { background: #d7d4 ...

随机推荐

  1. nginx利用反向代理调试后台接口

    1.location 支持配置项目的绝对路径 2.假设我们的后台API地址是以API开头,location ^~ /api/ 代表nginx将会拦截请求地址中包含"/api/"字样 ...

  2. 两行 CSS 代码实现 PNG 任意颜色赋色技术

    很久之前在张鑫旭大大的博客看到过一篇 PNG格式小图标的CSS任意颜色赋色技术,当时惊为天人,感慨还可以这样玩,私底下也曾多次想过有没有其他方法可以实现. 本方法与上面 ZXX 的方法及流传的使用 f ...

  3. 大白话Vue源码系列目录

    .first-level{ font-size: 1.2rem; cursor: default; color: #666; } .second-level{ font-size: 1.1rem; p ...

  4. 升级安装php7要考虑的几个方面

    php7从推出到现在,前两天官方已经发布到7.2版本,把自己升级和安装php7中遇到的问题和解决方法做一个笔记,内容主要包括:1) mysql2) php3) nginx4) memcache扩展5) ...

  5. Spring Boot系列(一) Spring Boot介绍和基础POM文件

    Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.通过 ...

  6. 不同ios系统下mainscreen的applicationFrame和bounds值測试

    打印结果(横屏,3.5寸.若4寸则最后一项对应添加) ios6: 2014-04-26 10:57:12.300 testAccount[18525:907] applicationFrame: {{ ...

  7. 九种迹象表明你该用Linux了

    实际上.你每天都或多或少的不知不觉地在使用Linux系统. 在webserver领域中,Linux是占主导地位的操作系统.包含你如今正在浏览的页面的后台,都是跑在Linux上的.甚至你整天不离手的An ...

  8. MVC Anti-XSS方案

    1:Form提交模式 在使用Form提交时,MVC框架提供了一个默认的机制.如果数据中含有恶意字,则会自动转向出错页面.   2:Ajax+JSON提交模式. MVC框架未提供对于Json数据的Ant ...

  9. 【npm】如何在Atom中安装emmet和atom-beautify插件?

    为了提高编写HTML和CSS的速度,最近尝试着在Atom中安装emmet插件,下面谈谈安装成功的过程 1首先我尝试了网上教程中介绍最多的方法:打开Atom的引导界面(Welcome Guide)中的i ...

  10. .Net 序列化和反序列化SerializerHelper

    开始以为SerializerHelper类是项目中已包含的,后来在别的解决方案中测试代码才发现SerializerHelper类是自己写的. using System; using System.Co ...