- 博客(12)
- 收藏
- 关注
原创 排序算法之快速排序
快速排序该方法的关键在于切分,这个过程使得数组满足下面三个条件:对于某个 j,a[j] 已经排定;a[lo] 到 a[j-1] 中的所有元素都不大于 a[j];a[j+1] 到 a[hi] 中的所有元素都不小于 a[j]。package algorithm_01;import java.util.Arrays;import java.util.Random;/** * 快速排序: * 1.找一个标记点(取最左侧的) * 2.左(i++)右(j--)扫描,找到左扫描比标志点大的值,右
2022-03-05 22:35:51
398
原创 归并排序算法
归并排序public class MergeSort { public static void main(String[] args) { int[] arr = new int[20]; Random rd = new Random(); for (int i = 0; i < arr.length; i++) { int val = rd.nextInt(100); arr[i] = val;
2022-03-03 22:12:59
316
原创 Union-Find算法
Union-Find算法目的:用于解决动态连通图的连接性问题quick findpublic class QuickFindUF { int[] id; int count; public QuickFindUF(int N) { count=N; id=new int[N]; for (int i = 0; i < N; i++) { id[i]=i; } }
2022-02-27 22:07:42
147
原创 栈和队列的链表实现
使用链表的方式实现栈package algorithm_01;import java.util.Iterator;/** * * 使用链表的方式实现栈 * @param <T> T */public class Stack<T> implements Iterable<T> { // 栈顶(最后添加的元素) private Node first; // 元素数量 private int N; private c
2022-02-25 22:25:39
244
原创 kafka入门学习
kafka安装下载,官网地址https://kafka.apache.org/downloads安装解压缩: tar -zxvf kafka_2.12-3.0.0.tgz 安装步骤非常简单,直接解压即可,kafka 依赖的 Zookeeper 已经在此文件中包含配置 Zookeeper开启:bin/zookeeper-server-start.sh -daemon config/zookeeper.properties关闭:bin/zookeeper-server-st
2022-01-25 11:17:31
1480
原创 MySql8.0安装
MySQL8安装与配置1.下载安装包首先可以通过这个链接进入下载(https://dev.mysql.com/downloads/mysql/)也可以直接从官网进入(https://www.mysql.com/)2.安装安装版下载后直接双击后根据引导安装。非安装版相对麻烦,可按照以下教程进行设置。1.解压将下载的压缩文件进行解压(路径中不要包含中文),再终端中进入mysql下的bin文件夹。具体步骤:首先进入bin文件夹,然后在地址栏输入cmd按下enter键即可。2.安装mys
2021-07-04 19:06:11
99
原创 SpringBoot文件上传(单文件)
SpringBoot文件上传(单文件)1.简介1.1文件上传是web应用中最常用的功能之一,这里介绍两种种文件上传的方式:- 表单上传- ajax上传(FormData)2. 后端代码2.1 创建一个SpringBoot项目,引入web依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web<
2021-01-19 00:18:50
415
原创 docker安装RabbitMq
docker安装RabbitMq1.安装1. 执行docker命令 docker run -d -p 5672:5672 -p 15672:15672 --name rabbitmq rabbitmq:32. 执行docker -ps 可以看到正在运行的镜像(5672为通讯端口,15672为管理端口)3. 访问localhost:15672 ,进入到rabbitmq的管理页面,代表你已经安装成功。如果不能访问请看下边。2. 使用阿里云服务器安装如果你使用的是阿里云服务器,需要去安全组里打开
2020-12-15 22:25:58
610
原创 Java多线程(3)
1.判断程序是否会出现线程安全问题是否是多线程环境是否存在共享数据是否多个线程操作共享数据public class MyThread01 implements Runnable { private int ticket = 10; @Override public void run() { while (ticket>0){ System.out.println(Thread.currentThread().getNam
2020-11-10 00:43:12
146
1
原创 Java多线程(2)
Java多线程(2)1. 线程调度和线程控制程序中的多个线程是并发执行的,某个线程若想被执行必须要得到cpu的使用权,Java虚拟机会按照特定的机制为程序中的每个线程分配CPU的使用权,这种机制被称作线程的调度。1.1线程调度1.1.1 线程的两种调度模型- 分时调度模型:所有线程轮流使用cpu,平均分配每个线程的cpu时间片(时间片即CPU分配给各个程序的时间,每个线程被分配一个时间段,称作它的时间片,即该进程允许运行的时间)。- 抢占式调度模型::优先让优先级高的线程使用 CPU,如果线程的
2020-11-05 23:15:55
100
原创 Java多线程总结
Java多线程(1)1.线程的六种状态初始(NEW):新创建了一个线程对象,但还没有调用start()方法。(尚未启动的线程)运行(RUNNABLE):可运行线程的线程状态。状态为runnable的线程正在Java虚拟机中执行,但是它可能正在等待来自操作系统的其他资源,例如处理器。阻塞(BLOCKED):表示线程阻塞于锁。等待(WAITING):进入该状态的线程需要等待其他线程做出一些特定动作(通知或中断)。超时等待(TIMED_WAITING):该状态不同于WAITING,它可以在指定的时间
2020-11-03 22:58:01
189
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人