西召

公众号「西召」作者,关于技术,还有阅读,写作和思考...

DevOps: 使用Maven插件实现分环境配置和版本检查

目录 一个故事(事故) 分环境 分环境实现 指定环境打包的缺点 只打一个包 版本检查 git-commit-id-plugin 版本检查地址 总结 相关资源 DevOps是Development和Operations的组合词,作为一名软件工程师或者系统架构师,对于系统的开发和部署需要有充分...

2019-04-20 23:35:32

阅读数 8

评论数 0

从一个电商平台的库存同步谈性能优化和方案落地

背景 库存同步相关概念 库存流转过程 方案 问题分析 头脑风暴 确定方案 细化方案 实施 业务精简和标准化 优化消息处理的逻辑 队列操作高性能 CPU使用过高 总结 下面的案例来自笔者的实际工作经历,涉及到的系统是笔者负责开发和维护的,一个国外的电商平台。 如果你对电商系统有...

2019-04-16 17:54:10

阅读数 7

评论数 0

MySQL索引与查询优化

目录 About MySQL Why MySQL MySQL Index Why Index 索引是如何工作的 如何使用 创建索引 查看索引 删除索引 索引的使用原则 写操作比较频繁的列慎重加索引 索引越多占用磁盘空间越大 不要为输出列加索引 考虑维度优势 对短小的值加索引 为字符...

2019-04-15 18:04:29

阅读数 13

评论数 0

SpringBoot实现发送电子邮件

目录 电子邮件与Java发送邮件的历史 电子邮件原理 电子邮件服务器 电子邮箱 邮件客户端 邮件传输协议 邮件格式 电子邮件发送和接收流程 电子使用场景 SpringBoot实现发送电子邮件 准备账号 构建项目并配置 实现服务端代码 新建邮件模板 测试发送邮件 总结 相关链接 ...

2019-04-20 23:41:23

阅读数 7

评论数 0

使用Github搭建Maven私有远程仓库

目录 本地deploy 上传到github 项目配置依赖 参考链接 为了避免重复造轮子,我们可以在项目中引入依赖,使用现有的成熟解决方案。 也许你不满足于“借”轮子,还想自己造轮子,这个时候你就可以把自己的代码放入公共的仓库,供大家使用。 但使用公共的依赖仓库很麻烦,幸好github为我...

2019-04-20 23:39:37

阅读数 7

评论数 0

PostgreSQL Like查询与正则表达式

