Java概述--Java开发实战经典
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开发实战经典的更多相关文章
- 《Java web 开发实战经典》读书笔记
去年年末,也就是大四上学期快要结束的时候,当时保研的事情确定了下来,终于有了一些空闲的时间可以学点实用的技术. 之前做数据库课程设计的时候,也接触过java web的知识,当时做了一个卖二手书籍的网站 ...
- 阅读《名师讲坛--Android开发实战经典》
一,专心,快速阅读一本书,直到深入理解,把书读厚,再读薄,你定会有收获. 二,20171214开始阅读<名师讲坛--Android开发实战经典>,但愿自己有所收获.从今天开始养成刻录学习写 ...
- 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两种软件体 ...
- Java概述与开发环境
1.Java语言既是编译又是解释型的特点 Java没有设计成编译型语言,因为编译型语言效率高, 但可移植性差. Java也没有设计成纯解释型的语言, 因为解释型效率太低. 编译成class文件, 解释 ...
- JAVA概述-JAVA入门基础
一.JAVA的历史 Java是1995年由Sun公司(现Oracle公司)推出的一门面向对象的高级编程语言.这门编程语言的Logo就像是一杯刚刚煮好的咖啡. Java最初期的开发是在1991年,最初的 ...
- java web 开发实战经典(一)
一.jsp三种Scriptlet(脚本小程序) 1.<% %> :定义局部变量.编写语句等. <% String str = "hello world!";// ...
- 《Java开发实战经典》读书笔记
Java常用的内存区域: (1) 栈内存空间:保存所有的对象名称. (2) 堆内存空间:保存每个对象的具体属性内容. (3) 全局数据区:保存static类型的属性. ( ...
- java类集开发中一对多和多对多的关系的实现
摘自<java开发实战经典>李兴华.著 一对多的关系 一个学校可以包含多个学生,一个学生属于一个学校,那么这就是一个典型的一对多关系,此时就可以通过类集进行关系的表示. 在定义Studen ...
- 1.1 Java概述上
1.1 Java概述 Java是一种编程语言,它提供了一个同时用于程序开发 应用和部署的环境.Java语言主要定位于网络编程,使得程 序可以最大限度地利用网络资源. 1.2 Java语言的特点 1.跨 ...
随机推荐
- sqrti128
求平方根下取整,对于gcc type __uint128_t. ~45.5ns/op on i7-7700k@4.35G,即typical <200cyc/op. Together with u ...
- import pymongo exceptions.ImportError: No module named pymongo
最近用Scrapy写爬虫,将爬取的数据存入Mongodb中,使用的是pymongo这个库,但是运行的时候报错如标题所示 搜了好多网站包括stackoverflow都没有解决,后来发现自己用的是虚拟环境 ...
- AngularJs学习——何时应该使用Directive、Controller、Service?
翻译:大漠穷秋 原文链接:http://kirkbushell.me/when-to-use-directives-controllers-or-services-in-angular/ 一.简述 A ...
- Linux XZ格式的解压
xz这个压缩可能很多都很陌生,不过您可知道xz是绝大数linux默认就带的一个压缩工具. 之前xz使用一直很少,所以几乎没有什么提起. 我是在下载phpmyadmin的时候看到这种压缩格式的,phpm ...
- POJ3466(01背包变形)
Proud Merchants Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others) ...
- git应用基础配置
1.注册github账号.注册的时候会要求输入用户名和email这是配置git必须的要素 2.在使用git的时候首先需要把注册时候配合的用户名和密码填在git仓库的配置文件里,如下 harvey@ha ...
- Android开发工具--AndroidStudio
1.Android studio更改快捷键File->setttings 搜索key map就可以更改成自己喜欢的会计键风格了
- 【 Python 】函数的参数
一.默认参数: 默认参数可以简化函数的调用,设置默认参数时,有几点要注意: 1,必选参数在前,默认参数在后,否则python的解释器会报错. 2,如何设置默认参数. 当函数有多个参数时,把变化大的参数 ...
- Selenium2+python自动化39-关于面试的题【转载】
前言 最近看到群里有小伙伴贴出一组面试题,最近又是跳槽黄金季节,小编忍不住抽出一点时间总结了下, 回答不妥的地方欢迎各位高手拍砖指点. 一.selenium中如何判断元素是否存在? 首先selen ...
- python基础(字符串常用、数字类型转换、基本运算符与流程控制)
一.字符串常用操作: #! /usr/bin/env python # -*- coding: utf-8 -*- # __author__ = "Z'N'Y" # Date: 2 ...