自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

shugeshow's Blog

理想,是一步一个脚印踩出来的坎坷道路,坚持难能可贵!

  • 博客(37)
  • 资源 (2)
  • 收藏
  • 关注

原创 在IDEA中使用MyBatis Generator逆向工程生成代码

本文介绍一下用Maven工具如何生成Mybatis的代码及映射的文件。一、配置Maven pom.xml 文件在pom.xml增加以下插件: zsxt groupId>org.mybatis.generatorgroupId> mybatis-generator-maven-plugin 1.3.2

2016-04-23 20:35:03 49156 15

原创 亿级订单分库分表多维度拆分解决方案

订单分库分表不同于其他业务表分库分表,订单表的读写场景复杂,一般有买家维度、卖家维度、订单号维度3个主要维度。

2022-09-04 10:42:53 154 1

原创 《大厂等着我》系列之MySql相关面试题总结

这里写自定义目录标题《大厂等着我》系列之MySql相关面试题总结MySql事务特性(ACID)事务隔离级别undo logredo logMVCC索引(B树/B+树)分库分表binlog同步Es总结《大厂等着我》系列之MySql相关面试题总结我觉得数据库相关常问的面试题无非就这些,事务特性,隔离级别,undo log/redo log,MVCC,b树/b+树,为什么索引结构采用B+树,涉及到datePage的概念,然后索引优化,explain慢查询优化,几大索引,回表,索引下推,索引覆盖,大数量优化之分

2022-01-04 21:39:38 617

原创 我的大学系列——记第一次坐火车上大学

一杯敬故乡,一杯敬远方,背上所有的梦与想。 ——题记2011年9月,那是我第一次坐火车去上大学。也是第一次出省,第一次独自一人去远方,记得当时买的k552次列车还是硬座,一场二十几个小时的旅程。温州—哈尔滨的火车对于第一次坐火车离开家乡,去到了距离家乡数千公里外的城市,跨越几个省份,总觉这次出行意义些许不同。当昔日的少年提起行囊,背上所有的梦与想,一杯敬故乡,一杯敬远方。跨上列车,踏足异乡的土地时,故乡便在心上了。

2022-01-02 14:41:12 589

原创 Bean实体类转换

Bean实体类转换对象copy工具有很多,像dozer,orika等等。项目中对接搜索商品接口,原先是对接的是第三方平台的选单网,后面发现搜索类别实在太少了,只有一种like模糊搜索,后来打算用维易接口,搜索种类相对丰富。两者的商品实体类属性字段都各有差异,所以就通过从维易获取的结果转成选单的,使用了类型装换。搞了个demo,做个记录,方便以后查看。1.BaseDtopackage com....

2019-06-15 20:54:48 2241

原创 支付宝对账单CSV解析

支付宝对账单CSV解析一、读取zip文件,不解压缩直接解析,支持文件名中文,解决内容乱码import com.slx.outer.zip.ZipEntry;import com.slx.outer.zip.ZipInputStream;import org.junit.Test;import java.io.*;/** * @Author: slx * @Date: 2019...

2019-05-17 21:46:38 5767

原创 Java数据结构与算法_队列

Java数据结构与算法_队列一、队列介绍队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。二、单向队列的实现/** * @Author: slx * @Date: 2019/5/10 15:44 */public cla...

2019-05-12 21:34:17 171

原创 Java数据结构与算法_快速排序

Java数据结构预算法_快速排序一、快速排序介绍快速排序的原理:选择一个关键值作为基准值。比基准值小的都在左边序列(一般是无序的),比基准值大的都在右边(一般是无序的)。一般选择序列的第一个元素。一次循环:从后往前比较,用基准值和最后一个值比较,如果比基准值小的交换位置,如果没有继续比较下一个,直到找到第一个比基准值小的值才交换。找到这个值之后,又从前往后开始比较,如果有比基准值大的,交换位...

2019-05-11 22:58:41 306

原创 Java数据结构与算法_栈

Java数据结构与算法_栈一、栈简介栈(stack)是限制插入和删除只能在一个位置上进行的表,该位置是表的末端,叫做栈顶(top)。它是后进先出(LIFO)的。对栈的基本操作只有push(进栈)和pop(出栈)两种,前者相当于插入,后者相当于删除最后的元素。二、栈的Java实现/** * @Author: slx * @Date: 2019/5/9 18:37 */public ...

2019-05-10 15:39:13 167

原创 Java数据结构与算法_冒泡排序

