Java学习整理笔记(一)Java认识

一、Java介绍:

Java技术主要分成三个部分:Java语言、Java运行环境和Java类库。(一般情况下并不区分指哪个部分)

即Java并不只是一门编程语言,也是一个完整的平台,有一套庞大的开发类库(包含很多可以重复利用的代码)和提供跨平台的可移植性、自动垃圾回收以及安全性等服务的执行环境。

1.Java语言:

跟其他编程语言一样,定义的一套用于程序设计的语法规范。

2.Java运行环境:

执行Java应用程序(Java Application)必须安装 Java Runtime Environment(JRE),JRE内部有一个Java虚拟机(Java Virtual Machine,JVM)以及一些标准的类库(Class Library)。通过JVM虚拟机才能在电脑系统中执行Java应用程序。

即Java运行环境的核心就是Java虚拟机。

Java虚拟机是一个想象中的计算机平台,在实际的计算机平台上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。

使用Java语言编写的源程序首先通过编译器生成由字节码指令组成的字节码文件(后缀为.class的文件)。(字节码指令,是可以被Java虚拟机识别的序列代码。)字节码文件由Java虚拟机解释执行。

解释执行的意思就是Java虚拟机负责将字节码文件迅速的翻译成该虚拟机所在计算机平台的机器代码,并由对应计算机平台运行。

只要在第一次把编好的程序翻译成字节码文件,不必操心各种异构的计算机平台,就可以在任何装有Java运行环境的机器上运行,这就是“一次编写,到处运行”的思想。

3.Java类库:

Java包含成千上万的类库,如字符类、数学类、线程类、输入输出类、数据库类等。即在编写代码中可以利用Java中已有的类进行设计程序。

二、Java特点:

1.平台无关性:

平台无关性是指在一台计算机上编写的软件程序不需要修改,就可以正确地运行在任何具有不同操作系统和处理器的计算机平台(操作系统(OS)+处理器(CPU)=平台)上。

即“一次编写,到处运行”的思想。

2.面向对象性:

Java是一门面向对象的编程语言。

面向对象语言其实就是在描述客观世界,一切事物都是对象。

面向对象语言的思想核心就是三个词:封装、继承、多态。

3.简单性和安全性:

在Java中是由Java虚拟机来管理内存和垃圾回收,避免错误的发生,消除程序员回收无用内存空间的责任,提高开发效率。

Java的安全性还体现在可以构建防病毒、防篡改的网络应用系统。Java可以防范各种袭击,如“蠕虫”等病毒使运行时堆栈溢出,“特洛伊”木马用欺骗手段访问对象的私有成员,在自己程序的处理空间之外破坏内存,未经过授权访问计算机的其他部分等。

4.多线程:

Java语言自身支持多任务的实现,每个任务就是一个线程(一段动态执行的代码)。多个线程轮流使用资源有限的处理器(单核或多核),处理器分配给每个线程一个很短的执行时间片(毫秒级),就感觉好像是多个任务在同时执行。

5.动态性:

在类库中可以自由地加入新的方法和实例变量而不会影响用户程序的执行。Java程序在运行的时候,可以动态装载类,使得Java可以在分布式的网络环境下动态地更新程序及类库,更高效地维护程序。并且Java通过接口来支持多重继承,使之比严格的类继承具有更灵活的方式和扩展性。

三、Java的运行平台:

Java的运行平台主要分为三个版本。

1.Java SE(以往称为J2SE)——Java平台标准版。用于开发和部署桌面、服务器以及嵌入设备和实时环境中的Java应用程序。同时,Java SE 为 Java EE 提供了基础。

2.Java EE(以往称为J2EE)——Java平台企业版。是在 Java SE 基础上构建的,它提供Web服务、组件模型、管理和通信API,可以用来实现企业级的面向对象服务体系结构(Service-Oriented Architecture,SOA)和Web2.0应用程序。

3.Java ME(以往称为J2ME)——Java平台微型版。是一种高度优化的Java运行环境,为机顶盒、移动电话和PDA之类嵌入式消费电子设备提供了基于Java环境的开发与应用平台。

时间: 2024-08-01 09:15:57

Java学习整理笔记(一)Java认识的相关文章

Java 学习整理笔记(二)Java基本语法结构

一.源文件的编写 Java是完全面向对象的语言,所以Java的所有操作都是基于类(class)完成的.Java中所有程序的代码都需要放在一个类中,类用关键字class声明,在class之前可以添加一些修饰符,Java应用程序的源文件由若干个书写形式相互独立的类组成. 1.例子: // HelloDate.java import java.util.Date; //引入 java.util 包中的Date类 public class HelloDate{ /* * 该程序的目的是:输出当前系统的时

Java学习整理笔记(三)数据类型

