• 第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()
    * */
    
  • 相关阅读:
    为什么大家都要考CDA数据分析师认证
    大数据技术原理与应用
    oracle使用regexp_substr来拆分,CONNECT BY LEVEL查询卡死,速度慢的问题。
    实现异步转同步的几种方式
    SpringMVC之国际化&上传&下载
    自己动手实现一个 RPC 框架
    算法训练day43|动态规划 part05:0-1背包 (LeetCode 1049. 最后一块石头的重量 II、494. 目标和、474.一和零)
    嵌入式开发环境之uboot
    传输层——UDP协议、TCP协议
    Python采集电商平台数据信息
  • 原文地址:https://blog.csdn.net/Ada_X25025/article/details/126320169