• 第9章 IO流、第 10章 多线程


     

    /*
    第9章 IO流
     * OutputStream  write(97/bys),  write(bys,index,2);
     * InputStream   int len=fis.read() !=-1   len=97       int len=fis.read(bys);    (char)len=a
     * 捕获异常标准代码:try{}catch{}finally{}
     * deleteDir(src)
     * getCount(hm,file)
     * 字节流小数组拷贝原理:abcde
     * 字节缓冲流+字节流(主):8192数组    抛出FileNotFoundException
     * 字节缓冲流底层源码:8192数组
     * shift+tab(后):反向缩进
     *OutputStream,InputStream:write(),read()方法
     * 字节缓冲流:+FileWriter:readLine(),writeLine() 跨平台的回车换行
     * FileWriter,FileReader: write,read ,flush,close,FileWriter原码   FileWriter 父类:OutputStreamWriter(其需要字节输出流)
     * String n=str[i];
       int num=Integer.parseInt(n);//integer能在Int和string之间进行转换
       *
       * String n="123";
       * int num=Integer.parseInt(n);//string和int之间转换
       *
       *
       * int[] arr=
       * Arrays.sort(arr);//Arrays针对数组操作
       * Arrays.toString(arr);//数组内容字符串展示
       * 转换流底层:
       * 转换流要带上字节流
       * 空指针异常,IO异常,文件找不到异常,打异常,数字化异常,非法传参异常,不合法字符集名称:illegalCharsetName
       * charset f=charset.forName("GBK");
       *对象操作流:
       * ObjectOutputStream:  writeObject(对象)  把对象写到本地文件,对象序列化,需要Serializable接口
       * Serializable接口:里面没任何抽象方法
       * invalidclassException(不合法类异常) extends ObjectStreamException(对象流异常)
       * 原先序列号和修改后不一样
       * 数据类型不一样
       * 没有无参构造
       *
       * properties,serializable,cloneable,Hashtable
            Object
       * setProperty(),getProperty,load(),store()
     * */
    、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
    /*
    第10章  线程
    * run(),start()
            ctrl+b,ctrl+t,ctrl+alt+l
    
            Mycallable extends Callable 要FutureTask ft
            mt.setName("鲜明");??、?
    
            案例:
            桌子,吃货,厨师            更改Desk类
    
            同步锁:卖票100->0
    
            阻塞队列等待唤醒
            ArrayBlockingQueue,4接口,2实现类
            BlockingQueue:put,take方法
            厨师,吃货
    
            线程六种状态:
            Thread.state?????
    
            线程池:
            Executors:newCachedThreadPool();
            newFixedThreadPool(2);
            类型:ExecutorService
            ThreadPoolExecutor(getPoolSize())RehectedExecutionException    提交5,只能3+对列1,  拒绝2
            .discardPolicy()     不报异常      同
            .discardOldestPolicy()
            .CallerRunsPolicy()    没有搞完的交给主线程:绕过线程池执行
            */
    
    /*
    * 线程安全:
    * 1.同步代码快
    * 2.同步方法
    * 3.锁机制:死锁
    * */
    /*
    * synchronized和CAS的区别:
    * */
    /*
    * HashMap , put(k,v),  v=get(k)       new Thread(()->{hm.put(i,i)}).start()
    * HashTable:锁数组
    * ConcurrentHashTable:自旋+CAS, hash表(大数组+链表+红黑树)
    * */
    /*
    * count++; 有三步,被打乱,用原子性
    * volatile关键字
    * AtomicInter:
    *   ac.get()
    * ac.getAndIncrement()
    * ac.getAndSet();
    * */
    /*  new CountDownLatch(3):等待其他的线程运行完在运行
     * await()
     * countDown():1.锁存器 2.递减  总线程数3-2-1,放在哪个线程里都是起到计时器的作用  3.释放自己
     * */
    /*
    * semaphere:无无参构造,可以序列化
    * new semaphere(2);一次拿两张通行证
    * semaphere.acquire()    .release()
    * */
    
  • 相关阅读:
    css:两栏三栏布局
    openresty 内置变量
    Docker 安装 MySQL5.7
    云计算-Linux-小综合实验答案
    关于 Flink 状态与容错机制
    判断序列是否为正确的出栈序列
    【从零开始的Java开发】1-6-1 集合排序:对整型和字符串、Comparator接口、Comparable接口
    【Docker】Python Flask + Redis 练习
    SpringMvc决战-【SpringMVC之自定义注解】
    每日一博 - 闲聊 Java 中的中断
  • 原文地址:https://blog.csdn.net/Ada_X25025/article/details/126320169