05-26 09:39
2021-05-26 10:04
如果两个对象彼此有关系,就说他们是彼此相关联的。组合和聚合是面向对象中的两种形式的关联。组合是一种比聚合更强力的关联。组合中,一个对象是另一个的拥有者,而聚合则是指一个对象使用另一个对象。如果对象A是由对象B组合的,则A不存在的话,B一定不存在,但是如果A对象聚合了一个对象B,则即使A不存在了,B也可以单独存在。[ 查看全部 ]
05-26 09:37
2021-05-26 09:38
虽然两种都可以实现代码复用,但是组合比继承共灵活,因为组合允许你在运行时选择不同的实现。用组合实现的代码也比继承测试起来更加简单。[ 查看全部 ]
05-26 09:37
2021-05-26 09:38
访问者模式用于解决在类的继承层次上增加操作,但是不直接与之关联。这种模式采用双派发的形式来增加中间层。[ 查看全部 ]
05-24 09:18
2021-05-24 09:18
理论上说上32位的JVM堆内存可以到达2^32,即4GB,但实际上会比这个小很多。不同操作系统之间不同,如Windows系统大约1.5GB,Solaris大约3GB。64位JVM允许指定最大的堆内存,理论上可以达到2^64,这是一个非常大的数字,实际上你可以指定堆内存大小到100GB。甚至有的JVM,如Azul,堆...[ 查看全部 ]
05-24 09:16
2021-05-24 09:16
Java中,int类型变量的长度是一个固定值,与平台无关,都是32位。意思就是说,在32位和64位的java虚拟机中,int类型的长度是相同的。[ 查看全部 ]
05-24 09:14
2021-05-24 09:17
虽然WeakReference与SoftReference都有利于提高GC和内存的效率,但是WeakReference,一旦失去最后一个强引用,就会被GC回收,而软引用虽然不能阻止被回收,但是可以延迟到JVM内存不足的时候。[ 查看全部 ]
05-24 09:11
2021-05-24 09:12
不是线程安全的操作。它涉及到多个指令,如读取变量值,增加,然后存储回内存,这个过程可能会出现多个线程交差。[ 查看全部 ]
05-24 09:10
2021-05-24 09:12
java.lang.Cloneable是一个标示性接口,不包含任何方法,clone方法在object类中定义。并且需要知道clone()方法是一个本地方法,这意味着它是由c或c++或其他本地语言实现的。[ 查看全部 ]