Java的介绍

语言的起源

Java是SUN(Stanford University Network 斯坦福大学网络公司) 1995年推出的一门高级编程语言。

Java名称的来源:

  Java最初是被命名为Oak的,针对的目标是家用电器等小型系统的编程语言。

  后来SUN公司着眼于网络应用的开发。就改名了,Java的开发者嘞,喜欢咖啡。而Java的本意是指:印度尼西亚爪哇岛的英文名称,其因为盛产咖啡闻名。

一个Java的发展历史:

  • 1995年5月23日,JAVA语言诞生
  • 1996年,1997年分别退出了JDK1.0,JDK1.1版本
  • 1999年,Java被分为了J2SE,J2EE,J2ME
  • 2000年,JDK1.4发布了
  • 2004年9月30日18:00,J2SE1.5发布了,这是Java语言的发展史上的一个里程碑(为了表示该版本的重要性,J2SE1.5更名为Java SE 5.0)
  • 2005年,Java版本正式更名为JAVAEE,JAVASE,JAVAME
  • 2006年12月,SUN公司发布了JRE6.0
  • 2009年4月20日,Oracle收购了SUN,获得了Java的版权
  • 2010年9月,JDK7.0发布,增加了简单的闭包功能
  • 2011年7月,甲骨文公司发布Java7的正式版本
  • 2014年3月,JavaSE8发布了

Java语言的重要特性:跨平台

跨平台:

什么是跨平台嘞?跨平台的概念是软件开发中的一个重要的概念,即不依赖于操作系统,也不信赖硬件的环境。一个操作系统下开发的应用,放到了另一个操作系统下依然可以正常的运行。

Java的跨平台:

一句话描述Java的跨平台:"write once run anywhere"

  Java的跨平台是相对于其他编程语言而言的,通过Java语言编写的应用程序在不同的系统平台上都可以运行。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。在windows编译的c语言程序,在linux下是不能运行的。当然在linux下编译的c语言程序在windows下也是不能运行的。而Java语言在不同平台上运行时不需要重新编译。

Java跨平台的原理:Java的跨平台是通过Java虚拟机(JVM)来实现的。

Java虚拟机(JVM):

  Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用模式Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。

Java的三大平台:

JavaSE:

  JavaSE(Java Platform,Standard Edition)。JaveSE之前被称为J2SE。它允许开发和部署在桌面,服务器,嵌入式环境和实时环境中使用的Java应用程序。JavaSE包含了支持JavaWeb服务开发的类,并且为Java Platform,Enterprise Edition(JavaEE)提供基础。

JavaEE:

  JavaEE(Java Platform,Enterprise Edition)。这个版本以前称作J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端Java程序。JavaEE是在JavaSE的基础上构建的,它提供Web服务、组件模型、管理和通信API,可以用来实现企业级面向服务体系结构(service-oriented architecture,SOA)和Web2.0应用程序。

JavaME:

  JavaME(Java Platform,Micro Edition)。这个版本以前称为J2ME,也叫K-JAVA。JavaME为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮的而且灵活的环境。JavaME包括灵活的用户界面、健壮的安全模式、许多内置的网络协议以及对可以动态下载的联网和离线应用程序的丰富支持。基于JavaME规范的应用程序只需要去编写一次,就可以用于许多设备,而且可以利用每个设备的本机功能。

Java环境

 JDK简介:

  JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK 是整个Java的核心,包括了Java运行环境、Java工具和Java基础类库。JDK是学好Java的第一步。从SUN的JDK5.0开始,提供了泛型等非常实用的功能,其版本也不断更新,运行效率得到了非常大的提高。

 JDK的文件目录的介绍:

  bin:存放的是开发java程序常用的工具。

  demo:源代码的示例程序。

  include:包含c的语言程序,支持c的本地接口和java虚拟机调试程序的本地接口。

  sample: 主要包含一些典型的小例子JNLP示例

  jre: 主要包含java程序运行需要的类

  bin:用于运行时的可执行文件

  lib:类库

安装JDK需要注意的事项:

1. 安装路径中不要包含中文

  2. 安装路径中不要包含空格。

JRE简介:

  JRE  Java Runtime Environment Java运行环境。包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。

配置环境变量

  由于并不困难,这里就不在赘述了,直接百度也可以搜索到。

配置环境变量一些特别的内容:

JAVA_HOME环境的配置:

  1.创建一个JAVA_HOME的变量

  2.JAVA_HOME的值为JDK的安装目录

  3.配置path路径的时候即可%JAVA_HOME%/bin

这样的话,以后再想更改JDK的目录时候,只需要更换JAVA_HOME的目录即可

补充:在命令行下如何临时的去更改环境变量呢(一般用于测试):

  • set=====查看所有的环境变量信息
  • set 变量名=====查看具体一个环境变量的值
  • set 变量名=  ======清空一个环境变量的值
  • set 变量名=具体值=====给指定变量定义具体值

如果我想在path中添加一个呢?注意是添加一个:

  set path = 新的值;%path%

注意:以上的配置方法均为临时配置的方法

JAVA程序的入门

1.helloworld程序入门

class Demo1
{
public static void main(String[] args)
{
System.out.println("Helloworld");
}
}

一些需要注意的小细节

1.缺少了main方法:

2.源文件中的大小写要注意。

3.Javac编译生成的.class文件的名称取决于类名,跟.java的文件名没有任何关系

补充:

classpath环境变量

classpath的作用:指定类搜索路径,保存class文件的存储路径。(要使用编译好的类就要找到他们,jvm就是通过classpath来寻找他们的)

