java的问题:

1.性能:java的内存管理似乎比较自动化,但其实性能不是特别好。尤其是new对象的时候没有节制。在java中,有些对象构造成本很低,有些 很高。特别在UI编程的时候,大多数的UI对象其构建成本都比较高昂。如果在开发过程中没有节约意识,肯定会导致JVM不停的GC,系统表现很卡的样子, 当然,彻底的当掉可能还不会,但基本上工作已经是非常的缓慢的了。

2;引用:JAVA中其实在大量的使用对象引用,对象引用可以减少内存占用,不去构建不必要的对象。但事实上,多数程序员对引用的理解不是很到位,结果导致过多不必要的对象构建,虚耗内存。代码可读性也不佳,编写的时候尤其觉的疲惫。

3;面向对象:java是面向对象的语言,但是它有基础类型,这些基础类型不是面向对象的,不能当作引用传递。一般来说,这些基础类型可以用来表示 一个对象的状态。java中的对象一定要包含状态,没有状态的对象其实是不存在的,没有状态的东西不是对象,而是一个行为集合。但是java中没有一个明 确的结构来表达这个情况,所以只能写一个类来表示,同时将这个类的构造定义成私有的,防止被别人构建。这个时候的类的作用等同与命名空间。java在面向 对象的支持方面其实是很残缺的,缺乏很多必要的支持,比如虚函数,多重继承,友元。这种残缺,导致设计困难,所以java的系统都十分的罗嗦。

4:复杂:java越来越复杂了。注解,泛型,枚举,特性很多。

5:不可变:java支持不可变,但是大多数人并不了解这个主题。不可变系统其实比较容易实现,同时也不容易出错。但是java是基于引用的系统,不可变会导致大量的内存问题。JVM缺乏尾递归优化,这其实也是一个问题。

转自:http://my.oschina.net/clarkhill/blog/59546

转载于:https://www.cnblogs.com/yangh2016/p/5762333.html

17 java 存在的问题(转)相关推荐

  1. Error:(27, 17) java: 找不到符号 符号: 类 Role 位置: 类 net.togogo.bean.User

    Error:(27, 17) java: 找不到符号   符号:   类 Role   位置: 类 net.togogo.bean.User 打开右上角的Maven 重新加载或者找到Plugins里面 ...

  2. java的知识点17——java.util.Arrays类、多维数组

    java.util.Arrays类 Arrays类包含了:排序.查找.填充.打印内容等常见的操作. 打印数组 package cn.dym08; import java.util.Arrays;pub ...

  3. java元婴期(17)----java进阶(spring(1)----spring基本概念IOC)

    1.spring是什么? Spring是分层的Java SE/EE应用 full-stack轻量级开源框架,以IoC(Inverse Of Control:反转控制)和AOP(Aspect Orien ...

  4. 1.17 Java.util.logging:JDK自带记录日志类

    每个初学者都很熟悉在有问题的代码中使用 System.out.println 方法在控制台打印消息,来帮助观察程序运行的操作过程.如果你使用 System.out.println 方法,一旦发现问题的 ...

  5. JavaEE Tutorials (17) - Java消息服务示例

    17.1JMS示例概述233 17.2编写简单的JMS应用233 17.2.1启动JMS提供者234 17.2.2创建JMS受管理对象234 17.2.3构建所有简单示例235 17.2.4发送消息2 ...

  6. JAVA工具类(17)--Java导入导出Excel工具类ExcelUtil

    实战 导出就是将List转化为Excel(listToExcel) 导入就是将Excel转化为List(excelToList) 导入导出中会出现各种各样的问题,比如:数据源为空.有重复行等,我自定义 ...

  7. -1-7 java 网络编程基本知识点 计算机网络 TCP/IP协议栈 通信必备 tcp udp

    计算机网络 是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来, 在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统. 网络编程 ...

  8. JaveSE 17 Java基础语法 → 注释奇怪的注释

    4.1 注释 目录: 1. 注释.标识符.关键字  2. 数据类型  3. 类型转换  4. 变量.常量  5. 运算符  6. 包机制.JavaDoc 注释 平时我们编写代码,在代码量比较少的时候, ...

  9. 7.17 Java基础-类-方法-继承-多态

    一.方法:有无参数,有无返回值,构造函数 无参构造函数:写了无参构造函数,那么程序在运行的时候会自动调用自己写的无参构造函数,如果没有写,在程序运行的时候会自动添加上无参构造函数. 但是有例外情况 构 ...

  10. 17.Java常用实用类之String类中常用的方法以及一般应用场景,final关键字

    文章目录 1.String类学习 1.1.什么是String类 1.2.String类中常用的方法 1.2.1. 构造方法 1.2.2.public int length() 1.2.3.public ...

最新文章

  1. Android中项目中各个文件夹的含义和用途详解
  2. Visual Studio Code常用快捷键
  3. boost::program_options模块一个配置ini文件被解析程序选项库,它包括许多不同的值类型的测试程序
  4. 把一维数组处理成二维数组
  5. Spring Boot 应用监控
  6. linux内核源码目录结构分析
  7. 如何在一个页面中动态放置多个Droppable来接受不同的Draggable?(accept参数的用法)...
  8. Python 大数据分析疫情:如何实现实时数据爬取及 Matplotlib 可视化?
  9. 1345.跳跃游戏IV-LeetCode
  10. OpenJDK源码研究笔记(六)--观察者模式工具类(Observer和Observable)和应用示例
  11. c++实现 :n进制两数相加模板
  12. BZOJ1075 : [SCOI2007]最优驾车drive
  13. CFFI - ABI模式与API模式
  14. 诗一首,程序员不仅仅只会写程序
  15. ZT[记那对住在我隔壁储藏室的大学刚毕业的小夫妻]
  16. Navicat设置mysql时间字段自动获取当前时间
  17. Python编写随机一百个人的姓名,加面试考核得分
  18. 乐视x820android最新版本,乐视MAX2|MIUI10|安卓8.1|最终完美版|极速_最新最全的乐Max2ROM刷机包下载、刷机教程_...
  19. 动态内存分配(详解)
  20. 港科夜闻|全国政协副主席梁振英一行到访香港科技大学(广州)

热门文章

  1. 网页设计如何排成一列_学习DIV+CSS网页布局之一列布局
  2. 爬虫封号解决 -- Win10系统如何修改网卡的物理地址(MAC)
  3. cakephp helper ajax,在JS Helper CakePHP中手动触发事件
  4. 浙江理工大学机械复试c语言真题,2016年浙江理工大学机械与自动控制学院计算机应用基础)之C程序设计复试笔试最后押题五套卷...
  5. 跟随我在oracle学习php(42)
  6. loj#6433. 「PKUSC2018」最大前缀和(状压dp)
  7. 八、属性和方法(属性和方法的概念以及使用,注意,新特性中的自动属性,方法的重载)...
  8. vagrant 错误记录
  9. 谈论高并发(三)锁的一些基本概念
  10. vi显示行数命令和跳转到指定行