java se系列(一)开发前奏
1. 软硬件知识
电子计算机:俗称电脑,是一种能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。由硬件和软件所组成,没有安装任何软件的计算机称为裸机
cpu:是一台计算机的运算核心和控制核心。其功能主要是解释计算机指令以及处理计算机软件中的数据。CPU由运算器、控制器、寄存器、高速缓存及实现它们之间联系的数据、控制及状态的总线构成。作为整个系统的核心,CPU 也是整个系统最高的执行单元,因此CPU已成为决定电脑性能的核心部件,很多用户都以它为标准来判断电脑的档次。CPU的主频,即CPU内核工作的时钟频率(CPU Clock Speed)。该时钟速度越快,时间段内执行的指令就越多, 目前酷睿是2G-3G(1G是10000Mhz)例如,2MHz(200万次/秒),3GHz(三十亿次/秒)。
内存:是数据与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,内存(Memory)也被称为内存储器,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。
存储设备:内存不能长久保存数据(非ROM),断电时信息就丢失,程序和数据都会被保存在存储设备中(例如硬盘),当程序和数据需要使用时,再加载进内存,注意:内存读取和写入的速度要比存储设备快的多。存储设备主要有:磁盘驱动器,光盘驱动器(cd dvd)USB闪存(U盘)。
软件的概述:按照一定顺序组织的计算机数据与指令的集合。
软件 = 数据+指令+文档
系统软件,例如:Widows xp 、 Linux、 Unix
应用软件,例如:QQ、WPS、微信
软件开发:制作软件。
软件的本质 :提高人与计算机交流效率,方便人与机器交互。
人机交互的方式:
- 图形化界面:简单直观,容易操作,用户的体验好。
 - dos命令交互方式:需要有一个控制台,输入特定的指令,让计算机完成一些操作。较为麻烦,需要记录住一些命令,而且只能完成一些比较单一的功能。
 
控制台打开的步骤:开始--à所有程序---à附件--à命令行提示符 ,或者开始-à输入cmd即可。
常见的dos命令
盘符: 进入指定的盘符下。
dir : 列出当前目录下的文件以及文件夹
md : 创建目录
rd : 删除目录 注意:rd不能删除非空的文件夹,而且只能用于删除文件夹。
cd : 进入指定目录
cd.. : 退回到上一级目录
cd \ : 退回到根目录
echo "hello java">a.txt 写入文本到指定文件
type a.txt 显示文件内容命令
del : 删除文件 注意:不能删除文件夹,只能删除文件。
exit : 推出dos命令行
cls : 通知计算机将当前的命令清空
*: 是通配符。
方向键上下是找回上次你写过的命令。
2. Java简介
语言起源
Java是SUN ( Stanford University Network 斯坦福大学网络公司 ) 1995年推出的一门高级编程语言。
Java名称的来源
Java最初被命名为Oak,目标在于家用电器等小型系统的编程语言,随着市场的变化,SUN着眼于网络应用的开发。Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名。
1995年5月23日,JAVA语言诞生
1996年,1997分别推出JDK1.0,JDK1.1版
1999年,JAVA被分成J2SE,J2EE,J2ME
2000年,JDK1.4发布
2004年9月30日18:00PM,J2SE1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE1.5更名为Java SE 5.0
2005年,JAVA版本正式更名为JAVA EE,JAVA SE, JAVA ME
2006年12月,SUN公司发布JRE6.0
2009年04月20日,Oracle以74亿美元收购Sun。取得java的版权。
2010年9月,JDK7.0已经发布,增加了简单闭包功能。
2011年7月,甲骨文公司发布java7的正式版。
2013年8月计算机语言使用排行榜

