Sam哥哥聊技术

互联网技术爱好者

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

netty学习二:基于socket通讯的小demo

netty socket编程小demo

2017-07-29 16:07:42

阅读数:840

评论数:0

netty学习一:用netty构造http服务的小demo

概述netty可以支持http、socket、websocket,本文会做一个小demo,简单介绍一下如何用netty搭建一个http服务。netty虽然可以提供http服务,但是相比spring mvc、struts2等框架,netty显得比较底层,很多spring mvc提供的功能,netty...

2017-07-23 10:50:18

阅读数:1260

评论数:1

利用Apache工具和Guava对ArrayList进行分页

概述之前写过一篇对ArrayList进行分页,介绍如何用JAVA API对ArrayList进行分页,下面再介绍另外两种方法。使用Apache工具使用Apache的ListUtils类,一行代码即可解决。import java.util.Arrays; import java.util.List;...

2017-06-14 15:28:44

阅读数:1115

评论数:2

下载Spring源代码

概述惭愧,工作好几年了,现在才来开始研究Spring的源代码。Spring 源代码路径https://github.com/spring-projects/spring-framework.git直接使用git clone https://github.com/spring-projects/sp...

2017-06-09 10:13:48

阅读数:343

评论数:0

JAVA+信号量:阻塞线程

概述 为了提高接口的响应速度,可以使用ThreadPoolExecutor + Runnable 或者ThreadPoolExecutor 并发调用 技术来并行执行task。但是ThreadPoolExecutor有个特点,就是当core线程不足以应付请求的时候,会将task加入到队列中。一旦使用...

2017-06-05 09:08:21

阅读数:870

评论数:0

ThreadPoolExecutor + Runnable

概述 在ThreadPoolExecutor 并发调用 一文中介绍了ThreadPoolExecutor + Callable的方法并行执行task,其实ThreadPoolExecutor还有另一种用法, ThreadPoolExecutor + Runnable。如果你不理会task执行的结...

2017-06-05 08:31:10

阅读数:831

评论数:0

重构大型业务型写接口-并行处理注意点

概述 为了提高接口的处理速度,通常会使用并行的方式。在JAVA中可以使用ThreadPoolExecutor 或者ForkJoinPool 。像并行查询或者并行调用外部接口,经常会用到这两种技术,基本上没什么坑。但是如果是使用这两种技术来重构大型的业务型写接口,则需要小心细致。 ...

2017-06-04 22:01:36

阅读数:1080

评论数:0

利用ConcurrentHashMap和计数器实现锁

概述 在某些场景下,我们想让线程根据某些业务数据进行排队,简单代码如下: import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; imp...

2017-05-27 13:51:11

阅读数:953

评论数:0

ThreadPoolExecutor 并发调用

概述 通常为了提供任务的处理速度,会使用一些并发模型,ThreadPoolExecutor中的invokeAll便是一种。 代码 package test.current;import java.util.ArrayList; import java.util.Arrays; import j...

2017-05-05 21:22:45

阅读数:1155

评论数:0

系统防刷的一些基本方法

概述 上周系统被刷了,由于系统是纯db操作,没有缓存的,所以db的压力非常大,后续的请求已经无法拿到db连接了。虽然系统用几十个数据库分库,但是黑客就只是刷一个商品,这样所有的请求就会落到同一个DB。 当时刚好我是值班人员,全程参与了整个过程。系统被刷了应该如何处理以及系统如何做防...

2017-05-05 21:13:24

阅读数:2850

评论数:3

请求量稍微比较大-尽量避免长事务

概述 某些后台应用经常需要频繁的操作DB,为了保证数据出错时能回滚数据,通常都会使用事务。在使用事务的时候,尽量避免使用长事务,比如说:某个业务操作需要批量插入数据,而且数据量还不少,如果这整个操作都包在一个事务里面,只有等到数据操作完了,DB连接才会被释放,一旦外部系统发起请求,并发调用这个操作...

2017-05-05 20:47:33

阅读数:1742

评论数:0

库存仓库和推荐仓库进行匹配简单算法

概述 通常在电商项目的库存项目中,每条库存记录都有一个对应的仓库字段,warehouse,同一个商品可能在多个仓库中都存在的。假设用户添加一个商品sku1到购物车中,这个sku1在warehouse1和warehouse2都存在,这个时候到底要扣减哪个仓库中的库存呢?这里有个仓库优先级的概念,一般...

2017-03-28 07:20:09

阅读数:1201

评论数:0

多个仓库库存释放-简单算法

概述在做电商项目的时候,会涉及到库存扣减的问题,稍微复杂的情况是,多仓库库存扣减,比如说: 仓库warehouse1有4件商品,warehouse2有3件商品,这个时候用户需要买7件商品,这样无论哪个仓库都不够扣减, 这种情况下,会使用多仓库库存扣减的逻辑,warehouse1和warehou...

2017-03-27 14:39:39

阅读数:1001

评论数:0

多个仓库库存扣减-简单算法

概述在做电商项目的时候,会涉及到库存扣减的问题,稍微复杂的情况是,多仓库库存扣减,比如说: 仓库warehouse1有4件商品,warehouse2有3件商品,这个时候用户需要买7件商品,这样无论哪个仓库都不够扣减, 这种情况下,会使用多仓库库存扣减的逻辑,warehouse1和warehou...

2017-03-27 14:13:20

阅读数:1016

评论数:0

面试官咋看你

概述当你去面试的时候,面试官会怎么判断你这个人呢?大概是这几个方面: 1、学历; 2、在哪些著名公司待过; 3、在以前的公司做到什么职位; 4、在以前的公司中,有没有一个长期的积累; 5、技术实力。学历我以前很不相信学历在社招中会起到作用,只要自己技术好,什么公司都能进。后来我发现自己大...

2017-02-25 07:11:54

阅读数:1039

评论数:0

偏向锁-学习

偏向锁介绍。

2017-02-19 12:05:43

阅读数:520

评论数:2

自旋锁-概念

不放弃CPU时间 线程获取不到锁,就会被阻塞挂起,等其他线程释放锁的时候,才被唤醒起来。线程挂起和唤醒是需要转入到内核态完成的,这些操作对系统的并发性能会带来影响。其实有时候线程虽然没法立刻获取到锁,但是也可能很快就会获取到锁。 能不能给多些机会让获取不到锁的线程在CPU里多待上一段时间,尝试...

2017-02-18 22:43:13

阅读数:625

评论数:2

synchronized关键字加锁-线程可重入

synchronized加载加锁-线程可重入

2017-02-16 22:29:41

阅读数:648

评论数:6

JVM调优-学习篇

JVM调优学习。

2017-02-14 21:57:28

阅读数:1847

评论数:0

Future模式学习

Future模式

2017-02-13 23:33:35

阅读数:601

评论数:4

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