自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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 429

原创 归并排序算法

归并排序 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 346

原创 Union-Find算法

Union-Find算法 目的:用于解决动态连通图的连接性问题 quick find public 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 182

原创 栈和队列的链表实现

使用链表的方式实现栈 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 269

原创 1979. 找出数组的最大公约数

1979. 找出数组的最大公约数

2022-02-24 00:28:36 610

原创 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 1517

原创 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 130

原创 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 437

原创 docker安装RabbitMq

docker安装RabbitMq 1.安装 1. 执行docker命令 docker run -d -p 5672:5672 -p 15672:15672 --name rabbitmq rabbitmq:3 2. 执行docker -ps 可以看到正在运行的镜像(5672为通讯端口,15672为管理端口) 3. 访问localhost:15672 ,进入到rabbitmq的管理页面,代表你已经安装成功。如果不能访问请看下边。 2. 使用阿里云服务器安装 如果你使用的是阿里云服务器,需要去安全组里打开

2020-12-15 22:25:58 677

原创 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 175 1

原创 Java多线程(2)

Java多线程(2) 1. 线程调度和线程控制 程序中的多个线程是并发执行的,某个线程若想被执行必须要得到cpu的使用权,Java虚拟机会按照特定的机制为程序中的每个线程分配CPU的使用权,这种机制被称作线程的调度。 1.1线程调度 1.1.1 线程的两种调度模型 - 分时调度模型:所有线程轮流使用cpu,平均分配每个线程的cpu时间片(时间片即CPU分配给各个程序的时间,每个线程被分配一个时间段,称作它的时间片,即该进程允许运行的时间)。 - 抢占式调度模型::优先让优先级高的线程使用 CPU,如果线程的

2020-11-05 23:15:55 124

原创 Java多线程总结

Java多线程(1) 1.线程的六种状态 初始(NEW):新创建了一个线程对象,但还没有调用start()方法。(尚未启动的线程) 运行(RUNNABLE):可运行线程的线程状态。状态为runnable的线程正在Java虚拟机中执行,但是它可能正在等待来自操作系统的其他资源,例如处理器。 阻塞(BLOCKED):表示线程阻塞于锁。 等待(WAITING):进入该状态的线程需要等待其他线程做出一些特定动作(通知或中断)。 超时等待(TIMED_WAITING):该状态不同于WAITING,它可以在指定的时间

2020-11-03 22:58:01 216

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除