2.2 java特性之跨平台
2.2.1 跨平台
跨平台:是软件开发中一个重要的概念,即不依赖于操作系统,也不信赖硬件环境,一个操作系统下开发的应用,放到另一个操作系统下依然可以运行。
2.2.2. Java的跨平台
“write once run anywhere”
Java的跨平台是相对于其他编程语言而言的,通过Java语言编写的应用程序在不同的系统平台上都可以运行。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。在windows编译的c语言程序,在linux下是不能运行的。当然在linux下编译的c语言程序在windows下也是不能运行的。而Java语言在不同平台上运行时不需要重新编译。
Java跨平台的原理:Java的跨平台是通过Java虚拟机(JVM)来实现的。
2.2.3. Java虚拟机(JVM)
JVM:全称Java Virtual Machine,是一个软件模拟的计算机。Java源程序想象成我们的C源程序,Java源程序编译后生成的字节码(.class)就相当于C源程序编译后的二进制可执行文件。JVM虚拟机相当于计算机系统(操作系统+硬件环境),Java解释器相当于CPU。
.exe文件直接在windows操作系统下运行,在CPU上运行的是机器码(.exe文件)
.class字节码文件是运行在JVM虚拟机下的,在Java解释器上运行的是Java字节码。
Java解释器相当于运行Java字节码的“CPU”,但该“CPU”不是通过硬件实现的,而是用软件实现的。Java解释器实际上就是特定的平台下的一 个应用程序。只要实现了特定平台下的解释器程序,Java字节码就能通过解释器程序在该平台下运行,这是Java跨平台的根本。当前,并不是在所有的平台 下都有相应Java解释器程序,这也是Java并不能在所有的平台下都能运行的原因,它只能在已实现了Java解释器程序的平台下运行。
2.3 Java的三大平台
Java SE
   Java SE(Java Platform,Standard Edition):以前称为J2SE,它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java 应用程序。Java SE 包含了支持Java Web 服务开发的类,并为Java Platform,Enterprise Edition(Java EE)提供基础。 
	例子:类似QQ、微信此类的桌面应用。
Java EE
Java EE(Java Platform,Enterprise Edition)。这个版本以前称为J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。Java EE 是在Java SE 的基础上构建的,它提供Web 服务、组件模型、管理和通信API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和Web 2.0 应用程序。
Java ME
Java ME(Java Platform,Micro Edition)。这个版本以前称为J2ME,也叫K-JAVA。Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java ME 包括灵活的用户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的连网和离线应用程序的丰富支持。基于Java ME 规范的应用程序只需编写一次,就可以用于许多设备,而且可以利用每个设备的本机功能。
3.环境的搭建
3.1 JDK简介
JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK 是整个Java的核心,包括了Java运行环境、Java工具和Java基础类库。JDK是学好Java的第一步。从SUN的JDK5.0开始,提供了泛型等非常实用的功能,其版本也不断更新,运行效率得到了非常大的提高。
3.2JDK的安装
网址:http://www.oracle.com/index.html 、http://www.java.sun.com
  
  
  
3.3 JDK目录介绍
- bin目录:存放Java的编译器、解释器等工具(可执行文件)。
 - db目录:JDK6-7附带的一个轻量级的数据库,名字叫做Derby。
 - include目录:存放用于本地方法的文件。
 - jre目录:存放Java运行环境文件。
 - lib目录:存放Java的类库文件。
 - src.zip文件:JDK提供的类的源代码。
 
安装JDK需要注意的事项:
- 安装路径中不要包含中文。
 - 安装路径中不要包含空格。
 
3.4 JRE简介
JRE:Java Runtime Environment(Java运行环境)的缩写。包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等。如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。
3.5配置path环境变量
问题:目前在控制台窗口下只能在jdk安装目录的bin目录下才能使用jdk的开发工具在控,如果想制台窗口下想要在任意目录下都可以使用javac与java或者jdk其他的开发工具那应该怎么做呢?
1.在dos窗口敲上javac
  
我们在随意的一个目录敲javac或者java命令时候,发现dos窗口显示这个不是内部命令,然后我们在上面敲上notepad命令时,打开了一个记事本的程序,但是在当前目录下页没有存在notepad.exe的可执行文件,那么为什么能启动呢?
错误原因:原来在dos窗口上写上一个命令时候,如果在当前目录下找不到指定的可执行文件,那么它会根据path环境变量保存的路径去搜索是否存在这个可执行文件,如果存在则启动该程序,否则就没有这个命令。
解决方法:①进入jdk的安装目录的bin目录。
②在dos命令上敲javac。(如果出现了以上的图信息则配置成功)
  
