4.9学习总结

news2024/11/24 3:48:08

一.File类

(一).概述:

File 类的对象代表操作系统的文件(文件、文件夹),File 类提供了诸如:创建文件对象代表文件,获取文件信息(大小、修改时间)、删除文件、创建文件(文件夹)等功能。

(二.)File类的创建

 实例操作:

public class file1 {
    public static void main(String[] args) {
        //1.根据字符串表示的路径,变成File对象
        String str="D:\\java\\Study1\\src\\JAVATEXT\\File";
        File f1=new File(str);
        System.out.println(f1);

        //2.父级路径:D:\java\Study1\src\JAVATEXT
        //子级路径:File
        String parent1="D:\\java\\Study1\\src\\JAVATEXT";
        String child1="File";
        File f2=new File(parent1,child1);
        System.out.println(f2);

        //3.把一个File表示的路径和String表示路径拼接
        File parent2=new File("D:\\java\\Study1\\src\\JAVATEXT");
        String child2="File";
        File f3=new File(parent2,child2);
        System.out.println(f3);
    }
}

(三).常用方法:判断文件类型、获取文件信息功能

 

(四).常用方法:创建文件、删除文件功能

实例操作:

        //1.创建一个新的空文件
        //如果当前文件不存在,创建成功,如果当前路径存在,创建失败
        File f1=new File("E:\\魏子轩\\B\\abc.text");
        boolean b=f1.createNewFile();
        System.out.println(b);
        System.out.println("------------------------");

        //2.创建一个文件夹(目录)
        //如果当前路径是存在的,则创建失败,返回false
        //mkdir方法只能创建单级文件夹
        File f2=new File("E:\\魏子轩\\B\\abc");
        boolean b2=f2.mkdir();
        System.out.println(b2);
        System.out.println("------------------------");

        //3.创建多级文件夹
        //既可以创建单级文件夹,也可以创建多级文件夹
        File f3=new File("E:\\魏子轩\\B\\aaa\\bbb");
        boolean b3=f3.mkdirs();
        System.out.println(b3);
        System.out.println("------------------------");

        //4.删除文件,文件夹
        //如果删除文件或者空文件夹,删除成功,不经过回收站
        //如果删除有内容的文件夹,删除失败
        File f4=new File("E:\\魏子轩\\B\\abc.text");
        boolean b4=f4.delete();
        System.out.println(b4);
        System.out.println("------------------------");

 

二.多线程(一)

(一).概述

线程(thread)进程可进一步细化为线程,是一个程序内部的执行路径。若一个进程同一时间并行执行多个线程,那么这个进程就是支持多线程的。一个进程中的多个线程共享相同的内存单元/内存地址空间。他们从同一堆中分配对象,可以访问相同的变量和对象

多线程的优点;

  • 提高应用程序的响应。可以增强用户体验。
  • 提高计算机系CPU的利用率
  • 改善程序结构。将既长又复杂的进程分为多个线程,独立运行,利于理解和修改。

多线程的应用范围:

  • 程序需要同时执行两个或多个任务。
  • 程序需要实现一些需要等待的任务时,如用户输入、文件读写操作、网络操作、搜索等。
  • 需要一些后台运行的程序时。

 (二).多线程的创建

1.方法一:继承于Thread类

public class Duoxiancheng1 {
    public static void main(String[] args) {
        //多线程的第一种启动方法:继承Thread类的方式实现
        //1.自己定义一个类继承Thread
        //2.重写run方法
        //3.创建子类的对象,并启动多线程

        MyThread mt1=new MyThread();
        MyThread mt2=new MyThread();
        mt1.setName("线程一:");
        mt2.setName("线程二:");
        //开启多线程
        mt1.start();
        mt2.start();
    }
}

public class MyThread extends Thread{
    @Override
    public void run() {
        for (int i = 0; i < 100; i++) {
            System.out.println(getName()+"多线程");
        }
    }
}

2.方法二:实现Runnable接口

public class Duoxiancheng2 {
    public static void main(String[] args) {
        //多线程的第二种启动方法:实现Runnable接口的方法实现
        //1.自己定义一个类实现Runnable接口
        //2.重写里面的run方法
        //3.创建自己的类的对象
        //4.创建一个Thread类的对象,并开启线程

        //创建MyRun对象
        //表示多线程要执行的任务
        Myrunable mr = new Myrunable();

        //创建多线程对象
        Thread t1 = new Thread(mr);
        Thread t2 = new Thread(mr);
        t1.setName("线程1:");
        t2.setName("线程2:");
        //开启线程
        t1.start();
        t2.start();
    }
}

public class Myrunable implements Runnable{
    @Override
    public void run() {
        for (int i = 0; i < 100; i++) {
            System.out.println(Thread.currentThread().getName()+"多线程");
        }
    }
}

 

3.方式三:实现Callable接口

 

