写在前面的话:

  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. java 邮件发送的公共方法

    protected static String host = "true"; protected static String auth = "smtp.163.com&q ...

  2. Win10系统下的Tomcat7.0配置

    为什么不用更高版本的Tomcat呢?好几个老师都说7.0的版本最好用,所以就推荐用这个.安Tomcat之前,我电脑上装的是jdk 9,安装了好几次Apache都不能启动,日志显示的是"启动报 ...

  3. Android - shape圆形画法(oval)

    shape圆形画法(oval) 本文地址: http://blog.csdn.net/caroline_wendy 1. 创建一个目录drawable, 用于存放xml类型的图片资源; 2. 在dra ...

  4. Linux下实现视频读取(三)---Buffer的准备和数据读取

    前面主要介绍的是:V4L2 的一些设置接口,如亮度,饱和度.曝光时间,帧数,增益.白平衡等.今天看看V4L2 得到数据的几个关键ioctl,Buffer的申请和数据的抓取. 1. 初始化 Memory ...

  5. quick-cocos2d-x教程1:在window上创建第一个项目文件夹,并制作helloworld

    说明:此教程是针对cocos2dx 2.0系列的,3.0的版本号,如今还没有公布出来. 1)首先从github.com把这个项目下载到本地.然后装到d盘的根文件夹,并设置文件夹路径为d:\quick- ...

  6. orale 查询每年、每月、每日统计量的sql语句

    每年 select to_char(createtime, 'YYYY') 年, count(*) from table  group by to_char(createtime, 'YYYY'); ...

  7. hdu5353 Average

    Problem Description There are n soda sitting around a round table. soda are numbered from 1 to n and ...

  8. 自学Zabbix3.8.3-可视化Visualisation-Screens

    自学Zabbix3.8.3-可视化Visualisation-Screens 在Zabbix屏幕上,您可以将来自不同来源的信息分组,以快速浏览单个屏幕.构建屏幕非常简单直观.本质上,屏幕是一个表.您可 ...

  9. 自学Python5.3-内置模块(1)

    内置模块(1)内置模块是Python自带的功能,在使用内置模块相应的功能时,需要  先导入 再 使用  1.OS模块       用于提供系统级别的操作: os.getcwd() 获取当前工作目录,即 ...

  10. python小整数与str数据池,编码关系

    1.小数据池:数字,字符串 数字的范围-5 ---256 字符串:1,不能有特殊字符 2,s*20 还是一个地址,s*21以后都是两个地址 2.编码关系:ascii A : 00000010 8位 一 ...