- 博客(116)
- 资源 (12)
- 收藏
- 关注
原创 Kubernetes(K8S)简介
当你应用访问数不断增加,机器逐渐增加到十几台、上百台、上千台时,每次加机器、软件更新、版本回滚,都会变得非常麻烦、痛不欲生,再也不能好好的摸鱼了,人生浪费在那些没技术含量的重复性工作上。Kubernetes 可以为你提供集中式的管理集群机器和应用,加机器、版本升级、版本回滚,那都是一个命令就搞定的事,不停机的灰度更新,确保高可用、高性能、高扩展。应用直接在物理机上部署,机器资源分配不好控制,出现Bug时,可能机器的大部分资源被某个应用占用,导致其他应用无法正常运行,无法做到应用隔离。
2023-08-23 15:24:40
981
原创 Rancher部署k8s集群
v /mnt/d/rancher_data:/var/lib/rancher/ 这样rancher的应用数据就存储在了 /mnt/d/rancher_data 目录中。Rancher提供了在生产环境中使用的管理Docker和Kubernetes的全栈化容器部署与管理平台。yum list docker-ce --showduplicates | sort -r #查看docker的版本。yum -y install docker-ce-19.03.9-3.el7 #例如安装19.03.9版本。
2023-08-23 13:28:41
1000
原创 SpringBoot集成MinIO
对象存储服务OSS(Object Storage Service)是一种海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件。容量和处理能力弹性扩展,多种存储类型供选择,全面优化存储成本。今天我这里主要讲解SpringBoot如何集成MinIO。
2023-06-29 15:36:10
2865
原创 java拆分数据循环创建一定字节大小的文件
此处创建10240字节大小的文件,也就是10kB一个文件,一个文件内容写到10kB,下一个文件接着上次的内容继续写,保证内容不漏掉 调用splitFile(String str) 一直传要写数据即可public class Test { SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); int i = 2; RandomAccessFile out_r; private File fil..
2022-03-03 19:14:34
604
原创 SpringBoot整合Quartz实现定时任务
Quartz有四个核心概念:Job:是一个接口,只定义一个方法 execute(JobExecutionContext context),在实现接口的 execute 方法中编写所需要定时执行的 Job(任务) Double slongitude = Double.valueOf(jobExecutionContext.getJobDetail().getJobDataMap().get("slongitude").toString());JobDetail:Quartz 每次调度 Job 时,
2021-09-06 16:26:46
517
1
转载 @Controller和@RestController的区别?
@RestController注解相当于@ResponseBody + @Controller合在一起的作用1)如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp页面,配置的视图解析器InternalResourceViewResolver不起作用,返回的内容就是Return 里的内容。例如:本来应该到success.jsp页面的,则其显示success.2)如果需要返回到指定页面,则需要用 @Controller配合视图解析器Int
2021-05-20 20:09:19
555
原创 SSH 免密登录
1.我们可以看到远程仓库中还有一个 SSH 的地址,因此我们也可以使用 SSH 进行访问。2.具体操作如下:--运行命令生成.ssh 秘钥目录[注意:这里-C 这个参数是大写的 C]Layne@LAPTOP-Layne MINGW64 ~$ ssh-keygen -t rsa -C atguiguyueyue@aliyun.comGenerating public/private rsa key pair.Enter file in which to save the key (/c/
2021-05-13 23:48:07
314
转载 Git vs SVN
1. Git vs SVNGit 和 SVN 孰优孰好,每个人有不同的体验。一、Git是分布式的,SVN是集中式的这是 Git 和 SVN 最大的区别。若能掌握这个概念,两者区别基本搞懂大半。因为 Git 是分布式的,所以 Git 支持离线工作,在本地可以进行很多操作,包括接下来将要重磅推出的分支功能。而 SVN 必须联网才能正常工作。二、Git复杂概念多,SVN简单易上手所有同时掌握 Git 和 SVN 的开发者都必须承认,Git 的命令实在太多了,日常工作需要掌握 add, c.
2021-04-12 17:42:10
144
1
转载 css-弹性布局弹布局(Flex布局)
在网页制作过程中,布局是我们最重要的一个环节。可以说布局的好坏直接影响到整个网页的成败!布局成,则事半功倍;布局败,则事倍功半。随着移动互联的到来,响应式网站风靡。这也就兴起了一种新兴的布局方式——弹性布局。取代我们之前“display+float+position”的布局形式,采用全新的弹性布局,会让你的网站如丝般顺滑!今天,就让我们一起来学习一下弹性布局,让我们用5个div玩转弹性布局吧~弹性布局简介1:所有浏览器都支持2:容器和项目①容器:需要添加弹性布局...
2020-11-28 16:50:48
7725
原创 对solr索引库进行CRUD
1.通过solr后台管理界面对索引进行CRUD1.删除一条索引(通过xml格式)删除成功 Status:success2.新增一条索引新增成功 Status:success3.query查询高亮显示Request-Handler(qt):q: 查询字符串(必须的)。:表示查询所有;keyword:东看 表示按关键字“东看”查询fq: filter query 过滤查询。使用Filter Query可以充分利用Filter Query Cache,提高...
2020-11-11 18:05:23
254
原创 Tomcat服务器下部署Solr
solr-7.7.3/server/solr-webapp/ 下的webapp复制到apache-tomcat-8.5.23/webapps/下,并且重命名(可以随意命名) , 这里命名为solr。(这个是Solr的Web应用) 复制solr-7.7.3/server/lib/ext 下的所有jar, 到apache-tomcat- 8.5.23/webapps/solr/WEB-INF/lib/下.(没错,这个就是那个重命名solr下的WEB-INF/lib) 复制solr-7.7.3..
2020-11-11 12:25:40
181
原创 将mysql数据库中数据导入至solr索引库
此处在Tomcat服务器下部署Solr1.引入jar依赖在apache-tomcat-8.0.52\webapps\solr\WEB-INF\lib引入mysql驱动复制solr-dataimporthandler-7.7.3.jar和solr-jaegertracer-configurator-8.7.0.jar到apache-tomcat-8.0.52\webapps\solr\WEB-INF\lib的下面2.复制solr-7.7.3/example\example-DIH\solr
2020-11-11 11:39:39
362
原创 java八种常用排序算法
在线动画演示插入/选择/冒泡/归并/希尔/快速排序算法过程工具冒泡排序冒泡排序将一个列表中的两个元素进行比较,并将最小的元素交换到顶部。两个元素中较小的会冒到顶部,而较大的会沉到底部,该过程将被重复执行,直到所有元素都被排序。//冒泡排序public class BubbleSort { public static void main(String[] args) { int arr[] = new int[]{5, 3, 0, 9, 1, 7, 4, 6, 1}
2020-11-09 19:42:48
254
原创 java面向对象的数组
面向对象数组的方法//面向对象的数组public class MyArray { private int elements []; public MyArray(){ elements = new int[0]; } public int size(){ return elements.length; } //输出数组元素 public void show(){ System.out.print
2020-11-06 10:57:36
492
2
转载 solr7.4简单 安装与使用
1.solr7环境要求solr7需要java8环境,且需要在环境变量中添加 JAVA_HOME变量。2.solr 安装下载地址https://lucene.apache.org/solr/mirrors-solr-latest-redir.html 我下载为7.4版本 在solr5以前solr的启动都有tomcat作为容器,但是从solr5以后solr内部集成jetty服务器,可以通过bin目录中脚本直接启动。就是从solr5以后跟solr4最大的区别是被发布成一个独立的应用。...
2020-11-05 15:59:44
191
原创 对List集合中每个对象元素按时间顺序排序
需求:需要对List中的每个User按照birthday顺序排序,时间由小到大排列。1. 刚开始用的是冒泡排序,出现数据覆盖的情况for (int i = 0; i < list.size() - 1; i++) { for (int j = 0; j < list.size() - 1 - i; j++) { long time = list.get(j).getCreateAt().getTime(); .
2020-10-30 15:45:02
3973
转载 如何判断list、map集合是否为空
前言最近在面试的时候,经常会遇到一个问题:请问如何判断一个list/map集合为空?这个问题我们可以反向思考,一个集合不为空,假设有一个对象 map,要满足map != null && !map.isEmpty()在这里会出现一个误区,需要特别注意:a.List<T> list=new ArrayList<>();if ( !list.isEmpty() && list! = null){ System.out.println(
2020-10-30 14:45:38
4864
原创 注解与反射学习笔记整理
1.注解1.什么是注解 Annotation是从JDK5.0开始引入的新技术. Annotation的作用: ➢不是程序本身,可以对程序作出解释.(这一点和注释(comment)没什么区别) ➢可以被其他程序(比如:编译器等)读取. Annotation的格式: ➢注解是以"@注释名"在代码中存在的,还可以添加一些参数值 ,例 如:@SuppressWarnings(value="unchecked"). Annotation在哪里使用?
2020-10-22 12:09:38
182
原创 多线程学习笔记
1.进程 线程进程(Process) 是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。进程是执行程序的一次执行过程,它是一个动态的概念,是系统资源分配的单元。线程(thread) 是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。注意:很多多线程是模拟出来的,真正的多线程是指有多个cpu,即多核,如服务器。如果
2020-10-17 20:54:01
211
1
原创 Redis缓存穿透、缓存击穿、缓存雪崩
1.缓存穿透(查不到)概念用户想要查询一个数据,发现redis内存数据库没有,也就是缓存没有命中,于是向持久层数据库查询,发现也有没有,于是本次查询失败。当用户很多时候,缓存都没有命中,于是都去请求了持久层数据库。这会给持久层数据库很大的压力,这就相当于出现了缓存穿透。解决方案1.布隆过滤器:布隆过滤器是一种数据结构,对所有可能查询的参数以hash形式存储,不符合则丢弃,从而避免了对底层存储系统的查询压力。2.缓存空对象当存储层不命中后,即使返回的空对象也将其缓存起来
2020-10-14 13:04:30
213
原创 计算机网络四次握手
TCP 的连接释放:采用四报文握手下面分两次来解释四次握手1..数据传输结束后,通信的双方都可释放连接。现在 A 的应用进程先向其 TCP 发出连接释放报文段,并停止再发送数据,主动关闭 TCP 连接。1.A 把连接释放报文段首部的 FIN = 1,其序号seq = u,等待 B 的确认。2.B 发出确认,确认号 ack = u + 1,而这个报文段自己的序号 seq = v。3.TCP 服务器进程通知高层应用进程。从 A 到 B 这个方向的连接就释放了,TCP 连接处于半.
2020-08-29 21:43:29
1743
原创 计算机网络 三次握手
采用三报文握手采用三报文握手A为客户端,B为服务端。首先B处于LISTEN(监听)状态,等待客户的连接请求。1.A 的 TCP 向 B 发出连接请求报文段,其首部中的同步位 SYN = 1,并选择序号 seq = x,表明传送数据时的第一个数据字节的序号是 x。不能携带数据,但要消耗掉一个序号。2.B 的 TCP 收到连接请求报文段后,如同意,则回确认。B 在确认报文段中应使 SYN = 1,使 ACK = 1,其确认号ack = x + 1,自己选择的序号 seq = y。不能携带数据...
2020-08-29 18:31:49
2106
原创 计算机网络知识点学习总结
第一章 概述 计算机网络(可简称为网络)把许多计算机连接在一起,而互联网则把许多网络连接在一起,是网络的网络。 以小写字母i开始的internet(互联网)是通用名词,它泛指由多个计算机网路互连而成的网络。在这些网络之间的通信协议(即通行规则)可以是任意的。 以大写字母I开始的Internet(互联网)是专用名词,它指当前全球最大的、开放的、有众多网络互连而成的特定互连网,并采用TCP/IP协议族作为通信规则,且其前身是美国的ARPANET。Internet的推荐译名是“英特网”,
2020-08-20 18:56:21
1622
原创 Git分支管理
1.创建合并分支在我们每次的提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD指针严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支。一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点: 每次提交,master分支都会向前移动...
2020-08-03 23:05:25
232
原创 linux上搭建私有Git服务器
1.服务器搭建远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改。GitHub就是一个免费托管开源代码的远程仓库。但是对于某些视源代码如生命的商业公司来说,既不想公开源代码,又舍不得给GitHub交保护费,那就只能自己搭建一台Git服务器作为私有仓库使用。搭建Git服务器需要准备一台运行Linux的机器,在此我们使用CentOS。以下为安装步骤:1.下载git-2.22.0.tar.gzhttps://Github.com/Git/Git/archive/v2..
2020-08-03 20:52:48
600
原创 spring boot日志的配置以及使用
1.默认配置1、SpringBoot默认帮我们配置好了日志; SpringBoot能自动适配所有的日志,而且底层使用slf4j+logback的方式记录日志 日志的级别 由低到高 trance<debug<info<warn<error 可以调整日志输出的级别;日志就只会在这个级别以后的高级别生效@SpringBootTestclass SpringBoot03LoggingApplicationTests { Logger ...
2020-07-22 19:47:32
467
转载 【SpringBoot】SpringBoot、ThemeLeaf 官方文档地址
SpringBoot官方文档 - Spring Boot Reference Documentation官方在线文档(一页HTML)Spring Boot Reference Documentation - 1.5.10版本Spring Boot Reference Documentation - 2.2.4版本第三方中文文档:SpringBoot中文文档ThemeLeaf 官方文档 - 在线版Tutorial: Using Thymeleaf注:访问不到,请多刷新几次...
2020-07-21 21:33:14
161
原创 JSONObject.fromObject(obj)报错 无法调取方法
一、原因1.一般显示要导入的包都是import com.alibaba.fastjson.JSONObject;2.真正需要的其实是import net.sf.json.JSONObject;二.解决办法添加 maven pom.xml 依赖,从maven网上仓库下载依赖 地址:https://mvnrepository.com/搜索:json-lib-2.2.1-jdk15寻找对应的依赖<dependency> <groupId>...
2020-07-02 18:57:36
1662
3
原创 mybatis分页实现
1.Sql分页分页sql格式是:select * from table limit (start-1)*pageSize,pageSize;其中start是页码,pageSize是每页显示的条数。查询的分页数据是 从(start-1)*pageSize条开始,每页显示pageSize条数比如:查询第1条到第5条的数据的sql是:select * from table limit 0,5; ->对应我们的需求就是查询第一页的数据:select * from table limi...
2020-06-16 22:05:15
471
原创 SSM整合详解 springmvc-spring-mybatis框架的搭建
2.添加各种配置2.1 引入依赖pom.xml<?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="http://maven.apache.org/POM/4.0.0 htt
2020-06-13 20:34:00
321
原创 MyBatis-缓存机制
目录前言1.一级缓存(本地缓存)1.1缓存机制1.2、一级缓存的工作机制1.3、同一个SqlSession(一级缓存的体现)1.4、不同的SqlSession1.5、SqlSession相同,但是两次查询期间执行了增删改操作前言mybatis包含一个非常强大的查询缓存特性,它可以非常方便地配置和定制,缓存可以极大的提升查询效率。 mybatis系统中默认定义了两级缓存。 一级缓存和二级缓存 ➢默认情况下,只有一级缓存(SqlSession级别的...
2020-06-07 21:33:58
356
原创 Referenced file contains errors (project-aware://maven_demo1/org/springframework/beans/factory/xml/s
在配置文件出现如下错误Referenced file contains errors (project-aware://maven_demo1/org/springframework/beans/factory/xml/spring-beans-4.0.xsd). For more information, right click on the message in the Problems View and select "Show Details..."这种错误是属于配置文件的验证错误,实际上并
2020-06-07 09:05:08
285
原创 Mybatis动态SQL查询
动态SQL多用于解决查询条件不确定的情况,在程序运行期间,根据用户提交的多种可能的查询条件,提交的查询条件不同,动态生成和执行的SQL语句也不同。动态SQL通过Mybatis提供的各种标签对条件作出判断以实现动态拼接SQL语句。MyBatis 采用功能强大的基于 OGNL 的表达式来简化操作 常用的动态SQL标签有<if>,<where>,choose (when, otherwise),trim (where, set),foreach OGNL(object...
2020-06-06 23:38:06
1067
原创 Mybatis参数值的获取方式
1.#{}:可以获取单个普通类型的参数、POJO的参数、Map的参数获取过程详解 见本人博客https://blog.youkuaiyun.com/lbqlzch/article/details/1065920092.${}可以获取POJO的参数,Map的参数,如果获取单个普通类型的参数,需要使用_parameter代表的内置参数来获取获取单个普通类型的参数: <select id="getEmployeeById" resultType="employee" databaseId="oracl
2020-06-06 21:32:40
613
原创 Mybatis参数(Parameters)传递
1.单个普通类型(基本类型、包装类型、String)的参数封装规则:Mybatis不会做特殊的处理取值 #{随便写,建议与实际的参数名保持一致} 例如: 操作:public Employee getEmployeeById(Integer id ); 取值:#{id} <!-- 关于select 的查询语句 resulType:查询结果对应的类型 id 当前sql语句的唯一标识 #{id}...
2020-06-06 20:51:43
5962
原创 Spring的AOP机制
目录1.AOP简介2.AOP术语3.Spring AOP1.在Spring中启用AspectJ注解支持,用AspectJ注解声明切面2.用基于XML的配置声明切面1.AOP简介AOP是面向切面的编程,其编程的思想是把散步于不同业务但功能相同的代码从业务逻辑中抽取出来,封装成独立的模块,这些独立的模块被称为切面,切面具体功能方法别称为关注点。在业务逻辑执行过程中,AOP会把分离出来的切面和关注点动态切入到业务流程中,这样做的好处是提高了功能代码的重用性和可维护性。 在应用A.
2020-05-26 19:24:19
790
2
原创 SpringIOC容器中Bean的生命周期
1.IOC容器中Bean的生命周期方法 Spring IOC容器可以管理Bean的生命周期,Spring允许在Bean生命周期的特定点执行定制的任务。 SpringIOC容器对Bean的生命周期进行管理的过程:通过构造方法或工厂方法创建bean对象 为Bean对象注入值(调用set方法) 调用Bean的初始化方法 通过init-method来指定 Bean 可以使用了 当IOC容器,调用Bean的销毁方法在Bean的声明里设置init-method和destory-method属性,为..
2020-05-26 11:32:53
712
转载 Spring Bean的作用域
在Spring中,bean作用域用于确定哪种类型的bean实例应该从Spring容器中返回给调用者。目前Spring Bean的作用域或者说范围主要有五种。作用域 描述 singleton 在springIoC容器仅存在一个Bean实例,Bean以单例方式存在,bean作用域范围的默认值。 prototype 每次从容器中调用Bean时,都返回一个新的实例,即每次调用getBean()时,相当于执行newXxxBean()。 request 每次HTTP请求都会.
2020-05-26 09:21:03
286
原创 SpringIOC容器
1.什么是IOCIOC(Inversion of Control):其思想翻转资源获取的方向,传统的资源查找方法要求组件向容器发起请求查找资源,作为回应,容器适时的返回资源,而应用了IOC之后,则是容器主动地将资源推送给它所管理的组件,组件所要做的仅是一种合适的方式来接受资源。这种行为也被称为查找的被动形式。 Spring是怎么做的呢? SpringIOC容器先把所有对象管理起来,然后发现一些类中的@Autowird注解自动给你执行装配,这就是web程序中,spring监 听器干的事情,...
2020-05-24 22:05:11
174
基于S3协议实现minio分片上传(minio+SpringBoot3+Minio+Vue3)
2025-02-18
基于springboot+vue.js实现的超大文件分片极速上传及流式下载,支持超大文件断点续传、秒传
2024-08-28
SpringBoot + Redis实现token权限认证.zip
2022-01-04
计算机网络学习资料整理
2020-10-20
SpringBoot学习资料整理
2020-10-20
redis学习笔记(详细总结)
2020-10-20
git学习笔记 (详细总结)
2020-10-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人