自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(86)
  • 收藏
  • 关注

原创 pom 依赖冲突分析与解决

pom 依赖冲突分析与解决

2022-08-20 18:47:11 2766 1

原创 springboot 整合 es 配合使用 IK 分词器

springboot 整合 es 配合使用 IK 分词器

2022-08-19 01:35:41 2634

原创 docker-compose 安装 es, ik, kibana

运行docker-compose命令输入ip9200进行访问,如果跳转至这个页面则表示可以了。

2022-07-22 20:43:17 956

原创 Redis入门注解

文章目录1、注解2、springboot + redis + mybatis demo1、注解Cacheable: 没缓存就走数据库,有缓存就走缓存;适用于查询接口。CacheEvict: 删除redis中对应的缓存,适用于删除接口。使用属性allEntries=true删除cacheNames命名空间下的所有键值对。CachePut: 在值已经被缓存的情况下仍然会被执行@CachePut注释修饰的方法,而@Cacheable不会;适用于更新和插入操作。2、springboot + redis +

2022-04-29 16:32:48 1220

原创 linux解决tomcat 404问题

启动容器:docker run -d -p 8080:8080 --name tomcat tomcat进入容器:docker exec -it tomcat /bin/bash修改配置文件:rm -rf webappsmv webapps.dist webapps到此解决了此容器404问题。下面制作镜像,一劳永逸。docker commit -m='提交的描述信息' -a='作者' 容器ID 要创建的镜像名:标签...

2022-04-14 22:25:09 1897

转载 向linux上传jar包失败然后乱码

解决办法:rz -berz命令-a, –ascii-b, –binary 用binary的方式上传下载,不解释字符为 ascii-e, –escape 强制escape 所有控制字符,比如 Ctrl+x,DEL 等-ary –o-sync-a 表示使用ascii码格式传输文件,如果是Dos格式的文件,会转换为unix格式-r 使用 Crash recovery mode. 即文件传输中断会重传-y 表示文件已存在的时候会覆盖–o-sync 采用同步写模式,以处理从缓存写到磁盘时中断丢失的.

2022-04-14 21:41:02 981

原创 ubuntu 18.04绑定主机名,ip,DNS

文章目录1、前提2、修改主机名3、修改ip4、修改DNSroot 用户已经登录。1、前提root@deployment:~# networkctl status2、修改主机名修改 cloud.cfg 防止重启后主机名还原。vi /etc/cloud/cloud.cfg,修改 preserve_hostname 的值为true,默认为false。修改主机名hostnamectl set-hostname deployment。配置hosts文件,cat >> /etc/host

2022-04-14 14:28:52 2604

原创 安装并使用docker

安装和使用docker

2022-04-13 16:00:59 148

原创 linux允许root登录

前提:普通用户已登录。为root设置密码:sudo passwd root根据提示输入密码修改配置文件:vi /etc/ssh/sshd_config把 PermitRootLogin 注释去掉并且后面改成 yes。重启配置文件:/etc/init.d/ssh restart

2022-04-13 14:43:38 3612

原创 linux安装java

前提条件:用xshell连接到了root用户。准备jdk:创建临时文件存放目录:mkdir -p /usr/local/tmp创建目录:mkdir -p /usr/local/java上传文件:rz解压缩:ar -xzvf jdk_name.tar.gz移动安装包:mv jdk_name /usr/local/java/查看所有者:ll设置所有者:chown -R root:root /usr/local/java/配置环境:jdk解压后的文件名为:jdk1.8.0_152打开文件:

2022-04-12 12:42:58 721

原创 Spring IOC 和 DI

Spring 框架的好处轻量:Spring 是轻量的,基本的版本大约2MB。控制反转:Spring 通过控制反转实现了松散耦合,对象们给出它们的依赖,而不是创建或查找依赖的对象们。面向切面的编程(AOP):Spring 支持面向切面的编程,并且把应用业务逻辑和系统服务分开。容器:Spring 包含并管理应用中对象的生命周期和配置。MVC框架:Spring 的WEB框架是个精心设计的框架,是WEB框架的一个很好的替代品。事务管理:Spring 提供了一个持续的事务管理接口,可以扩展到上至本地事务

2022-04-04 17:05:03 436

原创 AQS简介

