java面向对象程序设计有啥缺点?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java面向对象程序设计有啥缺点?相关的知识,希望对你有一定的参考价值。

java 开发是近几年流行的比较热门的编程语言,但是很多从事java语言的技术员,及java编程爱好者,都只是了解java 优势,很少人知道java的劣势,今天就听西安java专业培训老师给大家讲述,java 的优点和风险。

  一、好处并发编程之所以让人迷惑是因为有不止一种问题的解决需要使用并发,也有不止一种方法去实现并发,而且他们之间也没有清晰的映射。
  使用并发编程来解决的问题可以划分为两类,即“speed”和“designmanageability”。
  1、速度优势:
  多处理器:多处理器上面并发变成无疑会让程序运行很快。
  单处理器:如果是单处理器的机器,那么并发编程可能相对于顺序编程没有什么变化。但是,如果其中某一个任务也许会发生阻塞的话,那么即使是单处理器,使用并发编程也会带来很大的好处,这样,某个任务阻塞的时候,其他任务也可以继续运行了。
  反应灵敏的用户界面:在单处理器上面性能提升典型的列子就是“事件驱动的编程”,比如创建一个有反应的用户界面,其中有个按钮,如果我们不使用并发编程,那么我们需要在我们编写的每一个代码片段中都要有对用户输入的检测,如果我们使用并发编程,我们只需要重新开启一个线程去用户的输入即可。
  并发的实现:实现并发的直接的方式是在操作系统级别,使用进程,进程一种自包含的程序,使用自己的地址空间,操作系统会让进程之间相互隔离,所以进程编程相对容易一些,不需要考虑共享资源的同步等问题。但是在Java中的并发编程,由于线程之间共享相同的memory或者IO等资源,所以Java多线程编程中需要考虑共享资源的同步问题。
  进程和Java线程之间的选择:进程的确是一种实现并发的方式,butunfortunately there are generally quantity and overhead limitations toprocesses that prevent their applicability across the concurrency spectrum.
  2、设计上的优势:
  一般来说,线程使得你能够创建更加松耦合的设计。
  单处理器:尽管单处理器上面的并发编程在同一时刻处理器仍然只能做一件事情,但是带来一个组织上面的重要优势:就是你的设计(design)会极大地简化。比如。
  二、风险1、安全性问题
  主要是多个线程共享数据时可能会产生于期望不相符的结果
  2、活跃性问题(liveness)
  当某个操作无法继续进行下去时,就会发生活跃性问题。比如死锁、饥饿、活锁等问题。
  3 性能问题
  a.线程过多时会使得CPU频繁切换,花在调度上时间太多。
  b.多线程环境必须使用同步机制,导致很多编译器想做的优化被抑制。
  任何东西都有自己的优点和劣势,所以我们在学习的时候就要有针对的,理解性的学习,才能学的更深入,更透彻,更多专业知识,欢迎咨询:西安java专业培训老师,免费为您详解。
  请联系网站客服,了解详细的优惠课程信息~
  优质、便捷、省心
参考技术A 设计没有什么缺点! 参考技术B 设计没有什么缺点!

JAVA中的OOA.OOD.OOP有啥区别?

参考技术A

一、指代不同

1、OOA:面向对象分析方法,是确定需求或者业务的角度,按照面向对象的思想来分析业务。

2、OOD:面向对象设计方法是OO方法中一个中间过渡环节。其主要作用是对OOA分析的结果作进一步的规范化整理,以便能够被OOP直接接受。

3、OOP:面向对象程序设计作为一种新方法,其本质是以建立模型体现出来的抽象思维过程和面向对象的方法。

二、规则不同

1、OOA:只是对需求中描述的问题,进行模块化的处理,描述问题的本质,区别每个问题的不同点相同点,确定问题中的对象。

2、OOD:是管理程序内部各部分的相互依赖。为了达到这个目标,OOD要求将程序分成块,每个块的规模应该小到可以管理的程度,然后分别将各个块隐藏在接口(interface)的后面,只通过接口相互交流。

3、OOP:模型是用来反映现实世界中事物特征的。任何一个模型都不可能反映客观事物的一切具体特征,只能对事物特征和变化规律的一种抽象,且在所涉及的范围内更普遍、更集中、更深刻地描述客体的特征。


三、侧重点不同

1、OOA:强调的是在系统调查资料的基础上,针对OO方法所需要的素材进行的归类分析和整理,而不是对管理业务现状和方法的分析。

2、OOD:是一种解决软件问题的设计范式(paradigm),一种抽象的范式。使用OOD这种设计范式,我们可以用对象(object)来表现问题领域(problem domain)的实体,每个对象都有相应的状态和行为。

3、OOP:通过建立模型而达到的抽象是人们对客体认识的深化。


参考资料来源:百度百科-OOD

参考资料来源:百度百科-OOP

参考资料来源:百度百科-OOA

以上是关于java面向对象程序设计有啥缺点?的主要内容,如果未能解决你的问题,请参考以下文章

.啥是多态?面向对象程序设计为啥要引入多态的特性?使用多态有啥优点?

JAVA中的OOA.OOD.OOP有啥区别?

VBS和JAVA和C++,有啥区别,有啥差距

面向对象中属性是啥?有啥作用?

对JAVA的理解,JAVA的优缺点,

常见的十五种Java开发工具是啥,有啥特点