![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
FU_ZHONGYUAN
这个作者很懒,什么都没留下…
展开
-
java栈深度(如何测试栈深度)(转载)
什么是java栈深度?java栈深度有什么用?我们知道java栈是java虚拟机的一个重要的组成部分,在栈里进行线程操作,存放方法参数等等。栈在初始化过后是有一定的大小的。public class Test{private int count = 0;public void testAdd(){count ++;...转载 2019-03-28 14:44:23 · 1523 阅读 · 0 评论 -
status().isOk(),content().string(equalTo(""))如何引用
静态导入以下:import static org.hamcrest.Matchers.equalTo; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; import static org.springframework.test.web.servlet.re...原创 2018-11-07 16:32:59 · 2797 阅读 · 1 评论 -
eclipse导入静态类,自动代码提示静态方法
JDK1.5以后提供了导入静态方法的功能,例如,我们可以通过以下方式导入Matchers.equalToimport static org.hamcrest.Matchers.equalTo; 注意有个static静态标识符用的时候直接使用就可以了,而不用再去调用Matches.equalTo()equalTo("Hello, Kevin");等价于Matches.equalTo(...转载 2018-11-07 16:42:26 · 422 阅读 · 0 评论 -
Dozer JavaBean映射工具库(使用小结)
Dozer 使用小结这篇文章是本人在阅读Dozer官方文档(5.5.1版本,官网已经一年多没更新了)的过程中,整理下来我认为比较基础的应用场景。本文中提到的例子应该能覆盖JavaBean映射的大部分场景,希望对你有所帮助。概述Dozer是什么?Dozer是一个JavaBean映射工具库。它支持简单的属性映射,复杂类型映射,双向映射,隐式显式的映射,以及递归映射。它支持三...转载 2019-01-04 15:42:15 · 1005 阅读 · 0 评论 -
String类详解
阅读目录(Content)一、String简介 1.1、String(字符串常量)概述 1.2、分析String源码 二、创建字符串对象两种方式的区别 2.1、直接赋值方式创建对象 2.2、通过构造方法创建字符串对象 2.3、两种实例化方式的比较 三、String常用的方法 3.1、String的判断功能 3.2、String类的获取功能 3.3、Str...转载 2019-02-14 18:46:44 · 519 阅读 · 0 评论 -
Arrays源码分析
标签:package java.util; import java.lang.reflect.Array; import java.util.concurrent.ForkJoinPool; import java.util.function.BinaryOperator; import java.util.function.Consumer; import java.util...转载 2019-02-14 18:48:21 · 108 阅读 · 0 评论 -
String concat(String str)
String concat(String str) 连接str到当前字符串的末尾String s1 = “Hello”;s1.concat(“ World”);sout(s1);====》Hellos1 = s1.concat(“ World”);sout(s1);=====>Hello World 好奇心的引导之下看了一下concat方法的实现,源码是这样的:...转载 2019-02-14 18:50:11 · 2589 阅读 · 0 评论 -
Java Arrays.copyOf 功能
Arrays.copyOf功能是实现数组的复制,返回复制后的数组。参数是被复制的数组和复制的长度:package setclass; import java.util.Arrays;import java.util.HashSet;import java.util.Iterator;import java.util.Set; public class SetTest1 { ...转载 2019-02-15 10:12:16 · 10534 阅读 · 0 评论 -
JAVA深入研究——Method的Invoke方法。
在写代码的时候,发现从父类class通过getDeclaredMethod获取的Method可以调用子类的对象,而子类改写了这个方法,从子类class通过getDeclaredMethod也能获取到Method,这时去调用父类的对象也会报错。虽然这是很符合多态的现象,也符合java的动态绑定规范,但还是想弄懂java是如何实现的,就学习了下Method的源代码。 Method的invoke方法...转载 2019-02-25 15:59:22 · 267 阅读 · 0 评论 -
MethodHandle(方法句柄)系列一
阅读此文章的作者建议先了解java反射和动态代理。 java7中为间接调用方法引入了新的api,其中最关键的是java.lang.invoke包,即方法句柄。我们可以看成是java反射的升级版,但是它不反射那样有时候显得冗长、繁重的粗糙。 方法句柄中首先涉及到两个重要的类,MethodHandle和MethodType。 MethodHandle 它是...原创 2019-02-25 16:04:40 · 899 阅读 · 0 评论 -
MethodHandle(方法句柄)系列之二:方法句柄的简单使用
二话不说,上代码/** * * @author LiuYeFeng<897908343@qq.com> * @date 2015年4月8日 下午10:41:13 * @CopyRight 2015 TopView Inc * @version V1.0 */public class MethodHandleTest { public MethodH...转载 2019-02-25 16:05:37 · 666 阅读 · 0 评论 -
MethodHandle(方法句柄)系列之三:invoke和invokeExact的区别
先把代码贴上来,用的是一样的代码 /** * * @author LiuYeFeng<897908343@qq.com> * @date 2015年4月8日 下午10:41:13 * @CopyRight 2015 TopView Inc * @version V1.0 */public class MethodHandleTest { publi...转载 2019-02-25 16:07:01 · 2255 阅读 · 0 评论 -
hashCode方法里为什么选择数字31作为生成hashCode值的乘数
前提: 偶然的机会看到了大神的一篇博客,介绍的是hashCode()方法里为什么要用31这个数字作为生成hashCode的乘数。hashCode我在比较自定义类时曾经用到过 - 由于java默认比较的是类的地址值,每个对象一定是不同的,所以重写了hashCode()和equals()方法,这样就会先根据类里的属性生成hashCode,如果生成的hashCode值相同,则在使用equals(...转载 2019-03-19 17:36:11 · 293 阅读 · 0 评论 -
科普:为什么 String hashCode 方法选择数字31作为乘子
1. 背景某天,我在写代码的时候,无意中点开了 String hashCode 方法。然后大致看了一下 hashCode 的实现,发现并不是很复杂。但是我从源码中发现了一个奇怪的数字,也就是本文的主角31。这个数字居然不是用常量声明的,所以没法从字面意思上推断这个数字的用途。后来带着疑问和好奇心,到网上去找资料查询一下。在看完资料后,默默的感叹了一句,原来是这样啊。那么到底是哪样呢?在接下来章...转载 2019-03-19 17:43:51 · 100 阅读 · 0 评论 -
java之常量折叠
java之常量折叠为什么会写着篇博客,因为昨天看了关于final关键字的解析。但是有个问题始终没有得到解决,于是请教了我qq上之前添加的知乎大神。他给我回复的第一条消息:常量折叠。身为渣渣猿的我立马查询了这个概念。这是第一次知道这个概念。知乎大神还给我讲了好多。让我终于明白了这个常量折叠的概念实例解析昨天,让我迷惑的代码是下面这段代码 public static void ...转载 2019-03-27 14:34:34 · 103 阅读 · 0 评论 -
java中import static和import的区别
import static(静态导入)是JDK1.5中的新特性,一般我们导入一个类都用 import com.....ClassName;而静态导入是这样:import static com.....ClassName.*;这里多了个static,还有就是类名ClassName后面多了个 .* ,意思是导入这个类里的静态方法。当然,也可以只导入某个静态方法,只要把 .* 换成静态方法名就行了。然后...转载 2018-11-07 16:29:45 · 136 阅读 · 0 评论