文章目录1、什么是AQS?2、AQS 使用了哪些设计模式?3、AQS 中同步队列的数据结构4、AQS 对资源的共享方式5、AQS 组件1、什么是AQS?AQS 是一个锁框架,它定义了锁的实现机制,并开放出扩展的地方,让子类去实现,比如我们在 lock 的时候,AQS开放出 state 字段,让子类可以根据 state 字段来决定是否能够获得锁,对于获取不到锁的线程 AQS 会自动进行管理,无需子类锁关心,这就是 lock 时锁的内部机制,封装的很好,又暴露出子类锁需要扩展的地方;AQS 底层是由同步

2022-04-01 20:57:12 506

原创 synchronized、volatile、Lock和ReentrantLock的区别

文章目录1、synchronized 和 volatile的区别2、synchronized 和 Lock 的区别3、synchronized 和 ReentrantLock 的区别1、synchronized 和 volatile的区别volatile 解决的是内存可见性问题,会使得所有对 volatile 变量的读写都直接写入主存,即保证了变量的可见性。synchronized 解决的是执行控制的问题,他会阻止其他线程获取当前对象的监控锁,这样一来就让当前对象被 synchronized 关键字保

2022-03-31 16:01:48 723

原创 类加载机制和类加载器

文章目录1、 什么使类加载?2、类加载过程3、类加载器1、 什么使类加载?  虚拟机把描述类的数据加载到内存里面,并对数据进行校验、解析和初始化、最终变成可以被虚拟机直接使用的class对象。  类的整个生命周期包括:加载(loading)、验证(verification)、准备(preparation)、解析(resolution)、初始化(initialization)、使用(using)、卸载(unloading)7个阶段。其中准备、验证、解析3个部分统称为连接(Linking)。如图所示。

2022-03-31 14:52:31 1064

原创 JVM结构图和JMM简述

目录1、JVM结构图2、JMM简述1、JVM结构图程序计数器:线程私有的,是一块很小的内存空间,作为当前线程的行号指示器,用于记录当前虚拟机正在执行的线程指令地址。虚拟机栈:线程私有的,每个方法执行的时候都会创建一个栈帧,用于存储局部变量表、操作数、动态链接和方法返回等信息,当线程请求的栈深度超过了虚拟机允许的最大深度时,就会抛出 StackOverFlowError。本地方法栈:线程私有的,保存的是 native 方法的信息,当一个 jvm 创建的线程调用 native 方法后,jvm不会在虚拟

2022-03-25 09:57:23 977

原创 数据库日记

目录1、redo log - 错误日志2、undo log - 回滚日志3、err log - 错误日志4、slow query log - 慢查询日志5、general log - 普通日志6、bin log - 二进制日志7、relay log - 中继日志1、redo log - 错误日志  确保事务的持久性。防止在发生故障、脏页未写入磁盘。重启数据库会进行redo log执行重做,达到事务持久性。2、undo log - 回滚日志  保证事务的原子性,记录事务发生之前的一个版本,用于回滚,I

2022-03-19 14:17:36 972

原创 JVM垃圾回收器

文章目录Serial收集器Serial Old收集器ParNew收集器Parallel Scavenge收集器Parallel Old收集器CMS收集器G1收集器总结垃圾收集器主要有:Serial、Serial Old、ParNew、Paraller scavenge、Parallel Old、CMS、G1。Serial收集器  Serial收集器是一个新生代、单线程的收集器,采用标记-复制算法。它在进行垃圾回收时,必须暂停所有用户线程,直到它收集结束。Serial Old收集器  Serial

2022-03-14 10:36:55 674

原创 面试精简版

springboot自动配置  @EnableAutoConfiguration上有@AutoConfigurationPackage@Import({AutoConfigurationImportSelector.class})两个注解。  AutoConfigurationImportSelector.class加载/META-INF/spring.factories文件的信息,然后筛选出以EnableAutoConfiguration为key的数据,加载到IOC容器中,实现自动配置功能。具体细节

2022-03-12 15:19:20 846

原创 数据库优化

