一是集合类持有的所有元素都是存储在内存中的,非常巨大的集合类会占用大量的内存,而Stream的元素却是在访问的时候才被计算出来,这种“延迟计算”的特性有点类似Clojure的lazy-seq,占用内存很少。

对于只有一个方法的接口,在Java 8中,现在可以把它视为一个函数,用lambda表示式。

Java 8新增了LocalDate和LocalTime接口。

java.util.Date和SimpleDateFormatter都不是线程安全的,而LocalDate和LocalTime和最基本的String一样,是不变类型,不但线程安全,而且不能修改。

一个.java的源文件编译后可能有多个.class文件!只要包含了静态类、匿名类等,编译出的class肯定多于一个。

Java源代码(.java文件)经编译器编译成字节码(.class文件),JVM本质上就是一个负责解释执行Java字节码的程序。

JVM执行Java程序的过程:

  • 加载.class文件

  • 管理并分配内存

  • 执行垃圾收集

编写和运行Java程序的三个步骤:

  • 编写源代码,保存到源代码文件中,例如 HelloWorld.java

  • 编译源代码,例如javac HelloWorld.java, 生成.class文件(字节码)

  • 执行字节码,例如java HelloWorld

Java多线程难度高,不容易掌握。

https://www.feiyangedu.com/course/1ap2kb9pp0ag0840001s


CoreJava知识点总结

设计一个可扩展的用户登录系统

results matching ""

    No results matching ""