java高级(IO流多线程)

file

递归

字符集

编码

乱码gbk,a我m,utf-8

缓冲流

冒泡排序

java 复制代码
//冒泡排序
public static void bubbleSort(int[] arr) {
        int n = arr.length;
        for (int i = 0; i < n - 1; i++) { // 外层循环控制排序轮数
            for (int j = 0; j < n -i - 1; j++) { // 内层循环负责比较和交换
                if (arr[j] > arr[j + 1]) {
                    int temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                }
            }
        }
    }
    //逆向冒泡排序
   public static void bubbleSort2(int[] arr) {
       int n = arr.length;
       for (int i = 0; i < n - 1; i++) { // 外层循环控制排序轮数
           for (int j = n-2; j >=i; j--) { // 内层循环负责比较和交换
               if (arr[j] > arr[j + 1]) {
                   int temp = arr[j];
                   arr[j] = arr[j + 1];
                   arr[j + 1] = temp;
                }
           }
       }
   }

转换流

打印流

数据流

多线程

callable接口创建

Thread常见方法

线程安全问题

用this锁可以锁住不同的类对象(资源),比如Account资源有两个线程争抢,他的余额是100000.

而如果用this锁,只有一个用户能带着account过来执行。其他的如Accounts不受影响。

静态方法用Account.class锁会锁住所有线程。

字符串

reentrantlock

线程池


拒绝策略

runnable任务

callable任务

Executors创建线程池

并发和并行

相关推荐
十五年专注C++开发8 分钟前
设计模式之单例模式(二): 心得体会
开发语言·c++·单例模式·设计模式
hstar952711 分钟前
三十五、面向对象底层逻辑-Spring MVC中AbstractXlsxStreamingView的设计
java·后端·spring·设计模式·架构·mvc
flyair_China35 分钟前
【云架构】
开发语言·php
pengyu36 分钟前
【Java设计原则与模式之系统化精讲:壹】 | 编程世界的道与术(实战指导篇)
java·后端·设计模式
日月星辰Ace39 分钟前
JVM 垃圾回收简介
java
Chef_Chen42 分钟前
从0开始学习R语言--Day20-ARIMA与格兰杰因果检验
开发语言·学习·r语言
掉头发的王富贵42 分钟前
Arthas神器入门:动态调试Java应用,轻松搞定生产环境Bug!
java·后端·debug
zh_xuan42 分钟前
c++ std::pair
开发语言·c++
Java陈序员1 小时前
再见 Navicat!一款开源的 Web 数据库管理工具!
java·react.js·docker
知其然亦知其所以然1 小时前
RAG 结果太水?用 RRF + Reranker 重排,效果翻倍提升!
java·后端·llm