Spring Cloud Netflix构建微服务入门实践
在使用Spring Cloud Netflix构建微服务之前,我们先了解一下Spring Cloud集成的Netflix...
View ArticleAndroid优化
I. 网络相关更多网络优化,可参考: Android网络http头信息带Cache-Control域 确定缓存过期时间 防止重复请求直接用IP直连,不用域名,策略性跟新本地IP列表。 –...
View Article2017年你不能错过的Java类库
这篇文章是在我看过 Andres Almiray 的一篇 介绍文后,整理出来的。因为内容非常好,我便将它整理成参考列表分享给大家, 同时附上各个库的特性简介和示例。 请欣赏!GuiceGuice (发音同 ‘juice’) ,是一个 Google 开发的轻量级依赖性注入框架,适合 Java 6 以上的版本。# Typical dependency injection public class...
View ArticleSpringBoot的事务管理
Springboot内部提供的事务管理器是根据autoconfigure来进行决定的。比如当使用jpa的时候,也就是pom中加入了spring-boot-starter-data-jpa这个starter之后(之前我们分析过...
View ArticleJVM诊断调优CheatSheet
常用Shell命令查看网络状况 netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'使用top去获取进程cpu使用率;使用/proc文件查看进程所占内存。 #!/bin/bash for i in `ps -ef | egrep -v "awk|$0" | awk '/'$1'/{print $2}'` do...
View ArticleSpring boot executable jar/war 原理
Spring boot executable jar/warspring boot里其实不仅可以直接以 Java -jar demo.jar的方式启动,还可以把jar/war变为一个可以执行的脚本来启动,比如./demo.jar。把这个executable jar/war 链接到/etc/init.d下面,还可以变为Linux下的一个service。只要在spring boot maven...
View ArticleNetty 超时机制及心跳程序实现
本文介绍了 Netty 超时机制的原理,以及如何在连接闲置时发送一个心跳来维持连接。Netty 超时机制的介绍Netty 的超时类型 IdleState 主要分为:ALL_IDLE : 一段时间内没有数据接收或者发送READER_IDLE : 一段时间内没有数据接收WRITER_IDLE : 一段时间内没有数据发送在 Netty 的 timeout 包下,主要类有:IdleStateEvent :...
View Article一个轻量级分布式 RPC 框架 — NettyRpc
1、背景最近在搜索Netty和Zookeeper方面的文章时,看到了这篇文章《 轻量级分布式 RPC 框架》,作者用Zookeeper、Netty和Spring写了一个轻量级的分布式RPC框架。花了一些时间看了下他的代码,写的干净简单,写的RPC框架可以算是一个简易版的...
View ArticleSpark Shuffle过程分析:Map阶段处理流程
默认配置情况下,Spark在Shuffle过程中会使用SortShuffleManager来管理Shuffle过程中需要的基本组件,以及对RDD各个Partition数据的计算。我们可以在Driver和Executor对应的SparkEnv对象创建过程中看到对应的配置,如下代码所示: // Let the user specify short names for shuffle managers...
View ArticleSpring Boot异常处理详解
在《 Spring MVC异常处理详解》中,介绍了Spring MVC的异常处理体系,本文将讲解在此基础上Spring Boot为我们做了哪些工作。下图列出了Spring Boot中跟MVC异常处理相关的类。Spring...
View Article自建一个电话呼叫中心要多少钱?
我十分看不惯任何行业的潜规则行为。自建一个电话呼叫中心的报价是多少钱?没有人敢公开报价。我明说吧,自建一个电话呼叫中心,只需要3万元左右,而且还能更省钱。这个报价是针对小型企业的,也就是广大人民群众。至于大型企业,它们自己去定制,钱不是问题。3万元建一个电话呼叫中心,包括什么?包括硬件设备,软件。软件是硬件设备上免费赠送的,不要钱!有了这个呼叫中心,你可以有语音导航功能(也就是按0转人工客服),还有...
View Article【译】Reddit如何统计每个帖子的浏览量
之前没听过也没了解过 HyperLogLog,通过翻译这篇文章正好简单学习下。欢迎指正错误~我们想要更好的向用户展示 Reddit 的规模。为了这一点,投票和评论数是一个帖子最重要的指标。然而,在 Reddit...
View Article谈一下我们是如何开展code review的
众所周知,代码审查是软件开发过程中十分重要的环节,楼主结合自己的实际工作经验,和大家分享一下在实际工作中代码审查是如何开展的。笔者水平有限,若有错误和纰漏,还请大家指正。代码审查的阻力我想不通公司不同部门对代码审查这项工作的重视程度还是不一样的,对于代码审查的阻力总结了以下几点:国内的整体环境,国内的公司,尤其是互联网公司,讲究速度致上,软件开发的迭代周期周期短,速度快,因为竞争太大,开发的产品要求...
View Article实现前后端分离的心得
实现前后端分离的心得对目前的web来说,前后端分离已经变得越来越流行了,越来越多的企业/网站都开始往这个方向靠拢。那么,为什么要选择前后端分离呢?前后端分离对实际开发有什么好处呢?为什么选择前后端分离在以前传统的网站开发中,前端一般扮演的只是切图的工作,只是简单地将UI设计师提供的原型图实现成静态的HTML页面,而具体的页面交互逻辑,比如与后台的数据交互工作等,可能都是由后台的开发人员来实现的,或者...
View Article欢迎来到后 ASO 时代
6 月 WWDC 上所宣布的「App Store 将迎来大改版」的消息,给 ASO 界砸下了一枚重磅炸弹。虽说 iOS11 要到今年秋季才会正式推送,且正式版面世到大面积使用还需要一定时间,到底会不会迎来一个新的 ASO 时代,目前尚不可知。为了做好迎接新时代的准备,咱们先来看看苹果砸下的到底是一枚什么样的「炸弹」。搜索改动还算小「搜索」入口所带来的可观流量,是我们「做关键词」的立足点。ASOer...
View Article如何理解并正确使用 MySQL 索引
1、概述索引是存储引擎用于快速查找记录的一种数据结构,通过合理的使用数据库索引可以大大提高系统的访问性能,接下来主要介绍在MySql数据库中索引类型,以及如何创建出更加合理且高效的索引技巧。注:这里主要针对的是InnoDB存储引擎的B+Tree索引数据结构2、索引的优点1、大大减轻了服务器需要扫描的数据量,从而提高了数据的检索速度2、帮助服务器避免排序和临时表3、可以将随机I/O变为顺序I/O3、索...
View Article数据库压缩技术探索
作者:雷鹏,Terark核心技术发明人。曾就职奇虎360,负责搜索引擎核心研发;曾就职Yahoo!北研所负责搜索广告、广告交易(AdExchange)等项目。在数据库、高性能计算、分布式、系统架构上都深有造诣。...
View Article详解 equals() 方法和 hashCode() 方法
前言Java的基类Object提供了一些方法,其中equals()方法用于判断两个对象是否相等,hashCode()方法用于计算对象的哈希码。equals()和hashCode()都不是final方法,都可以被重写(overwrite)。本文介绍了2种方法在使用和重写时,一些需要注意的问题。一、equal()方法Object类中equals()方法实现如下:public boolean...
View Article