应用中碰到①个问题,用ImageIO的read方法读取图片时,占用很大内存,同事建议手动调用gc,之前了解到的手动调用了也未必立即释放,但是试验了,手动调用后确实可用内存大了许多,谁能解释①下,谢谢......

只说题主的例子 将单个图片加载到内存中 其大小超过-XX:PretenureSizeThreshold指定的值 导致直接进入老年代(或者是处理时间过长几次minor gc后被扔到老年代 -XX:MaxTenuringThreshold) 而题主知道这个图片的生命周期不需要进入老年代 解决这种问题的方式有几种

重用buffer 在能控制请求数的情况下尽量重用缓冲区 不再进行申请

调整上面两个参数调用System.gc()看题主勤劳度了

JVM对GC的控制权是非常强大的,作为用户你只能申请不能强制。但是手动调用会在很大程度上启动GC,所以如果真的非常需要释放内存的场景手动强制①下也是好的

-XX:-DisableExplicitGC

OC效率略高。

oc方法调用的需要经历查缓存,查方法表,查父类方法表,如果都差不多就会进行动态方法决议,如果还是不行,就执行消息转发机制,如果还是无法处理就crash。这个链路虽然很长,但是大部分在方法缓存的时候就命中了,oc的runtime机制会增加①些函数调用开销,但是苹果加入了函数缓存机制,当缓存生效时性能与c相差无几。

Android⑤.⓪ 之前用的 dalvik 虚拟机,默认还是解释执行的 。⑤.⓪ 应该是安装的时候就已经编译成机器码了。解释字节码成机器码,肯定要比直接编译成机器码要慢,而且编译优化应该没有编译语言好。当然对于经常执行的字节码虚拟机也会缓存成机器码。不做Android好多年,如有错

java程序能不能手动gc_java中到底该不该手动调用gc?Objective-c 和 Java相关推荐

  1. oracle 中某张表备份,张表系统流程(java程序备份及恢复SQL2000中数据库中的某张表)...

    java程序备份及恢复SQL2000中数据库中的某张表 你可以现在数据库里面建立一张视图,视图里面的SQL语句就是查询该数据库中的表明,这就是访问系统表的内容,只提供单独一个列,然后展示给客户,当客户 ...

  2. 关于使用java程序从excel或者数据库中取出建表规则数据,自动生成数据库建表语句(适用于批量建数据库表)

    公司开发新系统,需要创建几百个数据库表,建表的规则已经写好放到Excel中,如果手动创建的话需要占用较长的时间去做,而且字段类型的规则又被放到了另一张表,如果手动去一个一个去匹配就很麻烦,所以我先把两 ...

  3. 用控制台怎么编译java程序_怎么在cmd中运行java控制台程序?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 2010-08-07  17:00             1,111 SendGift.java 2010-08-09  17:40           ...

  4. java 二维数组位置_请完成下列Java程序:查找一个矩阵中的鞍点,对于一个二维数组中的鞍点,该点位置上的元素在该行上...

    请完成程序,首先由一个类simple实现Serializable接口,并有三个成员变量,分别为int型.double型和String型,可以用toString的方法显示这三个成员变量.在main方法中 ...

  5. java程序优化快捷键_Java 代码中针对性能优化的总结方案

    在一个好的项目中代码优化是永远离不开的话题,如果有充足的时间开发和维护代码,必须考虑每个可以优化的细节,日积月累,项目的质量才会上升,代码优化是绝对有必要的工作.代码优化的主要目的是减少代码块,提升代 ...

  6. Hadoop(八)Java程序访问HDFS集群中数据块与查看文件系统

    阅读目录(Content) 一.HDFS中数据块概述 1.1.HDFS集群中数据块存放位置 1.2.数据块(data block)简介 1.3.对分布式文件系统中的块进行抽象会带来很多好处 二.Jav ...

  7. java程序片的元素符号_UML 中的 基本画图元素及符号

    在Visio里,包和类的关系是包含关系,将类拖入包的文件夹之后,关系就建立了,二元关联符号可以设置为:聚合.合成. 接口:空心圆+直线(唐老鸭类实现了'讲人话'): 依赖:虚线+箭头(动物和空气的关系 ...

  8. docker 运行java程序_Docker:在容器中运行Java应用程序

    您可以使用Docker在特定的运行时环境中运行容器中的Java应用程序.本教程介绍如何创建Dockerfile,以便在OpenJDK 8的容器中运行简单的Java应用程序. 示例应用程序由一个Main ...

  9. 2021普通Java程序员如何在行业中脱颖而出?阿里进阶架构师不传之秘终于开源!

    "倒挂"一词大家都不陌生,在程序员领域里更是屡见不鲜,尤其是在公司工作了一段时间后就会发现,后来的每个新人的工资都比自己高,你的工资是15k,新人的工资是30k,奈何人家能力强呢. ...

最新文章

  1. 被“嫌弃”的AI药物设计
  2. python动态图-不就是用Python做个动态图吗?看招
  3. 携程是如何把大数据用于实时风控的
  4. c语言xml字符串,C语言的XML解析器
  5. Partition--分区总结
  6. pytorch 对抗样本_《AI安全之对抗样本入门》—3.4 PyTorch
  7. Web API 接口
  8. 相似文档查找算法之 simHash
  9. 网维无盘服务器错误代码,网维大师无盘环境INTER傲腾方案常见问题解答?
  10. tarjan算法 转载
  11. 质性数据分析软件NVivo的安装选项和参数
  12. 16周。项目三,吃饭睡觉打豆豆
  13. 使用Flash在线制作头像
  14. 软件测试之——性能测试(超级详细)这些你都知道吗?
  15. 为何奢侈品的受众越来越多
  16. html的style不起作用,css样式不起作用是什么原因?
  17. 笔记本电脑维修90个精选实例
  18. C++入门到精通(xcode IDE)
  19. 【算法】leetcode 974. 和可被 K 整除的子数组(前缀和思想)
  20. [每日电路图] 9、介绍一种低价简单的4.2V锂电池充电及稳压(LDO)电路——RT9193,SD8017...

热门文章

  1. 什么是定向与非定向?都有什么注意事项?
  2. Unity3D 升级2020版VR开发的一些问题
  3. 企业APP的用途以及功能
  4. Node.js 是什么?Node.js与JavaScript的区别是什么?
  5. 解决“chrome正受到自动测试软件的控制”信息栏显示问题-V76及以上版本
  6. java数组去重_Java数组去重的方法
  7. 商标名字一样,图标不一样属于商标侵权吗?
  8. print('曾经有一份真挚的爱情放在我面前,那个人的名字是' + goddess),Python旅程开始的地方!
  9. 孙溟㠭为释永信大和尚篆刻白文图章
  10. 企业必备检测笔——产品服务的满意度评估