3.为什么要配置path环境变量
因为在jdk下bin文件夹中有很多我们在开发中要使用的工具,如java.exe,javac.exe,jar.ex等,那么我们在使用时,想要在电脑的任意位置下使用这些java开发工具,那么我们就需有把这些工具所在的路径配置到系统的环境变量中,当我们使用时,系统可以帮且我们找到这些命令。
4.如何配置path环境变量
我们将jdk下bin的路径进行复制:电脑-属性-高级-环境变量-path这项
将bin的路径放置到path的最前边,别忘记加分号(英文的分号).
  
  
5.JAVA_HOME环境的配置
有时候可能需要更换Jdk的目录,但是经常修改path的值可能会不小心修改其他的路径,解决方法:
创建一个JAVA_HOME的变量,
  
JAVA_HOME的值为JDK的安装目录,配置path路径:%JAVA_HOME%/bin。
  
以后需要更换JDK的目录时,只需要更换JAVA_HOME的目录即可。
设置临时变量:
set : 查看所有的环境变量信息。
set 变量名 :查看具体一个环境变量的值。
set 变量名=:清空一个环境变量的值。
set 变量名=具体值 :给指定变量定义具体值。
想要在原有环境变量值基础上添加新值呢?首先,通过%变量名%操作符获取到原有环境变量的值,然后加上新值后在定义给该变量名即可
举例:给path环境变量加入新值 set path=新值;%path%
注意:这种配置方式只在当前dos窗口有效。窗口关闭,配置消失。
4.JAVA程序入门
4.1 Hello Word程序入门
- 打开一个记事本在记事本里面写上class 类名{}
 - 一个类缺少主函数不能独立运行。
 - 可以独立运行了,但是没有效果。输出语句。
 
Hello Word 例子剖析:
class java关键字,用于什么一个类、
{} : 花括号表示范围。
main : 是主函数的如果(固定写法)。
4.2 hello world的小细节
- 缺少main方法
 
  
出现提示:缺少一个名称为main的方法。
2.源文件中的大小写要注意。初学者请牢记,第一个hello例子中只有 String和System中两个字符是大写的,其他的都小写。
3.配置path和classpath时,里面的路径是所有查找的目标的父目录, 而不是目标自己。
4.A.java.txt 文本文件默认是txt结尾的,注意要把隐藏已知文件类型扩展名去掉。
  
5.大小写
只有类名Demo,String和System中三个个首字母是大写的。
 public class Demo{
     public static void main(String[] args) {
         System.out.println("hello java");
     }
 }    
6.path
看path环境变量配置 ,里面的路径是所有查找的目标的父目录,而不是目标自己。
  
7.写错类名, 源文件名不存在或者写错,或者当前路径错误。
类文件名写错,或者类文件不在当前路径下,或者不在classpath指定 路径下。
  
8.javac 生成的.class 文件的名称取决于类名跟.java名没有关系。
4.3 classpath环境变量
- classpath的作用: 作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,一旦配置了classpath路径信息的时候,jvm与java编译器都会根据classpath指定的路径去寻找class文件。
 - 如何设置当前目录(.)
 
set classpath=.;设置路径 与 set classpath=设置路径;.有什么区别?
“.”在前面的时候,java虚拟机会先从当前路径去寻找class文件,然后再到指定的路径去需找。如果”.”在后面,java虚拟机则会先寻找指定好的路径,然后再在当前的路径去寻找。
设置classpath的时候要加上 ; 就会在当前目录下查找。
java se系列(一)开发前奏的更多相关文章
- java se系列(十二)集合
		
1.集合 1.1.什么是集合 存储对象的容器,面向对象语言对事物的体现,都是以对象的形式来体现的,所以为了方便对多个对象的操作,存储对象,集合是存储对象最常用的一种方式.集合的出现就是为了持有对象.集 ...
 - java se系列(三) 顺序语句、if...else、switch、While、do-while、for、break、continue
		
1 顺序语句 语句:使用分号分隔的代码称作为一个语句. 注意:没有写任何代码只是一个分号的时候,也是一条语句,称作空语句. 顺序语句就是按照从上往下的顺序执行的语句. 2 判断(if…else) 什么 ...
 - java se系列(十一)线程
		
