导航菜单
路很长,又很短
博主信息
昵   称:Cocodroid ->关于我
Q     Q:2531075716
博文数:359
阅读量:2144767
访问量:255504
至今:
×
博文->>搜索结果(耗时0.016秒) 博文列表>>
Tags : Java,对象 发表时间: 2015-09-16 20:49:34
/****将一个对象的属性值赋给另一个对象的相同的属性这两个对象必须都符合javaBean的标准**@paramsource*要赋值的源对象*@paramtarget*被赋值的目标对象*@paramignoreProperties*被忽略赋值的属性数组*@throwsException**/@SuppressWarnings("unused")publicstaticvoidcopyProperties(Objectsource,Objecttarget,StringignoreProperties[])throwsException{ClasstargetClass=target.getCl
类别:Java | 阅读(2856)| 回复(0)| (0) 阅读全文>>
Tags : Java,对象大小 发表时间: 2015-09-07 18:31:58
关于java对象的大小测量,网上有很多例子,大多数是申请一个对象后开始做GC,后对比前后的大小,不过这样,虽然说这样测量对象的大小是可行的,不过未必是完全准确的,因为过程中包含对象本身的开销,也许你运气好,正好能碰上,差不多,不过这种测试往往显得十分的笨重,因为要写一堆代码才能测试一点点东西,而且只能在本地测试玩玩,要真正测试实际的系统的对象大小这样可就不行了,本文说说java一些比较偏底层的知识,如何测量对象大小,java其实也是有提供方法的。注意:本文的内容仅仅针对于HotspotVM,如果你以前不知道jvm的对象大小怎么测量,而又很想知道,跟我一步一步做一遍你就明白了。首先,我们先写一段
类别:Java | 阅读(1800)| 回复(0)| (0) 阅读全文>>
Tags : 偏向, 对象, 状态, 竞争, 数据 发表时间: 2017-09-18 06:49:22
1对象头与锁要了解Synchronized的锁,必须知道对象头是怎么回事。因此这个锁就保存在对象头中。Hotpot虚拟机的对象头分两部分信息,第一部分用于存储对象自身的运行时数据,如HashCode,GC分代年龄等,这部分数据长度在32位和64位虚拟机中分别为32bit和64bit,它又称为“MarkWord”,它是实现锁的关键。另一部分就是用于存储指向方法区对象类型数据的指针,如果是数组的话,还有一个额外的空间储存数组长度。对象
类别:JVM | 阅读(1429)| 回复(0)| (0) 阅读全文>>
Tags : 对象, 内存, 结构, 分配, Java 发表时间: 2017-09-18 04:48:22
   今天看到一个不错的PPT:BuildMemory-efficientJavaApplications,开篇便提出了一个问题,在HotspotJVM中,32位机器下,Integer对象的大小是int的几倍?我们都知道在Java语言规范已经规定了int的大小是4个字节,那么Integer对象的大小是多少呢?要知道一个对象的大小,那么必须需要知道对象在虚拟机中的结构是怎样的,来看看Hotspot中对象在内存中的结构:从
类别:JVM | 阅读(1348)| 回复(0)| (0) 阅读全文>>
Tags : 偏向, 对象, 竞争, JVM, 阻塞 发表时间: 2017-09-18 02:45:52
何为同步?JVM规范规定JVM基于进入和退出Monitor对象来实现方法同步和代码块同步,但两者的实现细节不一样。代码块同步是使用monitorenter和monitorexit指令实现,而方法同步是使用另外一种方式实现的,细节在JVM规范里并没有详细说明,但是方法的同步同样可以使用这两个指令来实现。monitorenter指令是在编译后插入到同步代码块的开始位置,而monitorexit是插入到方法结束处和异常处,JVM要保证每个m
类别:JVM | 阅读(1733)| 回复(0)| (0) 阅读全文>>
Tags : 偏向, Java, 对象, CAS, 竞争 发表时间: 2017-09-18 00:55:22
参考文章: http://blog.csdn.net/chen77716/article/details/6618779目前在Java中存在两种锁机制:synchronized和Lock,Lock接口及其实现类是JDK5增加的内容,其作者是大名鼎鼎的并发专家DougLea。本文并不比较synchronized与Lock孰优孰劣,只是介绍二者的实现原理。数据同步需要依赖锁,那锁的同步又依赖谁?synchronized给出的答案是在软
类别:JVM | 阅读(1967)| 回复(0)| (0) 阅读全文>>
Tags : 偏向, 对象, 时间, 状态 发表时间: 2017-09-18 00:43:58
一:java多线程互斥,和java多线程引入偏向锁和轻量级锁的原因?--->synchronized的重量级别的锁,就是在线程运行到该代码块的时候,让程序的运行级别从用户态切换到内核态,把所有的线程挂起,让cpu通过操作系统指令,去调度多线程之间,谁执行代码块,谁进入阻塞状态。这样会频繁出现程序运行状态的切换,线程的挂起和唤醒,这样就会大量消耗资源,程序运行的效率低下。为了提高效率,jvm的开发人员,引入了偏向锁,和轻量级锁,尽量让多
类别:JVM | 阅读(1461)| 回复(0)| (0) 阅读全文>>
Tags : ThreadLocal, Thread, 问题, 数据, 对象 发表时间: 2017-09-15 18:36:38
用Java语言开发的同学对ThreadLocal应该都不会陌生,这个类的使用场景很多,特别是在一些框架中经常用到,比如数据库事务操作,还有MVC框架中数据跨层传递。这里我们简要探讨下ThreadLocal的内部实现及可能存在的问题。首先问自己一个问题,让自己实现一个这个的功能类的话怎么去做?第一反应就是简单构造一个Map数据结构,key是Thread,value就是我们要保存的线程变量T。我们看下
类别:Java | 阅读(1594)| 回复(0)| (0) 阅读全文>>
Tags : 偏向, 对象, 竞争, Word, Mark 发表时间: 2017-09-10 19:35:31
一直被这三个锁的膨胀问题所困扰,不知道到底实在什么时候会有偏向锁升级到轻量级锁,什么时候由轻量级锁升级到重量级锁。找到好久,也没有找到简洁明了的答案。    综合多个方面的描述综合自己的理解,特地记录下来。但是也有可能理解有误。  先依然描述这三个锁是什么:这里直接从《深入理解Java虚拟机》粘贴过来。偏向锁      Hotspot的作者经过以往的研究发现大多数情况下锁不仅不存在多线程竞争,而且总是由同一线程多次
类别:Java | 阅读(1326)| 回复(0)| (0) 阅读全文>>
Tags : 偏向, Synchronized, 竞争, 对象, 状态 发表时间: 2017-09-10 19:35:31
Java并发编程系列:Java并发编程:核心理论 Java并发编程:Synchronized及其实现原理Java并发编程:Synchronized底层优化(轻量级锁、偏向锁)Java并发编程:线程间的协作(wait/notify/sleep/yield/join)Java并发编程:volatile的使用及其原理一、重量级锁  上篇文章中向大家介绍了Synchronized的用法及其实现的原理。现在我们应该知道,Syn
类别:Java | 阅读(1282)| 回复(0)| (0) 阅读全文>>
Tags : 对象, 大小, Java, 代码, new 发表时间: 2017-09-10 19:35:30
 最近突发奇想,忽然对Java对象的内存大小感兴趣,去网上搜集了一些资料,并且做一下整理,希望能够各位帮助。 如果:你能算出newString(“abc”)这个对象在JVM中占用内存大小(64位JDK7中压缩大小48B,未压缩大小64B),那么看到这里就可以结束了~ Java对象的内存布局:对象头(Header),实例数据(InstanceData)和对齐填充(Padding)。 虚拟机的对象头包括两部分信息,第一部分用于存
类别:Java | 阅读(1222)| 回复(0)| (0) 阅读全文>>
Tags : 模式, 设计, 对象, 系统, 接口 发表时间: 2017-08-13 17:24:42
     从七月份开始一直到九月底才看完设计模式,在这个过程中我不敢说我已经掌握了那本书里面的内容,或者说1/5,没能力说也没有资格说。但是结果不重要,重要的是这个过程我的收获!主要包括如下几个方面:     1、认识了这么多设计模式。刚刚接触java没多久就在学长那里听过设计模式的大名,但是由于能力有限,一直不敢触碰。而今有幸将其都认识了。     2、开始有设计的理论了。在接触设计模式之前没有怎么想过设计方面东东,看到问题
类别:Java | 阅读(1328)| 回复(0)| (0) 阅读全文>>