自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xiao雷博客

天行健,君子以自强不息

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

转载 海量数据下如何使用多线程的导出 Excel

前言公司项目最近有一个需要:报表导出。整个系统下来,起码超过一百张报表需要导出。这个时候如何优雅的实现报表导出,释放生产力就显得很重要了。下面主要给大家分享一下该工具类的使用方法与实现思路。实现的功能点对于每个报表都相同的操作,我们很自然的会抽离出来,这个很简单。而最重要的是:如何把那些每个报表不相同的操作进行良好的封装,尽可能的提高复用性;针对以上的原则,主要实现了一下关键功能点:...

2019-10-17 10:58:47 2025

转载 如何设计一个电商平台积分兑换系统?

目录1.拉开差距的一类面试题 2.业务需求描述 3.对业务流程的思考 4.物流配送进度查询,考虑到了吗? 5.事务的保证 6.消息中间件的引入 7.重试机制的引入 8.引入幂等性机制 9.对这类面试题的总结 1、拉开差距的一类面试题现在面试经常会遇到一类问题,面试官让你现场设计出某个业务场景下的一...

2019-10-16 17:12:40 1731

原创 Java使用mongodb进行数据存储及多表关联,多条件查询

前言: 在开发的过程中,由于持久层使用的是非关系型数据库mongodb,涉及到列表查询的多表关联查询,在实现此功能的过程中出现了不少问题,做下记录方便以后遇到此类问题可以快速的解决,同时为遇到此类问题的小伙伴提供一点帮助。 注: Java操作mongodb数据库存储数据,数据访问层需继承 MongoRepository 接口,本实例为Spring boot项目impor...

2019-10-16 16:03:56 7809

原创 MongoDB 适用场景与优劣

在云栖社区上发起了一个 MongoDB 使用场景及运维管理问题交流探讨的技术话题,有近5000人关注了该话题讨论,这里就 MongoDB 的使用场景做个简单的总结,谈谈什么场景该用 MongoDB?很多人比较关心 MongoDB 的适用场景,也有用户在话题里分享了自己的业务场景,比如案例1用在应用服务器的日志记录,查找起来比文本灵活,导出也很方便。也是给应用练手,从外围系统开始使用Mo...

2019-09-17 11:39:06 7489

转载 一键部署 Spring Boot 到远程 Docker 容器

不知道各位小伙伴在生产环境都是怎么部署 Spring Boot 的,打成 jar 直接一键运行?打成 war 扔到 Tomcat 容器中运行?不过据松哥了解,容器化部署应该是目前的主流方案。不同于传统的单体应用,微服务由于服务数量众多,在部署的时候出问题的可能性更大,这个时候,结合 Docker 来部署,就可以很好的解决这个问题,这也是目前使用较多的方案之一。将 Spring Boot 项...

2019-08-30 15:53:05 244

转载 面试经验总结

又是大家 面试的高峰期,本文是Java开发小熙(妹子)的面试分享。之前有分享过很多面试:拿到蚂蚁金服 offer, 我不去了。身为技术专家的我,面试居然还要靠刷题?,刷了一个月算法,薪资终于Double了等。为何要面试?过完年回来 公司的项目很闲,很多人觉得没意思陆续跳槽走了,我也考虑到自己的发展,从3月底开始面,面到4月底,面了三十家公司,虽很累,但我从不打没准备的仗...

2019-08-23 15:08:01 374

原创 互联网行业职位介绍

PGProgramer 程序员SESoftware Engineer 软件工程师SSESenior Software Engineer 高级软件工程师BSEBridge System Engineer 客户沟通,团队交流PLProject Leader 项目领导PMProject Manager 项目经理SASy...

2019-08-21 10:14:44 2686 1

转载 穷人改变命运的最直接有效的途径

01. 写在前面十年前,我还是象牙塔中数学系的一名普通的大三学生。九年前,我是富士康流水线工厂的一名工人。六年前,我包里揣着3000元RMB来北漂。三年前,我在一家互联网金融公司做到了技术负责人。两年前,我在一家第三方支付公司担任研发副总,最多管理超过100人。现在,我是一名自由职业者,探索更多可能性。我将用系列文章,回顾十年程序生涯,一方面是对职场生涯的阶段...

2019-08-21 10:12:24 437

转载 详细讲解MySQL索引与联合索引

