Java语言入门(一)——Java语言介绍
发布日期:2022-02-28 07:22:48 浏览次数:24 分类:技术文章

本文共 3562 字,大约阅读时间需要 11 分钟。

Java语言入门

计算机语言

计算机语言(Computer Language)只用于人与计算机之间通讯的语言。计算机语言是人与计算机传递信息的媒介。计算机系统最大特征是指令通过一种语言传达给机器。为了使电子计算机进行各项工作,就需要一套用以编写计算机程序的数字、字符和语法规划,由这些字符和语法规则组成计算机各种指令(或各种语句)。

计算机语言可以归为面向过程语言和面向对象语言。

面向过程语言

概念

面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用函数就可以了。面向过程是一种以过程为中心的编程思想,它是一种基础的顺序的思维方式,面向对象方法的基础实现中也包含面向过程思想。

特性:模块化 流程化

优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开 发,性能是最重要的因素。

缺点:没有面向对象易维护、易复用、易扩展

面向对象语言

概念

面向对象是把构成问题的事物分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在解决问题的步骤中的行为,是以功能来划分问题。
面向对象是按人们认识客观世界的系统思维方式,采用基于对象(实体)的概念建立模型,模拟客观世界分析、设计、实现软件的办法。通过面向对象的理念使计算机软件系统能与现实世界中的系统一一对应。

特性:抽象 封装 继承 多态

优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护。

缺点:性能比面向过程低

转自: .

Java语言的发展

1991年由James Gosling负责开发的一个分布式代码系统(Oak),最初是为家用消费电子产品(电冰箱、电视机等)进行编程控制 (set-top box)。

1993年Sun 公司将目标市场转向 Internet 。
1994年将Oak语言更名为Java。
1995年Java被正式发布,之后立即引起极大的轰动

Java语言目前的主要应用

1 许多大公司购买了Java的许可证。

2 众多软件开发商开始支持Java软件产品。
3 面向对象的应用开发。
4 Intranet(企业内部网)上的软件开发。
5 动态画面的设计,包括图形图像的调用。
6 与各类数据库连接查询的SQL语句实现。
7 其他应用类型的程序。

Java语言的特点

1 简单性:

(1)系统精简,但功能齐备。
(2)风格类似于C++,对C++程序员而言非常容易掌握。
(3)Java摒弃了C++中容易引发程序错误的地方,如指针操作和内存管理。
(4)提供丰富的类库。
2 面向对象
完全是面向对象的,它不支持类似C语言那样的面向过程的程序设计技术。
3 分布式管理
支持TCP/IP协议。Java应用程序可通过一个特定的URL来打开并访问对象,就像访问本地文件系统那样简单。
4 健壮性
(1)提供面向对象的异常处理机制,在编译时能对NULL指针检测、数组边界检测、异常出口字节代码校验等。
(2)自动垃圾收集来进行内存管理。
5 结构中立
将源程序编译成一种结构中立的中间文件格式。只要有Java运行系统的机器都能运行这种中间代码。
6 安全性
(1)Java语言提供的安全
(2)编译器提供的安全
(3)字节码校验
(4)类装载
7 可移植性
Java应用程序可以在配备了Java解释器和运行环境的任何计算机系统上运行,而与体系结构无关。
8 解释性
Java编译器将java源文件生成类文件.class,类文件可通过java命令解释执行,将Java字节码转换为机器码。
9 高性能
JIT编译器。可以提高Java代码的执行速度。
10 多线程
内置多线程功能,似的在一个程序里可同时执行多个小任务。带来的好处是更好的交互性和实时控制性。
11 动态
允许程序动态地装入运行过程中所需要的类,这是C++语言进行面向对象程序设计所无法实现的。
12 面向对象
封装性、多态性、继承性、动态链接。
13 操作平台无关性
严格的语言定义:“没有依据机器的不同而不同”或“由编译器决定”等字眼,最后的目标码都是一致的,初值都是确定的。

Java语言的翻译过程

(1)Java源程序为.java文件;Java Bytecode为.class文件。

(2)Java编译器:进行编译,没有绝对地址。
(3)Bytecode载入器:调入包含,继承所用到的所有的类,内存分配确定,编程真正可执行的机器码。
(4)字节码校验器:不存在伪造的指针,不违反访问权限,不非法访问对象,不导致操作栈溢出。

Java与C/C##的区别

(1)不再有#include和#define等预处理功能。

(2)不再有structure,union及typedef。
(3)不再有函数、不再有指针、不再有多重继承。
(4)不再有goto。
(5)不再有操作符重载(Operatior Overloading)。
(6)取消自动类型转换,要求强制转换。

项目 Java C++
全局变量
数据类型和转换 无结构、枚举或联合,转换时进行类型相容检查 通过指针进行任意的类型转换,带来不安全性
范围运算符 无作用域范围运算符::
数组 对象,有只读的length 无length
内存管理 可创建不属于基本数据类型的对象 不能
提前声明 不必进行提前声明 必须
预处理 没有预处理机制
头文件 import include
指针
goto和virtual
注释文档 对注释文档的内建支持

安全问题

(1)Java是在网络环境下使用的语言

(2)一个安全的网络至少要防止以下几种破坏的可能性:
毁灭系统资源、消耗系统资源、挖掘系统或个人机密、骚扰正常工作的进行。

