空对象模式:用一个空对象来取代null实例的检查,空对象实现一个不做任何动作的关系.(消除如if(Object == null) 这样的检查null实例代码) 例子: public abstract class Duck { public String name; public abstract void getName(); } public class ConcreteDuck extends Duck { public ConcreteDuck(String name) { this.na…
Java使用反射判断对象是否为NULL 判断Java对象是否为null可以有两层含义: 第一层:  直接使用 object == null 去判断,对象为null的时候返回true,不为null的时候返回false. 第二层:在object != null 为true的情况 下,进一步去判断对象的所有属性是否为null. 被判断的Java对象: User (User.java) package com.chinalife.utils; import java.util.List; public…
  java 将Map拷贝到另一个Map对象当中 CreateTime--2018年6月4日09点46分 Author:Marydon 1.需求说明 将一个MapA对象中所有的键值对完全拷贝到另一个MapB对象中: 另一个MapB对象中原来的键值保持不变(不受影响): 拷贝成功后MapB对象当中的内容将不再随着MapA中内容的变化而变化. 2.代码实现 import java.util.HashMap; import java.util.Iterator; import java.util.Ma…
8种基本数据类型的8种包装类 byte Byte short Short int Integer long Long float Float double Double char Character boolean Boolean Integer a=127; Integer b=127;//虚拟机自动装箱时进行了特殊处理,-127~128以下的自动取有过的 System.out.println(a==b);结果为true 如果是Integer a=128; Integer b=128; Sys…
package com.taiping.test; import java.lang.reflect.Field; import java.lang.reflect.Type; /** * <p> * Description: 判断对象是否为空,进一步判断对象中的属性是否都为空 * * 对象为new,但对象中的属性都为null * </p> * */ public class CheckObjectIsNullUtils { /** * 判断对象是否为空,且对象的所有属性都为空 *…
java实现下载器(以及创建一个URL对象) 1.思路讲解: (1)注意路径:是网络路径噢 (2)创建创建网路协议对象(远程对象):HttpURLConnection urlConnection (3)定位网络资源:URL url (4)调用url的openConnection()方法,连接远程对象 (5)设置远程对象的参数和属性:例如 urlConnection.setRequestProperty("Range", "bytes=0-"); (6)发送连接请求,…
刚开源了一个经过完整測试的Java工具类. 地址例如以下: https://github.com/Jimmy-Shi/bean-query 使用说明例如以下: Bean-query Click Here for English version. BeanQuery 是一个把对象转换为Map的Java工具库.支持选择Bean中的一些属性,对结果进行排序和依照条件查询.不只能够作用于顶层对象,也能够作用于子对象. BeanQuery的使用非常easy也非常直接.样例代码例如以下: /静态导入Bean…
首先重申一个概念:子类会继承父类所有非私有成员变量和方法,包括父类的构造方法 当创建一个子类对象时,首先开辟内存,然后调用类的构造函数,这里的构造函数由两部分组成,一部分是从父类继承而来的父类的构造方法,一部 分是子类自己的构造方法,先用从父类继承而来的构造方法初始化从父类继承而来的成员变量,然后调用子类自己的构造方法初始化子类想初始化的变量(可以是子类本身定义的成员变量,也可以是从父类继承而来的成员变量). super和this本质上是同一个对象,只是为了明确调用对它们的功能进行率限制和分工,…
TypeLoadException: 未能从程序集"ECS.GUI.Define, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"中加载类型"ECS.GUI.Define.ArmgAimPos",因为它在 4 偏移位置处包含一个对象字段,该字段已由一个非对象字段不正确地对齐或重叠 异常出现的关键字是:在4偏移位置处包含一个对象字段 通过查找对象,该对象为共用体 // StructLayout使设计者可以控…
程序计数器,虚拟机栈和本地方法栈 首先我们先来看下垃圾回收中不会管理到的内存区域,在Java虚拟机的运行时数据区我们可以看到,程序计数器,虚拟机栈,本地方法栈这三个地方是比较特别的.这个三个部分的特点就是线程私有的,它们随着线程的创建而诞生,也因线程的结束而灭亡.栈中的栈帧随着方法的进入和退出会有条不絮的执行着进栈和出栈.每一个栈帧中分配多少内存,基本上是在类结构确认下来的时候就已知的,因此这几个区域的内存分配和回收都具备确定性,在这几个区域内就不需要过多考虑回收的问题,因为方法结束或者线程结束…