java中什么叫集合?
java中集合包含:List、Set、Map、工具类Collections
List 包含以下子类
1.ArrayList
内部动态数组的实现,添加的时候有序,按照index遍历也是有序的,线程不安全类。
2.LinkedList
是一个继承于AbstractSequentialList的双向链表。它可以被当成堆栈、队列或双端队列进行操作。实现了List接口,能对它进行队列操作。实现了Deque接口,能当作双端队列使用。实现了Cloneable接口,覆盖了clone(),能克隆。实现了java.io.Serializable接口,这意味着LinkedList支持序列化,能通过序列化去传输。可以保持插入时的顺序
3. ArrayList 和 LinkedList区别
是一个数组队列,相当于动态数组。它由数组实现,随机访问效率高,随机插入、随机删除效率低。是一个双向链表。它也可以被当作堆栈、队列或双端队列进行操作。LinkedList随机访问效率低,但随机插入、随机删除效率低。
4.CopyOnWriteArrayList
线程安全的List,写 时复制,写加锁,复制一个容器,读不加锁。
5.Vector
线程安全类,数组实现。读加锁,写加锁,性能低。
set集合是通过什么方式来储存对象?
Set集合是Python中的一种数据结构,它用于存储唯一元素的不重复集合。Set集合是通过哈希表来实现的,每个元素在哈希表中都有一个唯一的索引,因此Set集合可以快速地查找、添加和删除元素。
在内存中,Set集合会占用一定数量的空间,用于存储哈希表本身以及其中的元素。
用java写,游戏脚本,需要学习哪方面?
这需要根据自己游戏的类型和要求加以选择。比如C++,Java ,Erlang,go等等
Java目前作为游戏服务器开发语言已经很是普遍。但是大多数是作为页游或手游的服务器,而端游戏一般选择C++,因为端游对服务器的性能要求相对比较高一些。两种语言各有利弊。
Java的技术系统
需要学习的技术:
(1)Java基础知识
(2)JavaNIO编程
(3)Netty,Mina网络框架精通一种,其它作为了解。
(4)一种缓存框架:Redis;memcache熟悉使用一个。
(5)SQL语言,用于数据库:mysql
(6)springmvc主要用于http协议的服务器
(7)多线程编程,明白线程安全的重要性。
(8)Java并发集合的掌握。
(9)Linux常用的基本命令及shell脚本。
(10)数据库操作,比如mybatis。
萌新小白,如何学会游戏开发和策划?
游戏开发职位主要分为:程序,策划,美术
美术这个比较难,而且要求有艺术细胞,虽然自学也可以,不过相对困难一些。游戏美术主要有原画、UI、3D、地图编辑这几类,看看自己想往哪个方向发展就针对性学习吧,这个需要大量时间和精力。
策划要求相对低一些,主要负责设计。有系统策划、文案策划、数值策划、关卡策划等等,一个人全包揽的话也不是不可以,自己设计一套游戏规则,编辑关卡,调整数值,包装上文案。最后也就是好玩与不好玩罢了,照葫芦画瓢,按部就班设计就可以。
程序要求相对高一些,最基本的技能就是编程语言,C、C++、C#、Java、PHP等等编程语言,这些是实现策划所想的功能的手段,是做游戏基础。
除此之外还有会用游戏引擎,现在很少有直接一点一点做游戏的了,都是使用一些游戏引擎加快开发速度,比如UE4、Unity、Cocos等等,一些公司还有自研引擎,程序需要在编程之后,把各种资源整合到游戏引擎中,进行游戏调试。
游戏开发主要就这几个方向,可以根据需要看相关的书和视频教程学习,一边学一边动手做,效果会更好些。

