JAVA中如何巧妙的避开空指针

  • Post author:
  • Post category:java

equals方法 Object类中的equals 方法在非空对象引用上实现相等关系,具有对称性a.equals(b) 和 b.equals(a) 结果是一样的,但当a == null时会抛出空指针异常 import java.util.Objects; String a=null; String b=""; System.out.println(a.equals(b));//异常 我们可以通过使用…

继续阅读 JAVA中如何巧妙的避开空指针

java 访问修饰符

  • Post author:
  • Post category:java

Java中定义了private(私有的)、protected(受保护的)和public(公共的)的访问修饰符,同时也定义了一个缺省的访问级别,用于声明类、属性、方法的访问权限。 1)使用public访问修饰符,类的成员可被同一包或不同包中的所有类访问,也就是说,public访问修饰符可以使类的特性公用于任何类; 2)使用protected访问修饰符允许类本身、同一包中的所有类和不同包中的子类访问;…

继续阅读 java 访问修饰符

多层嵌套的Json字符串转成JavaBean实体对象

  • Post author:
  • Post category:java

多层嵌套Json字符串转换为JavaBean。 JavaBean1 public class RouterBusiness extends BaseBusiness { private static final long serialVersionUID = 1l; // 路由表示 private String routerId; // 发送者队列 private List<MRPersis…

继续阅读 多层嵌套的Json字符串转成JavaBean实体对象

java中yield()方法如何使用

  • Post author:
  • Post category:java

Thread.yield()方法作用是:暂停当前正在执行的线程对象,并执行其他线程。 yield()应该做的是让当前运行线程回到可运行状态,以允许具有相同优先级的其他线程获得运行机会。因此,使用yield()的目的是让相同优先级的线程之间能适当的轮转执行。但是,实际中无法保证yield()达到让步目的,因为让步的线程还有可能被线程调度程序再次选中。 结论:yield()从未导致线程转到等待/睡眠/…

继续阅读 java中yield()方法如何使用

java String类型的数据与基本数据类型作比较,Long类型的比较

  • Post author:
  • Post category:java

String类型的数据与基本数据类型用euqals方法作比较时候,返回的都是false; 基本类型long,用==直接比较内容大小 包装类型Long,自动装箱的时候调用Long.valueOf()方法,将long转成Long,如果是-128到127的范围内,取缓存。 public static void main(String[] args) throws Exception { long l =…

继续阅读 java String类型的数据与基本数据类型作比较,Long类型的比较

JAVA面向对象之对象和类

  • Post author:
  • Post category:java

Java是一种面向对象的编程语言,面向对象在整个Java的学习中属于重中之重,从这一篇博客开始,将逐步为大家介绍Java面向对象的相关知识,这一偏将为大家介绍对象和类的概念以及如何定义类和创建对象。 一、对象和类的概念 1、对象 以一个人为例,对于人,我们可以从他所具有的特征和所具有的行为来进行分析。 特征:体重、身高、性别、年龄...... 行为:吃饭、睡觉、说话...... 上面的例子就是对现…

继续阅读 JAVA面向对象之对象和类

java双亲委派机制详解

  • Post author:
  • Post category:java

1. 类加载流程 类加载机制其实就是虚拟机把Class文件加载到内存,并对数据进行校验,转换解析和初始化,形成可以虚拟机直接使用的Java类型,即java.lang.Class。 1.1 装载 Class文件 -- >二进制字节流 -->类加载器 1)通过一个类的全限定名获取这个类的二进制字节流 2)将这个字节流所代表的静态存储结构转换为方法区的运行时数据结构 3)在java堆中生成一…

继续阅读 java双亲委派机制详解

工具类-Java列表拆分

  • Post author:
  • Post category:java

工具类-Java列表拆分 数据量太大,可拆分成指定大小的二级列表。 支持泛型,可用于所有一级列表。 import java.util.ArrayList; import java.util.List; public class ListUtils { public static <T> List<List<T>> subList(List<T> li…

继续阅读 工具类-Java列表拆分

java 堆栈的区别

  • Post author:
  • Post category:java

Java把内存分成两种,一种叫做栈内存,一种叫做堆内存 在函数中定义的 一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配 。当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量分配的内存空间,该内存空间可以立刻被另作他用。 堆内存用于存放由new创建的对象和数组 。在堆中分配的内存,由java虚拟机自动垃圾回收器来管理…

继续阅读 java 堆栈的区别

FastJson解析JSON字符串以中文命名的key值和JavaBean字段冲突的解决

  • Post author:
  • Post category:java

问题引入: 在我们解析JSON字符串时,常常要将解析的结果封装成JavaBean对象,封装成JavaBean对象我们一般使用FastJson依赖,但当我们要解析的JSON字符串中有以中文命名的key值时,再写JavaBean时就会遇到JSON字符串中的key字段名与JavaBean中的字段名难以对应的问题 如: 当我们的JSON字符串为: { "姓名":"abin" } 那这时如果我们要写Java…

继续阅读 FastJson解析JSON字符串以中文命名的key值和JavaBean字段冲突的解决