1)Java有三个发展方向,分别是Java SE,Java EE,Java ME。以下简要介绍。

a.Java SE,Java Standard Edition(java标准版),包含了构成java语言的核心类。是Java EE和Java ME的基础。

b. Java ME,java用于嵌入式系统开发的时候使用。

c.Java Enterprise Edition(java企业级版),用于开发企业级应用,构建于Java SE的基础之上。

2)java程序分类两种,一种是Application程序,另外一种就是Applet程序,其中有main方法的程序主要都是Application程序,而Applet程序只要应用在网页编程上。有main方法的程序就是Application程序。

3)java所谓的“一次编写,多处运行”,依赖的是JVM,也就是虚拟机。虚拟机是在物理机的上层模拟出一个虚拟的计算机,在这个虚拟机里解释执行.class文件,也就是java字节码(与平台无关)。所以可以说Java既是编译型语言,又是解释型语言。.java源文件通过伪编译为.class文件,然后在JVM中解释执行.class文件。

4)java开发环境搭建。

a.首先是从官网上下载JDK,安装完成之后会发现安装目录下有两个文件夹,分别是jdk和jre。如下所示:

jdk=jre+命令行工具,所以可以看到jdk1.8.0_60目录下还有个jre的文件夹,如下所示:

这个jre目录中的内容和jre_1.8.0_60基本相同。那么,jdk比jre多出的命令行工具是什么呢?

工具在jre的bin目录下,但是我们不能直接使用,需要配置环境变量之后才可以直接使用。

b.按照网上的教程,需要配置三个变量值,分别是:JAVA_HOME,Path,CLASSPATH。其中,JAVA_HOME就是jdk对应的安装目录,这里为:

接下来是Path的配置,配置Path的作用就是可以直接使用java的提供的命令行工具,就像"java","javac","jar",配置如下:

这样一来,我们就可以在命令行中直接使用jdk提供的命令行工具了,在jdk1.8.0_60/bin,以及jdk1.8.0_60/jre/bin都要命令行工具,所有增加了两个Path值。

classpath的配置如下:

.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

classpath主要指的是类的运行路径,当我们使用java命令执行.class文件时(java test),会在本地启动一个JVM,JVM在运行时需要加载所需要的类,这个时候我们就需要使用classpath来获得test类文件的路径,获得了test的路径之后,JVM就开始执行test中的代码。

当我们使用java命令运行类文件时,一般是切换到类文件所在的目录,然后"java test"运行程序,所以我们给classpath的一个配置值是“.”,表示“当前目录”。另外,我们在书写程序的时候,都要用到java提供的各种基础类,因此我们将这些基础类的路径也配置到classpath中,因此就有了“%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar”。

总而言之一句话,JVM运行时,通过classpath找到各个类的路径,进而执行程序。之前也写个关于classpath的理解,可以拿来参考。

http://www.cnblogs.com/lz3018/p/5149950.html

