JAVA
JAVA
jeason-wang
这个作者很懒,什么都没留下…
展开
-
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 · 918 阅读 · 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 · 343 阅读 · 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 · 11003 阅读 · 6 评论 -
Kafka+zookeeper搭建过程
本文主要记录在win10环境搭建kafka+zookeeper原创 2020-11-18 15:47:00 · 323 阅读 · 0 评论 -
spring中的@EnableAsync注解@Async注解实现异步执行任务
spring中的@EnableAsync注解@Async注解实现异步执行任务在平时使用多线程的时候大多是通过这几种方式:实现Thread接口继承Runable类使用线程池但是在spring中提供了别的方式实现多线程功能,避免了大量冗余代码,就是使用@EnableAsync注解就可以了,将@EnableAsync注解加到创建线程池的配置类上(使用@Configuration注解修饰的类),将@Async注解加到需要异步执行的任务上(具体的实现方法)。第一步定义配置类,配置线程池package原创 2020-11-07 21:53:30 · 1401 阅读 · 0 评论 -
字符串排序
题目描述编写一个程序,将输入字符串中的字符按如下规则排序。规则 1 :英文字母从 A 到 Z 排列,不区分大小写。如,输入: Type 输出: epTy规则 2 :同一个英文字母的大小写同时存在时,按照输入顺序排列。如,输入: BabA 输出: aABb规则 3 :非英文字母的其它字符保持原来的位置。如,输入: By?e 输出: Be?y注意有多组测试数据,即输入有多行,每一行单独处理(换行符隔开的表示不同行)import java.util.*;public ...原创 2020-06-17 00:41:40 · 3439 阅读 · 0 评论 -
JAVA零散知识点记录
零散知识点记录:@PostConstruct@PostConstruct注解的方法在项目启动的时候执行这个方法,也可以理解为在spring容器启动的时候执行,可作为一些数据的常规化加载,比如数据字典之类的。构造方法->@Autowired->@PostConstruct修饰的方法->init()->serviceCollector和CollectorsCollector是专门用来作为Stream的collect方法的参数的而Collectors是作为生产具体Colle原创 2020-06-14 18:09:53 · 187 阅读 · 0 评论 -
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 · 125 阅读 · 0 评论 -
SpringBoot/SpringMvc添加拦截器
最近给SpringBoot(SpringMvc)添加拦截器的时候遇到了一个小坑,记录一下一般给SpringMvc添加拦截器的时候我们首先想到了这种方式: @Override public void addInterceptors(InterceptorRegistry registry){ List<String> excludePath = new ArrayList<>(); //排除拦截,除了注册登录(此时还没token)原创 2020-05-10 12:23:50 · 629 阅读 · 0 评论 -
SpringBoot实战项目收藏(都是超级好的)
mallGithub地址:https://github.com/macrozheng/mall star: 22.9k 介绍: mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现。 前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。 后台管理系统包含商品管理、订单管理、会员管...原创 2020-05-07 00:27:38 · 23268 阅读 · 3 评论 -
java stream学习
Java 8 API添加了一个新的抽象称为流Stream,Stream API可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。这种风格将要处理的元素集合看作一种流, 流在管道中传输, 并且可以在管道的节点上进行处理, 比如筛选, 排序,聚合等。元素是特定类型的对象,形成一个队列。 Java中的Stream并不会存储元素,而是按需计算。package practice...原创 2020-05-06 00:32:52 · 113 阅读 · 0 评论 -
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 · 1374 阅读 · 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 · 872 阅读 · 1 评论 -
快速排序
快速排序代码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 · 93 阅读 · 0 评论 -
SpringBoot注册拦截器
创建一个SpringBoot项目,添加spring-boot-start-web依赖 创建拦截器要实现HandlerInterceptor接口,代码如下: public class MyInterceptor implements HandlerInterceptor { @Override public boolean preHandler(HttpServletReque...原创 2020-02-14 20:39:19 · 129 阅读 · 0 评论 -
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 · 154 阅读 · 0 评论 -
String、StringBuffer、StringBuilder
String:不可变字符串;StringBuffer:可变字符串、效率低、线程安全;StringBuilder:可变字符序列、效率高、线程不安全;运行速度:StringBuilder>StringBuffer>StringString为字符串常量,一旦创建后是不可变的,一旦做出改变其实质是再次创建,而StringBuilder和StringBuffer均为字符串变量,是...转载 2019-01-04 23:48:18 · 81 阅读 · 0 评论 -
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 · 127 阅读 · 0 评论