自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 基于序列化的深复制

复制对象 or 复制引用在java中,下面代码常常见到Person p = new Person(“cx”); Person p1 = p; System.out.println(p); System.out.println(p1);执行Person p1 = p指令后真正能达到我们期望的效果吗?Person@549f9afb Person@549f9afb 可以看到两个输出

2017-05-05 21:03:36 259

原创 java虚拟机年轻代的gc

垃圾分贷收集当前商业虚拟机的垃圾收集都采用“分代收集”(Generational Collection)算法,这种算法并没有什么新的思想,只是根据对象的存活周期的不同将内存划分为几块。一般是把Java堆分为新生代和老年代,这样就可以根据各个年代的特点采用最适当的收集算法。在新生代中,对象都是每次垃圾收集时都发现有大批对象死去,只有少量存活,那就选用复制算法,只需要付出少量存活对象的复制成本就可以完成

2017-05-05 18:45:08 562

原创 java虚拟机学习笔记一

运行时数据区java虚拟机在执行java程序时会将管理的内存分为不同的区域,根据jvm规范一共分为5个区域,如下图。 程序计数器 线程私有的,生命周期与线程一致 独立存储,互相隔离 存储的字节码指令的地址,字节码解释器通过程序计数器来选取下一个需要执行的指令 不会有OutOfMemoryError异常的情况 java虚拟机栈线程私有的,生命周期与线程一致 独立存储,互相隔离 每一个方法被调用到完成

2017-04-26 22:11:43 264

原创 java阻塞队列

普通队列下的生产者-消费者模式生产者-消费模式是经典的并大量运用的设计模式,它描述是有一块缓冲区作为仓库,生产者可以将产品放入仓库,消费者则可以从仓库中取走产品。有效的将生产者与消费者解耦,它两互不关心,各自完成自己的任务。生产者往一个地方放东西,消费者从一个地方取东西,所以生产者与消费者就要共用一块资源了。生产者每生产一个产品,就通知消费者来消费产品,当生产的产品达到了最大容量就停止生产。消费者没

2017-04-25 22:14:37 304

原创 Callable和future的使用

在java中,我们知道创建线程一般有2中方式,一种是继承Thread,一种是实现Runable接口。但是这两种方法都不能返回线程处理后果的结果,如果想要获取线程处理过后的结果,需要共享线程变量或线程间通信,这样一来就需要考虑各种线程安全的问题。而使用Callable和Future的方式就很好的解决了这个问题。下面是一个简单的demostatic ExecutorService executorSer

2017-04-24 22:17:14 319

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除