我的编程梦----聊聊Java特性(java编程特点)

createh53个月前 (02-01)技术教程26

上一篇文章聊了学习编程可能会遇到的心里障碍和为什么学习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),这里有编程人生和编程知识博客。

相关文章

给32位系统装8g内存条能用吗?为什么?

关于32位和64位,这个概念一直让人比较懵。在买电脑的时候,我们看到过32位和64位CPU。下软件的时候,我们也看到过32位或64位的软件。就连装虚拟机的时候,我们也看过32位和64位的系统。在写代码...

JDK 17 - Java 17 的新特性速览(jdk17 lts)

JDK 17 于 8 月 5 日进入候选发布阶段,最终候选版本将于 8 月 19 日发布。所有功能/JEP 集都被冻结以进行目标发布。有 10 个新功能 + 2 个功能删除 + 2 个功能弃用,还有...

java采用int32作为hashcode,会不会出现更高的碰撞概率?

在Java中,hashCode方法通常返回一个int类型的值,其范围是从-2^31到2^31-1的整数。尽管这个范围实际上可以容纳2^31个不同的哈希值,但在日常讨论和某些上下文中,可能会将其简化为"...

我的世界内存错误提示怎么办如何修改

我的世界是一款沙盒游戏,所呈现的世界并不是华丽的画面与特效,而是注重在游戏性上面。在游戏中,常常有玩家反映,经常提示内存错误,怎么办?有的玩家估计是自己装的是32位的Java,尝试将最大内存调节到小于...

Java面试必考问题:对象在内存中是如何布局的?

对象的内存布局在HotSpot虚拟机中,对象在内存中的布局可以分为3块区域:对象头(Header)、实例数据(Instance Data)和对象填充(Padding)。实例数据: 包括了对象的所有成员...

程序员,背熟这99道Java多线程面试题,和面试官扯皮就没问题了

作者:享学课堂链接:https://www.jianshu.com/p/3e88a5fe75f0前言今天给大家更新的是一篇关于多线程面试的文章,也是霸哥根据时下热门的面试内容给大家进行总结的,如有雷同...