java免费游戏,java – 分配免费游戏
我的代码基本上是免费分配的,但是当60fps时,GC每30秒运行一次.使用DDMS检查应用程序以进行分配显示有大量的SimpleListIterator被分配.还有一些东西被分配,因为我使用
Exchanger.
SimpleListIterator来自(T obj:objs){}的每个循环.我的印象是编译器/翻译器会优化那些不使用迭代器来支持它的类型(我基本上只使用ArrayList),但似乎并非如此.
如何避免分配所有这些SimpleListIterators?一种解决方案是切换到常规for循环(int i = 0; i< size; i){}但我喜欢每个循环:( 另一种方法是扩展ArrayList,它返回一个只分配一次的Iterator. 我一起攻击的第三种方法是使用静态辅助函数,它返回一个重用迭代器的Collection.我一起攻击了这样的东西,但铸件感觉非常黑暗和不安全.它应该是线程安全的,因为我使用ThreadLocal?见下文:
public class FastIterator {
private static ThreadLocal holders = new ThreadLocal();
public static Iterable get(ArrayList list) {
Holder cont = holders.get();
if (cont == null) {
cont = new Holder();
cont.collection = new DummyCollection();
cont.it = new Iterator();
holders.set(cont);
}
Iterator it = (Iterator) cont.it;
DummyCollection collection = (DummyCollection) cont.collection;
it.setList(list);
collection.setIterator(it);
return collection;
}
private FastIterator() {}
private static class Holder {
public DummyCollection> collection;
public Iterator> it;
}
private static class DummyCollection implements Iterable {
private Iterator> it;
@Override
public java.util.Iterator iterator() {
return (java.util.Iterator) it;
}
public void setIterator(Iterator> it) {
this.it = it;
}
}
private static class Iterator implements java.util.Iterator {
private ArrayList list;
private int size;
private int i;
@Override
public boolean hasNext() {
return i < size;
}
@Override
public T next() {
return list.get(i++);
}
@Override
public void remove() {
}
public void setList(ArrayList list) {
this.list = list;
size = list.size();
i = 0;
}
private Iterator() {}
}
}
java免费游戏,java – 分配免费游戏相关推荐
- java实现Flappy Bird游戏(附免费素材+代码+详细注解)
目录 前言 一.实现效果 二.实现代码 前言 该小游戏我设计成BackGroundView类(背景图).Bird类.Pipe类,Main类四部分 图片素材地址:https://download.csd ...
- java毕业设计——基于java+J2ME+sqlserver的打飞机游戏设计与实现(毕业论文+程序源码)——打飞机游戏
基于java+J2ME+sqlserver的打飞机游戏设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+J2ME+sqlserver的打飞机游戏设计与实现,文章末尾附有本毕业设计的 ...
- 微软 SQL Server 2019 将免费支持 Java;Rancher Labs获2500万美元融资;腾讯云进军日本市场……...
关注并标星星CSDN云计算 极客头条:速递.最新.绝对有料.这里有企业新动.这里有业界要闻,打起十二分精神,紧跟fashion你可以的! 每周三次,打卡即read 更快.更全了解泛云圈精彩news g ...
- java实验2总结心得,打字小游戏JAVA实验总结及心得体会
篇一:扫雷游戏实验报告 课程设计 班 级: 姓 名: 学 号: 指导教师: 成 绩: 电子与信息工程学院信息与通信工程系 目录 1.任务概述------------------------------ ...
- 对对碰java_Java开发学习之用Java打造一款对对碰游戏(下篇)
本文主要向大家介绍了Java开发学习之用Java打造一款对对碰游戏,通过具体的内容向大家展现,希望对大家Java开发的学习有所帮助. 在之前的文章介绍了对对碰游戏的理论部分和介绍了JLabel.JBu ...
- FlipBird飞翔的小鸟游戏 java实现 课程设计
java课程设计题,游戏界面采用swing图形界面,游戏运行时会有背景音乐. Bird类 import javax.imageio.ImageIO; import java.awt.image.Buf ...
- 猿创征文|JAVA 实现《俄罗斯方块升级版》游戏
前言 俄罗斯方块是一款风靡全球,从一开始到现在都一直经久不衰的电脑.手机.掌上游戏机产品,是一款游戏规则简单,但又不缺乏乐趣的简单经典小游戏,上手容易,适用范围广泛,人所共知.俄罗斯方块游戏简单的基本 ...
- java,jdk 分不清,是否免费,怎么选择合适的版本
Oracle JDK 和 Open JDK Oracle JDK Open JDK 来源 Oracle团队维护 Oracle和Open Java社区 授权协议 Java 17及更高版本 Oracle ...
- java毕业设计——基于java+Java awt+swing的愤怒的小鸟游戏设计与实现(毕业论文+程序源码)——愤怒的小鸟游戏
基于java+Java awt+swing的愤怒的小鸟游戏设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+Java awt+swing的愤怒的小鸟游戏设计与实现,文章末尾附有本毕 ...
- 免费的java开发工具_Java那些最常用的免费开放工具,分享这15个!
随着Java行业需求增加,Java工程师岗位薪资节节升高,很多小伙伴想要通过快速的方式掌握Java技能.对于初学Java的小伙伴来说了解一些免费的Java开发工具让我们工作.学习更顺畅,那么免费Jav ...
最新文章
- String SringBuffer StringBuilder区别
- mysql5.5设置字符编码
- 19课 Vue第二节
- java 九大行星运行_九大行星运行周期!
- 容器(Collection/Map)、容器中的设计模式
- opencv 直方图反向投影
- 计算机一级考试教学设计,《全国计算机一级考试》教学设计说明.doc
- 【Android开发】之Fragment与Acitvity通信
- 大数据学习笔记32:Hive - 下载、安装与配置
- c语言乘号字母,c语言中如何输入间接运算符和乘号,包括如何转换
- c++注释快捷键_是不是晚了点:Visual Studio可以自动生成注释啦!
- 蓝桥杯 ADV-156算法提高 分分钟的碎碎念(动态规划)
- Flink Batch SQL 1.10 实践
- gqview的安装与汉化
- 递归问题学习三之生成指定字符串的全排序
- 80套基于PHP+MYSQL 的毕设设计(系统+论文)
- 邮箱如何发邮件?邮箱怎么发邮件,掌握这几点,轻松搞定
- 应用程序初始化(0xc0000034)失败
- Web项目中前端页面引用外部Js和Css的路径问题
- iOS iPhone设备判断大全,包含X系列和11
热门文章
- Sublime Text 3 配置python交互运行环境的快捷键
- 蓝桥杯 出现次数最多的整数
- 多任务管理类 MutilTaskManager
- WorkerMan 入门学习之(二)基础教程-Connection类的使用
- php yii多表查询
- Ubuntu12环境下Thin+rails(4)+ruby(2)+nginx+mysql 配置
- malloc coredump(宕)的问题
- rsem比对_RSEM方法比对和表达量计算
- 培训时常犯的学习误区与应对方法
- 第一个Spark实例:求PI值