- 博客(7)
- 收藏
- 关注
原创 Java基础知识小记
垃圾回收器如何工作?内存分配以较大的"块"为单位。如果对象较大,它会占用单独的块。严格来说,"停止-复制"要求在释放旧对象之前,必须先将所有存活对象从旧堆复制到新堆,这导致了大量的内存复制行为。有了块,垃圾回收器就可以把对象复制到废弃的块。每个块都有年代数来记录自己是否存活。通常,如果块在某处被引用,其年代数加 1,垃圾回收器会对上次回收动作之后新分配的块进行整理。这对处理大量短命的临时对象很有帮助。垃圾回收器会定期进行完整的清理动作——大型对象仍然不会复制(只是年代数会增加),含有小型对象的那些块则被复
2020-08-18 10:13:37
86
原创 Java之Properties集合
Properties类表示一个持久的属性集,Properties可保存在流中或从流中加载。Properties集合是一个唯一和IO流相结合的集合。可以使用Properties集合中的方法store,把集合中的临时数据,持久化写到硬盘中存储。可以使用Properties集合中的方法load,把硬盘中保存的文件(键值对),读取到集合中使用。属性列表中每个键机器对应值都是一个字符串。Properties集合是一个双列集合,key和value默认都是字符串。Properties集合中一些操作字符串的特有
2020-07-08 19:31:08
243
原创 Java之File类
File类是一个与系统无关的类,任何的操作系统都可以使用这个类的方法file:文件directory:文件夹/目录path:路径在File类中有两个和ListFiles重载的方法,方法的参数传递的就是过滤器File[] listFiles(FileFilter filter)java.io.FileFilter接口:用于抽象路径名(File对象)的过滤器作用:用来过滤文件的方法抽象方法:用来过滤文件的方法boolean accept(File pathname) 测试指定抽象路径名是否应该
2020-06-29 21:00:23
194
原创 Java之Lambda表达式
Lambda表达式创建新线程的方式:new Thread(()->{ System.out.println(Thread.currentThread().getName()+"新线程创建了");}).start();Lambda省去面向对象的条条框框,格式由3个部分组成:1、一些参数2、一个箭头3、一段代码Lambda表达式的标准格式:(参数类型 参数名称) - > { 重写接口的抽象方法的方法体 }...
2020-06-23 21:35:41
74
原创 Java之线程池
java.util.concurrent.Executors:线程池的工厂类,用来生成线程池。Executors类中的静态方法:static ExecutorService newFixedThreadPool(int nThreads)创建一个可重用的固定线程数的线程池参数:int nThreads:创建线程池中包含的线程数量返回值:ExecutorService接口;返回的是ExecutorService接口的实 现类对象,可以使用ExecutorService接口接收(面向接口编程)。
2020-06-16 22:21:47
99
原创 Java之线程同步机制
三种方式完成同步操作:1、同步代码块 表示对资源进行实行互斥访问:synchronized(同步锁对象){需要同步操作的代码}2、同步方法 public synchronized void payTicket(){ //需要同步操作的代码 }3、锁机制(Lock锁)Lock实现提供了比使用synchronized方法和语句可获得的更广泛的锁定操作。void lock()获得锁void unlock()释放锁使用步骤:1、在成员位置创建一个ReentrantLock对象。2、
2020-06-15 22:22:15
130
原创 Java之多线程实现方法和区别
创建多线程方式一步骤:1、创建一个Thread的子类2、再子类中重写run方法,设置线程任务3、创建Thread类的子类对象4、调用Thread类中的start方法,开启新的线程,执行run方法创建多线程方式二步骤:1、创建一个Runable接口的实现类2、在实现类中重写Runable接口的run方法,设置线程任务3、创建一个Runable接口的实现类对象4、创建Thread类对象,构造方法中传递Runable接口的实现类对象5、调用Thread类中的start方法,开启新的线程执行
2020-06-14 21:06:17
140
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人