目录1、读写分离2、垂直分表3、垂直分库4、水平分表5、水平分库6、添加缓存补充:分库、分表后,ID键如何处理?1、读写分离  先来看主从复制。MySQL复制:为保证主服务器和从服务器的数据一致性,在向主服务器插入数据后,从服务器会自动将主服务器中修改的数据同步过来。主从复制主要有三个线程:binlog线程、I/O线程、SQL线程。binlog线程:负责将主服务器数据更改写入到二进制日志(Binary log)中。I/O线程:负责从主服务器上读取Binary log,并写入从服务器的中继日志(R

2022-03-12 09:39:56 158

原创 数据库事务

目录事务的四大特性(ACID)数据库的并发一致性问题数据库隔离级别隔离级别是如何实现的事务的四大特性(ACID)原子性(Atomicity):事务要么全部执行成功要么全部失败回滚。一致性(Consistency):事务在执行前后状态是一致的。隔离性(Isolation):一个事务所进行的修改在最终提交之前,对其他事务是不可见的。持久性(Durability):数据一旦提交,其所作的修改将永久地保存到数据库中。数据库的并发一致性问题当多个事务并发执行时,可能会出现以下问题:脏读:事务A更

2022-03-11 14:50:26 1486

原创 MySql索引

目录索引类型数据库为什么使用B+树而不是B树作为索引聚簇索引和非聚簇索引索引的设计原则索引失效的例子不满足最左匹配原则导致索引失效其他原因导致索引失效索引类型MySql主要的索引类型有:FULLTEXT、HASH、BTREE、RTREEFULLTEXT即全文索引,主要用来解决WHERE name LIKE "%zhangsan"等针对文本的模糊查询效率低的问题。HASH即哈希索引,主要用于等值查询,时间复杂度为O(1),效率高。缺点为不支持排序、范围查询和模糊查询。BTREE即B+树索引,优点是

2022-03-11 09:53:09 134

原创 JDK动态代理demo

直接上代码:public interface ShoppingService { void shopping();}被代理类:public class ShoppingServiceImpl implements ShoppingService { @Override public void shopping() { System.out.println("shopping……"); }}public class MyHandler imple

2022-03-09 22:31:27 524

原创 Locks

专题文章:  JAVA并发编程目录1、UML2、lock中的方法说明3 、synchronized 的局限性与Lock 的优点4、锁的介绍5、参考1、UML2、lock中的方法说明// 获取锁void lock();// 如果当前线程未被中断,则获取所,可以响应中断void lockInterruptibly();// 返回绑定此lock实例的新Condition实例Condition newCondition();// 仅在调用时锁为空闲状态才获取该锁,可响应中断boolean

2022-03-04 10:41:19 69

原创 顺序执行线程A、B、C

专题文章:  JAVA并发编程顺序执行线程T1、T2、T31、synchronized+wait/notify2、join3、LOCK4、LOCK + Condition 对 3 的优化5、Semaphore1、synchronized+wait/notifypublic class WaitNotifyABC{ private int num = 0; private static final Object LOCK= new Object(); private void printABC(

2022-03-03 22:29:20 184

原创 JAVA并发编程

JAVA并发编程JAVA创建线程的方法JAVA创建线程的方法相关链接

2022-03-03 10:46:36 227

原创 JAVA创建线程的方法

JAVA创建线程的方法1、继承Thread类创建线程2、实现Runnable接口创建线程3、使用Callable和Future创建线程4、使用线程池创建线程使用Executor框架,提供四种线程池1、newCachedThreadPool2、newFixedThreadPool3、newScheduledThreadPool4、newSingleThreadExecutor1、继承Thread类创建线程public class ThreaDemo extends Thread{ @Override

2022-03-02 22:00:58 346

原创 HashMap原理

目录参考和引用1、HashMap底层实现2、HashMap的扩容机制3、HashMap的初始容量为什么是16?4、HashMap为什么每次扩容都是2的整数次幂进行扩容?5、HashMap的扩容因子为什么是0.75?6、HashMap扩容后会重新计算Hash值吗?7、HashMap中当链表长度大于等于8时,会将链表转化为红黑树,为什么是8?8、HashMap为什么线程不安全?9、为什么HashMapJDK1.7中扩容时要采用头插法,JDK1.8又改为尾插法?10、HashMap是如何解决哈希冲突的?11、Ha

2022-03-02 16:42:39 472 1

原创 股票的最大利润

股票的最大利润题目来源解题方法暴力法解题思路代码复杂度分析dp数组解题思路代码复杂度分析dp数组改进之变量维护解题思路代码复杂度分析题目来源来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/gu-piao-de-zui-da-li-run-lcof著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。解题方法题目假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?示例 1:输

2022-03-01 21:27:50 109

原创 JVM垃圾回收算法

标记清除法第一步:利用可达性去遍历内存,把存活对象和垃圾对象进行标记;第二步:在遍历一遍,将所有标记的对象回收掉;特点效率不行,标记和清除的效率都不高;标记和清除后会产生大量的不连续的空间分片,可能会导致之后程序运行的时候需分配大对象却找不到连续分片而不不得不触发一次GC。标记整理法第一步:利用可达性去遍历内存,把存活对象和垃圾对象进行标记;第二步:将所有的存活对象向一段移动,将端边界以外的对象都回收掉;特点适用于存活对象多,垃圾少的情况;需要整理的过程,无空间碎片产生。复制算法

2022-03-01 19:21:19 139

原创 cmd 运行 java 程序

cmd 运行 java 程序前期工作代码运行截图前期工作cmd 运行 java 程序代码public class Main{ public static void main(String[] args){ for(String s:args){ System.out.println(s); } }}win+R -> cmd -> cd desktop编译:javac Main.java 会产生Main.class文件运行:java Ma

2022-02-12 16:38:47 185

原创 docker备份与恢复

备份与迁移容器保存为镜像 我们可以通过以下命令将容器保存为镜像docker commit pyg_nginx mynginxpyg_nginx是容器名称mynginx是新的镜像名称此镜像的内容就是你当前容器的内容,接下来你可以用此镜像再次运行新的容器镜像备份docker save -o mynginx.tar mynginx-o 输出到的文件执行后,运行ls命令即可看到打成的tar包镜像恢复与迁移首先我们先删除掉mynginx镜像然后执行此命令进行恢复dock

2021-06-09 10:41:39 381

原创 nginx

内容:nginx是什么?nginx可以做什么?怎么做?一、nginx是什么?nginx是一个高性能的HTTP和反向代理web服务器。二、nginx可以做什么?反向代理负载均衡动静分离配置高可用集群三、怎么做?1、反向代理原理:反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,再返回给客户端。此时,反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器

2021-05-27 00:15:16 77

原创 nginx

https://nishigouzi.github.io/2020/06/07/Nginx%E7%AC%94%E8%AE%B0/#more

2021-05-26 12:26:37 82

原创 acm-2072单词数

#include <iostream>#include <set>#include <sstream>using namespace std;set<string> Set;string s1, s2;int main(){ while (getline(cin, s1)) //从输入流中得到一行 { if (s1 == "#") break; istringstream i

2020-10-23 19:45:36 89

原创 C++输入十六进制数

八进制:oct二进制:bin十进制:dec十六进制:hex当然了,你可以修改相应位置的进制数。#include <iostream>#include <map>#include <cstdio>#include <cstdlib>using namespace std;int main(){ int a,b; while(cin >> hex >> a>> b){ cout <<

2020-10-20 12:44:42 4388

原创 2017年第八届蓝桥杯-凑算式

凑算式 B DEFA + --- + ------- = 10 C GHI (如果显示有问题,可以参见【图1.jpg】) 这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。比如:6+8/3+952/714 就是一种解法,5+3/1+972/486 是另一种解法。这个算式一共有多少种解法?注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。根据例子可以知道+号后面的内容需要通分。#include .

2020-10-16 19:05:11 107

原创 2016年第七届蓝桥杯-生日蜡烛

#include <iostream>using namespace std;const int sum = 236;bool solve(int y){ int ans = 0; for(int i = y;i < 200;i++){ ans += i; if(ans == 236) return true; if(ans > 236) return false; } return false;}int main(){ for(int y =

2020-10-16 17:13:48 91

原创 2017年第八届-取一个数的第K位

#include <iostream>#include <cstdio>using namespace std;//求一个数有几位数 int len(int x){ if(x<10) return 1; return len(x/10)+1;} // 取x的第k位数字int f(int x, int k){ if(len(x)-k==0) return x%10; //如果长度和k相同就表明此时这个数在个位上 return f(x/10,k); //

2020-10-14 23:19:03 145

原创 2017年第八届蓝桥杯-方格分割

解题:从中心点出发,当向右移动时,标记以访问。同时,左边也要标记以访问。最终的结果还要/4,因为可以旋转四个面。用v数组来模拟以访问,也需要用到回溯。代码:#include <iostream>using namespace std;int ans = 0;int v[7][7];int X[4] = {0,1,0,-1},Y[4] = {1,0,-1,0};void solve(int x,int y){ if(x == 0 || x == 6 || y == 0 || y

2020-10-14 22:54:24 135

原创 2017年第八届蓝桥杯-承压计算

注意事项:放大输入,避免出现小数,精度丢失放大和可能int类型不够用代码:#include <iostream>#include <algorithm>#define N 29using namespace std;typedef long long ll;ll mul = 1; //用来放大大数,防止出现小数,精度丢失 ll arr[30][30]; //数字有29行(0-28),第29行是电子称 int main(){ //放大 mul <&

2020-10-14 22:18:56 258

空空如也

空空如也

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

TA关注的人

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