10 2021 档案

摘要:左移(<<) 将一个数对应的二进制表示整体左移,不考虑符号位,左边超出的部分舍弃,右边补零。 正数 以数字10为例,二进制表示为 00000000 00000000 00000000 00001010 第一位为符号位,0表示正数,1表示负数。左移1位之后为 00000000 00000000 000 阅读全文
posted @ 2021-10-31 11:20 strongmore 阅读(1892) 评论(0) 推荐(0) 编辑
摘要:前言 Objenesis是一个小的java库,主要用来实例化类对象,java本身仅支持通过构造器实例化,实例化时必须使用合适的构造器,但有些情况下不能使用这种方式实例化: 构造器需要参数 构造器有副作用 构造器会抛异常 一些常见的类库都要求类包含一个默认的无参构造器,而Objenesis可以绕过构造 阅读全文
posted @ 2021-10-30 10:19 strongmore 阅读(1107) 评论(0) 推荐(0) 编辑
摘要:前言 在看objenesis(一个提供多种实例化对象的方式的库)的源码时,发现其中使用到了ReflectionFactory类,它会绕过构造器来实例化对象,且会跳过类成员变量的初始化。 简单使用 使用反射实例化对象 import java.lang.reflect.Constructor; publ 阅读全文
posted @ 2021-10-29 18:52 strongmore 阅读(1023) 评论(0) 推荐(0) 编辑
摘要:第一种方法 public class TestClosest2NthPower { public static void main(String[] args) { System.out.println(test(-1));//1 System.out.println(test(1));//1 Sy 阅读全文
posted @ 2021-10-28 18:24 strongmore 阅读(1794) 评论(0) 推荐(0) 编辑
摘要:前言 Unsafe类位于sun.misc包下,它是java实现高并发的基础,通过它可以执行一些不安全的操作,如像C语言一样直接操作内存资源, 它提供的这些方法增强了java对底层资源的操作能力,但同时也增加了程序出错的风险,所以对它的使用一定要慎重。 核心功能介绍 Unsafe提供的API大致可分为 阅读全文
posted @ 2021-10-27 17:48 strongmore 阅读(1431) 评论(0) 推荐(0) 编辑
摘要:简单使用 import java.util.function.Consumer; public class TestLambda { public static void main(String[] args) { Consumer<String> consumer = System.out::pr 阅读全文
posted @ 2021-10-26 20:40 strongmore 阅读(2050) 评论(0) 推荐(0) 编辑