自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 Java中如何复制多级文件夹

public class 复制多级文件夹 { public static void main(String[] args) throws IOException { //封装源文夹 File srcFolder = new File("E:\\xuanxuanaiJava"); //封装目标文件夹 File targetFolder = new File("C:\\Users\\46188\\De

2021-01-28 15:08:57 476

原创 Java中IO流——详解字符流之OutputStreamWriter和InputStreamReader

文章目录前言一、常用字符流的分类二、字节输出输入流1.OutputStreamWriter1.InputStreamReader3.复制小练习前言一、常用字符流的分类二、字节输出输入流1.OutputStreamWriter代码示例:public class 字符流之OutputStreamWriter { //OutputStreamWriter 是字符流通向字节流的桥梁: //可使用指定的 charset //将要写入流中的字符编码成字节。 public

2021-01-28 09:53:44 292

原创 Java中IO流——详解字节流之FileOutputStream和FileInputStream

文章目录前言一、Java流的概述二、常用字节流分类1.字节输出输入流1.FileOutputStream2.FileInputStream3.复制小练习4.异常捕获总结前言我们之前学习了Java中的异常机制和File类,现在正式进入IO流的学习。一、Java流的概述文件通常是由一连串的字节或字符构成。组成文件的字节序列称为字节流。组成文件的字符序列称为字符流。Java中根据流的方向可以分为输入流和输出流。输入流是将文件或其它输入设备的数据加载到内存的过程输出流是将内存中的数据保存到

2021-01-27 15:44:32 557 1

原创 Java中删除单级非空目录、递归删除多级非空目录、更改目录下文件的后缀名

文章目录前言一、练习1二、练习2三、练习3总结前言根据所学知识,完成对文件的常见操作。一、练习1需求:删除单级非空目录public class day19作业0 { public static void main(String[] args) { //将非空目录封装成file File F = new File("C:\\Users\\46188\\Desktop\\悬悬的secrets"); //获取该目录下的所有文件

2021-01-24 10:52:58 226

原创 Java中File类的常用方法

文章目录前言一、File类1.构造方法2.创建1.创建文件2.创建目录3.删除4.重命名5.判断6.获取总结前言一、File类概述File提供了大量的文件操作:删除文件、修改文件、得到文件修改日期、建立目录、列表文件等等。File类可以用来表示文件,也可以用来表示目录。1.构造方法File(String pathname):根据一个路径得到File对象File(String parent, String child):根据一个目录和一个子文件/目录得到File对象File(Fi

2021-01-23 21:22:56 2086 1

原创 详解Java中的异常机制:运行期异常、编译器异常及如何自定义异常

文章目录前言一、异常概述及分类1.异常概述2.异常的继承结构3.异常的继承机构图二、运行期异常-RuntimeException1.JVM如何默认处理异常2.try...catch的方式处理单个异常3.try...catch的方式处理多个异常4.代码示例三、编译期异常-非RuntimeException及其子类1.编译器异常的处理方式一(==抓==)2.编译器异常的处理方式二(==抛==)四、finally关键字和throw关键字1.finally关键字2.throw关键字2.throws与throw的区别

2021-01-23 15:23:19 1195

原创 Java中使用匿名内部类开启线程的实现方式、线程池、定时器

文章目录前言一、线程的状态二、使用匿名内部类开启线程1.实现方式12.实现方式2三、线程池的概念及实现方式1.线程池的概念2.实现线程池的3种方式1.线程池的实现方式一1.线程池的实现方式二1.线程池的实现方式三四、定时器前言通过本文,首先重新明确线程中存在的五种状态,其次使用之前按所学匿名内部类的知识来实现线程,然后介绍多线程中线程池的概念并结合代码介绍三种线程池实现的方式,最后了解多线程中定时器的概念并结合两段代码带大家了解定时器的使用。一、线程的状态五种状态新建:线程被创建出来就绪

2021-01-22 17:44:23 1437

原创 Java多线程中解决内存可见性问题的两种方法:synchronized、volatile 及CAS算法

文章目录前言一、synchronized实现可见性1.synchronized能够实现2.JVM关于synchronized的两条规定3.代码4.synchronized的弊端二、volatile实现可见性1.volatile能够实现2.实现原理3.代码4.volatile的适用场景三、CAS(Compare-And-Swep)算法1.概述2.代码总结前言首先我们简要了解一下Java的内存模型,然后根据一段代码引出内存可见性问题。Java内存模型Java内存模型规定了所有变量都存储在主内存中,

2021-01-21 16:01:34 380 1

原创 Java中多线程间的等待唤醒机制

文章目录前言等待唤醒机制1. 需求:实现生产线与消费线之间的通信,实现效果是生产者生产一个,消费者消费一个。2. Oject类中3. 代码示例4.sleep()方法和wait()方法的区别前言我们根据之前所学知识,能够使用java中多线程机制模拟出电影院买票流程,但是通过下面的图我们可以看出,三个线程是属于同一类型的线程,它们都是在执行买票这个操作。那么java中又是如何处理不同种类线程间的通信问题的呢?那么就涉及到java多线程间的等待唤醒机制。等待唤醒机制1. 需求:实现生产线与消费线之间的

2021-01-21 11:19:00 164

原创 Java中多线程的死锁现象及演示一个死锁案例

文章目录前言一、什么是死锁二、死锁案例1.引入库2.读入数据总结前言Java多线程中死锁是一个重要内容,所以对于死锁的理解非常重要。在面试过程中,经常会让程序员写一个死锁案例。一、什么是死锁我们举一个生活中的例子,中国人和外国人一起吃饭,中国人使用筷子外国人使用叉子才能顺利吃完饭。那么什么是死锁现象呢?就是外国人拿着筷子,中国人拿着叉子,两个人谁都不给谁,那么,就会一直僵持,谁都吃不了饭。死锁现象出现后,不会出现异常,也不会出现提示,只是所有的线程都会出现阻塞状态,无法继续。二、死锁案例

2021-01-20 21:21:15 496 3

原创 Java中解决线程安全问题的三种方法:同步代码块、同步方法、Lock锁

文章目录前言一、同步代码块解决线程安全问题二、同步方法解决线程安全问题三、Lock锁解决线程安全问题前言我们首先使用学习到的多线程知识,模拟电影票售票过程,引出线程安全问题。 /* 需求:某电影院目前正在上映贺岁大片,共有100张票,而它有3个售票窗口 请设计一个程序模拟该电影院售票过程。 使用Thread类实现 分析: 1.三个窗口相当于三个线程 2.100张票属于共享资源 */代码1:采用多线程实现方式1实现publ

2021-01-20 16:44:35 470 3

原创 Java中多线程实现的三种方式及线程的常用操作

文章目录前言一、进程、线程、并行、并发二、多线程的实现方式1.多线程实现的方式一2.多线程实现的方式二3.多线程实现的方式三三、多线程中常用操作1.获取和设置线程对象名称2.线程调度及获取和设置线程优先级3.线程休眠4.守护线程5.中断线程6.线程礼让前言首先我们来看下面一段代码,了解单线程的概念。public class 多线程的引入 { public static void main(String[] args) { System.out.println("程序开始执行了

2021-01-20 12:46:55 317 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除