数据类型: 数据类型确定了数据在内存中占用的存储空间以及存储方式.每个数据类型都有它的取值范围,编译器根据每个变量或常量的数据类型为其分配内存空间. Java语言的数据类型可以分为两类:一类是简单数据类型(或基本数据类型),例如整数类型.浮点数类型.字符型类型和布尔类型等:另一种是引用类型,例如数组类型.类.接口等. 一.基本数据类型 8种基本数据类型,分别是字节型(byte).短整型(short).整型(int).长整型(long).字符型(char).浮点型(float).双精度型(doub

Java学习之道:Java上传下载excel、解析Excel、生成Excel的问题

在软件开发过程中难免需要批量上传与下载,生成报表保存也是常有之事,最近集团门户开发用到了Excel模版下载,Excel生成,圆满完成,对这一知识点进行整理,资源共享,有不足之处还望批评指正,文章结尾提供了所需jar包的下载,方便大伙使用,下面言归正传! 1.Excel的下载 1)Action中: 添加响应事件,通过getRealPath获得工程路径,与jsp中获得request.getContextPath()效果相同,fileName为要下载的文件名,经过拼接filePath是xls文件的绝对

JAVA学习篇--ThreadLocal,Java中特殊的线程绑定机制

在DRP项目中,我们使用了ThreadLocal来创建Connection连接,避免了一直以参数的形式将Connection向下传递(传递connection的目的是由于jdbc事务要求确保使用同一个connection连接).那么ThreadLocal是如果做到的呢?它和同步锁的不同在哪里? 是什么: 对于ThreadLocal看英文单词我们很容易理解为一个线程的本地实现,但是它并不是一个Thread,而是threadlocalvariable(线程局部变量).也许把它命名为ThreadLoc

Java学习之道:Java构造器和方法的区别

摘要 要学习Java,你必须理解构造器.因为构造器可以提供许多特殊的方法,这个对于初学者经常混淆.但是,构造器和方法又有很多重要的区别. 原作者:Robert Nielsen 原站:www.javaworld.com 我们说构造器是一种方法,就象讲澳大利亚的鸭嘴兽是一种哺育动物.(按:老外喜欢打比喻,我也就照着翻译).要理解鸭嘴兽,那么先必须理解它和其他哺育动物的区别.同样地,要理解构造器,那么就要了解构造器和方法的区别.所有学习java的人,尤其是对那些要认证考试的,理解构造器是非常重要的.下

Java学习之道:Java中十个常见的违规编码

最近,我给Java项目做了一次代码清理工作.经过清理后,我发现一组常见的违规代码(指不规范的代码并不表示代码错误)重复出现在代码中.因此,我把常见的这些违规编码总结成一份列表,分享给大家以帮助Java爱好者提高代码的质量和可维护性. 这份列表没有依据任何规则或顺序,所有的这些都是通过代码质量工具包括CheckStyle,FindBugs和PMD检查出.一起来看下: 一.Eclipse编译器提供源代码格式输入 Eclipse提供自动源码格式选项,并且组织输入(删除未使用的代码).你可以使用下面的这

好程序员Java学习路线分享创建Java class

好程序员Java学习路线分享创建Java class,首先通过Transport Client获取ES的连接 private Client client; //通过Transport Client获取ES的连接 @Before public void getClient() throws Exception{ ????//ES服务的JavaAPI的port为9300 ????//注意:如果请求一个ES集群,可以多添几个节点 ????//为了避免在一个节点出现网络问题导致的请求失败问题,可以自动切

Java学习(一)---Java初识

一.Java介绍 关于Java的诞生和发展网上比较多,在此就不再赘述了,可以参考http://i.cnblogs.com/EditArticles.aspx?postid=4050233. 1.1 Java的开发平台JDK 1.1.1 JDK 1.0----JRE+JDK 1995年,Sun虽然推出了Java,但这只是一种语言,如果想开发复杂的应用程序,必须要有一个强大的开发类库.因此,Sun在1996年初发布了JDK 1.0.这是Sun公司发布的第一版JDK,这个版本包括两部分: JRE 运行

Java学习日记:Week1---day1-2 Java初识

前言: 新的旅程正式开始了,经过了两周的c语言预科班学习,对程序的开发有了第一步的认知.如今Java课程也如期开始,对于一个程序员究竟是先学习哪个语言好已经没有必要去探究了,如今既然上了Java的船自然要老老实实的走,能到什么程度就看自己了,个人对自己还是有点信心的. 课从昨天就正式开始了,昨天老师讲了一天大方面的东西,总之没什么具体内容,今天开始了初始java的第一课:简单理了理今天老师讲的内容,挑了一些重点的记在日记. 一.JAVA的版本以及JDK 1)Java的几个版本 java SE(j