11 2019 档案

摘要:这软件很小,安装后基本不用管,它会自动运行自动调节。在它运行的时候,一般在桌面右小角可以找到。平时不用去管它,它自会按时自动调节好屏幕的色温,以保护视力。 https://justgetflux.com/ 阅读全文
posted @ 2019-11-27 10:08 wf.zhang 阅读(264) 评论(0) 推荐(0)
摘要:Navicat 快捷键 F1 说明(在你pdf软件中自动打开Navicat.pdf)F8 Navicat 主窗口 CTRL+D 打开设计表 CTRL+Q 新建查询CTRL+H 历史日志CTRL+F 查找文本 CTRL+/ 注释行SHIFT+CTRL+/ 取消注释行 CTRL+R 运行SHIFT+CT 阅读全文
posted @ 2019-11-27 10:04 wf.zhang 阅读(308) 评论(0) 推荐(0)
摘要:ConcurrentHashMap 锁分段机制 JDK1.8 ConcurrentHashMap使用的是分段锁技术,ConcurrentHashMap 是一个 Segment 数组,Segment 通过继承 ReentrantLock 来进行加锁,所以每次需要加锁的操作锁住的是一个 segment, 阅读全文
posted @ 2019-11-24 17:08 wf.zhang 阅读(208) 评论(0) 推荐(0)
摘要:什么是CopyOnWrite容器 CopyOnWrite容器即写时复制的容器。通俗的理解是当我们往一个容器添加元素的时候,不直接往当前容器添加,而是先将当前容器进行Copy,复制出一个新的容器,然后新的容器里添加元素,添加完元素之后,再将原容器的引用指向新的容器。这样做的好处是我们可以对CopyOn 阅读全文
posted @ 2019-11-24 17:07 wf.zhang 阅读(223) 评论(0) 推荐(0)
摘要:i++的原子性问题 例子 int i=10; i++; 结果 i=10 分析过程 在计算机 底层 会有生成一个临时变量 temp 将i的值赋值给temp int i=10; > int temp =i; i++; > i=i+1; 最后 > i=temp; 总结 i++ 过程中 读->改->写的操作 阅读全文
posted @ 2019-11-24 12:43 wf.zhang 阅读(222) 评论(0) 推荐(0)
摘要:什么是volatile关键字 volatile是轻量级同步机制,与synchronized相比,他的开销更小一些,同时安全性也有所降低,在一些特定的场景下使用它可以在完成并发目标的基础上有一些性能上的优势. volatile修饰的变量对所有线程的可见性(即不具有互斥性) synchronized具有 阅读全文
posted @ 2019-11-24 11:36 wf.zhang 阅读(199) 评论(0) 推荐(1)
摘要:Java JUC 简介 在 Java 5.0 提供了 java.util.concurrent (简称 JUC )包,在此包中增加了在并发编程中很常用 的实用工具类,用于定义类似于线程的自定义子 系统,包括线程池、异步 IO 和轻量级任务框架。 提供可调的、灵活的线程池。还提供了设计用于 多线程上下 阅读全文
posted @ 2019-11-24 11:34 wf.zhang 阅读(390) 评论(0) 推荐(0)
摘要:什么是JVM JVM是可运行Java代码的假想计算机 (或者理解为一种规范),包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收,堆 和 一个存储方法域。JVM是运行在操作系统之上的,它与硬件没有直接的交互。 三种JVM产品 Oracle (Sun) HotSpot Oracle (BEA) J 阅读全文
posted @ 2019-11-23 23:18 wf.zhang 阅读(115) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2019-11-23 23:04 wf.zhang 阅读(140) 评论(0) 推荐(0)
摘要:64位JDK 默认只能工作在Server模式下 是无法切换到Client模式的 Hot Spot虚拟机Server 没有client目录 java\jre1.8.0_211\lib\amd64 两者区别: Server模式启动时,速度较慢,但是一旦运行起来后,性能将会有很大的提升 Client模式启 阅读全文
posted @ 2019-11-20 23:22 wf.zhang 阅读(231) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2019-11-10 22:44 wf.zhang 阅读(329) 评论(0) 推荐(1)
摘要:原来的时间类 1.默认值 我们使用起来不方便 2.在不同包 不规范 在java.util和java.sql的包中都有日期类,此外用于格式化和解析的类在java.text包中定义 3.可变 线程不安全 4.时区处理麻烦 java8新的时间 1.都在 java.time 包下 很有规律 2.用final 阅读全文
posted @ 2019-11-10 22:26 wf.zhang 阅读(377) 评论(0) 推荐(1)
摘要:java8增加默认方法 静态方法 重复注解 类型注解 1.默认方法 default修饰 为什么要有这个特性? 当修改接口时候,需要修改全部实现该接口的类。为了解决这个问题,所以引进默认方法。 默认方法能让我们给接口增加新的方法,并且能保证对使用这个接口的代码版本的兼容性。 总结:默认方法就是接口可以 阅读全文
posted @ 2019-11-10 20:01 wf.zhang 阅读(506) 评论(0) 推荐(0)
摘要:Optional类 java.util.Optional 是一个容器类 避免空指针 NPE 能够快速定位空指针 常用方法: Optional.of(T t) : 创建一个 Optional 实例 Optional.empty() : 创建一个空的 Optional 实例 Optional.ofNul 阅读全文
posted @ 2019-11-10 19:15 wf.zhang 阅读(316) 评论(0) 推荐(0)
摘要:并行流 多线程 把一个内容分成多个数据块 不同线程分别处理每个数据块的流 串行流 单线程 一个线程处理所有数据 java8 对并行流优化 StreamAPI 通过parallel() 并行流 sequential() 顺序流 注意: 使用并行流并不是一定会提高效率,因为jvm对数据进行切片和切换线程 阅读全文
posted @ 2019-11-10 12:41 wf.zhang 阅读(1535) 评论(0) 推荐(1)
摘要:Stream的终止操作 * allMatch 是否匹配所有 * anyMatch 是否匹配一个 * noneMatch 是否没有匹配一个 * findFirst 返回第一个 * count 返回总数 * max 返回最大 * min 返回最小 * reduce 归约 将元素连续操作得到结果 * co 阅读全文
posted @ 2019-11-10 11:32 wf.zhang 阅读(2319) 评论(0) 推荐(1)
摘要:Stream 的中间操作 filter 过滤 排除元素 filter(T -> boolean) 保留 boolean 为 true 的元素 limit 截断 取得多少个结果 limit(long n) 返回前 n 个元素 skip 跳过几个结果 数量不足 返回空 skip(long n) 去除前 阅读全文
posted @ 2019-11-10 10:30 wf.zhang 阅读(1325) 评论(0) 推荐(0)
摘要:为什么用stream 应用函数式编程 配合Lamdba表达式 更快操作集合类 数组 什么是 stream 总结: Stream 是用函数式编程方式在集合类上进行复杂操作的工具,其集成了Java 8中的众多新特性之一的聚合操作,开发者可以更容易地使用Lambda表达式,并且更方便地实现对集合的查找、遍 阅读全文
posted @ 2019-11-09 16:15 wf.zhang 阅读(232) 评论(0) 推荐(0)
摘要:一:方法引用 如果Lambda体中的内容 已经有方法实现了 我们可以使用"方法引用" (可以理解为方法引用是 lambda 表达式的另一种表现形式) 1.对象 :: 实例方法名 2.类::静态方法名 3.类::实例方法名 使用条件: a. lambda 表达式 实现函数式接口中的方法 参数列表(参数 阅读全文
posted @ 2019-11-09 13:54 wf.zhang 阅读(344) 评论(0) 推荐(0)
摘要:在使用lamdba表达式需要函数式接口的支持 java8已经提供了很多函数式接口 在java.util.function包下 核心四大函数式接口 其他函数式接口 Consumer<T> 消费型接口 void accept<T t> 一个参数 没有返回值 源码 如何使用 结果 Supplier<T> 阅读全文
posted @ 2019-11-09 11:00 wf.zhang 阅读(223) 评论(0) 推荐(1)
摘要:Seven times have I despised my soul: ——Kahlil Gibran The first time when I saw her being meek that she might attain height. The second time when I saw 阅读全文
posted @ 2019-11-07 20:50 wf.zhang 阅读(426) 评论(0) 推荐(0)
摘要:1.自定义函数式接口 MyFun 传入一个参数 返回一个参数 2.定义方法 传入一个参数 n 并将自定义函数式接口MyFun 也作为参数 3.在定义的方法中调用该函数式的getValue()方法 传入一个参数 n 4.main方法调用 对100 做加减乘除 (可以理解为Lambda表达式是对函数式接 阅读全文
posted @ 2019-11-06 23:29 wf.zhang 阅读(237) 评论(0) 推荐(0)
摘要:Lambda 表达式的语法格式 基本结构 () -> {} 左侧 参数列表 右侧 方法体 (Lambda体) 1.无参数 无返回值 () ->System.out.println("无参数输出打印语句"); 2.有一个参数 无返回值 (x) ->System.out.println("x"); 3. 阅读全文
posted @ 2019-11-06 22:47 wf.zhang 阅读(285) 评论(0) 推荐(1)
摘要:Lambda表达式 主要作用替代匿名内部类 达到简化代码的操作 Lambda表达式 在对象中的使用 Employee类 需求1:得到年龄大于18的员工信息 定义方法 测试类 结果 需求2:得到薪水大于10000的员工信息 定义方法 测试类 结果 总结以上方法 代码重复较多 开始优化 使用Lambda 阅读全文
posted @ 2019-11-05 23:29 wf.zhang 阅读(248) 评论(1) 推荐(0)
摘要:为什么用函数式接口 在函数式编程思想下,允许函数本身作为参数传入另一个函数.使用函数式接口实现"传递行为"的思想. Lambda表达式也需要函数式接口的支持 什么是函数式接口 总结: 函数式接口 只有一个抽象方法 函数式接口的标识@FunctionalInterface 解释 1.如果一个接口只有一 阅读全文
posted @ 2019-11-02 16:48 wf.zhang 阅读(227) 评论(0) 推荐(0)
摘要:为什么用 Lambda表达式 在java8之前 java语言 方法调用 无法将函数作为一个参数 也无法声明返回一个函数 对比 javaScript是典型函数式语言 总结: Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中) lambda 表达式使代码简洁紧凑。 引出 >函数式编程 阅读全文
posted @ 2019-11-02 11:49 wf.zhang 阅读(149) 评论(0) 推荐(1)
摘要:计算机语言的发展史 计算机成为了大脑的延伸,核心设备 算法是计算机的灵魂,编程语言是塑造计算机的工具 第一代机器语言 第二代汇编语言 第三代 高级语言 常用高级语言 C语言 C++语言 Java语言 PHP语言 Object-C Swift语言(ios) JavaScript语言(H5的核心) Py 阅读全文
posted @ 2019-11-02 10:14 wf.zhang 阅读(231) 评论(0) 推荐(0)
摘要:1.java发展历史 1991年 詹姆斯·高斯林 (James Gosling) SUN公司Green项目(消费类电子产品) Oak 后来叫Java 1995年 推出 Java测试版 1996年 JDK1.0 1997年 JDK1.1 1998年 JDK1.2 革命性的版本 更名 Java2 200 阅读全文
posted @ 2019-11-02 10:10 wf.zhang 阅读(189) 评论(0) 推荐(0)