- 博客(226)
- 资源 (10)
- 收藏
- 关注
原创 java---基本多线程问题汇总
先说java多线程1、创建多线程的方式有几种?1、 继承Thread 方式2、实现Runnable接口的方式3、实现Callable接口的方式2、使用的方式的优缺点1、继承Thread的方式对于Thread的方式,它的优点就是简单易操作,但是它的缺点是单继承2、实现Runnable 接口它解决了Thread单继承的缺点,并且能够实现多个接口,适合多个相同的程序代码的线程去处理同一个资源,但是它不能拿到线程的返回值。3、实现Callable 使用...
2022-05-01 19:40:37 710
原创 java_nignx学习
nignx用的最多应该就是反向代理了吧(将内网的地址代理到外网)1 反向代理将内部服务器代理外部请求server{ listen 80; server_name localhost; client_max_body_size 1024M; location /{ proxy_pass http://localhost:8080; proxy_set_header Host $host:$server_port; }}2 负载均衡负载均衡配置
2021-05-22 17:34:37 124
原创 java多线程总结
1 、创建多线程的方式有几种第一种是继承Thread 方式第二种是实现了Runnable接口的方式第三种 是实现Callable接口的方式2 三种的优缺点是什么对于Thread的方式 它的有点是简单易操作 但是它缺点就是单继承对于实现的Runnable 接口,它放好解决了Thread的缺点并且能够实现多个接口。但是它不能拿到线程的返回值Callable接口太复杂3 线程的状态1 (new)初始状态2 (runnable)运行状态3 (blocked)阻塞状态.
2021-05-22 17:16:26 294
原创 使用docker 部署集群
一、 获取镜像 获取最新的镜像docker pull redis如果是获取特定版本的镜像可以使用docker pull redis:5.0.5 二、 创建redis容器这里使用的host网络方式去创建容器 创建了三个容器docker create --name redis-node1 --net host -v /data/redis-data/node1:/data redis:5.0.5 --cluster-enable yes --cluster-config...
2021-04-20 21:01:20 995
原创 Linux 日志常用命令
上面说了 tail 和grep 的简单的功能,但是可能会遇到一个问题就是,就是使用tail 实时打印的日志内容太多,grep 又是历史的文件内容。如果需要再文件中搜索某个关键字,可以按下 / 键,然后 输入关键字, 按下N 键可以挑战到下一个匹配项,按下 N 键 可以跳转到上一个匹配项。其中 grep -m 1 表示多个匹配,只取到第一个匹配到的(数据几就取前几次匹配到的截止)并且是匹配最新的结果。表示查看最后1000行并实时监听文件的更新,其中输出的内容 是包含了 目标字符串 的日志内容。
2024-04-21 14:30:52 837
原创 Redis 常用命令以及结构
Redis 的hash 类型的底层实现是一个非常优化的数据结构,它会根据实际情况选择使用紧凑的压缩列表(zipList) 或者 散列表(hashtable) 作为底层 实现。
2024-04-05 16:20:13 885
原创 Java 使用对应arthas 调试程序
对应的代码执行逻辑是 随机生成了一个 0-1 之间的随机数,然后与0.5 进行判断大小,如果小于0.5 就 抛出对应的异常。这里 -n 表示监听五次后退出, --skipJDKMethod false 表示忽略对应的jdk 函数操作耗时打印。选择对应的函数之后,右击选择 函数 arthas command ,即可选择对应的命令。(就是说有时候我记录对应的参数,然后重新以这些参数执行并对应的函数)① 抓取对应函数的耗时结构,然后分析对应的代码优化代码。查看对应的函数的执行成功次数,失败次数,总次数。
2023-12-03 14:24:14 602
原创 java--Consumer的使用
Consumer 是一个函数式接口,它位于java.util.function 包中,它定义了一个名为accept 的抽象方法,该方法接受一个参数并且不返回任何结果。Consumer 就等价于Function 只不过它将apply 换成了accept ,并且Consumer 不会返回任何结果。
2023-10-22 14:47:10 575
原创 SpringCloud整合Sa-token
1、目的之前写项目一致都使用的是 SpringSecurity ,但总是感觉SpringSecurity用起来比较繁琐,所以就打算使用sa-token 进行权限校验以及 登录验证,角色校验,集成比较简单.2、设计思路整个项目 使用SpringCloud GateWay 进行网关,统一将服务注册到nacos 上去 即 mall_auth : 提供用户登录的功能 ...
2023-05-22 19:18:20 548 1
原创 leetCode刷题---最大回文子串
描述: 给定一个字符串s ,找到s 中最长的回文子串, 你可以假设 s的最大长度为1000。以某个元素为中心,分别计算偶数长度的回文最大长度和奇数长度的回文最大长度。
2023-04-16 17:15:55 184
原创 KMP 算法简单实现
这里中心思想就是当两个字符不相同的时候,父串的元素不要动,移动子串,而移动到的位置为 nextList[j] ,因为 nextList[j] 除去 j位置的前面的字符串中相同前缀和后缀的长度。这里相当于,利用了nextList 的含义,把子串移动到了与父串相同的元素,然后再次匹配,这样就减少了父串的回溯。比如 ababd 这里的 nextList[4] 的长度为 2 ,因为 ab = ab。那么如何求nextList 数组呢?可以看这篇文章 写的很好。
2023-04-16 15:56:27 123
原创 SpringCloud GateWay与Nacos使用
网关就相当于一个内网与外网的出入口,起着 安全、验证的功能,如果没有网关,那么如果需要实现验证的功能,除非SpringCloud GateWay 作为微服务的网关,起着如下作用① 作为所有API接口服务请求的接入点② 作为所有后端业务服务的聚合点,所有业务服务都可以在这里被调用③ 实现安全、验证、路由、过滤、流控等策略,进行一些必要的中介处理④ 统一管理: 提供配置管理工具,对所有API服务的调用生命周期和相应的中介策略进行统一的管理(当然 由于多了一次中间转发,所以 QPS 就会下降)
2023-04-10 13:35:26 6680 1
原创 SpringBoot 异步与线程池的关系
SpringBoot 中基本上存在三种异步的关系,分别为1、 使用 @Async,标记在方法上2、使用parallelStream 遍历处理数组3、 自定义线程池注入这里进行分类讨论然后比较不同之处/***/@Slf4j@Bean// 创建对应的线程池log.warn("当前线程池已满,队列容量: {}", queueCapacity);// 这里可以发送邮件进行通知});// 执行初始化当我们需要使用线程池配合的使用的,注入线程池属性。
2023-04-02 14:49:18 1334
原创 leetCode 刷题日记----最长公共前缀
以第一个为遍历基准,然后逐个循环strs数组中的值,如果两者不同,将第一个字符串截取到与当前相同的部分子串,然后接着循环,最后保存的就是公共的子串。编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串。
2022-11-26 19:38:36 564
原创 leetcode 刷题日记----罗马数字转整数
通常情况下,罗马数字中小的数字在大的数字的右边。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4。C 可以放在 D (500) 和 M (1000) 的左边,来表示 400 和 900。X 可以放在 L (50) 和 C (100) 的左边,来表示 40 和 90。字符大的在字符小的右边则需要减去字符小所对应的值,其余的情况就直接加上。I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9。罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。
2022-11-26 19:18:02 202
原创 leetcode刷题日记----回文数
描述:给你一个整数 x ,如果 x 是一个回文整数,返回 true;否则,返回 false。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。
2022-11-26 18:49:50 235
原创 leetCode 刷题日记----两数相加
给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。
2022-11-26 17:38:24 259
原创 Vue 如何关闭esLint
答: 在 src 同级创建一个vue.config.js 文件,然后把下面的代码复制进去,然后重新运行eslint 就关闭了。
2022-10-08 17:33:33 276
原创 Spring实现CAS登录
首选简单说明Session session 就是一种保存上下文信息的机制,它是面向用户的,每一个SessionId 对应着一个用户,并保存在服务端中。session 主要以cookie 或者URL 重写为基础来实现的,默认使用cookie 来实现,系统会创建一个为JSessionID 的变量输出到cookie 中 JSessionID 是存储于浏览器内存中,并不是写到硬盘上的,如果我们把浏览器的cookie 禁止, 则web 服务器会采用URL 重写的方式传递SessionId 。我们就
2022-08-07 16:17:19 1472
原创 java 处理大文件
前几天在开发过程中遇到一个需求: 读取一个大约5G的csv文件内容,将其转化为对象然后存储到redis中, 想着直接开大内存直接load 进入到内存中就行了,结果可想而知,5G的文件 ,Xmx 开到10G都没有解决,直接out of Memory 异常 这种处理大文件很容易造成 内存不够的问题 这种 500M的文件,堆内存一般会占用2.5G ,那么如果你去读一个5G的文件,那么内存直接起飞,所以这种不建议使用 这种因为是有按照一行行读取到内存当中, 所以耗时肯定增
2022-07-02 18:07:09 5319
原创 Spring实现日志注解
1、目的写项目的时候经常会通过日志来排查原因,一种是通过log4j将日志收集出来,然后使用elk进行数据的分类与统计,这种是针对大量的请求日志进行记录。另一种就是通过自定义注解的方式写入数据库,这种是针对特定接口来处理,将重要的操作信息记录到数据库中。这篇博客就是说的第二种方式。2、思路首先,应该使用自定义注解来标记哪些接口需要记录操作日志。然后, 使用切面来统一拦截参数和返回的结果,并将信息返回到数据库。3、实现过程 4、实现效果5、总结...
2022-05-22 15:35:11 2463
原创 java ----多线程题目汇总
1、请问 如何控制多线程顺序执行 1、使用join 控制package com.example.demothread.util;import lombok.extern.slf4j.Slf4j;import org.springframework.web.bind.annotation.PathVariable;/** * @author lenovo * @version 1.0 * @Date 2022/5/3 12:22 * @Description */@Sl...
2022-05-03 22:30:00 2116
原创 java---Spring多线程
之前写了关于java 基本使用多线程的一篇博客,由于java开发最经常使用的是Spring框架使用写这一篇博客进行总结一、线程池1、基本概念ava开辟了一个管理线程的概念,这个概念叫做线程池,线程池的好处就是方便的管理线程,从而减少内存的消耗2、参数解析创建线程池可以使用它的子类 ThreadPoolExecutor其参数为 corePoolsizemaxmumPoolSizekeepAliveTime workQueuethrea...
2022-05-03 12:19:02 2829
原创 Springboot使用shiro
一、什么叫AopAop 作为面向对象编程的一种补充,广泛应用于处理一些具有横切性质的系统级服务器,如事务管理,安全检查,缓存检查,对象池管理等Aop 实现的关键就在于代理的实现,代理分为动态代理与静态代理.动态代理是指在运行时借助JDK动态代理、CGLIB等在内存中“临时”生成Aop动态代理类,被称为运行时增强。...
2022-01-28 21:10:10 3845
原创 Nacos启动异常与SpringBoot整合异常记录
1 nacos启动异常 问题描述:Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.web.servlet.FilterRegistrationBean]: Factory method 'authFilterRe.
2021-12-12 12:34:18 2130 2
原创 Linux 安装mysql 记录
1 切换目录,下载压缩包cd /usr/local/wget https://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.45-linux-glibc2.12-x86_64.tar.gz2 解压并将文件夹重命名tar -zxvf mysql-5.6.45-linux-glibc2.12-x86_64.tar.gzrm -rf mysql-5.6.45-linux-glibc2.12-x86_64.tar.gz mv mysql-..
2021-11-07 19:58:15 288
原创 Spring深入---泛型的理解与使用
注: 应该叫java 泛型一、什么叫泛型 在程序编码中一些包含类型参数的类型,也就是说泛型的参数只可以代表类,不能代表个别对象。(这是当今较常见的定义) 在程序编码中一些包含参数的类。其参数可以代表类或对象等等。(现在人们大多把这称作模板) -----百度百科简单来说就是将参数的类型 也可以在使用的时候变化,不同的情况下使用不同的参数类型,这就好比你用榨汁机榨汁,当你放入西瓜的时候出来的是西瓜汁,放入葡萄的时候出来的是葡萄汁。过程都是一样的---先压碎...
2021-10-23 20:34:45 1937
原创 深入理解Spring----PostConstruct和PreDestroy
一、PostConstruct 之前先来看一下Servlet的生命周期Spring中有 Autowired Constructor PostConstrucotorSpring 会先通过初始化Bean对象,遍历类中的Field属性来看看有没有给被@Autowired修饰的,如果有就注入赋值,然后在执行被@PostCOnnstructor 修饰的方法Constructor >> @Autowired >> @PostConstructor...
2021-10-16 17:20:15 468
原创 个人博客部署说明
1 后端修改:需要修改 mysql地址 账号 密码 (需要先执行initsql 文件夹下的 blog.sql文件夹)然后修改配置文件中的hostip为自己的服务器ip地址2 部署:1 后端地址为(blogback: 博客后台代码)通过mvn clean 以及 mvn package 打成jar包2 然后放到服务器上,比如这里我放置的jar包路径为那么启动jar包就可以是 如下命令nohup java -jar /usr/local/myImag...
2021-10-16 16:12:53 489
原创 Effective java ---构造者模式
package com.example.demo.model;/** * @ClassName Address * @Description 请zhangyang添加代码注释 * @Author zhangyang * @Date 2021/10/10 10:34 * @Version 1.0 */public class Address { private final int servingSize; private final int servings; .
2021-10-10 12:00:26 88
原创 获取邮箱的授权码
1、formail邮箱类型的 先通过网易企业邮箱 - 登录入口 进行登录 点击设置--->邮箱设置 进入邮箱设置界面点击客户端->开启授权码(一般需要手机验证)
2021-09-18 11:19:50 2990
原创 使用React-native创建app过程
前提准备:1 、安装jdk 一般java开发都已经安装过2 安装Android sdk和Android studio可以使用 这个网站下载软件和sdkhttps://www.androiddevtools.cn/3 配置SDK ,这类似于jdk,首先找到我的电脑”—“属性”—“高级系统设置”—“环境变量”—“系统变量”—“新建”...
2021-09-09 18:25:23 466
原创 springboot+vue简单实现个人博客
一、效果图前台主页博客详情页个人页面文章搜索(由于服务器内存不够(2G),所以没有用ela,而是直接使用mysql)后台登录页编辑页面二、项目架构图三、项目地址https://gitee.com/zyqqcom四、搭建步骤执行blogback下的initsql文件初始化数据库内容五、运行步骤前端 npm run dev后端 直接run...
2021-06-27 13:03:25 706
原创 剑指offer-java--将空格替换为%20
题目描述:将一个字符串中的空格替换成“%20”。例如:当字符串为 We Are Happy.则经过替换之后的字符串为 We%20Are%20Happ代码实现:这里使用了string
2021-06-05 15:56:04 846
原创 springboot连接redis集群环境
目录一、 maven配置二、yml文件配置三 、 Config代码四、测试用例一、 maven配置<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="htt...
2021-04-21 21:18:13 465
spring上传文件
2020-12-17
aspectj-1.9.4的压缩包.rar
2020-04-22
课程设计-学生信息管理系统
2020-01-07
C#--数据库课设.rar
2020-01-02
java课设--图书管理系统代码.rar
2020-01-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人