自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

西门飘雪的博客

专注Java后台开发

转载 Java-Lambda表达式和“方法引用”的对比和详解

Lambda表达式 一、Lambda表达式简介 1.1什么是Lamdba表达式?  Lambda表达式是Java 8 添加的一个新特性,可以认为,Lambda是一个匿名函数(相似于匿名内部类),作用是返回一个实现了接口的对象(这个观点非常重要,贯穿于Lambda表达式的整个使用过程)。...

2020-02-03 21:18:52

阅读数 37

评论数 0

原创 监控进程脚本

如果程序经常挂掉,且找不到解决的办法时候,可以使用shell写一个进程监控脚本,以便程序挂掉,可以立即自动重启,以下是监控进程一个例子。 shell语言编程参考https://www.runoob.com/linux/linux-shell.html #!/bin/bash while tru...

2020-01-13 15:11:27

阅读数 17

评论数 0

转载 用“逐步排除”的方法定位Java服务线上“系统性”故障

一、摘要 由于硬件问题、系统资源紧缺或者程序本身的BUG,Java服务在线上不可避免地会出现一些“系统性”故障,比如:服务性能明显下降、部分(或所有)接口超时或卡死等。其中部分故障隐藏颇深,对运维和开发造成长期困扰。笔者根据自己的学习和实践,总结出一套行之有效的“逐步排除”的方法,来快速定位Jav...

2020-01-13 15:06:43

阅读数 25

评论数 0

转载 Java 线上问题排查思路与工具使用

一、前言Java 语言是当前互联网应用最为广泛的语言,作为一名 Java 程序猿,当业务相对比较稳定之后平常工作除了 coding 之外,大部分时间(70%~80%)是会用来排查突发或者周期性的线上问题。由于业务应用 bug(本身或引入第三方库)、环境原因、硬件问题等原因,Java 线上服务出现故...

2020-01-13 14:57:11

阅读数 49

评论数 0

原创 Java自动化开发指南

一、背景 在Java web开发中,虽然Spring boot已经帮助我们简化了很多工作,但项目中庞杂的业务仍然需要自己去编写较多的 entity,vo,Mapper,Service, Controller 代码等,那么我们有没有什么办法来简化这整个开发流程呢? 二、工具选型 在尝试了部分市...

2020-01-07 13:46:19

阅读数 14

评论数 0

原创 Springboot项目配置阿里云ssl证书

服务器资源和接口想要变为 https 的访问方式就需要用到SSL证书,因为是个人使用,我这里使用的是阿里云的一年免费SSL证书。 1,阿里云首页搜索 SSL证书,然后选择 立即购买,在一下页面选择好配置: 2,填写好各种信息之验证通过之后就有了证书,签发之后先下载到本地,因为用的是sp...

2020-01-07 13:32:12

阅读数 7

评论数 0

原创 mysql主从复制

主从服务器分别作以下操作:1.1、版本一致1.2、初始化表,并在后台启动mysql1.3、修改root的密码 1.4、两台服务器都部署mysql,并能正常使用 2、修改主服务器master: #vi /etc/my.cnf [mysqld] log-bin=mysql-bin //[必须]启用...

2020-01-06 16:36:55

阅读数 9

评论数 0

原创 Git 简要使用

1.Git安装 先下载Git,网站https://git-scm.com/downloads,下载相应的版本 双击下载好的exe程序进行安装,安装时下列选项中选择第二项,剩余一直next下一步即可,可按实际情况修改安装路径,安装参考https://jingyan.baidu.com/...

2020-01-06 16:24:24

阅读数 5

评论数 0

原创 TXLCN分布式事务介绍

前言 随着互联化的蔓延,各种项目都逐渐向分布式服务做转换。如今微服务已经普遍存在,本地事务已经无法满足分布式的要求,由此分布式事务问题诞生。 1.常见的一些分布式事务场景 案例 1:下订单和扣库存 案例 2:同步调用超时 案例 3:异步回调超时 案例 4:系统间状态不一致 案例 5:...

2020-01-06 16:13:40

阅读数 50

评论数 0

原创 Linux下的桌面化设置

Linux下的桌面化设置 设置网络 用命令 ’nmtui’可进入桌面化网络设置,不同系统可能界面有所不一样 如果不行,用‘setup’进入可视化界面,有的需要依赖 这是因为你的CentOS系统中默认就没有setup命令,也没有setup命令工具配套的组件。这时,可采用yum工具...

