精彩牛耳,用心缔造
您的位置:主页 > 牛耳资讯中心 > 行业资讯 >

Java软件开发技术三⼤特性

作者:牛耳教育 编辑:陈老师 来源:未知 发布日期:2022年05月23日
信息摘要:
Java技术具有卓越的通⽤性、⾼效性、平台移植性和安全性,⼴泛应⽤于PC、数据中⼼、游戏控制台、科学超级计算机、移动电话和互联⽹,同时拥有全球最...
    Java技术具有卓越的通⽤性、⾼效性、平台移植性和安全性,⼴泛应⽤于PC、数据中⼼、游戏控制台、科学超级计算机、移动电话和互联⽹,同时拥有全球最⼤的开发者专业社群。下⾯给⼤家分享的是Java技术三⼤特性,在这希望对⼤家有所帮助!
Java软件开发技术三⼤特性
    1:虚拟机
 
    Java虚拟机JVM(JavaVirtualMachine)在Java编程⾥⾯具有⾮常重要的地位,约相当于前⾯学到的Java运⾏环境,虚拟机的基本功能如下:
 
    (1):通过ClassLoader寻找和装载class⽂件
 
    (2):解释字节码成为指令并执⾏,提供class⽂件的运⾏环境
 
    (3):进⾏运⾏期间垃圾回收
 
    (4):提供与硬件交互的平台
 
    Java虚拟机是在真实机器中⽤软件模拟实现的⼀种想象机器。Java虚拟机代码被存储在。class⽂件中;每个⽂件都包含最多⼀个public类。
 
    Java虚拟机规范为不同的硬件平台提供了⼀种编译Java技术代码的规范,该规范使Java软件独⽴于平台,因为编译是针对作为虚拟机的“⼀般机器”⽽做。这个“⼀般机器”可⽤软件模拟并运⾏于各种现存的计算机系统,也可⽤硬件来实现。编译器在获取Java应⽤程序的源代码后,将其⽣成字节码,它是为JVM⽣成的⼀种机器码指令。每个Java解释器,不管它是Java技术开发⼯具,还是可运⾏applets的Web浏览器,都可执⾏JVM。
 
    JVM为下列各项做出了定义
 
    -指令集(相当于中央处理器[CPU])
 
    -寄存器
 
    -类⽂件格式
 
    -栈
 
    -垃圾收集堆
 
    -存储区
 
    JVM的。代码格式由紧缩有效的字节码构成。由JVM字节码编写的程序必须保持适当的类型约束。⼤部分类型检查是在编译时完成。任何从属的Java技术解释器必须能够运⾏任何含有类⽂件的程序,这些类⽂件应符合Java虚拟机规范中所指定的类⽂件格式。
 
    1.1:虚拟机是Java平台⽆关的保障
 
    正是因为有虚拟机这个中间层,Java才能够实现与平台⽆关。虚拟机就好⽐是⼀个Java运⾏的基本平台,所有的Java程序都运⾏在虚拟机上。