安装PostgreSQL之后,PostgreSQL会创建一个名为“postgres”的用户,创建一个名为“postgres”的数据库。我们就可以使用这个默认的库做实验。 首先建表并插入数据: CREATE TABLE public.user( ID SERIAL PRIMARY KEY NOT ...

2019-04-20 23:37:43

阅读数 16

评论数 0

树结构与Java实现

目录 前言 树的概念 概述 术语 实际应用 实现树 TreeNode TreeNodeIterator 测试 总结 相关链接 作者资源 参考资源 前言 提到『树』这种数据结构,相信很多人首先想到的就是『二叉树』。 的确,二叉树作为一种重要的数据结构,它结合了数组和链表的优点...

2019-04-18 18:27:41

阅读数 10

评论数 0

Redis管道技术的使用

目录 Redis 管道技术 SpringDataRedis 使用管道 Redis 管道的性能测试 使用管道技术的注意事项 代码示例 Redis 管道技术 Redis是一种基于客户端-服务端模型(C/S模型)以及请求/响应协议的TCP服务。 这意味着通常情况下一个请求会遵循以下步骤: ...

2019-04-16 14:07:11

阅读数 275

评论数 0

Java并发之线程组ThreadGroup介绍

线程组介绍 线程组的构造 ThreadGroup方法介绍 查看线程组信息 终止线程组中的所有线程 总结 Links 作者资源 相关资源 线程组介绍 线程组(ThreadGroup)简单来说就是一个线程集合。线程组的出现是为了更方便地管理线程。 线程组是父子结构的,一个线程组可以集成...

2019-04-03 18:18:10

阅读数 19

评论数 0

Java并发 之 线程池系列 (2) 使用ThreadPoolExecutor构造线程池

Executors的“罪与罚” Executors的源码 让你的JVM OutOfMemoryError 阿里巴巴Java开发手册 主角出场 ThreadPoolExecutor的构造 ThreadPoolExecutor构造参数说明 当一个任务被加入线程池时 ThreadPoolEx...

2019-04-01 21:59:52

阅读数 31

评论数 0

Java并发 之 线程池系列 (1) 让多线程不再坑爹的线程池

背景 线程池的来由 什么是线程池 背景总结 用法 通过Executors创建线程池 Executors及其服务的类 Executors常用的几个方法 一个线程池的例子 任务 池子 测试 说明 总结 Links 文章友链 相关资源 背景 线程池的来由 服务端的程序...

2019-03-31 15:13:09

阅读数 6

评论数 0

notepad++选中多行文本

notepad++ 如何选中多行文本呢? 最近需要上传导入一批数据,但是数据太多了,一次上传完成不了,所以就要用到分批上传。 数据全部都在一个文本文件(txt)里面,这时就想到一次复制出来一部分数据来导入,直到导入完成。 但是问题来了,因为数据太多了,从第1行选择到第10000行,鼠标要拉好久好久...

2019-03-27 18:29:49

阅读数 35

评论数 0

SpringBoot系列之服务端解析客户端国际化请求

文章目录国际化方案实现代码pom.xmlapplication.propertiesLanguageUtil.javaLanguageInterceptor.javaInterceptorConfig.javaLanguageController.java测试使用IDEA的Rest Client发...

2019-03-27 17:53:26

阅读数 9

评论数 0

Java并发编程-Future系列之Future的介绍和基本用法

文章目录About FutureFuture Methods`get()``get()` Sample Example`get(long timeout, TimeUnit unit)``get(long timeout, TimeUnit unit)` Sample Example`isDone...

2019-03-26 17:38:37

阅读数 16

评论数 0

MySQL 主键自增 Auto Increment用法

AUTO_INCREMENT简介 MySQL的AUTO_INCREMENT属性可以用于在插入新的记录的时候,进行主键自增。 例如执行下面的SQL: CREATE TABLE animals ( id MEDIUMINT NOT NULL AUTO_INCREMENT, name...

2019-03-26 16:48:17

阅读数 11

评论数 0

什么是package-info.java

在java项目中创建package以后,可以在package下放一个package-info.java文件。 这个文件有什么作用?如何生成? 三个作用: 为标注在包上Annotation提供便利; 声明友好类和包常量; 比如一个包中有很多的内部访问的类或常量,就可以统一的放到pack...

2019-03-26 16:31:09

阅读数 25

评论数 0

Maven依赖版本号引发的血案

项目版本升级用了relase版本,但是发布以后,依赖的jar包在编译以后的lib目录还是旧版本。 原因是snapshot版本每次发布都会更新远程和本地仓库的文件,但是release版本会先在本地版本库中检查,如果存在就使用本地版本库的,没有才拉取远程仓库的。同样的,release版本的代码在远程仓...

2019-03-26 16:30:06

阅读数 23

评论数 0

让谁搭车?

如果你在一个雨天开车经过一个公交车站,看到三个人在冒雨等车。 一个是年迈的老太太。 一个是你的救命恩人。 一个是你的梦中情人。 你的车子只有一个人的空位,你会选择让谁搭车? 老太太最需要帮助,如果放任不管不仅你的朋友可能看不起你,连自己也可能愧疚终生;救命恩人拥有对你最大的恩情,你对他的亏欠是最大...

2019-03-24 20:56:35

阅读数 30

评论数 0

自定义git命令实现一步提交代码到仓库

说:把代码放仓库,拢共分几步? 答:4步!add、commit、pull、push。 每次通过git命令执行代码提交,都要像要“把大象装冰箱”一样不厌其烦地四步走, git add * git commit "我也不知道提交了点儿啥" git pull git push 俗话...

2019-03-24 20:55:33

阅读数 5

评论数 0

Java并发编程之Wait和Notify

文章目录Background相关概念什么是多线程线程的状态轮询Sampleswait 和 notify方法介绍示例Links仓库地址参考链接 Background 相关概念 什么是多线程 我们把组成程序(Program)各个部分称为线程(Thread)。也可以说,线程就是程序中轻量级的进程(Pro...

2019-03-24 20:53:52

阅读数 5

评论数 0

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