Java数据结构与算法_冒泡排序一、冒泡排序介绍冒泡排序也称起泡排序,它是通过元素两两比较,如果前者比后者大,则交换位置,这样一趟排序下来,最大的元素就排到队尾了;反复此操作,直至数列有序完成排序操作。二、算法流程原始序列:49 38 65 97 76 13 27 49三、冒泡排序算法实现/** * Created by slx on 2017/8/19. */public cl...

2019-05-10 09:48:21 158

原创 zookeeper集群搭建

zookeeper集群搭建(伪集群)上传zookeeper-3.4.11.tar.gz解压tar vxzf zookeeper-3.4.11.tar.gz进入zookeeper新建data文件夹mkdir data进入conf文件将zoo_sample.cfg重命名为zoo.cfg进入到/usr/local文件夹下创建一个zookeeper-cluster文件夹将外部解压的zo...

2019-05-09 22:29:34 143

原创 Java学习视频分享

Java学习视频分享献给有缘人,在学习工作的路上遇到了很多人的指点,非常感谢!再此分享一些Java自学视频给一些初学者,希望大家能够坚持下去!欲速则不达,有时候慢慢来才是最快的。01-JavaSE知识(学习27天)链接:https://pan.baidu.com/s/19hfcFIcvMQd307E4a6ktbA提取码:epb602-Web前端知识(学习5天)链接:https://pa...

2019-05-08 21:58:54 259

原创 SpringMVC工作原理详解

SpringMVC工作原理详解低效的努力和无效的勤奋,只会让你稳定的累并穷着在整个Spring MVC 框架中,DispatcherServlet 处于核心位置,负责协调和组织不同组件以完成请求处理并返回响应的工作。Spring MVC工作流程图:SpringMVC 处理请求过程:1.用户向服务器发送请求,请求被Spring 前端控制Servelt DispatcherServlet...

2019-05-07 22:00:11 212

原创 Java多线程与并发_Synchronized和Lock实现生产者消费者模式

Java多线程与并发_Synchronized和Lock实现生产者消费者能自己扛,就别声张​一、生产者消费者例子现在两个线程可以操作初始值为零的一个变量,实现一个线程对该变量加1,一个线程对该变量减1交替,来10轮,变量初始值为零二、Synchronized实现/** * @Author: slx * @Date: 2019/4/24 19:09 */public clas...

2019-04-24 20:16:45 355

原创 Java多线程与并发_Java锁

Java多线程与并发_Java锁累吗?累就对了,说明你还活着一、公平锁与非公平锁公平锁:是指多个线程按照申请锁的顺序来获取锁,类似排队打饭,先来后到。非公平锁:是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取锁。在高并发的情况下,有可能会造成优先级反转或者饥饿现象并发包中ReentrantLock的创建可以指定构造函数boolean类型来得到公平锁...

2019-04-19 22:09:23 192

原创 Java多线程与并发_同步工具类CountDownLatch,CyclicBarrier和Semaphore

Java多线程与并发_CountDownLatch,CyclicBarrier和Semaphore人处在一种默默奋斗的状态,精神就会从琐碎生活中得到升华一、CountDownLatch构造器CountDownLatch(int count) //参数count为计数值主要方法:await():调用await()方法的线程会被挂起,它会等待直到count值为0才继续执行await...

2019-04-19 18:43:20 258

原创 Java多线程与并发_集合类之并发修改异常