设置目录时的小坑:

  set classpath=.;  与  set classpath=设置路径;.    有什么区别?

    "."在前面的时候,java虚拟机会先从当前路径去寻找class文件,然后再到指定的路径去寻找。

    "."在后面的时候,java会先寻找指定路劲

  在设置classpath的时候一定要加上";"号,否则就只会在当前目录先寻找了

classpath环境变量 和 PATH的 区别

  PATH:用来指定 java虚拟机(JVM) 所在目录告诉java虚拟机,因为我们要常用到java给我们提供一些工具对源代码进行一些处理或者是提取源代码的信息。

  CLASSPATH:用来指定我们自己所写的或要用到的类文件(.class文件)所在的目录

Java学习之路(一):日常第一课,认识JAVA的更多相关文章

  1. Java 学习之路(1)第一个Java程序

    Hello World程序 在编程语言的世界里,第一个编程语言估计就是输出Hello World了吧. /** * 编写第一个Java程序,输出Hello World! * @author LJS * ...

  2. spark学习之路1--用IDEA编写第一个基于java的程序打包,放standalone集群,client和cluster模式上运行

    1,首先确保hadoop和spark已经运行.(如果是基于yarn,hdfs的需要启动hadoop,否则hadoop不需要启动). 2.打开idea,创建maven工程.编辑pom.xml文件.增加d ...

  3. Java学习之路:不走弯路,就是捷径

    1.如何学习程序设计? JAVA是一种平台,也是一种程序设计语言,如何学好程序设计不仅仅适用于JAVA,对C++等其他程序设计语言也一样管用.有编程高手认为,JAVA也好C也好没什么分别,拿来就用.为 ...

  4. 【分享】Java学习之路:不走弯路,就是捷径

    1.如何学习程序设计? JAVA是一种平台,也是一种程序设计语言,如何学好程序设计不仅仅适用于JAVA,对C++等其他程序设计语言也一样管用.有编程高手认为,JAVA也好C也好没什么分别,拿来就用.为 ...

  5. 新篇章之我的java学习之路下

    昨天写下了人生的第一篇博客,今天接着写我的java学习之路有关开发及框架的学习过程. 想要学好java语言,只学习一些java的基本语法对实际开发中的用处还是不大的,所以我们还要掌握一些有关javaW ...

  6. java学习之路之javaSE基础2

    java学习之路之javaSE基础2 所有的代码都是引用他人写的. 1.逻辑运算符 //&,|,^,! //int x = 10; //5 < x < 15 //x > 5 ...

  7. java学习之路之javaSE基础1

    <h2>java学习之路之javaSE基础1</h2> <div> ###01.01_计算机基础知识(计算机概述)(了解)* A:什么是计算机?计算机在生活中的应用 ...

  8. Java学习之路(转)

    Java学习之路(书籍推荐)   一.基础类 1.<Thinking in java>(阅读2遍),入门第一位是建立正确的概念 2.<Core Java>这本书更贴近实践,更多 ...

  9. JAVA学习之路与大家分享

    这是我四年以前总结的JAVA学习之路,希望对初学者或想从事JAVA开发的人有帮助. 本人是软件工程专业出身,先后学过C.C++.JAVA.VB.delphi等等开发语言以及网络相关管理技术.哎,好久不 ...

  10. Python学习之路——pycharm的第一个项目

    Python学习之路——pycharm的第一个项目 简介: 上文中已经介绍如何安装Pycharm已经环境变量的配置.现在软件已经安装成功,现在就开始动手做第一个Python项目.第一个“Hello W ...

随机推荐

  1. 洛谷P2387 [NOI2014]魔法森林(lct维护最小生成树)

    题目描述 为了得到书法大家的真传,小 E 同学下定决心去拜访住在魔法森林中的隐 士.魔法森林可以被看成一个包含 n 个节点 m 条边的无向图,节点标号为 1,2,3,…,n,边标号为 1,2,3,…, ...

  2. [示例] 使用 TStopwatch 计时

    使用 TStopwatch 计时 uses System.Diagnostics; var t1: TStopwatch; begin t1 := TStopwatch.StartNew; // do ...

  3. Android-获取网络图片设置壁纸

    下载图片,设置壁纸 的代码: package liudeli.async; import android.app.Activity; import android.app.ProgressDialog ...

  4. docker+selenium grid解决node执行经常卡死

    执行用例时出现下图: 可以在启动node节点容器时添加如下红色字体的参数 docker run -d -p 5903:5900 --shm-size=512m --link selenium_hub: ...

  5. win7 64 VC++ ado方式连接access 连接字符串

    运行环境:win7 64       vc++6.0       office 2007  32位(access 2007) 我用的是ado方式连接access数据库,(现在的Win7系统中安装的一般 ...

  6. c# 与 Mysql 的通讯方式总结

    两种开发方式 1.使用 vs 自带的可视化工具,不推荐. 在 vs 的项目中添加 ‘数据集’,然后通过可视化的工具添加数据库为数据源,默认可添加 SQL Server 和 Oracle 等,添加 My ...

  7. C# winform 自定义鼠标光标

    第一种:(调用系统API)首先引入两个命名空间代码如下: using System.Runtime.InteropServices;using System.Reflection;导入API代码如下: ...

  8. SQLite Mysql 模糊查找(like)

    select UserId,UserName,Name,Sex,Birthday,Height,Weight,Role from xqhit_Users where UserName like &qu ...

  9. link和@import的区别是什么 ?

    1.link是XHTML标签,除了加载CSS外,还可以定义RSS等其他事务:@import属于CSS范畴,只能加载CSS. 2.link引入CSS是,在页面载入时间同时加载:@import页面网页完全 ...

  10. jquery源码解析:代码结构分析

    本系列是针对jquery2.0.3版本进行的讲解.此版本不支持IE8及以下版本. (function(){ (21, 94)     定义了一些变量和函数,   jQuery = function() ...