Java的特点
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java的特点,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3921字,纯文字阅读大概需要6分钟。
内容图文
![Java的特点](/upload/InfoBanner/zyjiaocheng/609/3c2d7861bf48493f9c630a8b74febd5b.jpg)
Java特点
Java是面向对象的编程语言(object-oriented)。
编程思想
***面向对象思想:***它是对现实世界的一种抽象,把相关的数据和方法组织为一个整体来看待,根据情况进行无序一系列的动作(方法)。
***面向过程思想:***以过程为中心,一般是有序的进行一系列的动作(方法)。
语言分类(根据数据类型确定的时间)
***静态语言:***在编译期间就能够知道数据类型的语言,在运行前就能够检查类型的正确性,一旦类型确定下来就不能再更改,例如:
public void foo(){
int x=5;
boolean b=x;//编译前报错
}
有Pascal、perl、c/c++、Java、C#、Scalca等。
***动态语言:***没有任何特定的情况需要指定变量的类型,在运行时确定数据类型。有Lisp、Python、Ruby、JavaScript
***静态语言和动态语言的优点:***所有的编程语言都是把程序员可读的代码转换为机器指令。
**静态语言:**让硬件执行更高效,因此需要程序员编写正确无误代码。
**动态语言:**提高程序员的编码效率,相对静态而代码量少。
Java的核心JVM
**JVM:**Java虚拟机是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
应用程序和硬件的关系(应用程序需要操作系统来硬件进行交互)如图:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
如果是Java应用,如图:
? Java应用因为在JVM上运行的,不同操作系统有不同JVM来可以处理相同Java代码,所以无论在那个操作系统上编码都可以运行(把字节码文件(.class)打包.jar文件)。
多线程
Java对用户屏蔽操作系统很多底层实现细节。
操作系统实现多线程的方式:
- 在用户空间实现多线程
- 在内核空间实现多线程
- 在用户和内核空间中混合实现多线程
Java代码编译过程
传统的编译器:
代码经过javac编译器编译为字节码(byte code),经过JVM内嵌的解释器将字节码文件转换为机器代码(解析执行),效率较低。
JIT
? JIT编译器在程序启动后运行,然后将代码(通常称为字节码或某种JVM指令)即时(或称为即时)编译为通常更快的形式,通常是主机CPU的本机 指令系统。 JIT可以访问动态运行时信息,而标准编译器则不能,并且可以进行更好的优化,例如内联经常使用的函数。这与传统的编译器相反,传统的编译器在程序首次运行之前将所有代码编译为机器语言。
? 换个说法,传统的编译器会在您首次运行之前将整个程序构建为EXE文件(可执行文件 )。 对于较新样式的程序,将使用伪代码(p代码)生成程序集。 只有在OS上执行该程序之后(例如,通过双击其图标),才会(JIT)编译器启动并生成基于Intel的处理器或任何能理解的机器代码(m-代码)。
Java的特点(Java俗称c+±):
- Java抛弃了**c++**中的多继承、指针、内存管理
- Java不需要手动管理对象的生命周期。
- Java语言拥有功能强大和简单易用的两个特性,用很多框架。
- java是一门静态语言(执行速度快,要求编码正确无误)
- Java具有平台独立性和可移植性(write one,run anywhere)
- Java能够容易的实现多线程
- Java具有高性能
- Java语言具有健壮性
? Java的强类型机制,异常处理,垃圾自动收集等保障Java的健壮性(也是C语言的区别)。
- Java很容易开发分布式项目***分布式:***就是将项目先按表现层、服务层进行纵向拆分,再将服务层按模块进行横向拆分,登录服务、订单服务、物流服务等。
通俗的例子很简单:如果我们有一个汽车厂,想生产汽车来卖。单体的解释就是一个人把汽车从轮子,到玻璃,到发动机造出来,然后这个人在到市场上去卖;分布式就可以理解为,先纵向拆分,销售(4S 店)和工厂分隔开,4S 店负责对外卖,工厂负责生产,4S 店要卖车就找工厂要就行,然后工厂把造轮子组建一个车间,搞发动机组建一个车间,由各个车间协作完成一个车的生产,然后再给 4S 店去卖车。当然这样优势就很明显了。 比传统的单体或者单体+集群,效率和性能都高很多。单体是指一个人完成这个工作,集群是指多了几个人,只是按需找不同的人来完成而已,而分布式是大家一起来完成这个工作,分工更明确,功能划分更合理,稳定性也更有保障。
***URL:***统一资源定位系统(uniform resource locator;URL)是因特网的万维网服务程序上用于指定信息位置的表示方法。它最初是由蒂姆·伯纳斯·李发明用来作为万维网的地址。现在它已经被万维网联盟编制为互联网标准RFC1738。
***RMI:***远程方法调用(Remote Method Invocation),一种用于实现远程过程调用(RPC)(Remote procedure call)的Java API, 能直接传输序列化后的Java对象和分布式垃圾收集。它的实现依赖于Java虚拟机(JVM),因此它仅支持从一个JVM到另一个JVM的调用
? Java支持Internet应用的开发,Java中有net api,他提供了用于网络应用编程的类库,包括URL、URLConnetion、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
内容总结
以上是互联网集市为您收集整理的Java的特点全部内容,希望文章能够帮你解决Java的特点所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。