自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

刘涛的编程笔记

简简单单写代码

  • 博客(12)
  • 资源 (8)
  • 收藏
  • 关注

原创 分布式ID生成策略(1)_snowflake算法

Java实现分布式ID生成算法:Twitter的snowflake。

2016-12-24 04:12:47 5465 1

原创 Xcafe:Netty实现兼容SpringMVC的Web容器

Xcafe是一个使用Netty实现的支持SpringMVC的web容器  ⑴ 使用SpringMVC处理http请求  ⑵ 静态资源处理和缓存  ⑶ 本机session生成和缓存  ⑷ 支持直接返回对象  ⑸ 支持文件上传下载(MultipartFile)  ⑹ 支持ServletOutPutStream写返回数据

2016-10-17 20:11:32 17379 1

原创 从数组到HashMap之算法解释

一、数组是什么?  忘了在哪本书里曾看到过类似这样的一句话“所有的数据结构都是数组的演化”,想想其实是有道理的,因为计算机的内存其实就是线性的存储空间。  Java示例代码:int[] array = new int[5]  JVM执行时会在堆中分配20个字节的内存空间,看起来就是这样的:    这样的数据结构可以很方便地通过数组下标存取数据,但在查找时需要遍历数组

2016-09-03 14:54:23 2748 2

翻译 Fork/Join(3):ForkJoinPool之API翻译

ForkJoinPool是Fork/Join框架的两大核心类之一,这一节先翻译API,具体使用方法和实现原理留待后续章节再谈。虽然fork/join框架从JDK1.7开始就已经存在,但介绍Fork/Join框架的文章比较少,且大多数都是简单应用。要学习一个框架,从API文档开始或许是一个不错的方式。特别说明:英文版本来源于JDK1.8_40 API。第一次尝试翻译英文技术文档,翻译可能并不准确,所以保留了英文。如有错误还望指正!谢谢!

2016-12-28 14:10:02 5655

原创 Fork/Join(2):归并排序

fork/join框架是分治法的体现,因此特别适合归并排序这种分治算法。  单线程测试排序2亿个整数约59349毫秒,使用fork/join测试排序约34635毫秒。可以看到,fork/join框架充分运用了CPU的计算能力,执行时间缩短了近一半。

2016-12-25 23:32:36 1151

原创 Fork/Join(1):概念与入门示例

Fork/Join框架是JDK1.7引入的并行计算框架,核心概念:  1. 将大任务自动递归分解成小任务并行执行;  2. 工作窃取(work-stealing)算法,空闲线程从另一个任务队列获取任务并执行,避免计算资源闲置。  譬如,要生产10000个蛋糕,可以将其分解成100个任务,每次生产100个。工人1和工人2分别领取50个任务。假如工人1完成30个任务时,工人2已经完成了自己的任务队列,那么工人2会从工人1中获取任务并执行。

2016-12-25 22:35:59 756

原创 RocketMQ笔记(2)_双主双从部署

RocketMQ作为分布式的消息中间件,生产环境中只有集群部署才有实际意义。本文将主要介绍双主双从的配置与及部署过程中可能遇到的问题,并假定每台机器均已安装好RocketMQ和JDK。

2016-10-29 22:45:35 8702 1

原创 RocketMQ笔记(1)_Linux下编译部署

微服务架构中,消息队列和远程服务调用已是两大必不可少的组件,而RocketMQ和Dubbo正是阿里系贡献的对应的两大精品开源,作为两个已经得到广泛应用的框架,好好学习研究是必需的。本文详细介绍了RocketMQ在Linux下的编译部署,与及使用JDK1.8运行过程中遇到的一些问题。

2016-10-26 05:59:28 5335 1

原创 JVM内存结构图解

一 真实系统中的概念  JVM(Java Virtual Machine),顾名思义是对真实计算机系统的模拟,正因如此才能屏蔽物理机器的变化,从而实现“一次编译,到处运行”。  相信很多Java程序员经常听到堆、栈等概念,也会进行设置调优以让Java应用能够更好地运行,但对于JVM与真实计算机系统之间的关系并没有特别清晰的认识。因此,这里先简单介绍下真实计算机系统中的一

2016-09-14 08:44:36 7723

原创 Java位运算符及二进制常识

本文简单介绍二进制的基本常识,希望能帮助大家在阅读源码、学习汇编和操作系统等底层原理时能更好地理解内容,与及帮助下那些在学习原码、反码、补码时被很多博客或者资料绕得云里雾里的人们。

2016-09-04 17:52:39 6442

原创 算法01之归并排序及多线程测试

一、基本思想    归并排序和快速排序都使用了分治法,分治法的策略是将一个规模为n的大问题分解成k个相同的子问题,这些子问题互相独立且与原问题性质相同,然后分别求解这些子问题,最后将这些子问题的解合并后得到原问题的解。    归并排序的的最坏时间复杂度为O ( N log N),快速排序的最坏时间复杂度为O ( N² ),但在某些情况下快速排序比归并排序的速度更快,算法之间的比较留待后

2016-07-13 09:34:02 3570 1

原创 Java多线程01_可重入函数、可重入锁

1、简单介绍可重入函数和编码注意事项。2、jdk可重入锁介绍及递归调用的示例。3、实现自己的可重入锁。

2016-07-09 02:40:09 1866

分布式ID生成策略_snowflake算法

分布式ID生成,主键生成,Java实现的snowflake算法

2016-12-24

分布式ID生成策略(1)_snowflake算法

分布式ID生成,主键生成策略,snowflake算法,采用java实现。

2016-12-24

RocketMQ-3.5.8双主双从配置及部署说明

RocketMQ-3.5.8,双主双从配置文件、已编译安装包、安装部署文档及开发环境测试项目

2016-10-29

RocketMQ-3.5.8双主双从配置及编译包

RocketMQ-3.5.8双主双从配置文件、已编译安装包、部署文档和开发环境的基础项目。

2016-10-29

rocketmq小示例项目及Linux下的编译安装说明

rocketmq小示例项目及Linux下的编译安装说明

2016-10-26

rocketmq代码示例及Linux编译安装说明

rocketmq代码示例及Linux编译安装说明

2016-10-26

JMS_2.0_API.chm

JMS 2.0 API的javadoc

2016-10-24

Xcafe-Netty4SpringMVC-project

使用Netty实现的支持SpringMVC的web容器

2016-10-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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