Java概述--Java开发实战经典的更多相关文章

  1. 《Java web 开发实战经典》读书笔记

    去年年末,也就是大四上学期快要结束的时候,当时保研的事情确定了下来,终于有了一些空闲的时间可以学点实用的技术. 之前做数据库课程设计的时候,也接触过java web的知识,当时做了一个卖二手书籍的网站 ...

  2. 阅读《名师讲坛--Android开发实战经典》

    一,专心,快速阅读一本书,直到深入理解,把书读厚,再读薄,你定会有收获. 二,20171214开始阅读<名师讲坛--Android开发实战经典>,但愿自己有所收获.从今天开始养成刻录学习写 ...

  3. Java Web整合开发实战:基于Struts 2+Hibernate+Spring 目录

    第1篇 Java Web开发基础第1章 Web的工作机制( 教学视频:31分钟) 1.1 理解Web的概念 1.1.1 Web的定义 1.1.2 Web的三个核心标准 1.2 C/S与B/S两种软件体 ...

  4. Java概述与开发环境

    1.Java语言既是编译又是解释型的特点 Java没有设计成编译型语言,因为编译型语言效率高, 但可移植性差. Java也没有设计成纯解释型的语言, 因为解释型效率太低. 编译成class文件, 解释 ...

  5. JAVA概述-JAVA入门基础

    一.JAVA的历史 Java是1995年由Sun公司(现Oracle公司)推出的一门面向对象的高级编程语言.这门编程语言的Logo就像是一杯刚刚煮好的咖啡. Java最初期的开发是在1991年,最初的 ...

  6. java web 开发实战经典(一)

    一.jsp三种Scriptlet(脚本小程序) 1.<% %>  :定义局部变量.编写语句等. <% String str = "hello world!";// ...

  7. 《Java开发实战经典》读书笔记

    Java常用的内存区域: (1)      栈内存空间:保存所有的对象名称. (2)      堆内存空间:保存每个对象的具体属性内容. (3)      全局数据区:保存static类型的属性. ( ...

  8. java类集开发中一对多和多对多的关系的实现

    摘自<java开发实战经典>李兴华.著 一对多的关系 一个学校可以包含多个学生,一个学生属于一个学校,那么这就是一个典型的一对多关系,此时就可以通过类集进行关系的表示. 在定义Studen ...

  9. 1.1 Java概述上

    1.1 Java概述 Java是一种编程语言,它提供了一个同时用于程序开发 应用和部署的环境.Java语言主要定位于网络编程,使得程 序可以最大限度地利用网络资源. 1.2 Java语言的特点 1.跨 ...

随机推荐

  1. spring4.3注解

     Spring4.3中引进了 {@GetMapping.@PostMapping.@PutMapping.@DeleteMapping.@PatchMapping},分别对应这个查询,插入,更新,删除 ...

  2. 对request.getSession(false)的理解(附程序员常疏忽的一个漏洞)

    本文属于本人原创,转载请注明出处:http://blog.csdn.net/xxd851116/archive/2009/06/25/4296866.aspx [前面的话] 在网上经常看到有人对req ...

  3. 51Nod 1256 求乘法逆元--扩展欧几里德

    #include<stdio.h> int exgcd(int a,int b,int &x,int &y) { ) { x=; y=; return a; } int r ...

  4. [bzoj2599][IOI2011]Race——点分治

    Brief Description 给定一棵带权树,你需要找到一个点对,他们之间的距离为k,且路径中间的边的个数最少. Algorithm Analyse 我们考虑点分治. 对于子树,我们递归处理,所 ...

  5. wiki1285

    2013-09-21 16:50 裸 //By BLADEVIL var n :longint; i :longint; x, y :longint; t, tot :longint; key, s, ...

  6. JAVA -- JDK JRE JAR

    转载:http://blog.csdn.net/wym19830218/article/details/5399401 JDK里面的工具也是用JAVA编写的,它们本身运行的时候也需要一套JRE,如C: ...

  7. Kuangbin 带你飞-基础计算几何专题 题解

    专题基本全都是模版应用.贴一下模版 平面最近点对 const double INF = 1e16; ; struct Point { int x,y; int type; }; double dist ...

  8. [转载]Go的50度灰:Golang新开发者要注意的陷阱和常见错误

    初级 开大括号不能放在单独的一行 未使用的变量 未使用的Imports 简式的变量声明仅可以在函数内部使用 使用简式声明重复声明变量 偶然的变量隐藏Accidental Variable Shadow ...

  9. golang之http

    go获取html页面 package main import ( "fmt" "io/ioutil" "net/http" "ne ...

  10. java两种实现二分查找方式

    二分查找法适用于 升序排列的数组,如果你所要操作的数组不是升序排序的,那么请用排序算法,排序一下. 说明:使用二分查找法相比顺序查找  节约了时间的开销,但是增加了空间使用.因为需要动态记录 起始索引 ...