
java
文章平均质量分 92
litte_frog
小青蛙☞在寻找他的
展开
-
回调函数
1 JavaScript 中使用回调函数: JS 回调函数浅析// 函数Afunction A(callback) { // 执行操作 console.info("..."); // 执行回调函数 callback();}// 回调函数function B() { console.info("callback");}// 执行AA(B);2 C 中使用回调函数: C语...原创 2019-12-19 11:01:45 · 171 阅读 · 0 评论 -
难以理解的锁(二) Threads
一、Interrupt关于中断的方法Java中线程的中断(interrupt)是指线程的中断状态,true 或 false。Interrupt相关的方法:isInterrupted :判断线程的中断状态,如果线程被中断返回true。interrupt :中断当前线程,将中断状态设置为true。interrupted :静态方法,判断当前线程是否中断,并且重置中断状态为false。设...原创 2019-09-11 12:00:53 · 357 阅读 · 0 评论 -
难以理解的锁(一) ReentrantLock
一、AbstractQueuedSynchronizer属性属性类型作用stateint表示是否被线程持有,0表示没有,n表示线程重入次数headNode线程阻塞队列的头节点,head表示正在持有锁的线程tailNode线程阻塞队列的尾节点,未竞争到锁的Node将添加至队列尾部unsafeUnsafe含有CAS原子操作的类,调用本地方法实...原创 2019-09-05 16:19:08 · 479 阅读 · 0 评论 -
源码:常用集合类 之 HashMap
0 前言 Hashmap 内部结构是数组加链表或数组加红黑树实现。table表示数组,存放map中每个 K-V 都封装成node结构放入链表或者树中。table的每个下标位置就是一个桶,桶内是链表或红黑树。size则表示当前map中node个数。 Node 结构:1 属性的声明DEFAULT_INITIAL_CAPACITY:默认初始容量16MAXIMUM_CAPACITY:最大...原创 2019-08-18 11:02:37 · 275 阅读 · 0 评论 -
能不能别再笨拙的处理XML报文了?!
文章目录前言一、xjc & trang.jar 生成 java code二、IntelliJ IDEA Tools 生成 java code三、XML 与 JavaBean 的映射四、JavaBean 的校验前言Document doc = DocumentHelper.parseText(xml);Element root = doc.getRootElement();Elem...原创 2019-08-06 12:02:31 · 398 阅读 · 1 评论 -
OpenJDK8u中intern()方法实现
文章目录OpenJDK源码下载native关键字intern方法实现oop-klass模型StringTableStringTable::intern总结OpenJDK源码下载Java中String类的intern方法是一个native方法。 /** * Returns a canonical representation for the string object. ...原创 2019-04-08 19:16:10 · 665 阅读 · 0 评论 -
源码:常用集合类 之 ArrayList
前言在开发过程中下面这段代码不知道写了多少次,是时候拨开它的外壳,看看内部构造了。List<T> list = new ArrayList<>();本文的代码片段均来自jdk1.8源码。属性的声明每个变量都有详细注释,简单说一下:DEFAULT_CAPACITY:默认容量为10,常量EMPTY_ELEMENTDATA:空数组,常量DEFAULTCAPACI...原创 2019-08-17 16:24:33 · 261 阅读 · 0 评论 -
java.lang.Error: Unresolved compilation problem解决方法
错误描述:之前在jdk1.8环境下开发,现在需要为另一个jdk1.4环境下的项目修改代码,本地调试过程中出现java.lang.Error: Unresolved compilation problem报错。我的解决方法:1 首先安装jdk1.4,并配置环境变量。我的安装路径:C:\jdk4\j2sdk1.4.1_04环境变量配置:依次在本机上点击(win10)控制面板\系统和安全\系统\...原创 2019-03-07 09:34:40 · 97908 阅读 · 3 评论 -
Java8关于Stream的收集器和Collector接口
从Stream类中的collect作为本文的开始。现在有一个装有Frog对象的List集合,从这个list中将frog对象的size值提取成一个新的集合,可以通过如下方法实现:List&amp;amp;amp;lt;Double&amp;amp;amp;gt; sizeList = frogList.stream() .map(Frog::getSize) .collect(...原创 2019-03-08 23:41:05 · 611 阅读 · 0 评论 -
java8函数式编程(四)
相关链接:java8函数式编程(一)java8函数式编程(二)java8函数式编程(三) 其中(一)是在没有开始了解java8新特性之前实际遇到的一个问题,使用for循环实现的代码很繁琐,于是尝试使用新的编码风格,最后很不完美的实现了需求。在进一步学习后,在(二)中完美实现,并对List常用的操作做了一个总结。最后在(三)中对并行化流与并行化数组的操作简单归纳。 本节主要是对java...原创 2018-12-06 18:37:32 · 242 阅读 · 1 评论 -
java8时间API
创建 LocalDate localDate = LocalDate.now(); // 2018-11-22 LocalTime localTime = LocalTime.of(2, 20, 30); // 02:20:30 LocalD...原创 2018-11-22 20:44:34 · 224 阅读 · 0 评论 -
java8函数式编程(三)
并行化流操作如果已经有一个Stream对象,调用parallel方法即拥有并行操作的能力boolean b = Stream.of("z", "s", "c"). parallel(). isParallel();集合通过调用parallelStream方法创建一个并行能力的流List&lt;Fro原创 2018-10-09 14:53:07 · 239 阅读 · 0 评论 -
java8函数式编程(一)
需求将List集合中选出每种颜色相同的元素中size最大的元素,将这些元素组成一个新集合。List<Frog>public Frog(String name, Integer age, String color, Double size, String desc) { this.name = name; this.age = age; ...原创 2018-09-29 23:59:19 · 267 阅读 · 0 评论 -
java8函数式编程(二)
List常用操作准备数据 private static List&lt;Frog&gt; init() { List&lt;Frog&gt; list = new ArrayList&lt;&gt;(); list.add(new Frog("a", 2 , "red", 5.1));原创 2018-10-08 18:44:26 · 216 阅读 · 0 评论 -
java中反射获取方法的修饰符
java中反射获取方法的修饰符代码:import java.lang.reflect.Field;import java.lang.reflect.Modifier;public class LFrog { public String name0; public static String name1; public static final Strin...原创 2018-02-23 15:26:03 · 3106 阅读 · 1 评论