自定义博客皮肤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)
  • 收藏
  • 关注

原创 汉字转拼音

maven依赖<dependency> <groupId>com.belerweb</groupId> <artifactId>pinyin4j</artifactId> <version>2.5.1</version></dependency>@Slf4jpublic class PinYinUtil { private PinYinUtil(){} pub

2021-08-10 16:46:05 171

原创 Spring Boot 参数注解校验

项目backend模块Controller层和api模块service层使用注解校验1、校验单参数在对应类上加@Validated注解在接口参数上添加校验注解注意是在类上添加@Validated@RestController@Validatedpublic class ResourceController extends BaseController { @GetMapping("/resourceCenter/paper/analyseByDifficulty") pub

2021-03-22 11:52:20 1325

原创 文件服务表结构设计

r_file:文件业务表{ "id":文件唯一主键id, "biz_id":"业务主键id", "biz_type":"文件业务类型,哪个业务的文件", "submitted_file_name":"文件原始名", "file_common_id":"对应的文件公共信息id", "uuid":"文件唯一标识,可以根据uuid和匿名进行文件查询、避免通过id查询"}r_file_common 文件公共信息{ "id":"文件公共信息主键id", "data_type":"数据类型DI

2021-03-19 17:14:05 1365

原创 MySQL索引

索引是要存储在硬盘中的,磁盘的I/O操作相比于内存来说时间消耗要高的。所以一次查询,应该要尽量减少磁盘I/O的次数!二叉查找树(Binary Search Tree)的局限性二叉搜索树的特点:父节点左子数的所有节点都小于父节点,右子树所有节点都大于父节点查询的时间复杂度为O(log(N))如果用二叉树作为索引的实现结构,会让树变得很高,增加硬盘的 I/O 次数,影响数据查询的时间。InnoDB的索引结构:B+树非叶子节点仅用于索引,不保存数据记录,跟记录有关的信息都放在叶子节点中。叶子节点

2021-03-03 18:09:49 149 2

原创 项目中工厂+策略设计模式的使用

项目中需要同步中台基础数据事件包含:用户( 行政组织人员 、 外聘服务人员 、 教师 )部门用户部门管理学校项目整体架构定义策略针对这些不同的数据,都有增加、编辑、删除操作策略接口和一组实现这个接口的策略类基于接口而非实现编程,可以灵活地替换不同的策略策略接口/** * @author lc * @desc (数据处理接口定义) * @date 2021/1/7 */public interface SyncDataStrategy { void add(

2021-01-23 14:13:05 243 2

原创 Maven去除引用依赖中的过多依赖

ecampus-im-api中的类使用了mongo中的注解,需要添加mongo的依赖我的项目依赖了ecampus-im-api,在启动的时候必须配置mongo的连接;但是我的项目中没有使用mongo,所以去除mongo的依赖。

2021-01-11 17:22:02 570

原创 SpringBoot获取src/main/resource路径下的文件

private File getFile(String path, String ext) { ClassPathResource classPathResource = new ClassPathResource("file/video/replace.mp4"); InputStream stream = classPathResource.getStream(); return FileUtil.writeFromStream(stream, FileUtils.getFil.

2020-12-19 10:27:42 1408 1

原创 Redis分布式锁实现

在单进程多线程的情况下,为了防止多个线程竞争共享资源,需要使用锁。java中提供了显示锁和隐式锁。但是在分布式部署的多进程下,就必须使用分布式锁。分布式锁的条件保证在分布式部署的应用集群中,同一个方法在同一时间只能被一台机器上的一个线程执行// 加锁, unique_value作为客户端唯一性的标识SET lock_key unique_value NX PX 10000Redis的set命令可以增加NX选项,不存在即设置;只有在键值对不存在时,才会进行设置,否则不做赋值操作PX选项,

2020-12-02 17:17:28 93

原创 Xshell远程登录服务器只能使用public key,无法使用password

vim /etc/ssh/sshd_configPasswordAuthentication yes 是否可以密码认证,修改成yes然后重启sshd服务service sshd restart

2020-04-20 10:36:47 1832

原创 maven命令package、install、deploy

package:编译、打包在本项目中,没有部署到本地仓库和私服仓库install:编译、打包,并将打好的包部署到本地仓库,但没有部署到私服仓库deploy:编译、打包,将打好的包部署到本地仓库和私服仓库...

2020-04-20 08:59:04 170

原创 Linux服务器安装jdk、maven、git

软件压缩包下载因为使用的是腾讯云服务器,网络带宽很小,所以下载很慢。在本地下载好软件使用rz命令上传到服务器可以从这里下载软件百度网盘地址 提取码: 7m7p安装JDKtar -xzvf jdk-8u231-linux-x64.tar.gzmv jdk1.8.0_231 /usr/local/jdk安装maventar -xzvf apache-maven-3.6.3-bin....

2020-04-17 09:08:50 320

原创 Please make sure you have the correct access rights and the repository exists.

将本地生成的公钥已经放到github服务器上但是在git clone拉取项目的时候 报错 Please make sure you have the correct access rights and the repository exists.解决cd ~/.ssh这条命令要在 .ssh下执行ssh -T [email protected]![在这里插入图片描述](https://img...

2020-04-08 09:50:31 270

原创 Nginx配置反向代理和负载均衡

反向代理是指用代理服务器来接受客户端的连接请求,然后将请求转发给内部网络中的上游服务器,并将从上游服务器上得到的结果返回给客户端,此时代理服务器对外的表现就是一个Web服务器。一个简单的SpringBoot项目,打成jar包@SpringBootApplication@RestControllerpublic class DemoApplication { public static ...

2020-04-05 23:10:33 157

原创 Nginx配置静态Web服务器

我的服务器的picture路径下有几张图片,通过Nginx作为静态服务器根据路径匹配来获取图片修改nginx.conf文件server { listen 80; server_name www.luochao.com; location /picture { alias /usr/local/picture...

2020-04-05 20:58:11 257

原创 Nginx的命令行控制

在Linux中,需要使用命令行来控制Nginx服务器的启动、停止、重载配置文件、平滑升级等操作Nginx的默认安装目录 /usr/local/nginx二进制文件路径 /usr/local/nginx/sbin/nginx配置文件路径 /usr/local/nginx/conf/nginx.conf1,默认的启动方式./nginx 会读取默认路径下的配置文件2,-c 指定配置文件启动...

2020-04-04 09:27:18 136

原创 FirewallD is not running Linux防火墙 开放端口

查看防火墙是否开启dead:防火墙未开启。running:防火墙已开启systemctl status firewalld开启防火墙systemctl start firewalld关闭防火墙systemctl stop firewalld查询指定端口是否开放yes:开放no:未开放firewall-cmd --query-port=8080/tcp开放指定端口f...

2020-04-03 22:05:02 509

原创 centos安装和编译nginx

1,下载Nginx源码包Nginx下载地址wget http://nginx.org/download/nginx-1.17.3.tar.gztar -xzf nginx-1.17.3.tar.gz mv nginx-1.17.3 /usr/local/nginx2,编译安装Nginxcd /usr/local/nginx./configure --predix=PATHPATH...

2020-04-02 22:14:07 163

原创 Xshell通过公钥连接云服务器

1,将生成的公钥上传到云服务器上运行rz命令如果没有rz命令先安装yum install lrzsz2,将公钥导入到authorized_keys文件中cd /root/.sshcat id_rsq.pub >> authorized_keys3,修改authorized_keys文件的权限chmod 700 authorized_keys4,查看配置文件vi /et...

2020-03-29 16:48:03 450

原创 Linux日常使用命令

新增用户修改密码/home系统默认的用户家目录,新增一个账号时,默认的用户家目录就在/home下 useradd luochao passwd luochao目录和路径相对路径:一定由根目录/写起绝对路径:不是由/写起 . 代表此层目录 .. 代表上一层目录 ~ 代表当前使用用户的家目录cd :切换目录pwd :显示当前目录mkdir :建立新目录ls 查看目录 -a...

2020-03-29 11:28:58 187 1

原创 去除Spring Boot 默认parent,解决jar中没有主清单属性

生成的Spring Boot项目的parent是spring-boot-starter-parent,但是实际开发中我们项目往往需要继承我们自己的平台的父parent。去除Spring Boot 默认parent,可以添加如下配置!<dependencyManagement> <dependencies> <dependency> ...

2019-09-02 19:44:44 1307

原创 maven仓库

Maven仓库分类本地仓库远程仓库当Maven根据坐标寻找构件的时候,会先查看本地仓库,本地仓库存在则直接使用;本地仓库不存在,或者需要查看有更新的构件时,Maven就会去远程仓库查找 ,远程仓库有就下载到本地仓库再使用;远程仓库也没有需要的构件时,Maven就会报错!对于Maven来说,本地仓库只有一个,但是可以配置多个远程仓库。远程仓库的分类中央仓库Maven核心自带的远...

2019-08-31 13:51:20 118

原创 合并两个有序数组

同一个数组中的元素都是有序的,不需要进行比较,只需要比较两个数组中的元素。while(A 中还有未遍历元素 && B中还有未遍历元素)如果a[i] < b[j] --> C[i+j] = a[i++];否则 c[i+j] = b[j++]A数组的第i个元素与B数组的第j个元素进行比较这时,说明A数组中有i个元素,B数组中有j个元素保存到了C中,因此,下...

2019-08-20 11:56:53 173

原创 散列表+双向链表实现LRU算法

缓存是一种提高数据读取性能的技术,比如常见的CPU缓存,数据库缓存以及浏览器缓存。缓存的大小有限,当缓存被用满时,哪些数据应该被清理出去,哪些数据应该被保留?缓存淘汰策略,常见的有三种,先进先出策略FIFO,最少使用策略LFU,最近最少使用策略LRULeast Recently Used)。散列表+双向链表实现LRU算法我们需要维护一个按照访问时间从大到小有序排列的链表结构。因为缓存大小...

2019-08-19 18:27:03 764

原创 git merge 结果是Already up-to-date.

git 本地分支合并master分支代码提示为 git merge Already up-to-date.原因在于merge之前,master分支的代码不是最新代码1,应该先切换到master分支git checkout master2,拉取代码git pull origin master3,再切换到要合并master的分支git checkout 分支4,合并代码git me...

2019-07-17 21:41:31 20491 3

原创 git创建远程分支并将本地分支与远程分支关联

1,查看本地分支和远程分支git branch -a* master remotes/origin/HEAD -> origin/master remotes/origin/master2,创建并切换分支git checkout -b test*号代表当前分支;remotes代表远程分支 master* test remotes/origin/HEAD -&gt...

2019-07-17 21:27:07 4323

原创 使用两个栈来完成算数表达式求值

栈(stack)后进先出(FILO)策略的数据结构。 public class Evaluate { public static void main(String[] args) { System.out.println(evaluate()); } /** * 使用两个栈来完成表达式运算 * 表达式由括号、运算符、和操作数...

2019-07-08 23:10:46 1108 1

原创 选择排序

选择排序原理首先,找到数据中最小的那个元素,将它和数组中的第一个元素交换位置。在剩下的元素中找到最小的元素,将它与数组中的第二个元素交换位置,如此反复,直到整个数组排序。代码实现public class SelectSort { public static void main(String[] args) { int [] arr = {1,6,7,8,2,4,5,3...

2019-07-08 21:27:34 99

原创 二分查找(循环+递归)

循环public class BinarySearch { public static void main(String[] args) { int[] arr = {1,2,4,5,6,8,9}; System.out.println(binarySearch(arr, 8)); } /** * 二分查找 * @pa...

2019-07-07 10:04:06 465

原创 下拉框对应枚举类型

public enum ColorEnum { RED("red","红色"),GREEN("green","绿色"),BLUE("blue","蓝色"); private final String key; private final String value; ColorEnum(String key, String value) { thi...

2019-06-23 09:43:47 1177

原创 计算机的基本组成

以存储器为中心的计算机框架图运算器用来完成算数运算和逻辑运算,并将运算的结果暂存在运算器中。存储器用来存放数据和程序控制器控制程序和数据的输入、运行以及处理运算结果输入设备用来将人们熟悉的信息形式转换为机器能识别的信息形式输出设备将机器的运算结果转换为人们熟悉的信息形式计算器的五大部件在控制器的统一指挥下,有条不紊的自动工作!运算器和控制器在逻辑关系和电路结果上联系十...

2019-06-02 07:54:12 301

原创 使用指针交换两个变量的值

/* * 使用指针交换两个变量的值 * 变量a、b的地址没有变,但是地址指向内容发生改变 */void swap(int *a,int *b) { int temp = *a; *a = *b; *b = temp;}int main() { int a = 10; int b = 20; swap(&amp;a,&amp;b); printf("a = %d,b = ...

2018-12-22 21:55:58 1670

原创 windows下如何安装consul

consul官网下载:https://www.consul.io/downloads.html解压配置换将变量在path下加上:D:\develop\software\consul(你解压的目录)cmd 命令行启动consul agent -dev打开网址:http://localhost:8500 ,可以看到界面,相关服务发现的界面。...

2018-11-24 10:05:27 181

原创 git基本使用

平常我们使用git的操作git add . 将工作区的所有变化提交到暂存区git commit -m “本次提交的备注” 将暂存区所有变化提交到本地仓库git pull 将远程仓库和本地仓库同步一下(多人合作的时候可能远程仓库被修改)git push 推送到远程仓库多人合作开发的时候在git push的时候要先git pull因为有可能远程仓库已经被修改,而本地没有,说白了就是没有同步...

2018-11-13 23:10:42 141

原创 Spring boot中使用拦截器不能注入Bean

在做一个登录的拦截器,因为将用户的信息放在Redis中,所以需要在拦截器中注入RedisTemplate,但是注入失败!解决:通过@Bean的方式注入拦截器@Configurationpublic class MyWebMvcConfigurer extends WebMvcConfigurerAdapter { //将拦截器注入为Bean @Bean public Lo...

2018-10-03 21:18:45 1462

原创 Spring boot整合 dubbo

服务提供者添加dubbo依赖和zkClient客户端&lt;!--引入dubbo启动器--&gt;&lt;dependency&gt; &lt;groupId&gt;com.alibaba.boot&lt;/groupId&gt; &lt;artifactId&gt;dubbo-spring-boot-starter&lt;/artifactId&gt; &lt;...

2018-10-01 18:26:18 196

原创 Spring boot中使用JSP

创建jsp页面在pom.xml文件中引入依赖&lt;!--引入Spring Boot内嵌的Tomcat对JSP的解析包--&gt;&lt;dependency&gt; &lt;groupId&gt;org.apache.tomcat.embed&lt;/groupId&gt; &lt;artifactId&gt;tomcat-embed-jasper&lt;/artifactId&gt...

2018-10-01 13:31:47 206

原创 centos安装JDK

1,下载 jdk-8-linux-x64.tar.gz2,解压到/usr/local/jdk8目录下tar -zxvf jdk-8-linux-x64.tar.gz -C /usr/local/jdk83,配置环境变量 vim /etc/profile 在末尾添加4,重新加载/etc/profile文件,让配置的环境变量生效source /etc/profile5,java -...

2018-09-29 20:39:02 137

原创 Ribbon负载均衡策略配置

Spring Cloud Ribbon介绍Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于NetFlix Ribbon实现。通过Spring Cloud的封装,可以让我们轻松地将面向服务的REST请求自动转换为客户端负载均衡的服务调用。客户端负载均衡平时我们说的负载均衡都指的是服务端的负载均衡,其中分为硬件负载均衡和软件负载均衡。硬件负载均衡比如F...

2018-09-29 18:40:49 5873 1

原创 高可用的服务注册中心-Eureka集群

Eureka集群框架图在微服务架构这样的分布式环境中,我们要充分考虑到可能发生故障的情况,所以需要进行高可用的部署。两个Eureka Server、两个服务提供者和一个服务调用者工程结构修改C:\Windows\System32\drivers\etc\HOSTS文件因为只要一台机器,要构建集群,需要修改HOSTS文件,添加主机名映射# eureka服务器配置127.0.0....

2018-09-28 20:43:05 696

原创 Spring boot打成jar包执行没有主清单属性

因为使用parent工程来统一管理jar包,所以我们的子工程是继承父工程!所以没有继承spring-boot-starter-parent这个parent pom!而是引入spring-boot-starter-parent的依赖,导致spring-boot-maven-plugin的配置项丢失!解决:补全spring-boot-maven-plugin&amp;lt;plugin&amp;gt; &amp;lt...

2018-09-28 18:09:30 1764

空空如也

空空如也

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

TA关注的人

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