2020-01-06 14:58:25

阅读数 12

评论数 0

原创 虚拟机使用NAT模式连接网络设置

虚拟机使用NAT模式连接网络设置 1、使用ipconfig/all查看本地主机的ip、网关及路由服务器的DHCP的地址; 2、在虚拟机的网络设置中选择NAT模式;此模式为给虚拟机分配一个IP,将虚拟机模拟成局域网中的一台虚拟主机进行使用; 虚拟机模拟出的局域网位于子网192.168.17.0的网...

2020-01-06 14:43:59

阅读数 10

评论数 0

原创 ssh免密码登录,公钥登录

SSH 是开源的,是用于远程登录的最为可靠的网络协议。系统管理员用它来执行命令,以及通过 SCP 协议在网络上向另一台电脑传输文件。 通过配置 SSH 免密码登录,你可以享受到如下的便利: 用脚本实现日常工作的自动化。 增强 Linux 服务器的安全性。这是防范虚拟专用服务器(VPS)遭受暴...

2019-11-16 15:18:42

阅读数 11

评论数 0

原创 mycat设置开机自启(两种方法)

第一种: 制作/etc/init.d/mycat 安装好mycat后做软连接ln -s /安装目录/bin/mycat /etc/init.d/mycat service mycat start启动查看效果,ps aux 发现启动了wrapper后又消失,进去查看wrapper日志报下图的错 ...

2019-11-16 12:12:47

阅读数 7

评论数 0

原创 linux 查看系统信息命令大全

# uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # hostname # 查看计算机名 # lspci -tv # 列出所有PCI设备 # lsusb...

2019-11-16 11:21:39

阅读数 10

评论数 0

转载 mysql开启GTID跳过错误的方法

1、数据库版本 mysql> select version() -> ; +-------------------------------------------+ | version() | +-------------------------------------------+...

2019-11-15 23:12:29

阅读数 7

评论数 0

原创 搭建单机FastDFS 分布文件系统

一、FastDFS介绍 1、简介 2、FastDFS的存储策略 3、FastDFS的上传过程 4、FastDFS的文件同步 5、FastDFS的文件下载 二、安装FastDFS环境 1、下载安装 libfastcommon 2、下载安装FastDFS 3、配置FastDFS跟踪器(Tracker)...

2019-11-14 11:00:10

阅读数 9

评论数 0

转载 like百分号前置不会走索引?NO!

“模糊查询,前置百分号不走索引;后置百分号才会走索引”这可能是大部分人都知道的“常识”,然而,这周在做SQL优化的时候,无意中碰到了意外情况–模糊查询,前置百分号也走索引! 举个栗子 表: TEST_USER 索引:INDEX_MOBILE CREATE TABLE `TEST_USER` ...

2019-11-11 11:12:40

阅读数 5

评论数 0

原创 Mysql 会导致锁表的语法

最近再找一些Mysql锁表原因,整理出来一部分sql语句会锁表的,方便查阅,整理的不是很全,都是工作中碰到的,会持续更新 笔者能力有限,如果有不正确的,或者不到位的地方,还请大家指出来,方便你我,方便大家。 此测试环境 Mysql 5.5 基于innodb 引擎 insert into t...

2019-11-01 00:06:45

阅读数 5

评论数 0

原创 幂等问题 8种方案解决重复提交

1.什么是幂等 在我们编程中常见幂等 select查询天然幂等 delete删除也是幂等,删除同一个多次效果一样 update直接更新某个值的,幂等 update更新累加操作的,非幂等 insert非幂等操作,每次新增一条 2.产生原因 由于重复点击或者网络重发 eg: 点击提交按钮两次...

2019-10-28 01:36:20

阅读数 52

评论数 0

原创 用100行代码提升10倍的性能

提出问题 从一个我常用的面试题,也是真实需求开始聊起: 你需要在前端展示 5000 条甚至更多的数据,每一条数据的数据结构是一个对象,里面有格式各样的属性。每个属性的值又可以是基本类型,对象,甚至数组。这里的对象或者数组内部的元素又可以继续包含对象或者数组并且允许无限嵌套下去。比如 ...

2019-10-28 01:32:02