Java软件开发技术三⼤特性
    2:垃圾回收
 
    2.1:什么是垃圾
 
    在程序运⾏的过程中,存在被分配了的内存块不再被需要的情况,那么这些内存块对程序来讲就是垃圾。
 
    产⽣了垃圾,⾃然就需要清理这些垃圾,更为重要的是需要把这些垃圾所占⽤的内存资源,回收回来,加以再利⽤,从⽽节省资源,提⾼系统性能。
 
    2.2:垃圾回收
 
    -不再需要的已分配内存应取消分配(释放内存)
 
    -在其它语⾔中,取消分配是程序员的责任
 
    -Java编程语⾔提供了⼀种系统级线程以跟踪内存分配
 
    -垃圾收集
 
    -可检查和释放不再需要的内存
 
    -可⾃动完成上述⼯作
 
    -可在JVM实现周期中,产⽣意想不到的变化
 
    许多编程语⾔都允许在程序运⾏时动态分配内存,分配内存的过程由于语⾔句法不同⽽有所变化,但总是要将指针返回到内存的起始位置,当分配内存不再需要时(内存指针已溢出范围),程序或运⾏环境应释放内存。
 
    在C,C++或其它语⾔中,程序员负责释放内存。有时,这是⼀件很困难的事情。因为你并不总是事先知道内存应在何时被释放。当在系统中没有能够被分配的内存时,可导致程序瘫痪,这种程序被称作具有内存漏洞。
 
    Java编程语⾔解除了程序员释放内存的责任。它可提供⼀种系统级线程以跟踪每⼀次内存的分配情况。在Java虚拟机的空闲周期,垃圾收集线程检查并释放那些可被释放的内存。垃圾收集在Java技术程序的⽣命周期中⾃动进⾏,它解除了释放内存的要求,这样能够有效避免内存漏洞和内存泄露(内存泄露就是程序运⾏期间,所占⽤的内存⼀直往上涨,很容易造成系统资源耗尽⽽降低性能或崩溃)。
 
    2.3:提⽰
 
    (1):在Java⾥⾯,垃圾回收是⼀个⾃动的系统⾏为,程序员不能控制垃圾回收的功能和⾏为。⽐如垃圾回收什么时候开始,什么时候结束,还有到底哪些资源需要回收等,都是程序员不能控制的。
 
    (2):有⼀些跟垃圾回收相关的⽅法,⽐如:System。gc(),记住⼀点,调⽤这些⽅法,仅仅是在通知垃圾回收程序,⾄于垃圾回收程序运不运⾏,什么时候运⾏,都是⽆法控制的。
 
    (3):程序员可以通过设置对象为null(后⾯会讲到)来标⽰某个对象不再被需要了,这只是表⽰这个对象可以被回收了,并不是马上被回收。
Java软件开发技术三⼤特性
    3:代码安全
 
    Java如何保证编写的代码是安全可靠的呢?
 
    (1):第⼀关:编写的代码⾸先要被编译成为class⽂件,如果代码写得有问题,编译期间就会发现,然后提⽰有编译错误,⽆法编译通过。
 
    (2):第⼆关:通过编译关后,在类装载的时候,还会进⾏类装载检查,把本机上的类和⽹络资源类相分离,在调⼊类的时候进⾏检查,因⽽可以限制任何“特洛伊⽊马”的应⽤。
 
    (3):第三关:类装载后,在运⾏前,还会进⾏字节码校验,以判断你的程序是安全的。
 
    (4):第四关:如果你的程序在⽹络上运⾏,还有沙箱(SandBox)的保护,什么是沙箱呢?就是如果你的程序没有获得授权,只能在沙箱限定的范围内运⾏,是不能够访问本地资源的,从⽽保证安全性。
牛耳推荐资讯
湖南工程学院计算科学与

湖南工程学院计算科学与

【产教融合育人才校企合作谋发展】湖南工程学院计算科学与电子学院与牛耳科教集团签约共建实习基地...
2022年11月30日
嵌入式学习路线怎么规划

嵌入式学习路线怎么规划

随着人工智能领域的兴起和发展,嵌入式开发技术也随之受到关注。近几年,学习嵌入式开发的学生越来越多,有的选择自学,有的选择去培训班。不管做...
2022年11月30日
Web前端框架有哪些?哪个

Web前端框架有哪些?哪个

Web前端框架是前端开发中一个非常重要的开发工具。功能强大的框架可以让前端人员更加清晰的看见现有代码的结构,也能快速检查一些代码错误,极大的...
2022年11月30日
软件测试培训多少钱?学

软件测试培训多少钱?学

目前市面上软件测试培训的费用大概在0.8-2.3万之间,为什么费用差别会这么大?影响因素有很多,主要是课程内容、上课方式、地理位置等。...
2022年11月28日
为什么要学习软件开发?

为什么要学习软件开发?

随着时代的进步,国家的发达,信息时代的到来,对于软件开发的需求也越来越大了!普遍性的需要,那么什么是软件开发?...
2022年11月25日
 牛耳教育的教学模式是怎

牛耳教育的教学模式是怎

牛耳教育采取独特的“企业化管理”的教学模式,从专业技能、项目能力和职业素质三方面帮助学生全面提升职业竞争力,完善的软件人才培养体系基础上,同时拥有完善的软件人才考...
2022年11月22日

咨询热线

400-0731-162