1.JAVA分类
JAVA SE:基础核心(面向对象、API、JVM...)
JAVA ME:(游戏、通讯开发)
JAVA EE(JSP/Sevlet\EJB\服务开发、企业应用)
2.JAVA语言特点
①面向对象
②适合分布式计算:
java应用程序可以像访问本地文件系统一样通过URL访问远程对象
使用JAVA语言编写Socket通信程序比任何语言都简单
可以使用JAVA小应用程序(Applet)、java服务器页面(java Server Page、JSP)、Servlet等手段构建丰富的网页
③有良好的性能
java是解释型语言,执行效率相对慢一些,由于Java语言采用下面两种手段,使其拥有较好的性能
-》java语言源程序编写完成之后,先使用java伪编译器进行伪编译,将其转换为中间码(也称为字节码)再解释
-》提供一种“准实时”(Just-in-Time,JIT)编译器,当需要更快的速度时,可以使用JI编译器将字节码转换为机器码,然后将其缓冲下来,这样速度就会很快
④健壮
Java语言在伪编译时,做了许多早起潜在问题的检查,并且在运行时又做了一些相应的检查,可以说是一种最严格的编译器。
⑤具有多线程处理的能力
线程是一种轻量级进程,是现代程序设计中比不可少的一种特性。多线程处理能力使程序具有更好的交互性、实时性。
⑥JAVA是一种动态语言
可以简单、直观地查询运行时的信息
可以将新代码加入到一个正在运行的程序中
⑦JAVA语言是一种中性结构
java编译器生成的是一种中性的对象文件格式。java编译器通过伪编译后,将生成一个与任何计算机体系统无关的“中性”的字节码。
java的这种字节码经过精心设计,能够很好的兼容于当前大多数流行的计算机系统,在任何机器上都易于解释,易于动态翻译成为机器代码。
3.JAVA程序的运行机制和JAVA虚拟机
计算机高级语言类型主要有编译型和解释型两种,Java是两种类型的集合,JAVA处理代码的过程如下
JAVA程序的运行机制:
Hello.java文件---》编译-----》Hello.class文件---》解释为字节码 01101100...-->在计算机上动态翻译成为机器代码
Java中源文件名称的后缀为 .java,之后通过编译使 .java文件生成一个 .class文件,在计算机上执行 .class文件,此时执行.class文件的计算机并不是一个物理上的计算机,而是JAVA自己设计的计算机--》JVM
Java也是通过JVM进行可移植性操作的
在JAVA中所有的程序都是在 JVM(java Virtual Machine)上运行的。
JVM是在一台计算机上由软件或硬件模拟的计算机。java虚拟机(JVM)读取并处理经编译过的、与平台无关的字节码class文件,java解释器负责将java虚拟机的代码在特定的平台上运行。
JVM基本原理:
Source.java-------->编译-------->Source.class------》执行(JVM for Dos、JVM for Winx、JVM for UNIX)
所有的 .class文件都是在 JVM上运行的, .class文件只需要认识 JVM,由虚拟机再去适应各个操作系统。如果不同的操作系统安装上符合其类型的 JVM,那么程序无论在哪个操作系统上都是可以正确执行的。
4.JAVA开发环境搭建
java开发环境主要使用 JDK
JDK安装配置:
①准备好JDK安装文件
②配置环境变量Path
③安装完成后,bin文件夹是将来要使用的各种Java命令,但是这些命令本身不在Windows环境中,如果想要使用这些命令,现在Windows中注册这些命令
设置Path流程:我的电脑--》属性--.>系统属性--》高级--》环境变量
设置path时,可以直接设置Java的安装路径。如: ;D:\Java\jdk1.6.0_11\bin -----》设置完成后启动 cmd命令行中输入 javac,出现相关用法表示JDK安装成功
注意事项:
Path修改之后要重新启动命令行方式
在进行环境设置时可能会出现此命令不是系统内部命令的提示,造成这种问题的原因是在配置环境属性之前命令行方式已经启动,之后再配置的path路径,此环境是无法立即生效的,
此时需要重新启动命令行方式,可以把新的配置读取进来。
cmd中输入javac命令查看环境变量配置是否正确
javac.exe是 Java本身提供的编译命令,主要用来将 .java文件编译成 .class文件
5.java程序介绍
java程序分为两种类型
一种是Application程序:有main方法的程序
另外一种是Applet程序--》网页编程,已经不使用
6.classpath属性的作用
在Java中使用 set classpath命令指定Java类的执行路径
假设 Hello.calss 类位于 f:/test 目录下
在D盘命令行窗口执行下面指令:
set classpath=f:\test
然后在D盘根目录下执行java Hello 命令,虽然D盘没有Hello.calss文件,也可以执行。就是因为使用set classpath命令将类的查找路径指向了 f:\test 目录,所以在运行时会从f
f:\test 目录查找需要的类
classpath与JVM的关系:
classpath主要指的是类的运行路径,实际上在执行Java命令时,对于本地的操作系统来说就意味着启动了一个JVM
JVM在运行时需要通过 classpath 加载所需要的类
默认情况下classpath指向当前命令行窗口所在的目录,所以会从此目录下直接查找
classpath在编译时不起作用,classpath只在java运行时起作用
在java编译时,如果命令行所在的目录不是 .java所在的目录,应该输入完整的路径名称即“javac e:/Hello.java”
7.使用 public class 和 calss 声明类的区别
在JAVA中声明一个类的方式有两种,即 public class 类名称 、class 类名称
①使用 "public class 类名称“ 声明类时,类名称必须与文件名称一致,否则程序将无法编译
②使用“calss 类名称” 声明一个类时,类名称可以与文件名称不一致,但是在执行时一定要执行生成后的 .class
③在一个 Java文件中可以有多个 class 类的定义,但只能有一个 public calss定义
④定义类名称是开头首字母为大写
public static void main(String arg[])是程序的主方法,所有的程序都会以此方法作为起点并运行下来
8.常量和变量
变量:利用声明的方式将内存中的某个内存块保留下来以供程序使用。可以声明的数据类型为整型、字符型、浮点型或是其他数据类型,作为变量的保存之用。
变量可以用来存放数据,使用变量之前必须先声明它的数据类型
常量:就是一个固定的数值,是不可以改变的。
9.Java的常见误解
10.Java关键字
总结:
1.java实现可移植性靠的是JVM。JVM就是一台虚拟计算机,只要在不同的操作系统上植入不同版本的JVM,Java程序就可以在各个平台上移植,做到“一次编写,处处运行”。
2.Java中循序的执行步骤为:
①使用 javac 将一个 *.java 文件编译成 *.class 文件
②使用 java 可以执行一个 *.calss 文件
3.每次使用 java 命令执行一个 class 时,都会启动 JVM,JVM 通过 calsspath给出的路径加载所需要的类文件,可以通过 set calsspath 设置类的加载路径。
4.java程序主要分为两种,即Java Application 和 Java Applet 程序,Java Applet主要主要是在网页中嵌入的Java程序,基本上不载使用了。Application是指有 main 方法的程序。
- Java第一章----Java概述+环境搭建
写在前面的话: Java基础的东西看过好几遍,但是过一段都就忘记了,所以这次我决定花费一些时间整理一个系列博客供以后方便查阅.此系列根据Java编程思想+Java核心技术两本书整理而来,这两本书也是我 ...
- javaSE习题 第一章 JAVA语言概述
转眼就开学了,正式在学校学习SE部分,由于暑假放视频过了一遍,略感觉轻松,今天开始,博客将会记录我的课本习题,主要以文字和代码的形式展现,一是把SE基础加强一下,二是课本中有很多知识是视频中没有的,做 ...
- 第一章 Java的I/O演进之路
I/O基础入门 Java的I/O演进 第一章 Java的I/O演进之路 1.1 I/O基础入门 1.1.1 Linux网络I/O模型简介 根据UNIX网络编程对I/O模型的分类,UNIX提供了5中I/ ...
- 第一章 数据库概述、MySQL的安装和配置
第一章 数据库概述.MySQL的安装和配置 1.为什么要使用数据库 最早是纸质文件来存储数据 缺点:不易保存,占用空间大 计算机出现以后,采用软件来进行保存(excel) 缺点:容易损坏 文件 ...
- Laxcus大数据管理系统2.0(2)- 第一章 基础概述 1.1 基于现状的一些思考
第一章 基础概述 1.1 基于现状的一些思考 在过去十几年里,随着互联网产业的普及和高速发展,各种格式的互联网数据也呈现爆炸性增长之势.与此同时,在数据应用的另一个重要领域:商业和科学计算,在各种新兴 ...
- Java基础知识二次学习-- 第一章 java基础
基础知识有时候感觉时间长似乎有点生疏,正好这几天有时间有机会,就决定重新做一轮二次学习,挑重避轻 回过头来重新整理基础知识,能收获到之前不少遗漏的,所以这一次就称作查漏补缺吧!废话不多说,开始! 第一 ...
- [OpenGL红宝书]第一章 OpenGL概述
第一章 OpenGL概述 标签(空格分隔): OpenGL 第一章 OpenGL概述 1 什么是OpenGL 2 初识OpenGL程序 3 OpenGL语法 4 OpenGL渲染管线 41 准备向Op ...
- 第一章 –– Java基础语法
第一章 –– Java基础语法 span::selection, .CodeMirror-line > span > span::selection { background: #d7d4 ...
- 第一章 java基本多线程技能
第一章 java多线程技能 1 线程:进程是操作系统结构的基础,是一次程序的执行,是一个程序及其数据在处理顺序时发生的活动:是程序在一个数据集合上运行的过程,他是系统进行资源分配和调度的一个独立单位. ...
随机推荐
- jQuery第1天
概念 jQuery 是一个 JavaScript 库,其实就是通过 原生JS 封装了的很多的 方法 和 属性. JS 库特点 JavaScript 库:由第三方开发者基于原生 JS 基础上,封装了很多 ...
- Redis集群管理
1.简介 Redis在生产环境中一般是通过集群的方式进行运行,Redis集群包括主从复制集群和数据分片集群两种类型. *主从复制集群提供高可用性,而数据分片集群提供负载均衡. *数据分片集群中能实现主 ...
- vue的计算属性与方法的不同
计算属性 vue的模板里可以使用表达式,但是它的设计初衷是用于简单计算,在模板中放入太多逻辑会让模板过重且难以维护.例如: <div id="example"> {{ ...
- Aras前端的一些知识
top.aras包含了aras前端大部分的API /* * uiShowItem * 打开物体视窗 * parameters: * 1) itemTypeName - may be empty str ...
- 一个网站SQL注入的案例
网站的页面提交参数做了md5转换,而且参数会带入两个SQL语句中执行. 注入是肯定存在的,但是SQLMAP怎么都跑不出来(可能原因是其中有个SQL语句总是报错). 尝试手工,发现 order by 报 ...
- python之描述符
描述符是将某种特殊类型的类实例指派给另一个类的属性,某种特殊类型的类就是这个类里面封装了get,set,delete这三个方法,可以将这个类指派给另一个类的某一个属性,这样就可以通过这三个方法对该属性 ...
- python之map,filter
map和filter是python里面比较重要的BIF,map的主要作用就是对集合里面的每一个元素进行处理,filter的作用就是过滤集合,具体功能如下 t =lambda x:x%2 list(fi ...
- SpringMVC+Apache Shiro+JPA(hibernate)案例教学(四)基于Shiro验证用户权限,且给用户授权
最新项目比较忙,写文章的精力就相对减少了,但看到邮箱里的几个催更,还是厚颜把剩下的文档补上. 一.修改ShiroDbRealm类,实现它的doGetAuthorizationInfo方法 packag ...
- 浅入深出Vue:环境搭建
浅入深出Vue:环境搭建 工欲善其事必先利其器,该搭建我们的环境了. 安装NPM 所有工具的下载地址都可以在导航篇中找到,这里我们下载的是最新版本的NodeJS Windows安装程序 下载下来后,直 ...
- day05 数据类型的方法详解
今日内容: 1.数字的基本操作 2.字符串的操作及常用方法 3.列表的操作及常用方法 重点: 1.字符串的操作及常用方法 (1)常用操作 """ 字符串的操作: &quo ...