阅读数 8

评论数 0

原创 面试问烂的 MySQL 查询优化,看完吊打面试官!

什么影响了数据库查询速度 1.1 影响数据库查询速度的四个因素 1.2 风险分析 QPS:QueriesPerSecond意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。 TPS:是TransactionsPerS...

2019-10-28 01:07:55

阅读数 17

评论数 0

转载 Mysql高级查询语句

Exists子查询 Exists的特点 1.在执行create或drop语句前,可以使用exists语句来判断数据库对象是否存在,返回值是true或false drop table if exists student; 意思是如果存在表student则删除!否则不删除! Creat...

2019-10-28 01:05:14

阅读数 15

评论数 0

原创 为什么我们做分布式使用 Redis ?

绝大部分写业务的程序员,在实际开发中使用 Redis 的时候,只会 Set Value 和 Get Value 两个操作,对 Redis 整体缺乏一个认知。这里对 Redis 常见问题做一个总结,解决大家的知识盲点。 1、为什么使用 Redis 在项目中使用 Redis,主要考虑两个角度:性能...

2019-10-28 01:01:46

阅读数 35

评论数 0

转载 数据统计埋点工作框架及细节规范

作为数据产品经理,对统计埋点一定不陌生,每个版本多少都会涉及到部分统计需求。如何做好产品上线前数据指标的统计埋点,以及产品上线后的版本分析报告?本文笔者将会给结合自身工作经验,给大家总结一些具体思路和方法。 文章来源:http://www.woshipm.com/pmd/2694440.html...

2019-10-28 00:59:36

阅读数 81

评论数 0

原创 MySQL常用30种SQL查询语句优化方法

1、应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。 2、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 3、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导...

2019-10-28 00:52:53

阅读数 4

评论数 0

转载 Java 函数优雅之道

导读 随着软件项目代码的日积月累,系统维护成本变得越来越高,是所有软件团队面临的共同问题。持续地优化代码,提高代码的质量,是提升系统生命力的有效手段之一。软件系统思维有句话“Less coding, more thinking(少编码、多思考)”,也有这么一句俚语“Think more, cod...

2019-10-28 00:47:01

阅读数 6

评论数 0

转载 springboot项目的优雅关闭方式(更新部分细节)

本案例使用的是springboot2.0.4 当把打包好的jar包发布到服务器,并通过java -jar运行,一般要把springboot项目关闭大多数都是先找到项目的pid,然后直接kill pid,不过这种方法在特殊需求场景下不太合适(不安全),同时也不优雅。下面通过actuator来让sp...

2019-10-28 00:32:34

阅读数 17

评论数 0

原创 如何优雅关闭 Spring Boot 应用

如何优雅关闭 Spring Boot 应用 前言 随着线上应用逐步采用 SpringBoot 构建,SpringBoot应用实例越来多,当线上某个应用需要升级部署时,常常简单粗暴地使用 kill 命令,这种停止应用的方式会让应用将所有处理中的请求丢弃,响应失败。这样的响应失...

2019-10-28 00:23:11

阅读数 21

评论数 0

转载 消灭 Java 代码的“坏味道”

导读 明代王阳明先生在《传习录》谈为学之道时说: 私欲日生,如地上尘,一日不扫,便又有一层。着实用功,便见道无终穷,愈探愈深,必使精白无一毫不彻方可。 代码中的"坏味道",如"私欲"如"灰尘",每天都在增加,一日不去清除,便会越累越...

2019-10-23 08:45:03

阅读数 24

评论数 0

转载 淘宝千万级并发分布式架构的演进

一、概述 本文以淘宝作为例子,介绍从一百个并发到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知,文章最后汇总了一些架构设计的原则。 二、基本概念 在介绍架构之前,为了避免部分读者对架构设计中的一些概念不了解,下面对几个最基础...

2019-10-22 20:32:06

阅读数 33

评论数 0

转载 写业务代码最容易掉的8种坑

1、客户端的使用 我们在使用Redis、ElasticSearch、RabbitMQ、Mongodb等中间件或存储的时候肯定都会使用客户端包来和这些系统通讯,我们也会使用Http的一些客户端来发Http请求。在使用这些客户端包的时候,非常容易犯错的一个地方就是Client的使用方式,比如有一个叫...

2019-10-22 20:24:03

