自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jeason的博客

个人小记

  • 博客(31)
  • 收藏
  • 关注

原创 linux交换空间设置

这里使用的是阿里云主机,2g,默认没有设置交换空间(swap)。使用free -m可以查看。1、查看交换空间查看swap交换空间方式一:free -m查看swap交换空间方式二:grep SwapTotal /proc/meminfo查看swap交换空间方式三:cat /proc/swaps2、增加swap交换空间使用dd命令创建一个swap交换文件:dd if=/dev/zero of=/var/swapfile bs=1Mcount=2048bs指的是Block Size,就是每一块的大

2021-01-09 12:38:23 1677

原创 spring事务和加可重入锁解决库存超卖遇到的问题

想法:使用可重入锁实现预锁库存,防止超卖现象,数据库中存入100件商品,测试时每次购买一件,预锁定一件。理想状态是无超卖现象。@PostMapping("/buyLock") @Transactional(rollbackFor = Exception.class,isolation = SERIALIZABLE) public String buyLock(Integer quantity,Long skuId){ lock.lock(); try

2021-01-07 17:05:41 951 2

原创 ELK在线日志系统搭建

ELK在线日志系统搭建ElasticSearch安装1、下载elasticsearch-7.4.0,解压安装包到路径/usr/local/elk下tar -zxvf elk/elasticsearch-7.4.0-linux-x86_64.tar.gz -C /usr/local/elk/创建用户并赋权useraddes_usergroupadd esgroupchown -R es_user:esgroup /usr/local/elk3、修改ES配置文件:.

2020-12-19 00:07:14 353 1

原创 SpringBoot多模块项目中无法注入其他模块中的spring bean

SpringBoot多模块项目中无法注入其他模块中的spring bean在一个springboot项目中年建了一个common模块,一个admin模块,在admin模块中引入common模块依赖,发现无法注入common模块中的bean,idea提示无法找到bean。瞎忙活一晚上,最后发现是两个模块路径不同意,一个是com.example.common,另一个是com.example.admin。最后都改成com.example就好了。总之就是多模块项目中各个模块的路径要一样。...

2020-12-04 02:27:01 11085 6

原创 Kafka+zookeeper搭建过程

本文主要记录在win10环境搭建kafka+zookeeper

2020-11-18 15:47:00 331

原创 spring中的@EnableAsync注解@Async注解实现异步执行任务

spring中的@EnableAsync注解@Async注解实现异步执行任务在平时使用多线程的时候大多是通过这几种方式:实现Thread接口继承Runable类使用线程池但是在spring中提供了别的方式实现多线程功能,避免了大量冗余代码,就是使用@EnableAsync注解就可以了,将@EnableAsync注解加到创建线程池的配置类上(使用@Configuration注解修饰的类),将@Async注解加到需要异步执行的任务上(具体的实现方法)。第一步定义配置类,配置线程池package

2020-11-07 21:53:30 1436

原创 字符串排序

题目描述编写一个程序,将输入字符串中的字符按如下规则排序。规则 1 :英文字母从 A 到 Z 排列,不区分大小写。如,输入: Type 输出: epTy规则 2 :同一个英文字母的大小写同时存在时,按照输入顺序排列。如,输入: BabA 输出: aABb规则 3 :非英文字母的其它字符保持原来的位置。如,输入: By?e 输出: Be?y注意有多组测试数据,即输入有多行,每一行单独处理(换行符隔开的表示不同行)import java.util.*;public ...

2020-06-17 00:41:40 3471

原创 JAVA零散知识点记录

零散知识点记录:@PostConstruct@PostConstruct注解的方法在项目启动的时候执行这个方法,也可以理解为在spring容器启动的时候执行,可作为一些数据的常规化加载,比如数据字典之类的。构造方法->@Autowired->@PostConstruct修饰的方法->init()->serviceCollector和CollectorsCollector是专门用来作为Stream的collect方法的参数的而Collectors是作为生产具体Colle

2020-06-14 18:09:53 204

原创 SpringBoot实现跨域

方法一:package com.jeason.mymalladmin.config;import org.springframework.context.annotation.Configuration;import org.springframework.web.servlet.config.annotation.CorsRegistry;import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;/

2020-05-10 23:06:34 130

原创 SpringBoot/SpringMvc添加拦截器

最近给SpringBoot(SpringMvc)添加拦截器的时候遇到了一个小坑,记录一下一般给SpringMvc添加拦截器的时候我们首先想到了这种方式: @Override public void addInterceptors(InterceptorRegistry registry){ List<String> excludePath = new ArrayList<>(); //排除拦截,除了注册登录(此时还没token)

2020-05-10 12:23:50 665

原创 SpringBoot实战项目收藏(都是超级好的)

mallGithub地址:https://github.com/macrozheng/mall star: 22.9k 介绍: mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现。 前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。 后台管理系统包含商品管理、订单管理、会员管...

2020-05-07 00:27:38 23405 3

原创 java stream学习

Java 8 API添加了一个新的抽象称为流Stream,Stream API可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。这种风格将要处理的元素集合看作一种流, 流在管道中传输, 并且可以在管道的节点上进行处理, 比如筛选, 排序,聚合等。元素是特定类型的对象,形成一个队列。 Java中的Stream并不会存储元素,而是按需计算。package practice...

2020-05-06 00:32:52 118

原创 Linux常用命令

常用命令简介date ,显示日期;cal显示日历Ctrl + Ins,复制;Shift + Ins,粘贴chown,改变文件拥有者;chmod,改变文件权限;uname -r,查看版本信息;cd ~,回到root目录;pwd,查看当前路径;ls,查看当前目录下所有文件;mkdir,新建目录;rm,删除档案或目录 ;cp,复制档案或目录;mv,移动档案或目录;cat,显示...

2020-05-03 15:31:44 124

原创 HashMap的五种遍历方法

HashMap的五种遍历方法,包括新特性lambda方式:import java.util.HashMap;import java.util.Iterator;import java.util.Map;public class Main { public static void main(String[] args) { hash(); } p...

2020-04-20 21:45:48 1383 1

原创 Docker下载镜像太慢

解决Docker下载镜像速度太慢,实测好用。1、以root权限打开终端,可以su root切换root用户或者直接在前面加sudo2、docker安装好后,打开 vim /etc/docker/daemon.json3、写入(按i键进入写模式,按esc退出写模式,:wq保存并推出):{ "registry-mirrors":["https://almtd3fa.mirro...

2020-04-04 19:58:13 886 1

原创 SpringBoot实现热部署

最近自己使用SpringBoot开发的时候,每一次修改完代码后都要重启服务,这样很费时间,也挺心疼我电脑的,所以特意查了一下热部署,常用的有三种,但是最常用的其实就是devtools。1、在pom.xml中添加依赖:<!--devtools热部署--><dependency> <groupId>org.springframework.boot...

2020-03-31 00:22:26 116

原创 SpringBoot+MyBatis中开启sql日志

发现用SpringBoot+MyBatis时默认是不开启sql日志打印的,但是最近在看redis,用redis做缓存的时候看不到日志没法区分是从缓存查的还是从数据库查的,所以查了一下怎么打sql,发现特别简单:直接在application.properties中加上:logging.level.com.wang.myvhr=DEBUG即可,“com.wang.myvhr”替换成你的包名。y...

2020-03-31 00:06:27 2586

原创 快速排序

快速排序代码package sorts;public class QuickSort { public static void quickSort(int[] nums, int low, int high) { int left,right,temp; left = low; right =high; if (low < high) { temp = ...

2020-02-16 12:14:48 96

原创 SpringBoot注册拦截器

创建一个SpringBoot项目,添加spring-boot-start-web依赖 创建拦截器要实现HandlerInterceptor接口,代码如下: public class MyInterceptor implements HandlerInterceptor { @Override public boolean preHandler(HttpServletReque...

2020-02-14 20:39:19 137

原创 Angular7/8实现跨域

现在前后端分离技术越来越流行,已是大势所趋,在Angular + SpringBoot前后端分离项目搭建中由于前后端分别跑在两个不同的端口上(前端angular跑在4200,后端服务跑在8080),导致跨域问题。什么是跨域?出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到...

2020-01-08 00:05:49 1885 1

原创 Spring Mvc和Struts2的区别

Spring Mvc是一个MVC框架,常用的SSM就是Spring+Spring Mvc+Mybatis三大框架的整合。Struts2也是一个非常成熟和流行的MVC框架,SSH就是Spring+Struts2+Hibernate三大框架的整合。不过SSM较SSH轻量、流行。Spring Mvc和Struts2的区别:1.Spring Mvc入口是一个servlet前端控制器(Dispatc...

2019-04-29 13:48:35 158

转载 String、StringBuffer、StringBuilder

String:不可变字符串;StringBuffer:可变字符串、效率低、线程安全;StringBuilder:可变字符序列、效率高、线程不安全;运行速度:StringBuilder&gt;StringBuffer&gt;StringString为字符串常量,一旦创建后是不可变的,一旦做出改变其实质是再次创建,而StringBuilder和StringBuffer均为字符串变量,是...

2019-01-04 23:48:18 85

转载 fwrite,fread,frewind,fseek,ftell函数笔记

size_t fread(void *buf, size_t size, size_t count, FILE *fp);size_t fwrite(const void * buf, size_t size, size_t count, FILE *fp);在上面的 fread 和 fwrite 函数原型中:参数 size 是指单个元素的大小(其单位是字节而不是位,例如,读取一个 in...

2018-12-03 10:18:22 2617

原创 动态规划:最长公共子序列和公共子串

子序列: 一个序列A = a1,a2,……an,中任意删除若干项,剩余的序列叫做A的一个子序列。也可以认为是从序列A按原顺序保留任意若干项得到的序列。对序列 1,3,5,4,2,6,8,7来说,序列3,4,8,7 是它的一个子序列。对于一个长度为n的序列,它一共有2^n 个子序列,有(2^n – 1)个非空子序列。公共子序列 : 顾名思义,如果序列C既是序列A的子序列,同时也是序列B的子...

2018-12-01 07:41:02 262

原创 printf()函数

原型:int printf( const char* format , [argument] ... );printf函数可以根据指定格式从标准输出设备中输出信息.若成功则返回输出的字符数,输出出错则返回负值.        printf函数从左往右读取,然后将先读取放到栈底,最后读取的放在栈顶,处理时候是从栈顶开始的.所我们看见的结果是,从右边开始处理的....

2018-11-30 15:36:13 101

原创 字符串常量指针、常量指针和指针常量的区别

char *p = "hello";*p = 'a';printf("%s\n", p);字符串“hello”保存在常量区,其内容不许修改。char *p = "hello"; // p是一个指针,直接指向常量区,修改p[0]就是修改常量区的内容,这是不允许的。char p[] = "hello"; // 编译器在栈上创建一个字符串p,把abcd从常量区复制到p,修改p[0]就相当于修...

2018-11-29 09:46:57 2156

原创 sizeof和strlen

sizeof()是运算符,参数可以使数组,类型,函数,对象,指针等它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。    由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。实际上,用sizeof来返回类型以及静态分配的对象、结构或数组所占的空间,返回值跟对象、结构、数组所存储的内容没有关系。    具体而言,当参数分别如下时,sizeof返回的值表示的含义如...

2018-11-21 11:53:20 102

转载 数据库设计三大范式与BCNF

概念:(1) 实体(entity):就是实际应用中要用数据描述的事物,一般是名词。(2) 字段(fields):就是一项数据,也就是我们平常所说的“列”。(3) 记录(record):一个实体的一个实例所特有的相关数据项的集合,也就是我们平常所说的“行”。(4) 键(key):可唯一标识一条记录的一个字段或字段集,有时翻译为“码”。(5) 主键(primary key):用于唯一标识一个表中的一条...

2018-06-04 20:14:19 877

原创 简单说区块链

当下,区块链大火,简单记录一下自己学到的知识。区块链,简单来说就是一种特殊的分布式数据库。区块链的主要作用就是存储信息,这一点就像数据库。但是任何人都可以架设自己的服务器加入区块链网络从而成为其中的一个节点,所有节点都是平等的。你可以向任何一个节点中写入数据,所有节点最后会同步记录保持一致。区块链是无中心的,没有管理员。所有不可能被任何人任何公司控制。区块链由若干个区块组成,就像数据库中记录的数据...

2018-04-25 23:51:25 243

原创 postgresql可达性问题 递归查询

FLIGHTSOrigin:Destination:ABACBCCDCREATE TABLE flights(origin varchar(5),destination varchar(5));INSERT INTO flights values('A','B'),('A','C'),('B','C'),('C','D');找到所有(O-&gt;D),(出发点,起始点)方法一(union):需要找...

2018-04-15 17:12:36 550

原创 jdbc实现

package hello;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Connection;import java.sql.PreparedStatement;  public class Mypreparedstatement {    ...

2018-04-15 14:28:10 134

空空如也

空空如也

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

TA关注的人

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