- 博客(52)
- 资源 (56)
- 收藏
- 关注

原创 电商下单秒杀场景配套技术:MySql(商品库存和订单存储)+Redis(缓存商品库存,下单从redis减库存)+ActiveMQ(下单后同步减Mysql库存)
配套技术:MySql(商品库存和订单存储)+Redis(缓存商品库存,下单从redis减库存)+ActiveMQ(下单后同步减Mysql库存)整体思路是:1、设定秒杀库存,在商品上架/设定库存等接口,将库存存储到MySQL并在缓存Redis里也存储一份2、模拟N个并发量和M个总访问量下单秒杀,这里下单不是真实下单,只是减掉Redis库存,然后想MQ发送下达请求3、MQ监听器下单,这里是真实的生成订单记录,并从redis同步库存到MySql,多并发的情况在Redis做了排队减库存,并在MQ做了
2020-12-03 14:34:21
1135

转载 centos7 安装nginx 及反向代理配置
1.安装gcc gcc是用来编译下载下来的nginx源码yum install gcc-c++2、安装pcre和pcre-devel PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,pcre-devel 是使用 pcre 开...
2020-04-27 14:31:35
782

原创 分布式事务TCC使用手册
1、pom.xml配置<dependency> <groupId>com.jinnjo.tx</groupId><artifactId>spring-boot-starter-narayana-lra</artifactId> <version>2.0.9</version></depen
2018-11-09 10:07:44
2262

原创 Snowflake与hibernate集成
背景 由于要支持多数据中心,每个数据中心中数据主键不能与其他数据中心的数据有重复的主键;使用须知 1.数据库主键相关数据类型必须是18位以上的数字 2.代码中的主键相关数据类型必须是18字节以上数字 3.所有接口提供开发需要将涉及主外键字段转换成字符串返回(解决javascript数据类型精度不足问题)使用步骤 配置方案: 1.环境变...
2018-11-09 09:45:56
932

原创 Spring Boot使用flayway自动执行数据库升级脚本
一、 添加flayway-core依赖<dependency> <groupId>org.flywaydb</groupId> <artifactId>flyway-core</artifactId> <version>5.0.7</version></dependenc
2018-07-04 08:52:48
8668

原创 常用正则表达式(英文单词、数字、中文 、URL 、电话、身份证、输入内容必须以逗号隔开等)
/* 英文单词 */ public static final String REGEX_WORD_EN = "^\\w+$"; /** 中文 */ public static final String REGEX_WORD_CN = "[\u4E00-\u9FA5]+"; /** 6到30位 数字 + 字符 + _,常用于用户名注册 */ public s...
2018-05-02 15:25:30
23018
2

转载 java 常用集合list与Set、Map区别及适用场景总结
java 常用集合list与Set、Map区别及适用场景总结 1、ArrayList与LinkedList的区别和适用场景2、ArrayList与Vector的区别和适用场景3、HashSet与Treeset的适用场景4、HashMap与TreeMap、HashTable的区别及适用场景
2017-08-15 17:02:13
408

原创 Vue中用到jeDate日期控件,Vue对象中的值滞后,总是滞后当前选择的值
Vue中用到jeDate日期控件,在选择完日期没有办法直接绑定到Vue对象上,需要用传统的Jquery或者Input的Value属性再赋值到Vue对象上。或者在js 中注册了日期组件并和Vue对象绑定,结果每次Vue对象中的值滞后,总是滞后当前选择的值。
2017-07-28 11:29:37
5133

