java
扫雪去
哈哈哈
展开
-
调用被子类重写的基类方法
首先这是一段普通的代码子类继承父类并重写了print方法public class TestVisualInvoke { public static class Father { public void print() { System.out.println("father's print"); } } p...原创 2019-03-27 23:49:11 · 665 阅读 · 0 评论 -
JAVA 线程池 ThreadPoolExecutor
目录一、ThreadPoolExecutor简介二、运行原理三、源码分析四、扩展一、ThreadPoolExecutor简介ThreadPoolExecutor是我们在Java中常用的线程池类,当然我们经常用如下方法创建,但是这些方法内部最终还是通过ThreadPoolExecutor构造的。(所以我有时候很不理解,为什么一说直接用ThreadPoolExecutor...原创 2019-03-28 21:26:25 · 255 阅读 · 0 评论 -
Java ThreadLocal分析
一、ThreadLocal简介ThreadLocal用于将自定义变量和当前线程绑定,每个线程都拥有自己独立的自定义变量。这些变量可以用来保存一些状态信息,例如用户信息、Span信息、或者非线程安全的对象。举例:SimpleDateFormat是线程不安全的类多线程使用会有并发问题。那么我们可以利用ThreadLoca来解决这个问题。(或者使用JDK8的Datetimeformatter...原创 2019-03-29 00:21:48 · 195 阅读 · 0 评论 -
Java如何获取到方法入参名称
背景 我们在使用SpringMVC的时候根据参数名获取用户传来的数据的时候就要用到这项技术。具体实现1. 使用Java8+反射实现 在使用javac编译时加入[-parameters]参数,然后通过反射就能获取到方法参数名称,但是如果不加这个参数获取到的会是arg0这样的参数名。如果使用IDEA打开javac设置代码如下:public class TestParameterNa...原创 2019-04-19 15:30:55 · 4688 阅读 · 0 评论 -
HashMap&ConcurrentHashMap源码分析
HashMap首先是构造方法,构造方法可传入初始容量和负载因子。传如的初始化容量会被修正为最接近的2的正次幂的值。public HashMap(int initialCapacity, float loadFactor) { if (initialCapacity < 0) throw new IllegalArgumentException("Illegal...原创 2019-04-19 17:16:40 · 992 阅读 · 0 评论 -
java中的强、软、弱、虚四种引用
强引用:就是指在程序代码之中普遍存在的,类似“Object obj=new Object()”这类的引用,只要强引用还存在,垃圾收集器永远不会回收掉被引用的对象。软引用:是用来描述一些还有用但并非必需的对象。对于软引用关联着的对象,在系统将要发生内存溢出异常之前,将会把这些对象列进回收范围之中进行第二次回收。如果这次回收还没有足够的内存,才会抛出内存溢出异常。在JDK 1.2之后...原创 2019-04-02 15:43:15 · 805 阅读 · 0 评论 -
java自定义注解
Java注解一、简介:Java注解是附加在代码中的一些元信息。二、元注解:元注解是指注解的注解在定义注解的时候需要用到。包括 @Retention @Target @Document @Inherited四种。SOURCE: 不包括在class文件中的注解CLASS: 包括在class文件中的注解RUNTIME: 包括在class文件中的注解,...原创 2019-04-15 19:08:34 · 257 阅读 · 0 评论