(手机横屏看源码更方便)注:java源码分析部分如无特殊说明均基于java8版本。简介大家都知道线程是有生命周期,但是彤哥可以认真负责地告诉你网上几乎没有一篇文章讲得是完全正确的。常见的错误有:就绪状态、运行中状态(RUNNING)、死亡状态、中断状态、只有阻塞没有等待状态、流程图乱画等,最常见的错误就是说线程只有5种状态。今天这篇文章会彻底讲清楚线程的生命周期,并分析synchronized锁、
分类:
编程语言 时间:
2019-11-05 10:47:20
阅读次数:
64
Java 8 (又称为 jdk 1.8) 是 Java 语言开发的一个主要版本。 Oracle 公司于 2014 年 3 月 18 日发布 Java 8 ,它支持函数式编程,新的 JavaScript 引擎,新的日期 API,新的Stream API 等。 新特性 Java8 新增了非常多的特性,我 ...
分类:
编程语言 时间:
2019-11-05 09:18:43
阅读次数:
119
对于任何场景而言,代码量永远都是越少越好,而Java8中提供的Lambda表达式正式简化代码的利器。 参考博客: "Java 8 Lambda 表达式详解" 参考博客: "完美的lambda表达式只有一行" 在 Java 8 以前,若我们想要把某些功能传递给某些方法,总要去写 匿名类 。 Java ...
分类:
编程语言 时间:
2019-11-04 21:43:48
阅读次数:
105
一、抛出需求 超市中挑选苹果,挑选条件多样化。 示例:找出绿色并且重量等于150的苹果,找出红色并且重量小于120苹果。 1、苹果类 二、实现方案 采用策略模式,实现数据筛选。 1、查找苹果类 2、实现方法 方法一、继承扩展接口实现多个filter 绿色并且重量等于150的苹果filter 方法一、 ...
分类:
编程语言 时间:
2019-11-03 18:45:29
阅读次数:
105
前段时间由于公司业务开发了App产品,产品用CocosCreator打出来的App, 用的时候,发现获取验证码,获取不到值,折腾了几天,一开始欢迎安装的jdk有问题,但是几次验证不是jdk的问题, 最后解决的方案,在dockerFile里面加上这串就OK了。 RUN apk add --update ...
分类:
编程语言 时间:
2019-11-03 16:45:42
阅读次数:
87
1 String的定义(Java8中) 2 String 对象的创建方式 A、通过字符串常量的方式 String str= "pingtouge", JVM 会在字符串常量池中先检查是否存在该对象,如果存在,返回该对象的引用地址,如果不存在,则在字符串常量池中创建该字符串对象并且返回引用。使用这种方 ...
分类:
编程语言 时间:
2019-11-03 10:41:03
阅读次数:
67
1. 前言 从一开始学习 Netty 到 rxjava、Rector,再到 java8 的 CompletableFuture,就深深的为响应式编程着迷,这种区别于传统的顺序式编程,没准未来能在编程世界开辟一片天地呢! 然后接触到了 WebFlux 框架,也是充满了浓厚的兴趣,想好好琢磨一番,奈何中 ...
分类:
编程语言 时间:
2019-11-03 10:28:02
阅读次数:
83
一、前言 在分析jdk1.8后的HashMap源码时,发现网上好多分析都是基于之前的jdk,而Java8的HashMap对之前做了较大的优化,其中最重要的一个优化就是桶中的元素不再唯一按照链表组合,也可以使用红黑树进行存储,总之,目标只有一个,那就是在安全和功能性完备的情况下让其速度更快,提升性能。 ...
分类:
其他好文 时间:
2019-11-02 19:37:32
阅读次数:
73
一、什么是Java 8 Stream 使用Java 8 Streams,我们可以按键和按值对映射进行排序。下面是它的工作原理: 1. 将Map或List等集合类对象转换为Stream对象 2. 使用Streams的 方法对其进行排序 3. 最终将其返回为 (可以保留排序顺序) 方法以 作为参数,从而 ...
分类:
编程语言 时间:
2019-11-02 13:39:09
阅读次数:
99
package com.acm; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.Hash... ...
分类:
编程语言 时间:
2019-11-02 00:11:06
阅读次数:
100