Java程序到底是如何运行的?

1、内存回收机制

Java自身的内存管理方式决定了, 每当进行彻底的垃圾回收的时候,所有的Java应用程序必须停下来。这点非常的讨厌,得VM的开发者不得不挖空心思的去设计垃圾回收的算法。

2、函数的调用

Java的面向对象设计思想,导致Java类库的设计,充满了许多相关联的,非常短小的方法,比如private成员变量的get/set函数。

还有就是Java的类,至少有一个构造函数,因此很多情况下,会产生一些空的构造函数。函数的调用会产生一些开销;再就是Java中函数的动态绑定,特别是interface的使用,导致java函数调用的效率比较低。

3、Java的异常机制

Java规范要求了运行期异常检查,这对Java程序的调试和排错有很大帮助,对Java的效率,却造成了很大的影响。

4、同步方法和同步的代码块

同步方法和同步代码块很容易造成性能的下降, 在java这种面向对象设计思想的环境里, 很多方法被设计的很小,调用很频繁, 如果是同步的方法,性能下降就非常的明显。

java的优点:

1、开发周期短:

因为java是面向对象的编程语言,符合人类的思考模式,在开发大型互联网项目中,选择java的公司会越来越多。这和他的另外一个特性安全性相结合。所有会吸引很多企业选择它。

2、跨平台:

java很受欢迎的一点就是跨平台,号称编译一次,到处运行。因为java自身提供出一款强大的的虚拟机来解决跨平台的问题。

3、语法简单:

java将一些编程语言比较复杂的地方已经舍去,留下来的相对都是大家比较容易理解。又因为其强大的面向对象思维模式,很好的讲复杂的机器语言和现实思维结合起来。当然他的好处还有很多。

java缺点:

需要安装大量的软件来支撑其运行环境,语法相对太严谨不太灵活,修改代码不方便尤其是线上项目的更新。需要与其他软件相继成。

Java学习视频

Java基础:

Java300集,Java必备优质视频_手把手图解学习Java,让学习成为一种享受

Java项目:

【Java游戏项目】1小时教你用Java语言做经典扫雷游戏_手把手教你开发游戏

【Java毕业设计】OA办公系统项目实战_OA员工管理系统项目_java开发

Java的优缺点是什么?具体是怎样运行的?相关推荐

  1. c java优缺点_C语言和Java的优缺点

    原标题:C语言和Java的优缺点 C语言: C语言是一门比较经典的面向过程的编程语言,经常被作为编程小白的入门语言.和 Java.C++.Python.C#.JavaScript 等高级编程语言相比, ...

  2. C语言和Java的优缺点

    C语言: C语言是一门比较经典的面向过程的编程语言,经常被作为编程小白的入门语言.和 Java.C++.Python.C#.JavaScript 等高级编程语言相比,C语言涉及到的编程概念少,附带的标 ...

  3. java与c语言的优劣势_C语言和Java的优缺点

    2 C语言的可移植性不高(主要针对于java.Java 程序在哪个机器上都可以运行,而且结果一模一样.而C语言就不行,C程序在其他机器上不一定能运行.而且就算能运行,结果可能也不一样.) java: ...

  4. Java线性池的使用方式以及核心运行原理

    Java线性池的使用方式以及核心运行原理 一.为什么需要线性池? 二.线性池的处理流程 三.线程池的使用(ThreadPoolExecutor) 四.线程池的注意事项 一.为什么需要线性池? java ...

  5. Java检查异常、非检查异常、运行时异常、非运行时异常的区别

    Java检查异常.非检查异常.运行时异常.非运行时异常的区别 参考文章: (1)Java检查异常.非检查异常.运行时异常.非运行时异常的区别 (2)https://www.cnblogs.com/ou ...

  6. java浏览器安全设置,主编练习win7系统运行java提示“您的安全设置已阻止不可信应用程序运行”的对策...

    根据小编的调查并不是所有的朋友都知道win7系统运行java提示"您的安全设置已阻止不可信应用程序运行"的问题怎么解决,就向我询问有什么办法可以解决win7系统运行java提示&q ...

  7. Java虚拟机(一)结构原理与运行时数据区域

    前言 本来计划要写Android内存优化的,觉得有必要在此之前介绍一下Java虚拟机的相关知识,Java虚拟机也并不是三言两语能够介绍完的,因此开了Java虚拟机系列,这一篇文章我们来学习Java虚拟 ...

  8. 怎样让java程序在别的电脑上运行_有关java桌面应用如何在别的电脑上运行

    本人找了很久,终于在某位大神的点播下,明白如何让自己写的java程序,在别的电脑上运行,真正和他人一起分享你成功的喜悦. 首先我们都知道java程序是运行在java虚拟机上的,所以要想运行class文 ...

  9. cmd编译java命令_使用CMD命令编译和运行Java程序

    对于初学者来说,使用CMD命令(Unix以及类Unix系统采用Termial)来编译和运行Java的好处是让初学者直观地体会到编译(Compile)这一步骤,加深记忆.所谓编译就是将文本文件xxx.j ...

  10. java项目运行在浏览器_在 Java 程序中,能在 WWW 浏览器上运行的是 程序。_学小易找答案...

    [简答题]已知:如图, AD 是△ ABC 的角平分线, DE//AC, 交 AB 于点 E , DF//AB ,交 AC 于点 F ,求证: AD ⊥ EF. [简答题]Java语言具有较好的安全性 ...

最新文章

  1. html 颜色叠加图片,如何在背景图片上添加颜色叠加?
  2. 马斯克直聘AI人才:高中毕没毕业无所谓,但是编程能力得过硬
  3. OpenStack高可用核心架构分析
  4. 陈一舟:雷军马云在通讯领域也做不过马化腾 为何我就该挨骂
  5. 在Python中的无参装饰器和有参装饰器
  6. Site Definition和Web Template的区别
  7. 借入单的后续处理-借入归还
  8. python 随机数
  9. 数据时代总结思维导图模板分享及绘制技巧
  10. alexnet的loss在一个epoch内没有稳定下降_深度学习中的双下降现象
  11. 修改MySQL的配置文件
  12. google hacking搜索语法总结
  13. 华为HCNA之PPP认证实验
  14. bad sqlldr java_java sqlldr使用
  15. MySQL 5.7.32-winx64安装教程(支持一台主机安装多个MySQL服务)
  16. 伍斯特理工学院计算机科学硕士,美国伍斯特理工学院计算机科学硕士入学要求.pdf...
  17. 微信小程序swiper组件切换+个人资料展示
  18. 【SCI】【计算机视觉】【图像处理】一二三四区期刊推荐(自用版本)
  19. 【新书推荐】大唐的裂变(套装共5册)(王澄明等著)
  20. 用三角函数计算两个坐标点距离

热门文章

  1. 23种设计模式 单例 (整理摘抄优秀的博文) 记住
  2. 从2021年度业绩报告看奇安信的网安“野望”
  3. C语言实验系统PPT展示,c语言第四谭浩强机实验课件.ppt
  4. [算法练习及思路-程序员面试金典(Java解法)]No61.峰与谷
  5. vue-chartjs
  6. 刑侦大队对涉及六个嫌疑人的一桩疑案的分析,编一程序,将作案人找出来
  7. photoshop注册机,这个必须留下来
  8. 探索自助报表BI的现状和未来(文末送福利)
  9. MongoDB 存储图片
  10. 破解验证码(2)滑动验证码