Sam哥哥聊技术

互联网技术爱好者

排序:
默认
按更新时间
按访问量

SQL计算timestamp的差值小技巧

概述有时候我们需要按照时间找出某些记录,比如说:算出离销售时间前1个小时的记录。 通常我们可以使用MYSQL的timestampdiff函数来做,但是这样没法使用到索引,如果数据量大的话,会造成慢查询。用代码计算出时间后再传给SQL我们可以利用JAVA代码,先把时间计算好,然后传给SQL语句,避...

2017-01-13 13:45:19

阅读数:474

评论数:0

照顾好应用的缓存-应付大流量

概述为了提升系统的响应速度,通常会系统中使用缓存,例如:中央缓存,本地缓存等。但是使用缓存有好有坏,坏处是,如果缓存数据是旧的,那么应用输出的数据便是错误的数据,可能造成严重的影响。本文介绍一些让缓存保持新鲜以及使用缓存的一些技巧。利用MQ实时刷新缓存一旦db数据发生变化,则可以发送一条mq消息,...

2017-01-12 11:06:01

阅读数:1308

评论数:0

对ArrayList元素分组去重

通常使用`SQL`查询一批数据的时候,可以利用`SQL`中的`GROUP BY `语句对数据进行分组,但是有时候出于对性能的考虑,不会使用`GROUP BY`,而是先把数据捞出来后,使用代码,在内存中按照某个属性进行分组。 当然有时候还会对分组里面的数据进行去重,这个时候也可以利用覆盖对象的`h...

2017-01-11 10:56:25

阅读数:1175

评论数:0

对ArrayList按照某个属性进行分组

概述通常使用SQL查询一批数据的时候,可以利用SQL中的GROUP BY语句对数据进行分组,但是有时候出于对性能的考虑,不会使用GROUP BY,而是先把数据捞出来后,使用代码,在内存中按照某个属性进行分组。代码public class SkuVo { private Long skuId;...

2017-01-11 10:18:29

阅读数:4465

评论数:0

对ArrayList进行分页

概述系统与系统之间的交互,通常是使用接口的形式。假设B系统提供了一个批量的查询接口,限制每次只能查询50条数据,而我们实际需要查询500条数据,这个时候可以对这500条数据做分批操作,分10次调用B系统的批量接口。如果B系统的查询接口是使用List作为入参,那么要实现分批调用的话,可以利用Arra...

2017-01-10 20:34:13

阅读数:3791

评论数:5

从团队项目中获取技术知识点

概述 获取知识点的方式非常多,像阅读技术书籍,逛技术网站,看技术公众号等。但是想获取经受过考验,实实在在的知识点,或者叫有用的干货,也可以尝试从自己参与的项目中获取。一个项目一般都是由多个人一起协作开发的,每个人负责的模块也都不同,遇到的技术问题也都不同。一般来说,大部分人只是了解自己做的模块,而...

2016-11-08 05:46:24

阅读数:342

评论数:0

程序员要注意身体健康

最近听说公司的几个同事都大病了一场,有的还进行了大的手术,差点跟阎王爷报道了。努力工作固然重要,但是一定注意身体,身体不好了,随着来的就是,工作和生活双失。我根据自己的实践,列举了几点习惯,可能可以帮助程序员调整一下工作和生活的节奏,从而达到生活和工作平衡,进而改进身体体质和健康。 1、请早睡...

2016-10-26 08:49:47

阅读数:2291

评论数:8

思路:针对某个业务场景,独立增加服务器集群去处理大流量

背景 随着用户数越多,系统需要承受的冲击越来越大。举个例子,一般的电商应用都会搞双11这种活动,这个时候用户都会先收藏自己喜欢的商品,以便活动开始的时候,及时的抢购。当用户抢购的时候,系统必须应付瞬时大流量的冲击。处理这种情况,有很多种方案,像限流、增加服务器、多级缓存、应用跨机房部...

2016-10-17 14:05:02

阅读数:630

评论数:0

利用DB生成业务主键

概述 利用DB生成业务主键,生成业务主键的方法各种各样,其中一种是利用DB表主键自增的方式来生成唯一性的业务主键,下文简单介绍一下。 代码 以MySql作为例子,操作DB的数据层是Mybatis。CREATE TABLE `key_gen` ( `business_no` bigint(2...

2016-10-10 14:04:21

阅读数:1062

评论数:0

Intellij 比Eclipse好在哪儿呢?

现在最流行的JAVA IDE当属intellij 和Eclipse了,我在伯乐在线开了一个讨论帖,讨论的非常火热,想了解两者之间的对比情况,可以参看一下,持续关注一下。IntelliJ IDEA 到底在哪几方面比Eclipse好呢?

2016-10-10 07:42:06

阅读数:3792

评论数:0

能够提高开发效率的Eclipse实用操作-第二篇

概述 最近网上一篇文章提到JAVA IDE中,Eclipse占比是41%,Intellij占比是46%。但是目前我依然不会选择Intellij作为日常的IDE。原因是周围的同事中,没有一个对Intellij非常熟悉,没有充分利用Intellij的特性来提高操作效率。相反,Eclipse中的各种操作...

2016-09-30 14:31:54

阅读数:1903

评论数:2

测试的道理

转载王垠的一篇好文章。测试的道理

2016-09-26 14:04:58

阅读数:334

评论数:0

谈“测试驱动的开发”

转载王垠的一篇文章 : 谈“测试驱动的开发”

2016-09-07 20:21:52

阅读数:268

评论数:0

谈程序的“通用性”

转载王垠的一篇文章 : 谈程序的通用性

2016-09-07 20:19:48

阅读数:275

评论数:0

数据存储在多张表,缓存维度简单设计

概述 为了提升接口的响应速度,通常会使用中央缓存,比如增加一个memcache集群,用于存储热点数据。假设数据表是类似下面这样的: table a{ long id String name ......... ......... } table b{ long id ...

2016-09-02 14:26:05

阅读数:910

评论数:0

JAVA并行编程之Fork/Join--开篇

JAVA fork/join

2016-08-11 14:17:18

阅读数:1051

评论数:0

java垃圾回收算法之-CMS(并发标记清除)

CMS垃圾回收器

2016-08-01 09:38:30

阅读数:5048

评论数:0

大型系统重构的步骤简单梳理

目前正在参与公司一个核心大系统的重构工作。本文梳理一下大型系统重构的一些步骤和心得。

2016-07-14 22:54:10

阅读数:5738

评论数:1

应用多机房部署

通常一个产品,内部是需要很多子系统一起协助的,像有些电商系统,可能需要几百个系统一起协助。假设下面这样一种场景,假设应用a部署在机房room1,在room1的其他应用可以调用应用a的接口,然后还有很多的子系统是部署在room2这个机房的,room2中的应用也需要调用到应用a,那么这样room2中的...

2016-07-13 09:54:29

阅读数:1543

评论数:2

中央缓存结合本地缓存-本地缓存数据刷新方案

互联网应用通常都需要应付大并发量,为了提高QPS,通常会使用中央缓存(例如memcache)和本地缓存的方式。请求先经过本地缓存,如果不命中,则请求穿透到中央缓存,如果还是不命中,则会直接查询数据库,并把查询到的数据刷新到中央缓存中。如果采用这种方式的话,必须要解决一个问题,如何刷新本地缓存的数据...

2016-07-12 09:19:55

阅读数:4260

评论数:1

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