1 线程的概述 进程:正在运行的程序,负责了这个程序的内存空间分配,代表了内存中的执行区域. 线程:就是在一个进程中负责一个执行路径. 多线程:就是在一个进程中多个执行路径同时执行. 图上的一键优化与 ...
 - java se系列(四) 函数、数组、排序算法、二分法、二维数组
		
1 函数 1.1 数的概述 发现不断进行加法运算,为了提高代码的复用性,就把该功能独立封装成一段独立的小程序,当下次需要执行加法运算的时候,就可以直接调用这个段小程序即可,那么这种封装形形式的具体表 ...
 - java se系列(二) 关键字、注释、常量、进制转换、变量、数据类型转换、运算符
		
1 关键字 1.1 关键字的概述 Java的关键字对java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名.方法名.类名.包名. 1.2 常见的关键字 备注 ...
 - Java SE/EE/ME概念理解(Java版本发展历史)
		
继上一篇文章http://www.cnblogs.com/EasonJim/p/6181981.html中说的区别,其实分析的不够彻底,因此再次在这里做详细的分析. 零.Java与Sun.Oracle ...
 - Java SE EE ME用处
		
Java SE: 又称J2SE,开发部署桌面应用程序: Java EE:又称J2EE,开发网站 Java ME:是做手机APP开发 EE在SE基础上构建,提供web服务.组件模型.管理和通信API
 - Java Se :Map 系列
		
之前对Java Se中的线性表作了简单的说明.这一篇就来看看Map. Map系列的类,并不是说所有的类都继承了Map接口,而是说他们的元素都是以<Key, Value>形式设计的. Dic ...
 - 转自知乎(JAVA后台开发可以纯粹用JAVA SE吗?)
		
著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:巴多崽链接:http://www.zhihu.com/question/29663744/answer/45154839来源: ...
 
随机推荐
- File类中的list()和listFiles()方法
			
list()方法是返回某个目录下的所有文件和目录的文件名,返回的是String数组 listFiles()方法是返回某个目录下所有文件和目录的绝对路径,返回的是File数组 public class ...
 - 打造一套UI与后台并重.net通用权限管理系统
			
一.前言 从进行到软件开发这个行业现在已经有几年了,在整理出这个套开发框架之前自己做了不少重复造轮子的事.每次有新的项目总是要耗费不少时间在UI.权限和系统通用模块上面,自己累得要死,老板还骂没效率. ...
 - poj3080 Blue Jeans(暴枚+kmp)
			
Description The Genographic Project is a research partnership between IBM and The National Geographi ...
 - Matrix和Camera配合实现3D效果
			
一.Camera与Matrix简单介绍 1.Camera Android中一共有两个Camera,分别为:android.graphics.Camera android.hardware.Camera ...
 - 【leetcode 145. 二叉树的后序遍历】解题报告
			
前往二叉树的:前序,中序,后序 遍历算法 方法一:递归 vector<int> res; vector<int> postorderTraversal(TreeNode* ro ...
 - 【bzoj4514】: [Sdoi2016]数字配对 图论-费用流
			
[bzoj4514]: [Sdoi2016]数字配对 好像正常的做法是建二分图? 我的是拆点然后 S->i cap=b[i] cost=0 i'->T cap=b[i] cost=0 然后 ...
 - jmete察看结果树和body data乱码问题的解决办法
			
jmeter察看结果树乱码问题的解决办法: (1)在jmeter的bin目录下找到jmeter.properties这个文件添加sampleresult.default.encoding=utf-8 ...
 - Navicat Premium 12.1.12.0破解版激活
			
声明:本文所提供的所有软件均来自于互联网,个人存放在此作为备用,以备将来不时之需,同时作为大家的分享和学习成果,仅供个人研究和学习使用,请勿用于商业用途,下载后请于24小时内删除,请支持正版! 附:二 ...
 - Puppet全面详解
			
1. 概述 puppet是一个开源的软件自动化配置和部署工具,它使用简单且功能强大,正得到了越来越多地关注,现在很多大型IT公司均在使用puppet对集群中的软件进行管理和部署,如google利用p ...
 - oracle导出clob 工具
			
oracle导出clob 等大字段,用pl/sql 等无法导出,除了备份数据库,但是一般数据库中正式环境数据和开发环境中数据不一定完全一致或者合适导出,即使仅仅导出导入一个表,有时候也不方便或者业务上 ...