分类目录:java

以下是分类 java 下的所有文章

juc学习

对volatile变量的操作可以认为是直接对主存进行操作。 volatile不保证互斥性、原子性。 线程有个自己的内存块。 i=i++;理解为 int temp = i; i = i+1; i=temp; 结果是不变的。 原子变量保存的值是volatile的,CAS算法保证原子性,有个预估值和内存值,预估值和内存值相同时才会将数据写入。 ……

Java程序设计进阶复习笔记(续)

java虚拟机有自己想象的硬件,如处理器、堆栈、寄存器、还有相应的指令系统。 每个java程序单独的运行一个java虚拟机。 使用java命令就是启动java虚拟机。 java虚拟机对执行的方法从main()开始执行。 类加载子系统:加载程序中的类型(类class和接口interface) 执行引擎:负责执行被加载类中包含的指令。 内存包……

java程序设计进阶复习笔记

synchronized只能同步方法,不能同步变量 非同步方法不受影响,同步方法只能进入一个。 线程休眠,锁不会释放。 同步损害并发性,应当尽可能减少同步范围。 notify()是随机的唤醒一个等待的线程,本线程继续执行。notifyAll()唤醒所有线程,本线程继续执行。 wait、notify、notifyAll三个方法是Object……

复习java(六)

File的构造方法: File(String path); //绝对路径或相对路径 File(String path, String name); //绝对路径或相对路径,两个连接起来。 File(File dir, String name); //前面目录下的后面子目录 public final class Main{ public s……

重学java(五)

数组上获得流:Arrays.stream(数组); 数组上获得并行处理流:Arrays.stream(数组).parallel. 集合上获得流:collection.stream(); 集合上获得并行流:collection.parallelStream()。 import static java.lang.System.*; publi……

重学java(四)

线程的休眠过程中可能会被其他线程打断,所以要捕获InterruptedException异常。 继承的话,this即是当前线程,Runnable则是Thread.currentThread()方法。 因为Runnable只有一个方法,所以可以直接用Lambda表达式来搞。 Thread.sleep()直接就是当前线程等待。 Timer类可……

重学java(三)

Calendar翻译为日历。 SimpleDateFormat是日期的格式化类。 format()格式化。 parse()解析。 java8中新添加的类的示例。 import static java.lang.System.*; public class CalendarDate8 { public static void main(St……

重学java(二)

对象的回收由java虚拟机的垃圾回收线程能够进行自动回收。 通过为对象设置有几个引用的方式来决定对象是否可以回收。 System.gc()可以建议系统进行垃圾回收,但是无法强制系统回收垃圾。 java提供了finalize()方法进行一些操作,如清理一些非内存资源,关闭打开的文件等。除内存的回收以外,其他资源不要依赖垃圾收集器进行处理,应……