- 博客(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
235
原创 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
1423
原创 文件服务表结构设计
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
1630
1
原创 MySQL索引
索引是要存储在硬盘中的,磁盘的I/O操作相比于内存来说时间消耗要高的。所以一次查询,应该要尽量减少磁盘I/O的次数!二叉查找树(Binary Search Tree)的局限性二叉搜索树的特点:父节点左子数的所有节点都小于父节点,右子树所有节点都大于父节点查询的时间复杂度为O(log(N))如果用二叉树作为索引的实现结构,会让树变得很高,增加硬盘的 I/O 次数,影响数据查询的时间。InnoDB的索引结构:B+树非叶子节点仅用于索引,不保存数据记录,跟记录有关的信息都放在叶子节点中。叶子节点
2021-03-03 18:09:49
246
2
原创 项目中工厂+策略设计模式的使用
项目中需要同步中台基础数据事件包含:用户( 行政组织人员 、 外聘服务人员 、 教师 )部门用户部门管理学校项目整体架构定义策略针对这些不同的数据,都有增加、编辑、删除操作策略接口和一组实现这个接口的策略类基于接口而非实现编程,可以灵活地替换不同的策略策略接口/** * @author lc * @desc (数据处理接口定义) * @date 2021/1/7 */public interface SyncDataStrategy { void add(
2021-01-23 14:13:05
326
2
原创 Maven去除引用依赖中的过多依赖
ecampus-im-api中的类使用了mongo中的注解,需要添加mongo的依赖我的项目依赖了ecampus-im-api,在启动的时候必须配置mongo的连接;但是我的项目中没有使用mongo,所以去除mongo的依赖。
2021-01-11 17:22:02
646
原创 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
1541
1
原创 Redis分布式锁实现
在单进程多线程的情况下,为了防止多个线程竞争共享资源,需要使用锁。java中提供了显示锁和隐式锁。但是在分布式部署的多进程下,就必须使用分布式锁。分布式锁的条件保证在分布式部署的应用集群中,同一个方法在同一时间只能被一台机器上的一个线程执行// 加锁, unique_value作为客户端唯一性的标识SET lock_key unique_value NX PX 10000Redis的set命令可以增加NX选项,不存在即设置;只有在键值对不存在时,才会进行设置,否则不做赋值操作PX选项,
2020-12-02 17:17:28
130
原创 Xshell远程登录服务器只能使用public key,无法使用password
vim /etc/ssh/sshd_configPasswordAuthentication yes 是否可以密码认证,修改成yes然后重启sshd服务service sshd restart
2020-04-20 10:36:47
1957
原创 maven命令package、install、deploy
package:编译、打包在本项目中,没有部署到本地仓库和私服仓库install:编译、打包,并将打好的包部署到本地仓库,但没有部署到私服仓库deploy:编译、打包,将打好的包部署到本地仓库和私服仓库...
2020-04-20 08:59:04
217
原创 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
370
原创 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 git@github.com如果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
206
原创 散列表+双向链表实现LRU算法
缓存是一种提高数据读取性能的技术,比如常见的CPU缓存,数据库缓存以及浏览器缓存。缓存的大小有限,当缓存被用满时,哪些数据应该被清理出去,哪些数据应该被保留?缓存淘汰策略,常见的有三种,先进先出策略FIFO,最少使用策略LFU,最近最少使用策略LRULeast Recently Used)。散列表+双向链表实现LRU算法我们需要维护一个按照访问时间从大到小有序排列的链表结构。因为缓存大小...
2019-08-19 18:27:03
822
原创 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
21580
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 ->...
2019-07-17 21:27:07
4404
原创 使用两个栈来完成算数表达式求值
栈(stack)后进先出(FILO)策略的数据结构。 public class Evaluate { public static void main(String[] args) { System.out.println(evaluate()); } /** * 使用两个栈来完成表达式运算 * 表达式由括号、运算符、和操作数...
2019-07-08 23:10:46
1218
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
125
原创 二分查找(循环+递归)
循环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
522
原创 下拉框对应枚举类型
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
1221
原创 计算机的基本组成
以存储器为中心的计算机框架图运算器用来完成算数运算和逻辑运算,并将运算的结果暂存在运算器中。存储器用来存放数据和程序控制器控制程序和数据的输入、运行以及处理运算结果输入设备用来将人们熟悉的信息形式转换为机器能识别的信息形式输出设备将机器的运算结果转换为人们熟悉的信息形式计算器的五大部件在控制器的统一指挥下,有条不紊的自动工作!运算器和控制器在逻辑关系和电路结果上联系十...
2019-06-02 07:54:12
351
原创 使用指针交换两个变量的值
/* * 使用指针交换两个变量的值 * 变量a、b的地址没有变,但是地址指向内容发生改变 */void swap(int *a,int *b) { int temp = *a; *a = *b; *b = temp;}int main() { int a = 10; int b = 20; swap(&a,&b); printf("a = %d,b = ...
2018-12-22 21:55:58
1711
原创 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
212
原创 git基本使用
平常我们使用git的操作git add . 将工作区的所有变化提交到暂存区git commit -m “本次提交的备注” 将暂存区所有变化提交到本地仓库git pull 将远程仓库和本地仓库同步一下(多人合作的时候可能远程仓库被修改)git push 推送到远程仓库多人合作开发的时候在git push的时候要先git pull因为有可能远程仓库已经被修改,而本地没有,说白了就是没有同步...
2018-11-13 23:10:42
164
原创 Spring boot中使用拦截器不能注入Bean
在做一个登录的拦截器,因为将用户的信息放在Redis中,所以需要在拦截器中注入RedisTemplate,但是注入失败!解决:通过@Bean的方式注入拦截器@Configurationpublic class MyWebMvcConfigurer extends WebMvcConfigurerAdapter { //将拦截器注入为Bean @Bean public Lo...
2018-10-03 21:18:45
1501
原创 Spring boot整合 dubbo
服务提供者添加dubbo依赖和zkClient客户端<!--引入dubbo启动器--><dependency> <groupId>com.alibaba.boot</groupId> <artifactId>dubbo-spring-boot-starter</artifactId> <...
2018-10-01 18:26:18
223
原创 Spring boot中使用JSP
创建jsp页面在pom.xml文件中引入依赖<!--引入Spring Boot内嵌的Tomcat对JSP的解析包--><dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId>...
2018-10-01 13:31:47
239
原创 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
168
原创 Ribbon负载均衡策略配置
Spring Cloud Ribbon介绍Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于NetFlix Ribbon实现。通过Spring Cloud的封装,可以让我们轻松地将面向服务的REST请求自动转换为客户端负载均衡的服务调用。客户端负载均衡平时我们说的负载均衡都指的是服务端的负载均衡,其中分为硬件负载均衡和软件负载均衡。硬件负载均衡比如F...
2018-09-29 18:40:49
5987
1
原创 高可用的服务注册中心-Eureka集群
Eureka集群框架图在微服务架构这样的分布式环境中,我们要充分考虑到可能发生故障的情况,所以需要进行高可用的部署。两个Eureka Server、两个服务提供者和一个服务调用者工程结构修改C:\Windows\System32\drivers\etc\HOSTS文件因为只要一台机器,要构建集群,需要修改HOSTS文件,添加主机名映射# eureka服务器配置127.0.0....
2018-09-28 20:43:05
765
原创 Spring boot打成jar包执行没有主清单属性
因为使用parent工程来统一管理jar包,所以我们的子工程是继承父工程!所以没有继承spring-boot-starter-parent这个parent pom!而是引入spring-boot-starter-parent的依赖,导致spring-boot-maven-plugin的配置项丢失!解决:补全spring-boot-maven-plugin&lt;plugin&gt; &lt...
2018-09-28 18:09:30
1793
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人