.
JAVA内存模型 JAVA内存模型
JVM加载class 类的加载过程和生命周期 加载:通过全类名获取定义此类的二进制字节流(Classloader.loadClass)。 连接 验证:校验载入的class是否符合jvm规范。 准备:为类的静态变量分配内存,并将其初始
2020-06-15
反射 反射
反射 特点: 运行程序在运行时进行自我检查并对内部成员进行操作。 反射主要是指程序可以访问,检测和修改它本身状态或行为的一种能力,并且根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义。 作用: 在运行时判断任意一
2020-06-15
java锁的原理 java锁的原理
java锁的原理 synchronized锁的不是代码,锁的是对象(实例的对象)。 线程安全的原因: 存在共享数据(也称临界资源) 存在多条线程共同操纵这些共享数据 解决办法:同一时刻有且只有一个线程在操作共享数据,其他线程必须等到
2020-06-15
JAVA多线程 JAVA多线程
JAVA多线程 进程与线程区别:进程是资源分配的最小单位,线程是cpu调度的最小单位。 进程:进程独占内存资源,保存各自运行状态,相互不干扰且可以相互切换,并为并发任务提供了可能。 线程(轻量级进程):共享进程的内存资源,相互切换更迅速,
2020-06-15
Java 为什么重写 equals 时必须重写 hashCode 方法 Java 为什么重写 equals 时必须重写 hashCode 方法
前言:Java 对象如果要比较是否相等,则需要重写 equals 方法,同时重写 hashCode 方法,而且 hashCode 方法里面使用质数 31。接下来看看各种为什么。 一、需求:  对比两个对象是否相等。对于下面的 User
2020-06-15
JAVA内存模型 JAVA内存模型
网上有很多关于Java内存模型的文章,在《深入理解Java虚拟机》和《Java并发编程的艺术》等书中也都有关于这个知识点的介绍。但是,很多人读完之后还是搞不清楚,甚至有的人说自己更懵了。本文,就来整体的介绍一下Java内存模型,目的很简单,
2020-04-01
注解 注解
注解 功能 java.lang.annotation 作为特定的标记,告诉编译器一些信息。 编译时动态处理,如动态生成代码。 运行时动态处理,作为额外信息载体,如获取注解信息。 注解分类 标准注解:Override、Deprecat
2020-03-11