Java多线程与并发_集合类之并发修改异常总有一段难熬的日子,让你自我怀疑。不过当你再经历多一点,会发现,那只是生活的常态在平时多线程操作集合类的时候,往往会遇到一些问题一、CopyOnWriteArrayList1.普通java集合类List<String> list = new ArrayList<>(); for (int i = 0; i <...

2019-04-18 20:43:11 1047

原创 Java多线程与并发_CAS详解

Java多线程与并发_CAS详解真正能让你走远的,都是自律、积极和勤奋一、什么是CAS?CAS(CompareAndSwap)比较当前工作内存中的值和主内存中的值,如果相同则执行规定操作,否则继续比较直到主内存与工作内存中的值一致CAS应用CAS有3个操作数,内存值V,旧的预期值A,要修改的更新值B。当且仅当预期值A和内存值V相同时,将内存值V修改为B,否则什么都不做public ...

2019-04-17 20:19:34 306

原创 Java多线程与并发_原子操作类

Java多线程与并发_原子操作类二十多岁的年纪,是一个夹杂着为生活奔忙,疲惫,痛苦和快乐,抑郁,容易想太多,焦虑自己人生能不能成功、混出头的年龄段。要相信明天会更好!一、简介Java从JDK 1.5开始提供了java.util.concurrent.atomic包(以下简称Atomic包),这个包中的原子操作类提供了一种用法简单、性能高效、线程安全地更新一个变量的方式。在Atomic包里...

2019-04-16 21:10:54 295

原创 Java多线程与并发_volatile关键字详解

Java多线程与并发_volatile关键字详解仅仅活着是不够的,还需要有阳光、自由,和一点花的芬芳一、volatile关键字volatile是JVM提供的一种轻量级的同步机制,特性:1.保证内存可见性2.不保证原子性3.防止指令重排序二、JMM(Java Memory Model)Java内存模型中规定了所有的变量都存储在主内存中(如虚拟机物理内存中的一部分),每条线程还有自己的...

2019-04-12 22:07:22 1268 4

原创 Java8新特性_Optional类

Java8新特性_Optional类众里寻他千百度,蓦然回首,那人却在灯火阑珊处一、概述Optional 类是一个可以为null的容器对象。如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象。Optional 是个容器:它可以保存类型T的值,或者仅仅保存null。Optional提供很多有用的方法,这样我们就不用显式进行空值检测。Optional 类的...

2019-04-11 19:40:09 168

原创 Java8新特性_Stream API

Java8新特性_Stream API衣带渐宽终不悔,为伊消得人憔悴一、Stream概述Stream 是Java8中处理集合的关键抽象概念,可以对集合执行非常复杂的查找,过滤和映射数据等操作;使用 Stream API 对集合数据进行操作,就类似于使用 SQL 执行的数据库查询;可以使用 Stream API 来并行执行操作;Stream API 提供了一种高效且易于使用的处理数据的...

2019-04-10 21:32:07 234

原创 Java8新特性_Lambda表达式初体验

Java8新特性_Lambda表达式初体验昨夜西风凋碧树,独上高楼,望尽天涯路一、Lambda表达式Lambda 是一个匿名函数,我们可以把Lambda表达式理解为是一段可以传递的代码(将代码像数据一样进行传递)。可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使Java的语言表达能力得到了提升。二、由匿名内部类到Lambda表达式1.原来的匿名内部类 //匿名内部类 ...

2019-04-09 20:42:46 138

原创 RocketMQ实战_04 数据库领域模型设计及逆向工程生成代码

RocketMQ实战_04 数据库领域模型设计及逆向工程生成代码一、数据库领域模型设计trade_user 用户表trade_order 订单表trade_goods 商品表trade_coupon 优惠券表trade_pay 支付表trade_user_money_log 用户余额日志表trade_goods_number_log 商品信息日志表二、根据设计的数据库领域模型生...

2019-03-28 21:36:06 336

原创 RocketMQ实战_03 消费者Consumer与Spring整合

RocketMQ实战_03 消费者Consumer与Spring整合有些路只能自己一个人去走,有些关口只能自己一个人去闯一、创建Consumer类package com.slx.trade.common.rocketmq;import com.alibaba.rocketmq.client.consumer.DefaultMQPushConsumer;import com.alibab...

2019-03-28 21:24:10 2085

原创 RocketMQ实战_02 生产者Producer与Spring整合

RocketMQ实战_02 生产者Producer与Spring整合我们都是自己世界的孤独者,有些事情只能自己一个人去面对一、项目整体框架搭建该项目采用多模块搭建1.首先创建一个empty project,命名为slx-project2.在slx-project中创建一个父模块,命名为trade-system3.下面依次创建子模块trade-order,trader-pay,trade...

2019-03-28 21:21:05 577

原创 RocketMQ_02 RocketMQ集群模式类型、部署结构图及应用场景

RocketMQ_02 RocketMQ集群模式类型、部署结构图及应用场景既然选择了远方,便只顾风雨兼程一、RocketMQ集群模式1.单个 Master优点:除了配置简单没什么优点缺点:不可靠,该机器重启或宕机,将导致整个服务不可用2.多 Master 模式优点:配置简单,性能最高缺点:可能会有少量消息丢失(配置相关),单台机器重启或宕机期间,该机器下未被消费的消息在机器恢复前不...

2019-03-27 22:17:01 615

原创 RocketMQ_01 RocketMQ入门简介及核心概念

RocketMQ_01 RocketMQ入门简介及核心概念伟大的事物不是一时冲动做起来的,而是由一系列小事共同造就的一、RocketMQ简介RocketMQ是一款分布式、列队模型的消息中间件,由阿里巴巴研发,借鉴参考了JMS规范的MQ实现,更参考了优秀的开源消息中间件KAFKA,并且结合阿里实际业务需求在天猫双十一的场景,实现业务削峰,分布式事务的优秀框架。之前git上是alibaba,现在...

2019-03-26 20:29:55 237

原创 RocketMQ_04 RocketMQ入门之HelloWorld

RocketMQ_04 RocketMQ入门之HelloWorld一、准备工作下载RocketMQ源码RocketMQ-master,选择其中的example模块,导入到IDEA中。导入完成后项目结构如下:二、进入quickstart包该包下有两个java类,分别是生产者Producer和消费者Consumer类生产者类package com.alibaba.rocketmq.exa...

2019-03-26 20:08:09 524

原创 RocketMQ_03 集群环境搭建_双Master模式

RocketMQ_03 集群环境搭建_双Master模式没有什么可以失去的,面子是最不值钱的东西一、添加Host文件vi /etc/hosts192.168.0.121 rocketmq-nameserver1192.168.0.128 rocketmq-nameserver2192.168.0.121 rocketmq-master1192.168.0.128 rocke...

2019-03-25 21:11:12 234

原创 使用HttpClient调用API接口

使用HttpClient调用API接口你的问题在于书读得不多,而想得太多*一、添加maven依赖<dependencies> <!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient --> <dependency> ...

2019-03-24 13:31:40 6645 10

原创 Redis持久化之RDB

Redis持久化之RDB哪里会有人喜欢孤独,不过是不喜欢失望罢了。一、RDB简介在指定时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里。Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程都结束了,再用这个临时文件替换上次持久化好的文件。整个过程中,主进程是不进行任何IO操作的,这...

2019-03-22 21:10:56 178

原创 Redis配置文件解析redis.conf

Redis配置文件解析redis.conf在linux环境下开发,配置大于开发一、常见配置redis.conf介绍参数说明1.Redis默认不是以守护进程的方式运行,可以通过修改配置项,使用yes启用守护进程daemonize no -> yes2.当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidf...

2019-03-21 21:31:06 592

原创 阿里云云效平台使用——Windows上使用阿里云云效(RDC)Git拉取代码

阿里云云效平台使用——Windows上使用阿里云云效(RDC)Git拉取代码记录下载Git安装GitSSH key配置将SSH公钥添加到云效代码账户小结记录新项目采用aliyun云效平台进行协同开发,学习新鲜事物,遇到不会的才会有成长,做一记录!文档链接:https://help.aliyun.com/product/51588.html下载Git下载地址:https://git-sc...

2019-03-20 21:36:38 8201

原创 使用IDEA基于Maven搭建多模块聚合工程——淘淘商城

终于有时间搞java了,今天使用IDEA基于maven搭建了多模块聚合工程,经过了多番尝试,终于成功啦!一.工程目录下面是搭建之后的目录先看一下目录关系taotao-parent(父工程管理jar包的版本)  |--taotao-common(把通用的工具类打包)  |--taotao-manager(继承父工程)      |-taotao-man

2017-12-30 20:02:47 7216 11

原创 IDEA搭建maven项目

新建新建maven项目,create from archetype,选择maven-archetype-webappNext,填写GroupId,ArtifactId和VersionNext,这里在Properties中添加一个参数archetypeCatalog=internal,不加这个参数,在maven生成骨架的时候将会非常慢,有时候会直接卡住。来自网上的解释:

2016-04-22 16:48:17 1226

转载 张子阳:如何在30岁前年薪超过30万

转自:http://blog.jobbole.com/12689/有不少朋友发邮件给我,向我请教如何学习.NET,又或者是想拜我为师,长期进行交流学习。很遗憾,由于时间有限,这些邮件我都没有回复。但我确实想帮一帮这些朋友们,所以我觉得还是写一篇文章,将我这些年的经历像讲故事一样告诉大家。如果大家能有所启发,又或者有所进步,那我也算是聊以慰藉、得偿所愿了。我是1982年12月8日出生

2016-04-20 18:55:01 603

shupushUtil.rar

shupushUtil是处理zip文件的工具类,支付宝对账单zip工具类

2019-05-17

基于maven+springmvc+spring+mybatis对员工信息的增删改查示例

基于maven+springmvc+spring+mybatis对员工信息的增删改查示例,采用mbg对mapper和bean实现逆向生成,IDEA,jdk1.8

2018-01-03

空空如也

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

TA关注的人

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