javase笔记 基础代码

数组反转

    public static void change(int min,int max,int[] arr) {
	  //使用递归达到数组反转
        if(min >= max){
            return;
        }
        int b;
        b=arr[min];
        arr[min]=arr[max];
        arr[max]=b;
        min++;
        max--;

        change(min,max,arr);
    }

冒泡排序

        //冒泡排序
        //外层循环是比较的次数,内层循环是比较
        for (int a = 0; a < arr.length-1; a++) {
            for (int i2 = 0; i2 < arr.length-a-1; i2++) {
                if(arr[i2]>arr[i2+1]){
                    int tem = arr[i2+1];
                    arr[i2+1]=arr[i2];
                    arr[i2]=tem;
                }
            }
        }

二分查找

package com.atguigu.d_array;

public class Demo04Binary {
    //二分法查找
    //前提要确保数组是有序的
    public static void main(String[] args) {
        int[]arr = {1,2,3,4,5,6,7,8,};
        int result = binary(3,arr);
        System.out.println("result = " + result);


    }

    public static int binary(int a,int[] arr) {
        //定义三个变量
        int min = 0;
        int max = arr.length - 1;
        int mid = 0;
        while(min<=max){
            mid = (min + max) / 2;
            if(a<arr[mid]){
                max=mid-1;
            }else if(a>arr[mid]){
                min = mid+1;
            }else {
                return mid;
            }
        }
        return -1;

    }
}

Java后端学习路线 文章被收录于专栏

Java基础 MySQL

全部评论

相关推荐

五一假期终于来了!好开心,但是想一想,出门人挤人,待在家里又怕虚度光阴,呃,好纠结啊啊,我觉得我们可以“躺着卷”哈哈(纯懒人思想),就是边摆烂边疯狂内卷。1.&nbsp;躺着卷怎么做简单说就是“身体躺平,脑子微卷”。比如:(1)瘫沙发刷纪录片,假装在充电(2)边吃薯片边听职场播客,安慰自己“没荒废”(3)游戏打到一半,突然翻两页书,然后继续躺主打一个“松弛感努力”,既缓解焦虑,又不耽误快乐。2.&nbsp;为啥要躺着卷?(1)平时工作够累了,假期再逼自己“提升”纯属自虐。(2)纯躺五天,复工后容易陷入“我是不是废了”的emo(3)用20%的精力,换80%的自我安慰,血赚!3.&nbsp;如何躺着卷?(1)知识摄入:躺着学听书或播客:闭眼放空,耳朵上班。刷“轻知识”视频:看10分钟科普短片(比如“如何睡得更香”),然后实践,立刻补个午觉。(2)技能提升:躺着练学个5分钟小技能:比如用APP练口语、P图修脸,发朋友圈收获点赞,成就感拉满。“电子搬砖”:顺手做个问卷调查、薅个羊毛,赚杯奶茶钱美滋滋。(3)&nbsp;社交充电:躺着聊群里吹水:和朋友吐槽假期,交换“躺平心得”,快乐加倍。云监督:和闺蜜约好“各自躺1小时,然后互相喊起床”,卷出仪式感。4.&nbsp;别卷过头!(1)设定底线:比如“每天卷不超过1小时”,其余时间尽情躺。(2)拒绝比较:看到朋友圈有人晒“假期逆袭”,默念“关我屁事”。(3)享受当下:躺累了就起来蹦跶两下,卷烦了直接关机,假期是你自己的!5.&nbsp;要快乐不后悔哦五一的核心目标是回血,不是赛跑。躺着卷的在于:“我好像做了点啥,但又完全没累着”。总结:能让你放松的假期,就是好假期!祝诸位五一过得快乐哦哈哈
点赞 评论 收藏
分享
在Express.js中,默认情况下是单线程运行的,并且使用事件循环来处理并发请求。下面是关于多线程和事件循环的解释:https://www.nowcoder.com/issue/tutorial?zhuanlanId=Mg58Em&amp;uuid=1730841bd8554b2fa6de4161e81ebb45多线程:多线程是指在一个应用程序中同时运行多个线程,每个线程执行不同的任务。每个线程都有自己的执行上下文和栈。多线程编程可以提高并发性能,因为多个线程可以同时执行不同的任务,从而提高整体的效率。在多线程模型中,每个线程都可以独立处理来自客户端的请求,但也需要处理线程间的同步和资源共享问题。事件循环:事件循环是一种用于处理并发请求的编程模型。在事件循环模型中,应用程序通过一个事件循环监视和处理来自客户端的请求。当有请求到达时,事件循环将其放入一个任务队列中,并按照顺序逐个处理这些任务。事件循环的核心思想是单线程下的非阻塞I/O操作,即避免线程切换和同步开销。在事件循环模型中,一个任务的处理不会阻塞其他任务的执行,因此可以提供较高的并发性能。在Express.js中,通过事件驱动的方式处理请求,借助Node.js的事件循环机制来管理请求和响应。当有新的请求到达时,Express.js会将其包装为事件,然后使用事件循环来处理这些事件。通过这种方式,只需要一个线程来处理所有的请求,并且可以高效地处理并发请求。需要注意的是,虽然Express.js本身是单线程的,但在Node.js中,底层的I/O操作是通过libuv库来完成的,libuv可以利用多个线程来执行I/O操作,从而提高效率。因此,尽管主要的处理请求的线程是单线程的,但底层的I/O操作是可以并行执行的。总结起来,Express.js利用事件循环的机制来高效处理并发请求,通过单线程而不是多线程来提供高性能和高并发支持。这种模型通过避免线程切换和同步开销来提供非阻塞的I/O操作,从而实现了高效的并发处理。
2025-05-05
在牛客打卡307天,今天也很努力鸭!
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务