# Java

Java多线程中sysncronized加锁和CAS

锁->syncronized->Monitor->CAS # 什么是锁 锁其实就是线程共享的一个值,锁存在的意义就是 "

学习JavaJVM JVM学习

JVM内存模型

线程-> 工作内存 -> 主内存

学习JavaJVM JVM学习

/tmp/hsperfdata下没有生成PID

请输入...

JavaBugs

Java密封类permits、sealed

sealed表示当前类或者接口是密封的,只能由指定的子类 sealed:修饰类/接口,用来描述这个类/接口为密封类/接口

学习Java

java使用Properties读取配置文件

Class.getClassLoader.getResourceAsStream(String path)

JavaSpring

Java中Integer初始化

常用的Integer初始化方式有: Integer a = 10; Integer b

Java

JAVA8至17的新特性一览

JAVA SE10之后,每6个月更新一次版本,每3年有一个LTS版本。即将发布的JAVA17即是LTS。 http://openjdk.java.net/ JAVA8-JAVA17: 1. lambda表达式--函数式接口实现类 2. 方法引用 3. 接口增加default默认实现方法和static静态默认方法 4. 重复注解 5. Optional类 6. Stream流 7. 新的时间日期类 8. 标准库中增加Base64相关类 9. 其他。 1. Jigsaw模块化 2. Jshell 2. 集合增加.of(E...values)方法,构造不可变集

Java

类加载器和双亲委派模型

请输入...

学习Java

JAVA对象创建过程初识

一、 对象的创建 1. 执行new 操作时,会先看能不能在常量池中定位到这个类的符号引用,然后检查这个符号引用代表的类是否已经被加载、解析和初始化过。如果没有就要先执行相应的类加载过程。 2. 类加载过后虚拟机将给这个新的实例分配内存。对象(实例)所需要的内存大小在类加载完成后就可以确定了。 3. 内存分配完成后 虚拟机必须把分配的内存空间初始化,各字段设为0值。 4. 接下来,虚拟机还要对对象进行必要的设置,例如这个对象是哪个类的实例、如何才能找到类的元数据信息、对象的哈希码(实际上对象的哈希码会延后到真正调用Object::hashCode方法时才计

学习Java

责任链模式

package backgulf.patterns; public abstract class AbstractLogger { public static int INFO = 1; public static int DEBUG = 2; public static int ERROR = 3; protected int level; private AbstractLogger nextLogger; public void setNextLogger(AbstractLogger l

学习Java设计模式