背景:为了提高数据库效率,建索引是家常便饭;那么当查询条件为2个及以上时,我们是创建多个单列索引还是创建一个联合索引好呢?他们之间的区别是什么?哪个效率高呢?我在这里详细测试分析下。一、联合索引测试注:Mysql版本为 5.7.20创建测试表(表记录数为63188):CREATE TABLE `t_mobilesms_11` ( `id` bigint(20) NOT NU...

2019-07-25 15:39:32 1387 3

转载 MySQL索引设置以及查询效率优化

MySQL索引原理以及查询优化:https://www.cnblogs.com/bypp/p/7755307.html查看MySQL的当前存储引擎及命令介绍:https://www.cnblogs.com/zhming26/p/6322353.html查看当前MySQL存储引擎: mysql> show engines;索引设置:#1 索引种类:1. Fu...

2019-07-22 17:39:48 642

原创 Arthas--阿里开源 java 诊断工具

Arthas 是 阿里巴巴最近开源出来的一个针对 java 的工具,主要是针对 java 的问题进行诊断!一、概述 这个工具可以协助你做下面这些事情:这个类是从哪个 jar 包加载而来的? 为什么会报各种类相关的 Exception? 线上遇到问题无法debug 好蛋疼,难道只能反复通过增加 System.out 或通过加日志再重新发布吗? 线上的代码为什么没有执行到这里...

2019-06-30 22:36:45 519

原创 Activiti6.0开发探索与总结

前言年初要做一个运维自动化平台,需要用到流程引擎,本来打算项目用golang写的,但是golang的流程引擎功能太简单实在是用不来,最后还是选型java + activiti。到activiti官网一看,嘿出7.0了结果文档是刚写的还不全,我们java还是8的,7.0是匹配的java11,最终是问题太多只好放弃用activiti6.0了。摸石头过河虽然网上教程有不少,不过要真正跑...

2019-06-26 10:46:15 1847

原创 OpenOffice实现文档转PDF加水印

OpenOffice实现文件转Pdf加水印(支持自定义添加水印、页眉、页脚)最近项目需要实现下载Office文档时自动转成PDF文档,以下代码支持2003及2007版的Word,PPT,Excel转换,并支持自定义添加水印、页眉、页脚实现需要事先安装最新版 OpenOffice 下载地址:http://www.openoffice.org/JodConverter 下载地址:...

2019-06-24 16:34:58 2848 2

转载 SQL优化之如何将SQL执行效率提高了10000000倍!

场景我用的数据库是mysql5.6,下面简单的介绍下场景课程表:createtableCourse( c_idintPRIMARYKEY, namevarchar(10))数据100条学生表:createtableStudent( idintPRIMARYKEY, namevarchar(10))...

2019-06-20 10:22:38 745 1

转载 Java BigDecimal 精确计算详解

1.引言  float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合。但是,商业计算往往要求结果精确,这时候BigDecimal就派上大用场啦。先看下面代码 public static void main(String...

2019-06-05 11:58:10 6325 3

原创 Mybatis之choose (when, otherwise)标签

choose (when, otherwise)标签有时候我们并不想应用所有的条件,而只是想从多个选项中选择一个。而使用if标签时,只要test中的表达式为 true,就会执行 if 标签中的条件。MyBatis 提供了 choose 元素。if标签是与(and)的关系,而 choose 是或(or)的关系。choose标签是按顺序判断其内部when标签中的test条件出否成立,如果有一个...

2019-06-05 11:52:31 11552

转载 微信聊天机器人(推送天气早报、睡前故事、精美图片分享)

福利时间,福利时间,福利时间  如果你还在为不知道怎么撩妹而烦恼,不知道怎么勾搭小仙女而困惑,又或者不知道怎么讨女朋友欢心而长吁短叹。  那么不要犹豫徘徊,往下看。接下来我会分享怎么使用 Python 实现微信自动聊天,微信每日天气早报、睡前故事及精美图片推送。  学会之后,迎娶白富美,走上人生巅峰就指日可待啦。(✪ω✪)  不信咱先看看效果展示:  (皮皮是我家猫的名字...

2019-05-29 17:44:06 2127

转载 八个开源的 Spring Boot 学习资源(涵盖支付,商城,权限管理,小程序等)

Spring Boot 算是目前 Java 领域最火的技术栈了,《Spring Boot + Vue 全栈开发实战》迄今为止已经加印了 3 次,Spring Boot 的受欢迎程度可见一斑。经常有人问有没有推荐的 Spring Boot 学习资料?当然有!今天整理了几个优质 Spring Boot 开源项目给大家参考,希望能够帮助到正在学习 Spring Boot 的小伙伴!s...

2019-05-22 09:30:09 1301

原创 Java面试题总结

最近正值春招,收集了下平时遇到的 Java 技术问题或周围朋友见过的面试题,经过不断筛选,终于凝练成一套实用的小题库。想用它来挖掘我在 Java 技术栈中的技术盲点,然后修复和完善它,以此来提高自己的技术水平。我总结的这 200+ 道几乎都是「必考题」,都能看懂的话,如果去面试就十拿九稳了。刚开始的时候我还觉得这么做是不是帮人「作弊」的嫌疑,最后我想通了,这是一件值得去做的事儿。...

2019-04-28 23:18:06 900

转载 常用设计模式

Num1:单例模式基本概念:保证一个类仅有一个实例,并提供一个访问它的全局访问点。常见写法:懒汉式public class Singleton { /* 持有私有静态实例,防止被引用,此处赋值为null,目的是实现延迟加载 */ private static Singleton instance = null; /* 私有构造方法,防止被...

2019-04-21 17:50:30 168

转载 Spring常用注解

SpringMVC部分@EnableWebMvc 在配置类中开启Web MVC的配置支持,如一些ViewResolver或者MessageConverter等,若无此句,重写WebMvcConfigurerAdapter方法(用于对SpringMVC的配置)。@Controller 声明该类为SpringMVC中的Controller@RequestMapping 用于映射Web请...

2019-04-21 16:49:53 192

原创 Java基础积累

ThreadLocal变量什么是ThreadLocal变量?ThreadLocal,很多地方叫做线程本地变量,也有些地方叫做线程本地存储,其实意思差不多。可能很多朋友都知道ThreadLocal为变量在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的副本变量。(1). 通过ThreadLocal创建的副本是存储在每个线程自己的threadLocals中的;(2). 为何thre...

2019-04-21 01:05:12 168

转载 Spring IOC与AOP实现原理

IOC(Inversion of Control) (1). IOC(Inversion of Control)是指容器控制程序对象之间的关系,而不是传统实现中,由程序代码直接操控。控制权由应用代码中转到了外部容器,控制权的转移是所谓反转。 对于Spring而言,就是由Spring来控制对象的生命周期和对象之间的关系;IOC还有另外一个名字——“依赖注入(Dependency Injec...

2019-04-21 00:57:43 1286

转载 设计模式之里氏替换原则

引入里氏替换原则(LiskovSubstitution Principle,LSP)的目的就是为了解决继承中父子类之间产生的强耦合性。2.1 爱恨纠葛的父子关系继承在面向对象的语言中,继承是必不可少的、非常优秀的语言机制继承的优点● 代码共享,减少创建类的工作量,每个子类都拥有父类的方法和属性;● 提高代码的重用性;● 子类可以形似父类,但又异于...

2019-04-16 23:35:25 191

转载 JAVA异常处理与IO流

一、异常引言程序出现的不正常的情况。异常就是Java程序在运行过程中出现的错误。问题也是现实生活中一个具体事物,也可以通过java的类的形式进行描述,并封装成对象。其实异常就是Java对不正常情况进行描述后的对象体现。二、异常继承体系图解三、异常的体系java.lang.Throwable类|--Error严重问题,我们不处理。要改正代码。通常...

2019-04-16 23:30:41 701

原创 Java常用集合总结与面试

上篇写到 Java常用API总结,面试与详解,这篇看下Java常用集合一、java中集合了类的关系图【简化版】注:虚线矩形表示接口实线矩形表示具体实现类实线矩形加粗表示具体实现类使用频率高,作为重点掌握集合是存储多个元素的容器,但是,由于数据结构不同,java就提供了多种集合类。而这多种集合类有共性的功能,所以,通过不断的向上抽取,最终形成了集合体系结构。...

2019-04-16 23:27:18 370

原创 Java常用API总结,面试与详解

目录:一、java.lang.Object类【★】类层次结构的根类,所有类都直接或者间接的继承自该类。构造方法:public Object()成员方法:1) public int hashCode()返回该对象的哈希码值2) public final Class getClass()返回此对象的运行时类,即字节码文件对象3)public String ...

2019-04-16 23:19:06 2891

转载 JAVA常用API与详解

一、JAVA常用APIjava.lang.Math提供sin, cos, tan, exp, log, log10 等类方法,PI和E等类字段java.lang.String(StringBuilder线程不安全,StringBuffer线程安全)java.util.Scannerforeach循环for(variable : collection) sta...

2019-04-16 23:16:36 369

原创 互联网Java工程师面试突击资料

《互联网Java工程师进阶知识完全扫盲》https://github.com/doocs/advanced-java

2019-04-02 15:30:16 3508 1

转载 springboot之maven私服搭建和使用

为什么要用远程仓库(私服)如果没有私服,我们所需的所有构件都需要通过maven的中央仓库和第三方的maven仓库下载到本地,而一个团队中的所有人都重复的从maven仓库下载构件,这样就加大了中央仓库的负载和浪费了外网的带宽,如果网速慢的话还会影响项目的进程。为团队创建私服,可以让公司的团队共享一套构件,加快了项目搭建的进程。所以我们选择用Nexus创建私服。Nexus下载下载地址:ht...

2019-04-02 15:12:14 7389 1

原创 SpringCloud之Spring Boot多环境配置

在 spring boot 中,有两种配置文件,一种是application.properties,另一种是application.yml,两种都可以配置spring boot 项目中的一些变量的定义,参数的设置等。其中yml格式文件编写规范参考文章手把手学系列之YAML格式文件规范学习一般在一个项目中,总是会有好多个环境。比如:开发环境 -> 测试环境 -...

2019-04-01 17:44:37 731

转载 关于【缓存穿透、缓存击穿、缓存雪崩、热点数据失效】问题的解决方案

1 前言昨天晚上接到阿里的电面电话,过程中就问到了关于缓存相关的问题。虽然以前接触过,多多少少了解了一些。但是之前自己并没有好好记录这些内容,在真正面试的时候,并没有回答得出来。今天记录一下,长长记性。在我们的平常的项目中多多少少都会使用到缓存,因为一些数据我们没有必要每次查询的时候都去查询到数据库。特别是高 QPS 的系统,每次都去查询数据库,对于你的数据库来说将是灾难。今天...

2019-03-28 10:07:07 365

原创 Docker制作并使用Java镜像(jdk,maven,tomcat等等)

前文:1. 如果不了解 Docker 是什么请参考Docker 介绍与安装使用2. 如果不了解 如何使用 Docker请参考Docker镜像常用操作后续持续更新...

2019-03-23 22:49:50 1666

原创 Docker 镜像与容器的常用操作

前言:请注意Docker 镜像与Docker 容器的常用操作与使用时他们相关命令的区别, 如有不了解Docker原理与安装的请移步Docker 的特性与安装使用Docker 镜像常用操作1. 列出镜像 使用docker images 命令可列出本地可用镜像上篇中我使用 docker run hello-world检测docker是否正确安装,其实是...

2019-03-22 12:03:42 830

原创 Docker 的特性与安装使用

最终目标: Docker 是什么 如何使用 Docker 制作 Java镜像 使用Dockerfile构建 Java镜像 使用Docker Registry 管理镜像 Spring Boot 与Docker 集成 Jenkins+Docker+Git实现自动化打包 首先了解下Docker 是什么,有什么作用Docke...

2019-03-22 11:52:44 907

原创 Docker容器使用(Jenkins+Docker+Git实现自动化打包)

前文: 使用Jenkins实现自动化部署 在前面文章已经有提及了,还有没有更简化的方式呢?下面我们来了解一下Docker的使用目的1. Docker 是什么 请参考Docker 介绍与安装使用2. 如何使用 Docker 如果还不了解Docker是什么请参考第一点 ,以了解请参考Docker镜像常用操作3. 制作 Java镜像 ...

2019-03-20 16:12:21 1239

原创 Spring Cloud Config分布式集群配置中心

关于Spring Cloud Config配置服务器主要功能:提供访问配置的服务接口 对属性进行加密和解密 可以简单地嵌入Spring Boot应用中配置客户端主要功能:绑定配置服务器,使用远程属性来初始化Spring容器 对属性进行加密和解密 属性改变时,可以对他们进行重新加载 提供与配置相关的几个管理端点 在初始化引导程序的上下文时,进行绑定配置服务器和属性解密等工作...

2019-03-19 18:00:49 1329

转载 分布式存储与分布式计算

目录1、从一个新闻门户网站案例引入2、推算一下你需要分析多少条数据?3、黄金搭档:分布式存储+分布式计算这篇文章聊一个话题:什么是分布式计算系统?(1)从一个新闻门户网站案例引入现在很多同学经常会看到一些名词,比如分布式服务框架,分布式系统,分布式存储系统,分布式消息系统。但是有些经验尚浅的同学,可能都很容易被这些名词给搞晕。所以这篇文章就...

2019-03-19 10:04:53 11337 2

原创 Spring Data与JPA,MogoDB,Redis的使用

关于Spring Data1. Spring Data框架的目标是为数据库的访问提供一个通用的模型.不需要管访问数据使用的哪种技术,访问的哪种数据库,使用Spring Data都可以用同样的方式,同样的代码风格实现对关系型数据库和非关系型数据库的访问. Spring Data是基于Hibernate,jedis等数据库访问技术做进一步的封装,提供类似适配器的功能,放我们操作更简单...

2019-03-18 18:04:06 510

原创 微服务与消息驱动(RabbitMQ,Kafka)之开发消息微服务

上篇概述RabbitMQ和Kafka的入门, 此篇主要概述Spring could Stream集成RabbitMQ和Kafka开发消息微服务!承接上篇微服务与消息驱动(RabbitMQ,Kafka)之入门篇概述:Spring could Stream帮我们做了一定程度的简化,只需少量代码配置就可以实现两个框架的功能,不需要调用API1.准备工作 首先创建几个项目工程...

2019-03-15 11:01:17 1530

空空如也

空空如也

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

TA关注的人

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