写在前面的话:

  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. 关于 AspNet Core 的配置文件 与VS2017 安装

    下面链接 是VS2017 安装EXE 我现在装过了就不去截图演示了,有哪位不理解的可以@我. 链接:https://pan.baidu.com/s/1hsjGuJq 密码:ug59 1.今天我给大家带 ...

  2. jumpserver 堡垒机环境搭建(图文具体解释)

    Jumpserver 是一款由python编写开源的跳板机(堡垒机)系统,实现了跳板机应有的功能.基于ssh协议来管理,客户端无需安装agent. 特点: 全然开源,GPL授权 Python编写.容易 ...

  3. Unity游戏中使用贝塞尔曲线

    孙广东   2015.8.15 比方在3D rpg游戏中.我们想设置弹道,不同的轨迹类型! 目的:这篇文章的主要目的是要给你关于在游戏怎样使用贝塞尔曲线的基本想法. 贝塞尔曲线是最主要的曲线,一般用在 ...

  4. 《Android源代码设计模式解析与实战》读书笔记(十四)

    第十四章.迭代器模式 迭代器模式,又叫做游标模式.是行为型设计模式之中的一个.我们知道对容器对象的訪问必定会涉及遍历算法.我们能够将遍历的方法封装在容器中,或者不提供遍历方法,让使用容器的人自己去实现 ...

  5. IEEE Trans 2007 Signal Recovery From Random Measurements via OMP

    看了一篇IEEE Trans上的关于CS图像重构的OMP算法的文章,大部分..看不懂,之前在看博客的时候对流程中的一些标号看不太懂,看完论文之后对流程有了一定的了解,所以在这里解释一下流程,其余的如果 ...

  6. Java项目中使用Redis缓存案例

    缓存的目的是为了提高系统的性能,缓存中的数据主要有两种: 1.热点数据.我们将经常访问到的数据放在缓存中,降低数据库I/O,同时因为缓存的数据的高速查询,加快整个系统的响应速度,也在一定程度上提高并发 ...

  7. Mybatis中如何将POJO作为参数传入sql

    今天在工作时,需要将获取的用户的注册信息插入数据库,开始的做法是将所有的model的属性作为DAO接口的参数,后来想想不对劲,要是有100个属性,那我这个接口岂不是要有100个参数传进来? 于是我就考 ...

  8. log4j配置文件详解(转)

    Log4J的配置文件(Configuration File)就是用来设置记录器的级别.存放器和布局的,它可接key=value格式的设置或xml格式的设置信息.通过配置,可以创建出Log4J的运行环境 ...

  9. jsp的标签库和自定义标签

    1.jstl标签库 JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签. ...

  10. 项目管理: Alpha,Beta,RC,GA,Release

    Alpha:                    Alpha是内部测试版,一般不向外部发布.也可以认为是演示版本.允许存在一定的问题(例如功能组合.异常流程处理.稳定性.性能存在部分问题)      ...