希望的天 希望的天
4年前
synchronized锁升级过程
1.前置知识:    1.1JAVA对象的内存布局      hotspot虚拟机中,普通对象在堆中的存储可以划分成三部分:对象头(包含了MarkWord和类型指针)、实例例数据和padding。JAVA对象的内存布局MarkWord的长度为4byte/8byte,用于存储对象自身的运行时数据
Wesley13 Wesley13
3年前
java垃圾回收机制
成为垃圾的标准对于非线程对象,当所有的活动线程都不能访问到改对象时候,成为垃圾对于线程对象,除满足以上条件外,还要求线程处于死亡或者还处于新建状态符合条件的几种情况对象设为Null,代码都应该这样写,释放资源应用指向别的对象语句块结束,局部应用消亡Java不用手动管理内存,只是需要程序员管理对象是否变
Wesley13 Wesley13
3年前
Java 浅拷贝和深拷贝
!(https://oscimg.oschina.net/oscnet/b2f493d478242c24dc57d59ce17ceebb54f.jpg)前言Java中的对象拷贝(ObjectCopy)指的是将一个对象的所有属性(成员变量)拷贝到另一个有着相同类类型的对象中去。举例说明:比如,对象A和对象B都属于类S,具有
Wesley13 Wesley13
3年前
Go 使用 JSON
Encode将一个对象编码成JSON数据,接受一个interface{}对象,返回\\byte和errfuncMarshal(vinterface{}){byte,err}Marshal函数将会递归遍历整个对象,依次按照成员类型对这个对象进行编码,类型转换如下:1bool类型转换成JSON
Stella981 Stella981
3年前
Redkale 技术详解 02
Redkale技术详解02Creator构建对象org.redkale.util.Creator是采用ASM技术来实现代替反射构造函数的对象构建类。在根据流反序列化成对象、数据表记录转换成对象时都需要构建对象。常见的处理办法是利用反射,如Gson框架中反序列化是通过反射进行对象创建。众所周知反射的性能是比较低的,所以Redkale需
Stella981 Stella981
3年前
JPA、Hibernate、Mybatis的区别
1.概念:Hibernate :Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。着力点对象与对象之间关系2.简介:Mybatis:MyBatis本是apache(https://www.oschina.net/action/GoToL
Wesley13 Wesley13
3年前
Alamofire4.x开源代码分析(三)文件上传下载
Alamofire支持下载图片到内存或者磁盘,Alamofire.request开头的请求会把数据加载进内存,适用于小文件,如果文件比较大,可能会造成内存溢出.因此如果文件比较大,应该是Alamofire.download方法,把数据临时的保存在磁盘中,该方法同时还支持后台下载.例如Alamofire.download("https://htt
Wesley13 Wesley13
3年前
Java基础学习总结(4)——对象转型
一、对象转型介绍!(http://static.oschina.net/uploads/img/201512/31130644_mPJ1.jpg)  对象转型分为两种:一种叫向上转型(父类对象的引用或者叫基类对象的引用指向子类对象,这就是向上转型),另一种叫向下转型。转型的意思是:如把float类型转成int类型,把do
Wesley13 Wesley13
3年前
Java原型模式
原型模式  原型模式也称克隆模式。原型模式jianmingzhiyi,就是先创造出一个原型,然后通过类似于Java中的clone方法,对对象的拷贝,克隆类似于new,但是不同于new。new创造出来的对象采用的是默认值。克隆出来的对象与原型对象相同,同时不会影响原型对象,然后在修改克隆出来的对象。实现  继承Cloneable接口,重写cl
LeeFJ LeeFJ
2年前
Foxnic-SQL (7) —— DAO 特性 : 执行 SQL 语句
FoxnicSQL支持多种语句执行方式,包括直接执行SQL字符串、执行SQL对象,SQL对象自执行,多语句执行与批量执行。FoxnicSQL显著的特征是DAO对象既可以执行字符串的SQL语句,也可以执行对象化的SQL语句。