chasing实习总结 一、遇到的难题以及解决办法jump游戏:碰撞检测问题原因:板的垂直像素太小时,人物的速度又过快,会出现在前后两帧碰撞组都没碰撞的情况解决办法:增大板的距离,因为换算速度后,发现像素点只差2px。主角在屏幕中间不动问题原因:临界值的处理太过绝对,比如一定要等于0,可是程序一直是无限趋近于0的值,导致达不到临界点解决办法:将=0改为飞板无规则运动问题原因:先
cocoscreator--snake游戏总结 一、前期思考的问题1.snake头部的移动,采用action,还是点记录。2.snake转弯应该采用每帧更新rotation,还是通过action来控制。3.snake身体单元的跟随,是采用action数组,还是采用记录头部点数组的方式。4.食物的位置是否需要分区域,是否只渲染单屏节点,计算消耗大还是渲染消耗大。5.有AI的时候,是否只需要渲染hero这一屏的节点,其他AI的处
cocoscreator——计时器 一、Component中关于计时器的函数:schedule:开始一个计时器scheduleOnce:开始一个只执行一次的计时器unschedule:取消一个计时器unscheduleAllCallbacks:取消这个组件的所有计时器二、schedule注意:当interval = 0时,其实相当于每帧调用,推荐使用scheduleUpdate();当repeat
数据结构---树 一、树详解数据结构复习之【树】[Data Structure] 数据结构中各种树(重要!)二、树的应用 1.哈夫曼树的应用(石子合并求最小体力消耗)import java.util.Scanner;public class HuffmanTree {// 哈夫曼树应用。石子合并求最小体力消耗 public static void main(Stri
数据结构---串(KMP算法) 一、KMP算法例子public class KMP { int[] t = new int[]{'a','b','c','a','b','a','a'}; int[] nextVal = new int[100]; int[] s = new int[]{'a','b','c','a','a','b','b','a','b','c','a','b','c','a', 'b','a'
数据结构---栈和队列 一、栈和队列详解数据结构-栈和队列二、栈应用数据结构----栈运用的小例子(进制转换、表达式计算)Java栈的实现(顺序栈、链式栈)及栈的应用(行编辑,符号是否匹配三、队列应用实际项目中数据结构-队列的引用(java中的阻塞队列)【数据结构】队列的典型应用(分解质因数)
HashCode的定义与应用 一、hashCode()定义 /** * Returns a hash code value for the object. This method is * supported for the benefit of hash tables such as those provided by * {@link java.util.HashMap}.
Java compiler level does not match the version of the installed Java project facet错误的解决 转载自:http://blog.csdn.net/chszs/article/details/8125828
ISO-OSI 7层模型和TCP/TP 4层模型 一、ISO-OSI7层模型应用层:为操作系统和应用软件提供访问网络服务的接口。表示层:提供数据格式转换服务。会话层:建立端到端的连接并提供访问验证和会话管理。传输层:提供应用进程之间的逻辑通信。网络层:为数据在结点之间传输创建逻辑链路,并分组分发数据链路层:将数据分帧,并处理流控制、物理地址寻址、重发等。物理层:为数据段的设备提供原始比特流的传输的通路。二、TCP/IP 4层模型
虚拟机类加载机制 一、类加载的时机类从被加载到虚拟机内存中开始,到 卸载出内存为止,它的整个生命周期包括了:加载、验证、准备、解析、初始化、使用和卸载七个阶段。其中验证、准备和解析三个部分统称为连接。二、类加载器定义:虚拟机设计团队把类加载阶段中的”通过一个类的全限定名来获取描述此类的二进制字节流“这个动作放到Java虚拟机外部去实现,以便让应用程序自己决定如何去获取所需要的类。实现
Class类文件结构 一、概述定义:Class文件是一组以8位字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑排列在Class文件之中,中间没有添加任何分隔符。Class文件格式采用一种类似于C语言结构体的伪结构来存储,这种伪结构中之余两种数据类型:无符号数和表(表是由多个无符号数或其他表作为数据项构成的符合数据类型)。二、魔数与Class文件的版本魔数:Class文件头4个字节,用于确定这个文件是否
基本数据结构定义 一、栈定义:栈是一种只能在一端进行插入或删除操作的线性表。表中允许进行插入、删除操作的一端称为栈顶。栈顶的当前位置是动态的,栈顶的当前位置由一个称为栈顶指针的位置指示器指示。表的另一端称为栈底。当栈中没有数据元素时,称为空栈。栈的插入操作通常称为进栈或入栈,栈的删除操作通常称为退栈或出栈。特点:“后进先出”。二、队列定义:是一种操作受限的线性表,其限制为仅允许在表的
java内存模型 一、概述java虚拟机规范中试图定义一种java内存模型(Java Memory Model,JMM)来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让java程序在各种平台下都能达到一致的并发效果。在此之前,主流程序语言(C/C++等)直接使用物理硬件(操作系统的内存模型),但会因为平台的不同而发生并发访问错误。JDK1.5(实现了JSR-133)发布后,java的内存模型已经成熟和完善
java异常处理机制 public class TestException { public TestException() { } boolean testEx() throws Exception { boolean ret = true; try { ret = testEx1();
mysql数据库有哪些存储引擎 一、mysql存储引擎MyISAM、InnoDB、MEMORY、MERGE、ARCHIVE二、每种引擎的优缺点MyISAM无法处理事务。适用场景:选择密集型的表--MyISAM在筛选大量数据时非常迅速;插入密集型的表--MyISAM的并发插入特性允许同时选择和插入数据。应用:管理邮件或web服务器日志信息。InnoDB:适用场景:更新密集的表--InnoDB适用多重
ConcurrentHashMap 一、用简单文字描述ConcurrentHashMapJDK6,7中主要使用Segment来实现减小锁粒度,把HashMap分割成若干个Segment,实际上就是一个个独立的HashTable。在put的时候需要锁住Segment,在get的时候不加锁,用valotile来保证可见性。当需要统计全局时(比如size),首先会尝试多次计算modcount来确定,用来判断是否有其他线程进行了
HashMap实现原理 一、简单用文字来叙述HashMap实现原理HashMap是采用Hash表的结构,通过拉链法和再哈希法来处理hash冲突的。HashMap里面实现了一个静态内部类Entry,它有4个参数hash、key、value和next。HashMap实际上就是一个entry数组。首先,我们通过key.hashCode()来获得key的hashcode,并与entry数组的长度取模得到该key-va
垃圾收集与内存分配 一、如何判断对象可以被回收?引用计数算法:即当对象的引用为0时,该对象可以被回收。缺陷是无法解决循环引用问题。根搜索算法:通过一些列的名为“GC Roots”的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链,当一个对象到GC Roots没有任何引用链相连时,即证明此对象是不可用的。GC Roots对象:虚拟机栈(栈帧中的本地变量表)中的引用的对象。方法区中的