栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java基础知识 day8

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java基础知识 day8

IO
* File类:提供了对当前文件系统中文件的部分操作
* file.canExcuse()  file.canRead()  file.canWrite() 判断文件属性,都会返回boolean类型
* file.exists() file.getName() file.getAbsolutePath()获取绝对路径 file.getParent()获取父类路径,无论文件是否存在,只要给定具体路径,都可以返回文件名称
* file。mkdir()船舰单级目录 file.mkdirs()创建多级目录
* 文件遍历的时候会报空指针,原因是某些文件可能没有访问权限
* 在java中如果要独写文件的话,需要用到流
* 流表示从一个文件将数据返回到另一个文件,包含流向的问题
* 最终需要选择一个参照物,当前程序为参照物,从一个文件中读取数据到程序叫输入流
*                                  从程序输出数据到到另一个文件叫输出流
*注意:当编写IO流程序的时候一定要注意关闭流
* 步骤:创建合适的IO流对象
*      创建对象
*      传输数据
*      关闭流对象()
* 添加缓冲区的方式进行读取数据,每次会将数据添加到缓冲区中,当缓冲区满了之后一次读取,而不是每个字节读取一次
* 字符流可以直接读取中文汉字,而字节流会出现中文乱码
* 当某一个输出流对象中带有缓冲区,就需要进行flush
* 如果要将对象通过IO流进行传输那么必须要实现序列化接口,当前类中要声明一个serialVersionUID的值
* transient关键字修饰变量,在进行序列化的时候,不会被序列化
*
*
多线程
* 实现多线程:
*   需要继承Thread类
*   必须重写run方法,指的是核心执行逻辑
*   线程启动的时候,不要直接用run方法,二十通过start()来进行调用
*   每次运行相同的代码,出来的结果可能不一样,原因是多线程谁先抢占资源无法进行人为控制
* 实现方式二:使用了代理设计模式
*    实现Runnable接口
*    重写run方法
*    创建Thread对象,将刚刚创建好的runnable子类实现作为thread构造参数
*    通过thread.start()进行启动
* 推荐使用第二种方式,因为
*    Java是单继承将继承关系留给最需要的类
*    使用Runnable接口之后不需要给共享变量添加static关键字,每次创建一个对象作为共享对象即可
*    使用接口的方式,每次只创建一个共享对象,所有的线程能够实现资源共享
*       数据不一致的问题,解决方法:线程同步
public class ThreadDemo implements Runnable {
    @Override
    public void run(){
         for (int i=0;i<=10;i++){
             System.out.println(Thread.currentThread().getName()+"-----");
         }
    }

    public static void main(String[] args) {
        for (int i=0;i<=5;i++){
            System.out.println(Thread.currentThread().getName()+"----");
        }
        ThreadDemo threadDemo=new ThreadDemo();
        Thread thread=new Thread(threadDemo);
        thread.start();
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/943744.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号