Ubuntu22-安装MySQL
发表于|Ubuntu22-安装MySQL
安装123456789# 更新apt update -yapt upgrade -y# 安装最新版本,默认会启动apt install mysql-server -y# 验证并查看版本mysql --version 初始化默认情况下,MySQL 服务由 systemd 管理。您可以使用 systemctl 命令轻松启动、停止和验证 MySQL 的状态。 123456789101112131415161718192021222324systemctl stop mysqlcd /var/librm -fr mysqlmkdir mysqlchown -R mysql:mysql mysqlvim /etc/mysql/mysql.conf.d/mysqld.cnf# 不区分大小写,默认0-区分lower_case_table_names=1# 初始化mysqld --initialize --user=mysql# 启动systemctl start mysql.service# 查看 root 默认密码cat /var/log/mysql/error.log#...
CentOS7-samba
发表于|CentOS7-samba
说明 需要 samba 安装包及依赖包 方案一:需要找一台能联网的 CentOS7 服务器下载 samba 包,拷贝过去安装 方案二:直接把事先下载好的 samba 包拷贝过去安装 下载12345678# 创建目录,存放 samba 包和依赖包mkdir /samba# 下载 samba 相关安装包,到目录 /samba 中yum install -y samba --downloadonly --downloaddir=/samba# 打包tar -zcvf samba.tar.gz /samba 安装1234567891011121314# 将 samba.tar.gz 拷贝到目标服务器上# 解压tar -zxvf samba.tar.gz# 安装所有 rpm 包cd sambarpm --import /etc/pki/rpm-gpg/RPM* # 强制安装rpm包,不检查依赖关系rpm -ivh ./* --force --nodeps# 查看安装状况rpm -qa | grep samba 管理12345678# 启动SMB服务systemctl...
Java-语法糖
发表于|Java-语法糖
你不得不知道的这18个Java语法糖! (qq.com) 自动装箱与拆箱Java 5引入了自动装箱和拆箱,允许基本数据类型和它们的包装类之间自动转换。 12Integer num = 10; // 自动装箱int n = num; // 自动拆箱 增强型for循环也称为for-each循环,用于简化数组或集合的遍历。 1234int[] numbers = {1, 2, 3, 4, 5};for (int number : numbers) { System.out.println(number);} 泛型提供了类型安全的检查,并消除了类型转换的需要。 123List<String> list = new ArrayList<>();list.add("Hello");String s = list.get(0); // 无需类型转换 可变参数允许方法接收任意数量的参数。 123456public void printNumbers(int... numbers) { ...
Java-多线程-CompletableFuture
发表于|Java-多线程
CompletableFuture 是 Java 8 中引入的一个重要类,它实现了 Future 接口,并且扩展了 CompletionStage 接口,提供了比传统 Future 更加丰富和灵活的功能。CompletableFuture 旨在简化异步编程模型,并且通过函数式编程的能力,使得异步代码的编写变得更加简洁和易于理解。 创建 CompletableFutureCompletableFuture 可以通过多种方式创建,例如使用 completedFuture() 方法创建一个已完成的 CompletableFuture: 12CompletableFuture<String> future = CompletableFuture.completedFuture("hello!");assertEquals("hello!", future.get()); 异步任务对于异步任务,CompletableFuture 提供了 supplyAsync 和 runAsync 方法。supplyAsync...
Java-CountDownLanch
简介一个多线程同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待 用法12345678//构造方法参数指定了计数的次数public CountDownLatch(int count);//子线程执行完后调用此方法,则计数减1public void countDown();//主线程调用此方法会一直阻塞当前线程,直到计时器的值为 0public void await() throws InterruptedException 示例 示例有潜在问题:使用 CountDownLatch 进行异步转同步操作,每个线程退出前必须调用 countDown 方法,线程执行代码注意 catch 异常,确保 countDown 方法被执行到,避免主线程无法执行 至 await 方法,直到超时才返回结果 1234567891011121314151617181920212223CountDownLatch countDownLatch = new CountDownLatch(2);Map<String, Object> map = new...
SpringBoot-自定义缓存实现
说明 提供数据接口时,如果接口耗时较长,但数据一般情况下变化不大,可以使用自定义缓存,提高接口响应速度 数据发生变化时,主动使缓存失效,保证接口返回的数据为最新数据 本方案采用 注解+AOP 方案实现自定义缓存 封装定义缓存注解12345678910111213141516171819202122package org.jeecg.modules.mock.aspect.anno;import org.springframework.core.annotation.AliasFor;import java.lang.annotation.*;@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface CustomCache { @AliasFor("key") String value() default ""; @AliasFor("value") String...
Java-GeoJson地理数据解析
说明 从阿里云 GeoJson 资源地址获取指定省、市、区县的行政区划数据并解析 参考参考 「fast-module-basic-mock-core」模块中 org.jeecg.modules.mock.service.DepartDataService 代码示例引入依赖1234567891011 <!--解析geojson--><dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.13.0</version></dependency><dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> ...
Java-wait-notify
发表于|Java-wait-notify
说明 在 Java中,wait() 方法是 Object 类的一个方法,通常用于多线程环境中的线程间通信 它允许一个线程暂停执行,直到收到通知 wait() 方法应该在一个对象的同步上下文中调用,这意味着在调用 wait() 之前,线程必须已经获得了该对象的锁(通过使用 synchronized 关键字) 示例下面是一个简单的使用 wait() 和 notify() 的例子,展示了如何在两个线程之间进行同步操作。这个例子中有一个生产者线程(Producer)负责增加共享资源的数量,而消费者线程(Consumer)则减少这个数量。为了确保线程安全,我们使用了同步块,并且生产者在资源满的时候等待,消费者在资源为空的时候等待。 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657public class WaitNotifyExample { private int count = 0; ...
SpringBoot-Actuator监控
说明 SpringBoot默认提供了对应用的各项性能指标监控的功能,例如 环境变量、CPU、内存、JVM、磁盘、Web 服务、线程、bean等 它使用 HTTP 端点或 JMX Bean 与客户端进行交互 参考Spring Boot Actuator - spring 中文网 (springdoc.cn) 极简教程 | 使用Actuator 实现Spring Boot 应用监控-阿里云开发者社区 (aliyun.com) 使用
SpringBoot-Banner
说明 项目启动后默认会在 console 控制台输出 banner 信息 可以关闭 banner,也可以自定义 banner 内容,支持 txt 和图片「jpg、gif、png」 核心类 SpringApplicationBannerPrinter.java 关闭 banner在 application.yaml 中添加 123spring: main: banner-mode: off # off 关闭banner;log 输出到日志文件;console 输出到控制台 自定义 banner 支持 txt 格式定义 banner 支持图片格式定义 banner,会以符号绘制图片进行显示 123456spring: banner: location: banner1.txt # banner txt 路径,默认 classpath 下的 banner.txt image: # banner 图片 location: banner1.jpg # banner 图片路径 invert: true # 图片颜色反转
公告
风雨无阻,灯火为你,星光虽微,照耀夜空。
最新文章
归档
- 2025 1
- 2025 1
- 2025 1
- 2025 1
- 2025 1
- 2025 1
- 2025 1
- 2025 1
- 2025 1
- 2025 1
- 2025 1
- 2025 1
- 2025 1
- 2025 1
- 2025 1
- 2025 1
- 2025 1
- 2025 1
- 2025 1
- 2025 1
- 2025 1
- 2025 1
- 2025 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2024 1
- 2023 1
- 2023 1
- 2023 1
- 2023 1
- 2023 1
- 2023 1
- 2023 1
- 2023 1
- 2023 1
- 2023 1
- 2023 1
- 2023 1
- 2023 1
- 2023 1
- 2023 1
- 2023 1
- 2023 1
- 2023 1
- 2023 1
- 2023 1
- 2023 1
- 2023 1
- 2023 1
- 2023 1
- 2023 1
- 2023 1
- 2023 1
- 2023 1
- 2023 1
- 2023 1
- 2023 1
- 2023 1
- 2023 1
- 2023 1
- 2023 1
- 2023 1
- 2023 1
- 2023 1
- 2023 1
- 2023 1
- 2023 1
- 2023 1
- 2023 1
- 2023 1
- 2022 1
- 2022 1
- 2022 1
- 2022 1
- 2022 1
- 2022 1
- 2022 1
- 2022 1
- 2022 1
- 2022 1
- 2022 1
- 2022 1
- 2022 1
- 2022 1
- 2022 1
- 2022 1
- 2022 1
- 2022 1
- 2022 1
- 2022 1
- 2022 1
- 2022 1
- 2022 1
- 2022 1
- 2022 1
- 2022 1
- 2022 1
- 2022 1
- 2022 1
- 2022 1
- 2022 1
- 2022 1
- 2022 1
- 2022 1
- 2022 1
- 2022 1
- 2022 1
- 2022 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2021 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2020 1
- 2019 1
- 2019 1
- 2019 1
- 2019 1
- 2019 1
- 2019 1
- 2019 1
- 2019 1
- 2019 1
- 2019 1
- 2019 1
- 2019 1
- 2019 1
- 2019 1
- 2019 1
- 2019 1
- 2019 1
- 2019 1
- 2019 1
- 2019 1
- 2019 1
- 2019 1
- 2019 1
- 2019 1
- 2019 1
- 2019 1
- 2019 1
- 2019 1
- 2019 1
- 2019 1
- 2019 1
- 2019 1
- 2019 1
- 2019 1
- 2019 1
- 2019 1
- 2019 1
- 2019 1
- 2019 1
- 2019 1
- 2019 1
- 2019 1
- 2019 1