【编程基础】聊聊如何学习Java——Java的特性

上一篇文章聊了学习编程可能会遇到的心里障碍和为什么学习Java,看了网友们的回复小编很激动,我会积极听取网友们的留言,在我以后的文章中改进。现在说Java语言的特性,每一种语言都有自己的特性,Java语言有哪些特性呢?

简单性:Java编程语言的风格十分接近C++语言,使用C++的人很容易就能掌握Java。Java语言抛弃了C++一些难以理解和学习的东西可以说是C++的一个纯净版。

面向对象:简单的说面向对象就是可以把一个事物看成(抽象)为一个类,它有一些属性和行为,它代表了一类事物的特性。这个特性让编程人员更多的精力是放到数据和对象上。

健壮性:Java的强类型机制、异常处理、垃圾自动收等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。

安全性:Java适用于网络和分布式环境,如果不安全那是不行的。Java语言在一开始就被设计成能够防范各种攻击,例如:禁止运行时堆栈移出,这是蠕虫等病毒常用的攻击手段。

结构中立(一次编译,处处运行):Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后只要有Java运行时系统就可以在许多处理器上运行。

可移植性:与C/C++不同,Java规范中明确了基本数据类型的大小,消除了在代码移植时主要令人头痛的问题。比如在Java中int型就是32位整数,在C/C++中有可能是16位整数也可能是32位整数。

解释型:Java程序在Java平台上被编译为字节码格式, 然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。

高性能:Java语言应为有垃圾回收等额外的开销所以会比C++慢一些,但是现在Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C++,并且现在硬件性能过剩,Java对于性能的影响已经很小。

多线程:多线程技术可以充分利用硬件资源,给用户带来更好的用户体验和实时行为。

动态性:Java比C/C++更加具有动态性。Java程序需要的类能动态地被载入到运行环境,也可以通过网络来载入所需要的类。

没有“放诸四海而皆准”的语言,每一种语言的设计都是为了更好的解决人们实际编程中遇到的问题,没有任何一种语言能够在实际编程中完全胜任。Java语言的成功是把原本复杂的事情(联网,多线程等)让你很容易的实现,减少了在编程中遇到指针错误,提高了编程和调试的效率。

Java语言的这些特性你看完之后可能记不住太多,不过呢没关系,等你具体学习Java语言过程中慢慢体会。下一篇文章会讲解Java环境配置和编写一个Java小程序。

另外有网友说初学Java看什么书好,小编认为可以看看《Java编程思想》,网上PDF格式的很多,网友们可以搜索下载。编程有技巧,但是前期的基础部门是没有技巧的,就是要看书学习才能记住。

原文发布于微信公众号 - 程序员互动联盟(coder_online)

原文发表时间:2015-05-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏java一日一条

编写高质量代码的思考

最近在看《代码大全》,可以说是一本软件开发的百科全书,特别厚,但是干货也很多。平时写代码,代码规范是一个最低的要求(很多老代码连最低要求都达不到),为什么要这样...

832
来自专栏Java学习网

Java虚拟机工作原理之JVM用到的3大计算机核心功能,重点是方法调用

JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模...

1353
来自专栏PHP在线

PHP 代码规范简洁之道

原文出处: Scholer 1. 统一的编码规范 编码规范往简单说其实就是三个方面: 换行 空格 变量命名 放在 PHP 里面,还有一些附加的地方,比如关键字...

3856
来自专栏iOS技术

何为代码质量?——用脑子写代码引言正文总结

为什么项目维护困难、BUG 反复?实际上很多时候就是代码质量的问题。代码架构就像是建筑的钢筋结构,代码细节就像是建筑的内部装修,建筑的抗震等级、简装或豪装完全取...

562
来自专栏landv

我的第一个Java程序和Java简介

1112
来自专栏JAVA高级架构

Java设计模式-责任链模式

作者:Jet啟思 链接:https://juejin.im/post/5a126b146fb9a0450c490201 今天来说说程序员小猿和产品就关于需求发生...

36411
来自专栏Crossin的编程教室

【Python 第33课】 处理文件中的数据

我们已经知道了如何读取和写入文件。有了这两个操作文件的方法,再加上对文件内容的处理,就能写一些小程序,解决不少日常的数据处理工作。 比如我现在拿到一份文档,里面...

3318
来自专栏java一日一条

编写高质量代码的思考

最近在看《代码大全》,可以说是一本软件开发的百科全书,特别厚,但是干货也很多。平时写代码,代码规范是一个最低的要求(很多老代码连最低要求都达不到),为什么要这样...

832
来自专栏Python爬虫与算法进阶

爬虫之全站爬取方法

其实这个很好理解。比如说知乎,一个大V有100W粉丝,从这个大V出发,抓取粉丝的粉丝,一直循环下去。(可能是个死循环)

1783
来自专栏iKcamp

翻译连载 | 第 10 章:异步的函数式(上)-《JavaScript轻量级函数式编程》 |《你不知道的JS》姊妹篇

原文地址:Functional-Light-JS 原文作者:Kyle Simpson-《You-Dont-Know-JS》作者 第 10 章:异步的函数式(上)...

2019

扫码关注云+社区