阅读数 31

评论数 0

转载 一文教会你如何写复杂业务代码

了解我的人都知道,我一直在致力于应用架构和代码复杂度的治理。 这两天在看零售通商品域的代码。面对零售通如此复杂的业务场景,如何在架构和代码层面进行应对,是一个新课题。针对该命题,我进行了比较细致的思考和研究。结合实际的业务场景,我沉淀了一套“如何写复杂业务代码”的方法论,在此分享给大家。 我相...

2019-10-22 20:23:07

阅读数 38

评论数 0

转载 那些年,我们见过的 Java 服务端乱象

导读 查尔斯·狄更斯在《双城记》中写道:“这是一个最好的时代,也是一个最坏的时代。” 移动互联网的快速发展,出现了许多新机遇,很多创业者伺机而动;随着行业竞争加剧,互联网红利逐渐消失,很多创业公司九死一生。笔者在初创公司摸爬滚打数年,接触了各式各样的 Java 微服务架构,从中获得了一...

2019-10-22 20:05:55

阅读数 12

评论数 0

转载 那些年,我们见过的 Java 服务端“问题”

导读 明代著名的心学集大成者王阳明先生在《传习录》中有云: 道无精粗,人之所见有精粗。如这一间房,人初进来,只见一个大规模如此。处久,便柱壁之类,一一看得明白。再久,如柱上有些文藻,细细都看出来。然只是一间房。 是的,知识理论哪有什么精粗之分,只是人的认识程度不同而已。笔者在初创公司摸爬...

2019-10-22 20:04:43

阅读数 71

评论数 0

转载 面试官问我:一个 TCP 连接可以发多少个 HTTP 请求?我竟然回答不上来..

曾经有这么一道经典面试题:从 URL 在浏览器被被输入到页面展现的过程中发生了什么? 相信大多数准备过的同学都能回答出来,但是如果继续问:收到的 HTML 如果包含几十个图片标签,这些图片是以什么方式、什么顺序、建立了多少连接、使用什么协议被下载下来的呢? 要搞懂这个问题,我们需要先解决下...

2019-10-22 18:32:19

阅读数 27

评论数 0

原创 Axure+SVN 协作设计

作为一个业余学习Axure的人,一直在想Axure多人合作的时候如何进行同步?如何进行版本管理?不用担心,Axure+SVN已经完美的解决啦!具体使用如下: 在Axure内使用SVN进行项目管理的实现步骤可以简单的理解为:由类似于组长之类的大佬,将项目上传至SVN,由其他大佬在创建的目录下进行...

2019-10-22 17:47:00

阅读数 23

评论数 0

原创 Axure-让局域网内的用户看到自己的站点

作为一个业余学习Axure的人,一直以为在Axure中直接发布预览局域网内的其他人就可以看到自己绘制的原型了,然而,事实并不是!! 好啦废话我就不多说啦,下面就直接讲配置步骤啦! 步骤一 Axure中生成html文件。 步骤二 配置本地IIS 打开控制面板--程序和功能--打...

2019-10-22 17:44:19

阅读数 86

评论数 0

原创 EasyExcel使用的正确姿势,工具类封装

Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一些缺陷,比如07版Excel解压缩以及解压后存储都是在内存中完成的,内存消耗依然很大。easye...

2019-10-22 17:15:48

阅读数 251

评论数 0

原创 微服务写的最全的一篇文章

今年有人提出了2018年微服务将疯狂至死,可见微服务的争论从未停止过。在这我将自己对微服务的理解整理了一下,希望对大家有所帮助。 1.什么是微服务 1)一组小的服务(大小没有特别的标准,只要同一团队的工程师理解服务的标识一致即可) 2)独立的进程(java的tomcat,nodejs等) ...

2019-10-22 16:48:51

阅读数 31

评论数 0

转载 6个实例详解如何把if-else代码重构成高质量代码

本文提纲: 为什么我们写的代码都是if-else? 这样的代码有什么缺点? 是否有优化的方法?如何重构? 异常逻辑处理型重构方法 状态处理型重构方法 为什么我们写的代码都是if-else? 程序员想必都经历过这样的场景:刚开始自己写的代码很简洁,逻辑清晰,函数精简,没有一个if-else, 可...

2019-10-08 18:16:17

阅读数 4

评论数 0

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