Loading

摘要: 1. Streams API(I) 你可能没意识到Java对函数式编程的重视程度,看看Java 8加入函数式编程扩充多少功能就清楚了。Java 8之所以费这么大功夫引入函数式编程,原因有二: 代码简洁函数式编程写出的代码简洁且意图明确,使用stream接口让你从此告别for循环。 多核友好,Java 阅读全文
posted @ 2021-07-04 16:59 landfill 阅读(173) 评论(0) 推荐(0) 编辑
摘要: Lambda and Anonymous Classes(I) 前言 Java Lambda表达式的一个重要用法是简化某些匿名内部类(Anonymous Classes)的写法。实际上Lambda表达式并不仅仅是匿名内部类的语法糖,JVM内部是通过invokedynamic指令来实现Lambda表达 阅读全文
posted @ 2021-07-04 16:39 landfill 阅读(57) 评论(0) 推荐(0) 编辑
摘要: 一、JVM概述 1. JVM内部结构 跨语言的平台,只要遵循编译出来的字节码的规范,都可以由JVM运行 虚拟机 系统虚拟机 VMvare 程序虚拟机 JVM JVM结构 HotSpot虚拟机 详细结构图 前端编译器是编译为字节码文件 执行引擎中的JIT Compiler编译器是把字节码编译成机器码 阅读全文
posted @ 2021-07-04 13:42 landfill 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 今天来讲些抽象的东西 -- 对象头,因为我在学习的过程中发现很多地方都关联到了对象头的知识点,例如JDK中的 synchronized锁优化 和 JVM 中对象年龄升级等等。要深入理解这些知识的原理,了解对象头的概念很有必要,而且可以为后面分享 synchronized 原理和 JVM 知识的时候做 阅读全文
posted @ 2021-07-04 12:52 landfill 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 众所周知 synchronized 关键字是解决并发问题常用解决方案,有以下三种使用方式: 同步普通方法,锁的是当前对象。 同步静态方法,锁的是当前 Class 对象。 同步块,锁的是 () 中的对象。 实现原理: JVM 是通过进入、退出对象监视器( Monitor )来实现对方法、同步块的同步的 阅读全文
posted @ 2021-07-04 12:45 landfill 阅读(171) 评论(0) 推荐(0) 编辑