Java学习之路(一):日常第一课,认识JAVA
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的更多相关文章
- Java 学习之路(1)第一个Java程序
Hello World程序 在编程语言的世界里,第一个编程语言估计就是输出Hello World了吧. /** * 编写第一个Java程序,输出Hello World! * @author LJS * ...
- spark学习之路1--用IDEA编写第一个基于java的程序打包,放standalone集群,client和cluster模式上运行
1,首先确保hadoop和spark已经运行.(如果是基于yarn,hdfs的需要启动hadoop,否则hadoop不需要启动). 2.打开idea,创建maven工程.编辑pom.xml文件.增加d ...
- Java学习之路:不走弯路,就是捷径
1.如何学习程序设计? JAVA是一种平台,也是一种程序设计语言,如何学好程序设计不仅仅适用于JAVA,对C++等其他程序设计语言也一样管用.有编程高手认为,JAVA也好C也好没什么分别,拿来就用.为 ...
- 【分享】Java学习之路:不走弯路,就是捷径
1.如何学习程序设计? JAVA是一种平台,也是一种程序设计语言,如何学好程序设计不仅仅适用于JAVA,对C++等其他程序设计语言也一样管用.有编程高手认为,JAVA也好C也好没什么分别,拿来就用.为 ...
- 新篇章之我的java学习之路下
昨天写下了人生的第一篇博客,今天接着写我的java学习之路有关开发及框架的学习过程. 想要学好java语言,只学习一些java的基本语法对实际开发中的用处还是不大的,所以我们还要掌握一些有关javaW ...
- java学习之路之javaSE基础2
java学习之路之javaSE基础2 所有的代码都是引用他人写的. 1.逻辑运算符 //&,|,^,! //int x = 10; //5 < x < 15 //x > 5 ...
- java学习之路之javaSE基础1
<h2>java学习之路之javaSE基础1</h2> <div> ###01.01_计算机基础知识(计算机概述)(了解)* A:什么是计算机?计算机在生活中的应用 ...
- Java学习之路(转)
Java学习之路(书籍推荐) 一.基础类 1.<Thinking in java>(阅读2遍),入门第一位是建立正确的概念 2.<Core Java>这本书更贴近实践,更多 ...
- JAVA学习之路与大家分享
这是我四年以前总结的JAVA学习之路,希望对初学者或想从事JAVA开发的人有帮助. 本人是软件工程专业出身,先后学过C.C++.JAVA.VB.delphi等等开发语言以及网络相关管理技术.哎,好久不 ...
- Python学习之路——pycharm的第一个项目
Python学习之路——pycharm的第一个项目 简介: 上文中已经介绍如何安装Pycharm已经环境变量的配置.现在软件已经安装成功,现在就开始动手做第一个Python项目.第一个“Hello W ...
随机推荐
- 编写高质量代码改善C#程序的157个建议——建议63:避免“吃掉”异常
建议63:避免“吃掉”异常 嵌套异常是很危险的行为,一不小心就就会将异常堆栈信息,也就是真正的Bug出处隐藏起来.这还不是最严重的,最严重的就是“吃掉”异常,即捕获,然后不向上层throw. 避免“吃 ...
- ArcGIS 桌面远程连接带有端口号的SDE
首先配置远程连接 PostgreSQL数据库远程连接功能的开启 需要修改连个配置文件,默认位于 安装目录的data子文件夹下. 1.postgresql.conf 修改成监听所有ip地址的连接 ...
- APUE(3)---文件I/O (3)
十二.函数sync.fsync和fdatasync 延迟写:传统的Unix系统在内核中设有缓冲区或页高速缓冲,大多数磁盘I/O都通过缓冲区进行,当我们向文件写入数据时,内核通常先将数据复制到缓冲区,然 ...
- 微信openid
微信openid由用户id和公众号id加密而来,同一用户相对同一公众账号的openid是不变的.
- [LeetCode 题解]: Minimum Depth of Binary Tree
Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along the shor ...
- Intel Galileo development documentation
Intel Galileo development Documentation Author:Liutianchen 1552227, Department of Computer Science,E ...
- 零成本实现WEB性能测试(二)JMeter基础知识
特点: 支持多种服务类型进行测试,包括: Web-Http,HTTPS SOAP Database via JDBC LDAP JMS Mail-POP3 & IMAP 支持录制回放方式获取脚 ...
- RobotFramework与Jenkins集成发送邮件
转: A. 目标:实现RobotFramework的脚本定时自动执行,执行完后自动将结果发送到指定邮箱 B. 前提1. 配置好Robot Framework的环境,脚本可以正常运行 2. ...
- IIS7 配置ssl证书 多域名绑定443端口
IIS7下多个子域名同时配置https协议,但IIS7默认支持单个443端口造成端口冲突: 解决方案:先把每个域名配置不同的端口 例:444,445,446等 然后在:C:\Windows\syste ...
- MongoDB复制集与Raft协议异同点分析
此文已由作者温正湖授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 一.日志复制流程: a.raft leader节点在接收client请求后,先将请求写到日志中,再将日志通过 ...