public class Duoxiancheng3 {
    public static void main(String[] args) throws ExecutionException, InterruptedException {
        //多线程的第三种创建方式:利用Callable接口和Future接口方式实现
        //特点:可以获取到多线程运行时的结果
        /*
        * 1.创建一个类MyCollable实现Collable接口
        * 2.重写run方法
        * 3.创建MyCollable对象(表示多线程要执行的任务)
        * 4.创建FutureTast的对象(作用管理多线程运行的结果)
        * 5.创建Thread类的对象,并启动(表示线程)
        * */

        MyCallable mc=new MyCallable();
        //作用管理多线程运行的结果
        FutureTask<Integer> ft=new FutureTask<>(mc);
        Thread t1=new Thread(ft);
        t1.start();
        Integer f = ft.get();
        System.out.println(f);
    }
}

public class MyCallable implements Callable {
    @Override
    public Integer call() throws Exception {
        int sum=0;
        for (int i = 0; i < 100; i++) {
            sum+=i;
        }
        return sum;
    }
}

三种创建方式的比较:

 

 

(三).Thread类的常用方法:

 

(四).线程的生命周期:

想要实现多线程,必须在主线程中创建新的线程对象。Java语言使用Thread类及其子类的对象来表示线程,在他的一个完整的生命周期中通常要经历如下的五种状态

新建-->就绪-->运行-->阻塞-->死亡.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1581422.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JUC-线程的创建、运行与查看

创建和运行线程 Thread创建线程 Thread 创建线程方式&#xff1a;创建线程类&#xff0c;匿名内部类方式 start() 方法底层其实是给 CPU 注册当前线程&#xff0c;并且触发 run() 方法执行线程的启动必须调用 start() 方法&#xff0c;如果线程直接调用 run() 方法&#xff…

SVM向量支持机

1.通俗理解 svm&#xff1a;support vector machine目标&#xff1a;利用超平面将两类数据分割开来&#xff0c;这个超平面就是我们要设计的对象 如何设计&#xff1f;我们设计之后会有间隔&#xff0c;间隔越大分类效果就越好&#xff1b;距离决策边界最近的点我们成为支持向…

云平台和云原生

目录 1.0 云平台 1.1.0 私有云、公有云、混合云 1.1.1 私有云 1.1.2 公有云 1.1.3 混合云 1.2 常见云管理平台 1.3 云管理的好处 1.3.1 多云的统一管理 1.3.2 跨云资源调度和编排需要 1.3.3 实现多云治理 1.3.4 多云的统一监控和运维 1.3.5 统一成本分析和优化 1.…

Armadillo库:用于线性代数和科学计算的快速C/C++库下载及vs环境下的使用方法

armadillo库的下载及使用 一. armadillo库的下载二. vs2022环境下armadillo库的基本使用方法 一. armadillo库的下载 armadillo库的官方下载连接: https://arma.sourceforge.net/download.html 选择网页中最新版本的armadillo库压缩包文件进行下载。 解压armadillo-12.8.2.ta…

GitHub 仓库 (repository) Branch - SSH clone URL - Clone in Desktop - Download ZIP

GitHub 仓库 [repository] Branch - SSH clone URL - Clone in Desktop - Download ZIP 1. Branch2. SSH clone URL3. Clone in Desktop4. Download ZIPReferences 1. Branch 显示当前分支的名称。从这里可以切换仓库内分支&#xff0c;查看其他分支的文件。 2. SSH clo…

小程序解析二维码:jsQR

1.了解jsQR jsQR是一个纯javascript脚本实现的二维码识别库&#xff0c;不仅可以在浏览器端使用&#xff0c;而且支持后端node.js环境。jsQR使用较为简单&#xff0c;有着不错的识别率。 2.效果图 3.二维码 4.下载jsqr包 npm i -d jsqr5.代码 <!-- index.wxml --> &l…

Redis 常用的基本命令

&#x1f525;博客主页&#xff1a;fly in the sky - CSDN博客 &#x1f680;欢迎各位&#xff1a;点赞&#x1f44d;收藏⭐️留言✍️&#x1f680; &#x1f386;慢品人间烟火色,闲观万事岁月长&#x1f386; &#x1f4d6;希望我写的博客对你有所帮助,如有不足,请指正&#…

上门服务小程序|上门服务系统|上门服务软件开发流程

在如今快节奏的生活中&#xff0c;上门服务小程序的需求越来越多。它们向用户提供了方便、高效的服务方式&#xff0c;解决了传统服务行业中的很多痛点。如果你也想开发一个上门服务小程序&#xff0c;以下是开发流程和需要注意的事项。 1、确定需求&#xff1a;在开始开发之前…

神经网络解决回归问题(更新ing)