原创 MUI列表中用到pullRefresh插件的上拉刷新,会存在第一次过滤数据或者查询数据如果没有结果时,没有提示“没有更多数据了”
MUI列表中用到pullRefresh插件的上拉刷新,会存在第一次过滤数据或者查询数据如果没有结果时,没有提示“没有更多数据了”
2017-07-28 11:24:29
14788
2
原创 Mysql查询数据库或数据表中的数据量以及数据大小
这个查询会返回每个数据库的名称和它们占用的总大小(以MB为单位)。是表数据占用的大小,是表索引占用的大小。
2024-08-29 15:16:42
464
1
原创 版本管理工具git常用命令
一、git是什么,⽤来做什么git是分布式版本控制系统,⽤来进⾏版本管理⼆、git有什么特点git VS svn git是分布式,svn是集中式。分布式版本系统的最⼤好处之⼀是在本地⼯作完全不需要考 虑远程库的存在,也就是有没有联⽹都可以正常⼯作,当有⽹络的时候,再把本地提交推 送⼀下就完成了同步,⽽SVN在没有联⽹的时候是拒绝⼲活的! git有暂存区的概念,svn没有 git 跟踪并管理的是修改,⽽⾮⽂件三、git如何使⽤1. 创建版本库git initgit init
2021-11-26 18:15:35
7271
原创 Centos7开放及查看端口
1、开放端口firewall-cmd --zone=public --add-port=5672/tcp --permanent#开放5672端口firewall-cmd --zone=public --remove-port=5672/tcp --permanent#关闭5672端口firewall-cmd --reload #配置立即生效2、查看防火墙所有开放的端口firewall-cmd --zone=public --list-ports3.、关闭防...
2021-08-18 09:57:54
322
原创 消息中间件应用场景对比(Kafka、ActiveMQ、RabbitMQ、RocketMQ)
综上,各种对比之后,有如下建议:一般的业务系统要引入 MQ,最早大家都用 ActiveMQ,但是现在确实大家用的不多了,没经过大规模吞吐量场景的验证,社区也不是很活跃,所以大家还是算了吧,我个人不推荐用这个了;后来大家开始用 RabbitMQ,但是确实 erlang 语言阻止了大量的 Java 工程师去深入研究和掌控它,对公司而言,几乎处于不可控的状态,但是确实人家是开源的,比较稳定的支持,活跃度也高;不过现在确实越来越多的公司会去用 RocketMQ,确实很不错,毕竟是阿里出品,但社区可能..
2020-07-23 15:07:43
555
原创 ieda项目启动JSR-330 javax.inject.Inject annotation found and supported for autowiring卡住不动
ieda在debug项目启动时候控制台输出下面信息之后就卡住不动记录原因:接口处方法名上有个断点未放过。特此记录。
2020-05-27 14:29:51
699
原创 Java装配Bean两个注解@Resource与@Autowired的区别
@Resource默认按照名称方式进行bean匹配,@Autowired默认按照类型方式进行bean匹配@Resource(import javax.annotation.Resource;)是J2EE的注解,@Autowired( import org.springframework.beans.factory.annotation.Autowired;)是Spring的注解Spring属于...
2020-03-12 14:08:44
608
原创 抽象类和接口的区别
抽象类要被子类继承,接口要被类实现。 接口只能做方法声明,抽象类中可以作方法声明,也可以做方法实现。 接口里定义的变量只能是公共的静态的常量,抽象类中的变量是普通变量。 接口是设计的结果,抽象类是重构的结果。 抽象类和接口都是用来抽象具体对象的,但是接口的抽象级别最高。 抽象类可以有具体的方法和属性,接口只能有抽象方法和不可变常量。 抽象类主要用来抽象类别,接口主要用来抽象功能。抽象...
2019-12-31 14:28:24
3903
1
转载 Spring Data JPA使用Sort进行排序(Using Sort)
结合@Query注解,我们可以使用Sort来对结果进行排序。1、在CustomerRepository内添加方法? 1 2 3 4 5 6 7 8 9 10 /** * 一个参数,匹配两个字段 * @param name2 * @param sort 指定排...
2019-10-15 11:34:21
16723
原创 RestFul接口支持HAL和JSON格式
关闭默认hal序列化选项,在配置文件中加上如下设定spring.hateoas.use-hal-as-default-json-media-type=false此设定会使hateoas不再处理application/json的序列化,这样就可以针对application/json和application/hal+json分开处理。在Controller的注解上指明支持json和hal两种...
2018-11-09 10:38:17
3027
原创 intellij Idea报错Could not autowire. No beans of...checks autowiring problems in a bean class
ntellig idea 使用@Resource或者@Autowire报错,出现红色波浪线;虽然不影响使用,但是看着很不爽,所以还是解决了下:报错提示: Could not autowire. No beans of '' type found. less... (Ctrl+F1) Checks autowiring problems in a bean ...
2018-06-07 15:15:37
8521
原创 Java8 List&;amp;amp;Map操作 stream ,filter ,map,forEach等功能
List<Apple> appleList = new ArrayList<>();//存放apple对象集合 Apple apple1 = new Apple(1,"苹果1",new BigDecimal("3.25"),10); Apple apple12 = new Apple(1,"苹果2",new BigDecimal("1.3...
2018-05-23 14:23:59
1649
1
转载 安装npm及cnpm(Windows)
工具官网】Node.js : http://nodejs.cn/淘宝NPM: https://npm.taobao.org/ 【安装步骤】一、安装node.js1.前往node.js官网下载并安装工具,这里安装路径选到D盘,D:\Program Files\nodejs 安装完毕在命令行输入以下命令测试是否安装成功,正确会出现版本号1npm -v 2.改变原有的环境变量, (1)我们要先配置np...
2018-03-06 14:43:30
306
原创 Windows7系统 Navicat连接MySQL提示错误1045 Access denied for user 'root'@'localhost' (using password:YES)
1、开始菜单里,搜索cmd,右击,以管理员身份运行控制台。停止mysql服务,输入:net stop mysql;点击回车即可。2、进入mysql的安装路径,如我的安装路径为C:\Program Files\MySQL\MySQL Server 5.5,打开my.ini文件,找到[mysqld],在该行下面添加 skip_grant_tables,也就是通知mysql,在登陆的时候跳过密码的验
2018-01-29 16:41:08
608
转载 Session和Cookie的区别与联系
1、cookie数据存放在客户的浏览器上,session数据放在服务器上。2、cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session。3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie。4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。5、可以考虑将登陆信息等重要信息存放为session,其他信息如果需要
2017-08-16 16:01:14
295
转载 重写(Overriding)与重载(Overloading)的区别
重写(Overriding)与重载(Overloading)的区别方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。
2017-08-16 15:43:17
1025
转载 String、StringBuffer与StringBuilder之间区别
String、StringBuffer与StringBuilder之间区别
2017-08-16 15:00:37
333
转载 Java HashMap工作原理及实现
从本文你可以学习到: 什么时候会使用HashMap?他有什么特点? 你知道HashMap的工作原理吗? 你知道get和put的原理吗?equals()和hashCode()的都有什么作用? 你知道hash的实现吗?为什么要这样实现? 如果HashMap的大小超过了负载因子(load factor)定义的容量,怎么办?
2017-08-16 14:45:06
241
原创 Vue中Class与Style绑定
与 Style 绑定,数据绑定一个常见需求是操作元素的 class 列表和它的内联样式。因为它们都是属性,我们可以用v-bind 处理它们:只需要计算出表达式最终的字符串。不过,字符串拼接麻烦又易错。因此,在v-bind 用于 class 和 style 时, Vue.js 专门增强了它。表达式的结果类型除了字符串之外,还可以是对象或数组,此外,v-bind:class 指令可以与普通的 class 属性共存。 例1:<divv-bind:class="{ active: isActive }"><
2017-07-28 11:22:01
333
pdf打印机 转换word为pdf
2012-05-14
jce_policy-8.zip 开启JDK8对高强度加密算法支持
2020-03-12
spring-cloud-starter-stream-rabbit MQ使用规范
2020-03-12
ElasticSearch、Logstash、Kibana
2017-08-11
Java 实现word文件增加图片水印 jacob实现 用到的jar
2017-07-28
plsql连接oracle服务器监听配置文件
2014-06-03
flex 利用FileReference上传firefox报2038错误
2013-08-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人