Java虚拟机

(1)不同的操作系统有不同的虚拟机.它类似一个小巧而高效的CPU,.byte-code代码是与平台无关的是虚拟机的机器指令.

(2)Java字节代码运行的两种方式:
第一种是解释执行(interpreter),即逐条将字节码翻译成机器码并执行;第二种是即时编译(Just-In-Time compilation, JIT),将一条方法中的所有字节码翻译成机器码后再执行。前者的优势在于无需等待编译,后者的优势在于实际运行速度更快。Java虚拟机为了实现更快的运行速度,通常两种方式都会采用,即混合模式,综合两者的优点。

字节码

(1)*.class文件与机器码不同,不是真正的CPU可运行的指令代码,故又称伪代码。

(2)通过JVM以及JRE将其转成本地机器代码,达到一次撰写,到处运行的效益。
(3)(Write Once,Run Anywhere)编译一次,到处运行。

垃圾收集

(1)虚拟机使用两个独立的堆内存,分别用于静态内存分配和动态内存分配。

(2)非垃圾收集堆内存,用于存储所有类定义、常量池和方法表。
(3)另一个堆内存,用于垃圾收集的算法适用于存放在动态堆内存中的对象。
(4)垃圾收集器在收集对象前调用finalize方法。
(5)显式调用垃圾收集(System.gc())方法,不能保证立即运行,因为其优先级很低。

开发环境

(1)javac: Java编译器, 用来将java程序编译成Bytecode。

(2)java: Java编译器,执行已经转换成Bytecode的java应用程序。
(3)jdb: Java调试器, 用来调试java程序。
(4)javap: 反编译,将类文件还原回方法和变量。
(5)javadoc:文档生成器,创建HTML文件。
(6)appletviwer : Java解释器, 用来解释已经转换成Bytecode的java小应用程序。

运行环境的配置

(1)打开我的电脑–属性–高级–环境变量

(2)设置环境变量:
path=javac和java命令所在的目录。
classpath=存放字节码文件的目录
(3)在DOS命令行窗口cmd (可以按住shit键+单击鼠标右键)
1)java 测试有无安装java
2)java –version 查看java版本
3)set path 查看是否有path路径
4)set classpath 查看classpath路径

如图所示运用该命令进行查询

DOS命令行

(1)编译程序 : “javac 文件名.java”

(2)运行程序 : “java 文件名”
(3)不同盘之间的跳转:“盘名+:”
(4)相同盘下路径的跳转:“cd +路径”
(5)返回上一层目录:“cd …”

转载地址:https://blog.csdn.net/weixin_45854582/article/details/105627567 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:小程序简单认识
下一篇:Java语言入门(二)——Java语言基础

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年03月21日 17时01分27秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

《动荡的世界》精髓:什么是动物精神?动物精神又是怎么影响2008年全球经济危机的,以及我们该如何预防动物精神,避免危机再次发生。 2019-04-26
《投资最重要的事》精髓:利用逆向思维,掌握既冷静又勇猛的投资方法,成为投资界真正厉害的人。 2019-04-26
《周期》书中的精髓:如何利用周期,掌握世界的发展趋势,实现财富积累。 2019-04-26
《伟大的博弈》书中的精髓:华尔街是如何从一条小街,一步步发展为世界金融中心的。 2019-04-26
《逃不开的经济周期》书中的精髓:经济周期是推动创新变革和经济增长以及复兴的关键力量。 2019-04-26
《朋友还是对手》书中的精髓:奥地利学派和芝加哥学派两派共识远多于分歧,两派首先是朋友,其次才是对手。 2019-04-26
《动物精神》书中的精髓:人类的非理性面影响经济决策,这些有可能是金融危机的根源。 2019-04-26
《赢家的诅咒》书中的精髓:人性的复杂让主流经济学出现了诸多失灵,如何用更多理论完善经济学大厦是经济学家的重要使命 2019-04-26
《巴菲特法则》书中的精髓:用好巴菲特企业前景投资法则,股票投资稳赚不赔。 2019-04-26
《战胜华尔街》书中的精髓:业余投资者如何根据行业特点选好股票,赚得比专业的投资者还要多? 2019-04-26
《巴菲特的估值逻辑》书中的精髓:在投资过程中不断总结经验,不断提升投资能力,不断探索、加深对好公司的理解,成就了巴菲特的投资神话。 2019-04-26
《股市稳赚》书中的精髓:用简单的神奇公式进行股票投资,获得稳定而持久的收益。 2019-04-26
《曾国藩的经济课》书中的精髓:我们如何像曾国藩一样,在遇到道德和环境冲突时,既能保持自己的道德,又能调动资源,帮助自己成事。 2019-04-26
《富人的逻辑》书中的精髓:为什么暴富起来的人会在短期内失去财富,我们又该如何去创造财富和持续拥有财富。 2019-04-26
作文提升~老师整理的优美比喻句太实用 2019-04-26
作文提升~老师整理的优美拟人句太实用 2019-04-26
作文提升~老师整理的优美排比句太实用 2019-04-26
作文提升~老师整理的夸张句,太实用了,赶快收藏 2019-04-26
作文提升~写景常用的拟人句,很经典 2019-04-26
小学教师资格考试科目一思维导图-教育观、教师观和学生观 2019-04-26