神经网络应用于回归问题 神经网络是处理回归问题的强大工具&#xff0c;它们能够学习输入数据和输出之间的复杂关系。 神经网络提供了一种灵活且强大的框架&#xff0c;用于建模和预测回归问题。通过 适当的 网络结构、训练策略和正则化技术&#xff0c;可以有效地从数据中学…

【CPA考试】2024注册会计师报名照片尺寸要求解读及手机拍照方法

随着2024年注册会计师考试的临近&#xff0c;众多会计专业人士和学生都开始准备报名参加这一行业的重要考试&#xff0c;报名时间为4月8日至4月30日。报名过程中&#xff0c;一张符合要求的证件照是必不可少的。本文将为您详细解读2024年注册会计师考试报名照片的尺寸要求&…

Pytorch导出FP16 ONNX模型

一般Pytorch导出ONNX时默认都是用的FP32&#xff0c;但有时需要导出FP16的ONNX模型&#xff0c;这样在部署时能够方便的将计算以及IO改成FP16&#xff0c;并且ONNX文件体积也会更小。想导出FP16的ONNX模型也比较简单&#xff0c;一般情况下只需要在导出FP32 ONNX的基础上调用下…

LINUX系统触摸工业显示器芯片应用方案--Model4(简称M4芯片)

背景介绍&#xff1a; 触摸工业显示器传统的还是以WINDOWS为主&#xff0c;但近年来&#xff0c;安卓紧随其后&#xff0c;但一直市场应用情况不够理想&#xff0c;反而是LINUX系统的触摸工业显示器大受追捧呢&#xff1f; 触摸工业显示器传统是以Windows系统为主&#xff0c…

微信小程序用户登录授权指定(旧版本)

配置旧版本基础库2.12.3 实现效果 点击登录按钮即可直接登录&#xff0c;获取用户昵称和头像 点击获取头像昵称按钮则需要授权&#xff0c;才能成功登录 代码实现 my.xml <!-- 登录页面,调试基础库为2.20.2库 --> <view class"mylogin"><block w…

权威报道 | 百分点科技:《突发事件应急预案管理办法》解读

近日&#xff0c;百分点科技CTO刘译璟作为唯一企业界代表&#xff0c;接受应急领域权威期刊——《中国应急管理》杂志邀请&#xff0c;与中国安全生产科学研究院、中央党校、中国政法大学等单位的专家一起&#xff0c;就《突发事件应急预案管理办法》&#xff08;以下简称《办法…

三支冲突分析介绍

Pawlak最早通过观察一组智能体对一组问题的意见&#xff0c;提出了冲突分析模型。U表示对象集&#xff0c;V表示属性集&#xff0c;R表示对象集和属性集之间的二元关系&#xff0c;这样一个刻画冲突分析的信息系统通过三元组&#xff08;U&#xff0c;V&#xff0c;R&#xff0…

hive管理之ctl方式

hive管理之ctl方式 hivehive --service clictl命令行的命令 #清屏 Ctrl L #或者 &#xff01; clear #查看数据仓库中的表 show tabls; #查看数据仓库中的内置函数 show functions;#查看表的结构 desc表名 #查看hdfs上的文件 dfs -ls 目录 #执行操作系统的命令 &#xff01;命令…

如何用西门子PLC手工做一个电闸监控控制系统

//S-H4CK13Maptnh// 项目地址:https://github.com/MartinxMax/S7-200_Power_monitoring 欢迎三连支持…电闸监控与控制 注意 注意安全,220V!!! 应用场景 一些工业自动化企业中需要对电闸的监控与控制。 原理图 组装 上面一行检测跳闸情况 下面一行控制当前一路电源 控制…

小剧场短剧剧集收费短剧小程序APP

1. 内容展现 付费、免费、任务解锁&#xff1a;用户可以通过付费直接观看短剧&#xff0c;也可以通过完成平台任务&#xff08;如签到、分享等&#xff09;获得免费观看的机会。这种灵活的解锁方式既满足了用户的多种需求&#xff0c;也促进了平台的活跃度。主流展现形式&…

InsectMamba:基于状态空间模型的害虫分类

InsectMamba&#xff1a;基于状态空间模型的害虫分类 摘要IntroductionRelated WorkImage ClassificationInsect Pest Classification PreliminariesInsectMambaOverall Architecture InsectMamba: Insect Pest Classification with State Space Model 摘要 害虫分类是农业技术…

【黑马头条】-day07APP端文章搜索-ES-mongoDB

文章目录 今日内容1 搭建es环境1.1 拉取es镜像1.2 创建容器1.3 配置中文分词器ik1.4 测试 2 app文章搜索2.1 需求说明2.2 思路分析2.3 创建索引和映射2.3.1 PUT请求添加映射2.3.2 其他操作 2.4 初始化索引库数据2.4.1 导入es-init2.4.2 es-init配置2.4.3 导入数据2.4.4 查询已导…