Java基础注解(二)

Java基础注解(二)

注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制。注解是一种元数据,注解本身对被标注的代码没有任何直接的影响,它为程序提供了一些额外的数据信息,注解通常使用在如下场景 为编译器提供信息:编译器可通过注解去探测错误或者压制警告,如@Deprecated @SuppressWarnings("unchecked") 编译时处理:在程序编译时,
Java基础文件与IO(一)

Java基础文件与IO(一)

文件操作 java.io.File是Java提供的专门针对文件操作的类,File是文件与目录路径的一种抽象表示,用于操作文件与目录,不能操作文件内容。 构造File对象 一个File对象通常表示磁盘上一个真实存在的文件或目录,创建File对象时,无论对应的文件与目录是否存在,不会影响File对象
一篇文章让你秒懂Java运行基础

一篇文章让你秒懂Java运行基础

Javac编译 javac命令几个常用的选项 -classpath 指定依赖的class文件搜索路径 -sourcepath 指定依赖的源文件搜索路径 -d 指定编译后的class存放目录,这个目录必须提前建好 -extdirs 指定第三方依赖包,如jar、zip搜索目录 -encoding 指定源文件编码 如UTF-8 下面以简单的java项目进行操作说明,所有命令操作都在项目根目

Java互斥锁ReentrantLock实现原理

了解AQS实现原理之后,再来分析ReentrantLock代码就非常简单了,在学习互斥锁之前很有必要搞清楚可重入锁、公平锁、非公平锁几个概念。 什么是可重入锁?线程成功获取锁之后,可以多次进入临界区访问资源,ReentrantLock就是一种可重入锁,其可重入的实现依赖于AQS的父类AOS,

Java同步器框架AQS与锁实现原理

JUC是Java中并发控制的核心包,其中AQS是并发的基础核心类,类名全称AbstractQueuedSynchronizer,其父类是AbstractOwnableSynchronizer(AOS), 用于存取获得独占锁的线程。Java中的ReentrantLock、CountDownLa
FutureTask原理分析

FutureTask原理分析

Callable Runnable 在Java中可以通过继承Thread或者实现Runnable接口两种方式来创建多线程,这两种方式创建的线程执行完毕之后,我们无法获取执行结果, 除非通过共享变量或者线程通信方式(Q消息等)间接实现,Java在1.5之后可以通过Callable和Future接口在线程执行完毕之后获取执行结