随笔分类 - 回顾
摘要:类加载器 ClassLoader 专门负责加载类的命令/工具 启动类加载器(父加载器) 扩展类加载器(母加载器) (双亲委派机制(安全机制,保证类加载安全)) 应用类加载器 代码在开始执行之前,会将所需要的的类全部加载到JVM中 首先通过“启动类加载器”专门加载 jre/lib/rt.jar rt.
阅读全文
摘要:Thread.currentThread().getContextClassLoader().getResource("name").getPath()Thread.currentThread() 当前线程对象getContextClassLoader() 线程对象方法,可以获得当前线程的类加载器对
阅读全文
摘要:(反射)java.lang.reflect.*; 反射机制相关的重要的类: java.lang.reflect.Class java.lang.reflect.Method java.lang.reflect.Constructor java.lang.reflect.Field 获取Class的三
阅读全文
摘要:Object类中的wait和notify方法(生产者和消费者模式) 不是通过线程调用 wait(): 让正在当前对象上活动的线程进入等待状态,无期限等待,直到被唤醒为止notify(): 让正在当前对象上等待的线程唤醒notifyAll(): 唤醒当前对象上处于等待的所有线程 生产者和消费者模式 生
阅读全文
摘要:实现Callable接口(jdk8新特性)可以获得线程的返回值 *前两种方式没有返回值,因为run方法返回void 创建一个未来任务类对象 Futrue task = new Future(Callable<>);重写call()方法 可以使用匿名内部类方式task.get()方法获取线程返回结果
阅读全文
摘要:守护线程:java语言中线程分为两大类:用户线程 守护线程(后台线程)守护线程: 其中具有代表性的就是垃圾回收线程守护线程特点:一般守护线程是一个死循环,所有的用户线程只要结束,守护线程自动结束,即使守护线程为死循环 主线程main方法是一个用户线程守护线程用在什么地方: 每天0点的时候系统自动备份
阅读全文
摘要:public class Test_10 { public static void main(String[] args) { Object object1 = new Object(); Object object2 = new Object(); Thread t1 = new Thread(n
阅读全文
摘要:synchronized(共享对象){}线程同步代码块对象锁,一个线程占有后,另一个线程就无法占有了 实例变量在堆中 静态变量在方法区中 局部变量在栈中局部变量永远不会存在线程安全问题(局部变量不共享,一个线程一个栈)堆和方法区只有一个,是多线程共享的,所有可能存在线程安全问题局部变量和常量不会有线
阅读全文
摘要:public class Test_09 { public static void main(String[] args) { Account account = new Account(1000); Thread t1 = new Thread(new AccountThread(account)
阅读全文
摘要:实例方法: void setPriority(int newPrority) 设置程序的优先级 int getPriority() 获取程序优先级 最高为10,最低为5,默认为1 MAX/MIN/NORM_PRIORITY = 10/1/5 void join() 合并线程 当前线程进入阻塞,直到调
阅读全文
摘要:1.获取线程的名字setName()getName() 获取当前线程对象static Thread currentTread() Thread currentThread = Thread.currentThread; currentThread.getName(); Thread.currentT
阅读全文
摘要:java语言中同一个进程的线程,堆内存和方法区内存共享,但是栈内存独立,每个栈之间互不干扰进程之间的内存独立不共享使用了多线程机制之后,main方法结束,主栈空了,但是其它栈可能还在运行 实现线程的方法:1.编写一个类继承java.lang.Thread,重写run方法 创建线程对象调用start(
阅读全文
摘要:经常改变的数据,可以单独写到一个文件中,使用程序动态读取 属性配置文件中#为注释文件 username=123 password=123456调用Properties对象的load方法将文件中的数据加载到Map集合中 FileReader reader = new FileReader("name"
阅读全文
摘要:ObjectOutputStream 序列化 Serialize 将对象存储到文件中,将java对象状态保存下来 writeObject(obj)ObjectInputStream 反序列化 DeSerialize 将硬盘上的数据重新恢复到内存当中,恢复成java对象 readObject()参与序
阅读全文
摘要:import java.io.*;public class Test { public static void main(String[] args) { File srcFile = new File("D:/Netease"); File destFile = new File("D:/test
阅读全文
摘要:常用方法: 构造方法 boolean exists() createNewFile() mkdir() mkdirs() getParent() getParentFile() getAbsolutePath() delete() getName() getPath() isDirectory()
阅读全文
摘要:System.out.println("hello world"); 等同于 PrintStream ps = System.out; 标准输出流指向控制台ps.println("hello world");标准输出流不需要关闭 PrintStream ps = new PrintStream(ne
阅读全文
摘要:数据专属流,可以将数据连同数据的类型一并写入文件 注意:这个文件不是普通文本文档(无法用记事本打开)DataOutputStream(OutputStream)DataOutputStream写入的文件只能用DataInputStream读取,并且读的时候顺序需要和写入顺序一致 writeByte(
阅读全文
摘要:自带缓冲区,使用时不需要定义char数组FileReader reader = new FileReader("name");BufferReader bfr = new BufferReader(reader);bfr.close() String readLine() 读取一行(不带换行符) 读
阅读全文

浙公网安备 33010602011771号