Java程序设计语言是什么意思?
Java是由SunMicrosystems公司于1995年推出的一门面向对象程序设计语言。2010年Oracle公司收购SunMicrosystems,之后由Oracle公司负责Java的维护和版本升级。
其实,Java还是一个平台。Java平台由Java虚拟机(JavaVirtualMachine,JVM)和Java应用编程接口(ApplicationProgrammingInterface,API)构成。
Java应用编程接口为此提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。
Java平台已经嵌入了几乎所有的操作系统。这样Java程序只编译一次,就可以在各种系统中运行。Java应用编程接口已经从1.1x版本发展到1.2版本。常用的Java平台基于Java1.6,最新版本为Java1.8。
Java发展至今,就力图使之无所不能。按应用范围,Java可分为3个体系,即JavaSE、JavaEE和JavaME。
扩展资料
Java语言的特点
Java语言的风格很像C语言和C++语言,是一种纯粹的面向对象语言,它继承了C++语言面向对象的技术核心,但是抛弃了C++的一些缺点,比如说容易引起错误的指针以及多继承等,同时也增加了垃圾回收机制,释放掉不被使用的内存空间,解决了管理内存空间的烦恼。
1、面向对象
Java是一种面向对象的语言,它对对象中的类、对象、继承、封装、多态、接口、包等均有很好的支持。为了简单起见,Java只支持类之间的单继承,但是可以使用接口来实现多继承。使用Java语言开发程序,需要采用面向对象的思想设计程序和编写代码。
2、平台无关性
平台无关性的具体表现在于,Java是“一次编写,到处运行(WriteOnce,RunanyWhere)”的语言,因此采用Java语言编写的程序具有很好的可移植性,而保证这一点的正是Java的虚拟机机制。在引入虚拟机之后,Java语言在不同的平台上运行不需要重新编译。
Java语言使用Java虚拟机机制屏蔽了具体平台的相关信息,使得Java语言编译的程序只需生成虚拟机上的目标代码,就可以在多种平台上不加修改地运行。
3、简单性
Java语言的语法与C语言和C++语言很相近,使得很多程序员学起来很容易。对Java来说,它舍弃了很多C++中难以理解的特性,如操作符的重载和多继承等,而且Java语言不使用指针,加入了垃圾回收机制,解决了程序员需要管理内存的问题,使编程变得更加简单。
4、解释执行
Java程序在Java平台运行时会被编译成字节码文件,然后可以在有Java环境的操作系统上运行。在运行文件时,Java的解释器对这些字节码进行解释执行,执行过程中需要加入的类在连接阶段被载入到运行环境中。
5、多线程
Java语言是多线程的,这也是Java语言的一大特性,它必须由Thread类和它的子类来创建。Java支持多个线程同时执行,并提供多线程之间的同步机制。任何一个线程都有自己的run()方法,要执行的方法就写在run()方法体内。
第一:Java基础语法。虽然Java语言经过了多次版本迭代,但是Java语言的基础语法一直秉持着纯粹的面向对象方式,所以Java的根基始终没有变化。学习Java基础语法的关键在于理解各种抽象,包括类、抽象类、接口等,另外还需要掌握封装、继承和多态这一系列面向对象语言的特征。
第二:Web开发。Web开发是Java目前重要的开发方向之一,也是几乎每一名Java程序员都会掌握的内容。Web开发的内容包括两个大的部分,一部分是前端开发,另一部分是后端开发。随着大数据的发展,Java全栈程序员正在成为一个重要的岗位,所以前端开发知识对于Java程序员来说也比较重要。前端开发的重点在于Html、CSS和JavaScript,尤其是JavaScript要重点学习一下。后端开发要掌握的技术包括Servlet、JavaBean、JDBC以及Spring框架(SpringBoot、SpringCloud、SpringMVC)。
第三:大数据开发。在当前的大数据时代背景下,学习大数据开发方向的相关知识是不错的选择。Java语言既可以从事大数据平台研发,也可以从事大数据应用开发,对于初学者来说,从大数据应用开发开始学起是比较现实的选择,比如Hadoop开发。
Java编程语言的风格十分接近C++语言。继承了C++ 语言面向对象技术的内核,Java舍弃了C++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间。在Java SE 1.5版本中Java又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
Java不同于一般的编译运行计算机语言和解释执行计算机语言。它首先将源代码编译成字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨平台特性。不过,这同时也在一定程度上降低了Java程序的运行效率。但在J2SE1.4.2发布后,Java的运行速度有了大幅提升。
与传统程序不同Sun公司在推出Java之际就将其作为一种开放的技术。全球数以万计的Java开发公司被要求所设计的Java软件必须相互兼容。“Java语言靠群体的力量而非公司的力量”是Sun公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。java编程语言的解释是:Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。
学习java需要学习的技术知识还是比较多的,包括:java基础语法、面向对象、javase、数据库技术、web前端、java开发框架、企业项目实战等。想要学好这些技术,就需要我们不断的努力才能够完全掌握。至于看不看书这个可以根据大家自己的需求去了解该看一些什么样类型的书籍。
现在市面上的java学习资料很多,如果是想要快速完成学习找工作的可以去网络上找一些相关的视频资料进行学习,或者是去报名java培训班进行学习,看视频学习或者是老师带领学习的话更容易理解,这样学习的效率相对看书来说是比较快一些。
java入门学习的话、大家可以看看下边的这些书。
《Java核心技术(第10版)》
提起Java入门必读,四大名著是少不了的。《Java 核心技术》就是其中之一,分卷一、卷二两册,卷一讲基础,卷二为进阶。全书对于Java语言的核心概念、语法、重要特性和开发方法讲解得非常细致,可以说是一部有关Java的百科全书。
《EffectiveJava中文版(第 3 版)》
这本书不是讲理论基础的,而是讲实战的。书中介绍了78条极具实用价值的经验规则,涵盖了大多数开发人员每天所面临的问题的解决方案,并且通过代码例子进一步进行佐证,让你知其然,也知其所以然。
《Java 编程思想(第 4 版)》
这同样是一本Java领域的经典书籍,从Java编程的基础知识点开始讲起,慢慢深入,一直到Java的高级特性。作者用了大量通俗易懂的代码对理论进行佐证,让读者在实际操作中可以深入理解操作符、枚举类型、接口等相关知识。
深入理解Java虚拟机:JVM 高级特性与最佳实践(第 2 版)》
用Java却不懂JVM是说不过去的,但市面上有关JVM 的书很少,这本书更是少有的国内讲解此方面备受好评的书,甚至可以说是JVM书籍最好的读物之一。
本书整体内容更偏向实战,难易适中。从内存管理、执行子系统、程序编译与优化、高效并发等核心主题讲解JVM。第2版根据JDK1.7进行了内容升级,整体上不光适合入门,而且对于已经接触JVM的人来说,也会常读常新。
《Java语言程序设计(基础篇)(原书第 10 版)》
这应该是很多程序员,尤其是Java程序员倍感亲切的书,因为这本书可以说是他们当中很多人的入门初心。
本书从最基本的程序理论知识出发,哪怕你完全没有Java基础,也可以通过这本书了解Java基本的程序设计、语言结构、面对对象程序设计等知识。书中还配了大量的代码和课后习题,让读者在了解有关Java的基础知识的时候,也能进行实践深入理解。
题型分为单选题、填空题、简答题50分,程序填空题、程序分析题、程序设计题50分,
前面的50分主要是死记硬背,能领悟那更好,再加上简单应用,可以去找一些app了解这一方面,平时就认真看看课本啦,刷刷真题、练习题,背背简答题,应该大差不差的能拿到30以上,在这方面努努力,毕竟要靠这得分
后面的50分,都是综合应用,拿分很困难,因为要有很多的代码实践,属于日常功夫,要得懂读代码、写代码、调试代码。必须得上机训练,搞清楚书上的示例代码,再搞清楚往年试卷的程序大题,基本上拿个20分以上,大概要做对3,4道题。不过也要努力,毕竟这一行没点真工夫是真不行。
这些可以找一些视频,找一些讲解,在某bi站上有很多大佬讲解,可以去找找。希望对您能有帮助。
JAVA介绍
一、前言
『Java』从1995年的暑假开始在计算机业界就受到了高度注意,特别是在Internet和多 媒体(Multimedia)相关产品类方面。Java为何有如此这么大的魅力?人作如此的比喻: Java在全球资讯网(World Wide Web, WWW )地位就如同电子表格(Spreadsheet)与个人计 算机(PC)的关系。那Java究竟有那些特色呢?
Java是一种软件技术
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
是一种为 Internet发展的计算机语言
是一种使网页(Web Page)产生生动活泼画面的语言
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
是一种语言,用以产生「小应用程序(Applet(s))」
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
是一种将安全性(Security)列为第一优先考虑的语言
是一种使用者不需花费很多时间学习的语言
是一种突破用户端机器环境和CPU结构的语言
是一种「写一次,即可在任何机器上执行(Write OnceRun Anywhere)」的语言是有史以来,第一套允 使用者将应用程序(Applications)通过Internet从远端的服务器(Remote Server)传输到本地端的机器 上(LocalMachine)并执行
是一种应用程序提供者不需要知道使用者的计算机硬件(如:Sun, Intel, 或MAC等)与软件(如:SW- UNIX, MAC O/S, Windows, 或NT等)环境的语言(Kestenbaum, 1995)。
Java的版本
J2SE Java的标准版本 (Java2 Standard Edition) 定位在客户端,主要用于桌面应用软件的编程
J2ME (Java2 Micro Edition)主要应用于嵌入是系统开发,如手机和PDA的编程;
J2EE 企业版本(Java2 Enterprise Edition)定义在服务器端Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
下面将依序地介绍Java,首先是Java的发展历史与Java语言介绍,其次依序是Java Applet和HotJava的简单介绍。
二、Java FAQ
下面以问答的方式来说明Java的发展历史与其背景(下列内容整理自 Java FAQ list and Tutorial和The Java Language: A White Paper,读者若欲深 入了解,请自行参阅原文):
Java何时开始发展?(When)
最早大概可追溯至1991年四月份,Sun的绿色计划(Green Project)开始着手于发展消费性电子产品(Consumer Electronics),所使用的语言是C、C++、及Oak (为Java语 言的前身),后因语言本身和市场的问题, 使得消费性电子产品的发展无法达到当初 预期的目标,再加上网络的兴起, 绿色计划也因此而改变发展的方向,这已是1994 年了。
为何称之为Java?(Why) "Java"是美国SUN计算机公司Java发展小组历经无数次的激烈讨论之后才被选择出。 生动(Liveliness)、动画(Animation)、速度(Speed)、交互性(Interactivity)为当 初选择名字时所欲表达出的特色。"Java"是在无数的建议中脱颖而出的,而"Java" 不是由几个单字的首字所组成, 而是从许多程序设计师钟爱的热腾腾、香浓咖啡中 产生灵感的。
谁开发了Java?(Who) Java是美国SUN计算机公司Java发展小组开发的,早期的成员(绿色工程)是Patrick Naughton, James Gosling, &Mike Sheridan,而现在大家较为熟悉的成员是James Gosling。
在那里开发了Java?(Where)
也就是问Java的出生地?答案是美国。
如何可以找到所需的Java信息?(How to)
在网路上,您可以连到Sun公司的Java WWW 网站,URL是http://java.sun.com/,或是 http://www.javasoft.com/。在那里几乎可以找到您所需要的所有Java信息,但是语 言多少是一个障碍, 至少对某些人而言;没关系,目前国内已有很多个网站提供中文 Java信息。在清华和中科院的FTP站点上有不少有关资料。想象以后应会有更多的站点提供相关信息。
如何才能看到Java的效果?(How Do I)
首先您需要有含有Java解释器的浏览器(Browser),例如:Netscpae公司的Netscape Navigator 2.0以上或是Sun公司的HotJava浏览器,对个人计算机使用者而言,操作 系统需是Windows 95或是Windows NT。
Java是因为撰写C++语言程序时的困难而研制开的,起先,只是一个消费性电子产品 大计划中的一部份,C++语言是当初被考虑采用的,但从一开始的编译问题一直到最 后的一连串问题迫使得放弃C++语言,而有Java语言的产生。Sun是要Java成为一个简 单(Simple)、面向对象的(Object Oriented)、 分布式的(Distributed)、解释的(Interpreted)、健壮的(Robust)、安全的(Secure)、 结构中立的(Architecture Neutral)、可移植的(Portable)、高效能的(High Performance)、多线程的(Multithreaded)、动态的(Dynamic)的程序语言(摘译自 TheJava Language: A White Paper, 1995)。
在Sun的Java语言白皮书中明白地说明上述Java语言的技巧。若以木工为比喻,一个面 向对象的木工,他(她)最主要的重点是即将要做的木椅子,其次才是所需要的工具; 反之;一个以非面向对象的木工,他(她)所关心的只是工具。最近的即插即用(Plug and Play)亦是面向对象设计的重点。 分布式的(Distributed):Java有一个很周全的程薪录JAVA介绍 。
一、
『Java』从1995年的暑假开始在计算机业界就受到了高度注意,特别是在Internet和 多媒体(Multimedia)相关产品类方面。Java为何有如此这么大的魅力?人作如此的比喻: Java在全球资讯网(World Wide Web, WWW )地位就如同电子表格(Spreadsheet)与个人计 算机TTP和FTP等TCP/IP通讯协定相配合。Java应用程序(Applications) 能在网路上开启及连结使用物件,就如同透过URLs连结使用一个本地文件系统(Local File System)。 健壮的(Robust):由Java所编写出的程序能在多种情况下执行而具有其稳定性。Java与 C/C++最大不同点是Java有一个指针模型(Pointer Model)来排除内存被覆盖(Overwriting Memory)和毁损数据(Corrupting Data)的可能性。
安全的(Secure):Java是被设计用于网络及分布式的环境中,安全性自必是一个很 重要的考虑。Java拥有数个阶层的互锁(Interlocking)保护措施,能有效地防止病 毒的侵入和破坏行为的发生。
结构中立的(Architecture Neutral):一般而言,网络是由很多不同机型的机器所 组合而成的,CPU和作业系统体系结构均有所不同;因此,如何使一个应用程序可以 在每一种机器上执行,是一个难题。所幸,Java的编译器产生一种结构中立的目标 文件格式(Object File Format);这使得编译码得以在很多种处理器中执行。
可移植的(Portable):原始资料型式的大小是被指定的,例如"float"一直是表示一 个32位元IEEE 754浮点运算数字,因绝大多数的CPU都具有此共同特征。程序库属于 系统的一部份,它定义了一些可移植的程序接口,Java本身具备有很好的可移植性。
解释的(Interpreted):Java解释器能直接地在任何机器上执行Java位元码(Bytecodes), 因此在进行程序连结时,时间的节省,这对于缩短程序的开发过程,有极大的帮助。
高效能的(High Performance):Java位元码迅速地能被转换成机器码(Machine Code), 从位元码转换到机器码的效能几乎与C与C++没有分别。
多线程的(Multi threaded):Java语言具有多线程的功能,这对于交互回应能力及 即时执行行为是有帮助的。
动态的(Dynamic):Java比C或C++语言更具有动态性,更能适应时刻在变的环境, Java不会因程序库的更新,而必须重新编译程序。
此外,Hank Shiffman (Making Sense of Java)亦针一般对Java的错误看法及观 念提出他的说明,特在此摘译如下:
"Java是一种编写Web Pages的一种语言,就如同HTML和VRML一样" 事实上,Java并不像是HTML此一类的描述语言(Description Language),而是一种 编程语言(Programming Language)。描述语言标明内容和位置,而编程语言描述一 种产生结果的过程。
2. "Java语言容易学习和使用,不像C、C++和其它程序语言"
Java是一种编程语言。Java容易学吗?Java或许是比C或C++容易学,但仍是一种编程语言,而不是一种描述语言。
3. "Java码是可移植的,但C及C++不是"
Java原代码(Source Code)是比C语言来得可移植一点,差别在于Java的目标码。 Java码在一种机器上进行编译,而能在所有的机器上执行, 只要那部机器上有 Java解释器。
4. "Java能被拓展而在机器上执行任何事情"
理论上,Java Applet (Java小应用程序)能做任何事情,如模拟3D VRML模型、播放电影、产生音频....等。但事实上,一个小应用程序(Applet)仅能在那一页上被执行,而无法在那一页之外执行。同时,Java亦受限于程序库的功能。
5. "Java是适合于建立大型的应用程序"
如果Java适合于大型程序,则Java就不适合应用于Web浏览器了。第一个商业 性的Java Applets (Applix's Java-Based Spreadsheet) 并不是全然使用Java, 它只使用Java作为用户接口,而所有的处理工作, 是用CGI码。
6. "Java是解释执行的,Basic是解释执行的,因此Java=Basic"
虽然Java的确是使用解释器,但事实上,Java则与C或C++等完全编译语言较为相近,但与Basic或APL等完全解译语言较不相近。
7. "Java删除了CGI命令稿(Scripts)和程序的需求"
Java Applets将会取代部份CGI的用途。在有些情况,Java Applets能够取代一些服务器端代码(Server-Side Code),但大多数的情况,基于安全性理由或是效 能的考虑,Java仍无法全然取代CGI Scripts。
8. "Netscape's JavaScript是与Java有相关"
除了名称之外,Java和JavaScript是有一点点相关。JavaScript是一种命令稿语 言,是可以在HTML页中使用。Java码并未出现在HTML中,而在HTML中通过一个链 结来链结编译码组。Java和JavaScript之间的关系就如同C语言和C Shell一般。
--------------------------------------------------------------------------------------------------------------
十. Java 的未来发展
相信这个问题大家一定很关注! 我是Java工程师,从事Java研发技术已多年,而且很关注SUN公司对Java的发展和创新,自己也是全球Java研发中心的一员,在此像大家介绍一下Java的未来发展动向!
Java的跨平台性使其具有非常广阔的发展空间,Java如今不断在科研、教育、航空航天上取得进展,相信2010年后将是Java的世界! 当然需要大家,全球Java爱好者共同努力!
Java从J2SE1.4 到 J2SE1.5,到J2SE1.6 到 J2SE1.7都在不断完善Java的各种功能,也在学习 .Net 的各种优势,呵呵
软件之间就是这样,要想生存就的不断吸收别人的长处! 代号野马的 J2SE1.6在性能上将有飞跃,希望各位能钟情于它。
相信.Net 于 Java竞争还会不断进行下去,只要Microsoft不倒闭我们的Java就会有发展,即便SUN倒闭了我们的Java也不
会倒,因为Java是我们大家的! 开源的!
你还在犹豫学什么语言吗? 学习Java吧,它比C简单! 呵呵……
结尾:Java 的发展将向 小型机(手持设备) 广域的多机合作(分布式) 人工智能系统(AI) Java
IT行业迅速发展,各种编程语言、装饰设计、平面设计、网站设计等各有各的优点,但是在如此众多的科目中,Java开发为何能够20年屹立不倒,仍然成为就业率高,行业发展前景最被看好的一门呢!Java的最大一个优点就是它的跨平台性。
只需要你一次编写好,就能够运行在各种平台上,这样系统的移植、平台的迁移变就更容易,更改成本降到最低。
下面电脑培训http://www.kmbdqn.cn/就具体、全方位的浅谈下Java语言的优势,为什么现在Java市场需求量供不应求,就业率高,发展前景好!1.简单Java语言是面向对象中的一种,通过提供最基本的方法去完成指定任务,你理解了一些基本概念后,就可以编写出适合于各种情况的应用程序。
2.面向对象Java语言的设计集中于对象及其接口,它提供了简单的类机制以及动态的接口模型。
对象中封装了它的状态变量以及相应的方法,实现了模块化和信息隐藏而类是提供了一类对象的原型,通过继承的机制,子类能使用父类提供的方法,实现代码重复使用。
3.分布性Java是面向网络的语言。
通过它提供的类库可以处理TCP/IP协议,用户可以通过URL地址在网络上很方便地访问其他对象。
4.鲁棒性Java在编译和运行程序时,都要对可能出现的问题进行检查,以消除错误的产生。
Java在使用时,通过集成的面向对象的异常处理机制,Java提示出可能出现但未被处理的异常,帮助程序员正确地进行选择以防止系统的崩溃。
同时,Java还可捕获类型声明中的许多常见错误,防止出现动态运行时不匹配问题。
5.安全性用于网络、分布环境下的Java必须防止病毒的入侵。
Java不支持指针,一切对内存的访问都必须通过对象的实例变量来实现,这样就防止了程序员使用“特洛伊”木马等欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误。
6.可移植性与平台无关的特性使Java程序可以方便地移植到网络上的不同机器。
同时,Java的类库中也实现了与不同平台的接口,使这些类库可以移植。
另外,Java编译器是由Java语言实现的,Java运行时系统由标准C语言实现,这使得Java系统本身也具有可移植性。
7.解释执行Java解释器直接对Java字节码进行解释执行。
字节码本身携带了许多编译时信息,使得连接过程更加简单。
8.高性能和其他解释执行的语言不同,Java字节码的设计很容易地直接转换成对应于特定CPU的机器码,可以提交性能。
9.动态性Java的设计使它适合于一个不断发展的环境。
在类库中可以自由地加入新的方法和实例变量而不会影响用户程序的执行。
Java通过接口来支持多重继承,更具有灵活性和扩展性。
本书以J2SE 5.0版本为基础,采用“先讲基础”的教学方式,循序渐进地介绍了程序设计基础、面向对象的程序设计、图形用户界面设计、异常处理和输入/输出等。另外,本书还全面且深入地覆盖了一些高级主题,包括GUI应用程序、applet、数据结构、多线程、JavaBeans、高级GUI、数据库、JSP、分布式计算等。
首先,人物类,person ,Teacher类和CollegeStudent类继承之。
其次,动作类pay接口,person可以不实现,因为他是抽象类,Teacher类和CollegeStudent类要implements这个接口
最后是测试类
下面是代码
person类:
public abstract class Person implements Pay{}
Teacher类:
public class Teacher extends Person {
public void pay() {
System.out.println("基本工资+授课时数*30")
}
}
CollegeStudent类:
public class CollegeStudent extends Person {
public void pay() {
System.out.println("奖学金支出")
}
}
pay接口:
public interface Pay {
public void pay()
}
测试类:
public class Test {
public static void main(String[] args) {
Person teacher=new Teacher()//左父右子
Person collegeStudent=new CollegeStudent()//左父右子
teacher.pay()//调用的还是person类型,由于是动态绑定,所以多态成老师的方法
collegeStudent.pay()// 和上面 类似
}
}