自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 网络知识汇总

作为开发人员,对基础网络知识的了解也是非常重要的,特别是tcp相关的内容。本篇主要进行一些学习资源的汇总,便于学习。协议森林:出处: http://www.cnblogs.com/vamei 评价: 主要写网络的基础知识,写的主要生动,好理解内容导航:邮差与邮局 (网络协议概观)小喇叭开始广播 ...

2018-06-24 08:24:14 1983 0

原创 利用redis-rdb-tools分析redis内存

前言我们经常会利用redis作为缓存的工具,然而为了使redis更高效,我们一般不会开启VM模式,但运行久了之后,随着redis占用内存的不断膨胀,我们常需分析redis内存现状,哪些key占用了很多的内存,有没有没用的key没有清除掉。利用redis-rdb-tools和sqlite3,我们可以...

2018-02-14 13:51:29 2387 0

原创 sharding-jdbc事务解读

序言sharding-jdbc在分库分表方面提供了很大的便利性,在使用DB的时候,通常都会涉及到事务这个概念,而在分库分表的环境上再加上事务,就会使事情变得复杂起来。本章试图剖析sharding-jdbc在事务方面的解决思路。

2017-10-24 22:52:40 9858 1

原创 sharding-jdbc读写分离原理解读

很多时候,为了应付DB的高并发读写,我们会采用读写分离技术。读写分离指的是利用数据库主从技术,把数据复制到多个节点中,以支持高并发的读,而写只在master服务器上。DB的主从技术只负责对数据进行复制和同步,而读写分离技术需要业务应用自身去实现。sharding-jdbc通过简单的配置,可以方便的...

2017-10-07 16:29:56 14053 2

原创 sharding-jdbc分库分表规则(2)-多表查询

前上一篇介绍了sharding-jdbc单表的基本查询逻辑,本篇介绍一下多表的查询,包括多表查询的BindingTable机制。

2017-09-27 00:11:05 9880 3

原创 sharding-jdbc分库分表规则(1)-单表查询

前言当数据量到达一定数量级的时候,一般都会考虑分库分表。sharding-jdbc是一个开源的客户端分库分表基础类库,以一个jar包的形式提供,基于原生的JDBC驱动进行增强,基本能够无缝整合旧代码,非常的便捷。本小节以一个最简单的单表查询浅析概要流程。

2017-09-17 09:50:24 9728 0

原创 http长连接总结

序言经常有业务需要在两个web客户端进行通信,比如,移动端两人对战游戏,针对此类场景最常使用的技术便是普通的ajax,两个客户端不断发ajax请求到服务端询问另外一方的信息,然后进行处理。如果回到多年前的聊天室场景,那就是N个客户端需要进行通讯了。本篇主要总结目前主流的几种实现此类需求的技术方案。

2017-07-23 23:56:35 640 0

原创 HashMap知识要点

序言HashMap是java中非常实用的一种数据存储结构,它涉及到的知识点比较多,本篇主要对其要点进行一些总结。本文使用的jdk版本为1.8。

2017-07-16 21:19:05 464 0

原创 nginx基础配置篇

nginx是用得非常广泛的反向代理服务器,即使不是专业的运营人员,在平时开发的时候,也经常需要用到一些静态资源访问,路径映射等。利用nginx,可以很容易做到这一些,可谓开发利器。本篇记录nginx一些基本用法,包括一些常用的功能记录,算是一次小总结,便于日后回顾学习。

2017-07-09 17:29:10 444 0

原创 WebGL学习系列-片元着色器简介

前言到目前为止,我们绘制过点、三角形、矩形等,但使用的都是单色系。之前曾经说过着色器的概念,着色器分为顶点着色器和片元着色器,我们一直在使用顶点着色器,而对片元着色器基本没有提及过,本小节将展开对片元着色器的简单介绍。彩色的点之前提到过,顶点着色器决定点的大小、位置和颜色,而片元着色器是用于给像素...

2017-03-01 22:18:01 2929 0

原创 WebGL学习系列-基础矩阵变换

在图形学中,特别是涉及到3D的时候,矩阵变换起着非常重要的作用。在实际使用的过程当中,通常每一帧画面可能都会涉及到成千上万个顶点的坐标变换,如果没有矩阵变换计算,一个是计算复杂,一个是难以达到我们想要的计算效率。本小节将介绍通过矩阵计算来实现基本的图形变换。

2017-02-26 23:13:33 5775 0

原创 WebGL学习系列-基本图形变换

经过前面的学习,我们已经可以绘制基本的图形了。本小节将介绍基本的图形变换,介绍在WebGL中,如何对基本的图形进行平移、旋转和缩放。

2017-02-22 23:08:46 1578 0

原创 WebGL学习系列-多边形绘制原理

前面学习了通过缓冲区对象来绘制多个点的原理,在实际的3D世界里,有好多复杂的模型,但细化分解后又是由一个个基础的几何图形构成的,掌握了基础图形的绘制才能够理解更加复杂的模型。本节将会讲解三角形,矩形以及利用三角函数绘制圆。

2017-02-20 22:22:56 2765 0

原创 WebGL学习系列-使用缓冲区对象画多个点

一般而言,我们需要绘制的点的数量非常的多,所以不可能像第一个程序一样一个点一个点绘制,WebGL提供了缓冲区对象,用于处理绘制多个点的数据问题。

2017-02-19 10:15:34 2277 0

原创 WebGL学习系列-第一个程序

本篇学习第一个WebGL程序——画一个点,通过此程序来理解WebGL程序的结构,这是所有后续知识的开端。画一个点先看一下效果图: 为了画这么一个点,在WebGL可不太简单,它会涉及到WebGL上下文以及着色器的概念,不要着急,咱们慢慢来理解。WebGL上下文学过Canvas的同学应该都知道,想要...

2017-02-18 14:21:36 1006 0

原创 WebGL学习系列-WebGL简介

前言本篇简要介绍一下WebGL的历史以及用途。

2017-02-16 00:08:51 2106 0

原创 WebGL学习系列-目录

前言都说时间转眼即逝,距离最后一篇博文已经几个月了,我们总是在叹息时间飞逝,最后回眸的时候,却又觉得生活少了些什么。作为一名后端开发人员,学习WebGL之路是快乐并痛苦着的,坦诚的讲,我觉得一般的后端开发人员空间思维都没有专业前端同学的好,特别是视觉感。不管怎样,作为2017对自己的第一份礼物,还...

2017-02-15 23:07:32 844 0

原创 spring事务-说说Propagation及其实现原理

spring事务传播属性示例展示及原理简析。

2016-11-05 00:06:36 20714 5

原创 java线程池系列(3)-ScheduledThreadPoolExecutor

前言定时执行任务是非常常见的需求,比如我们通常会使用spring或者quartz来实现定时任务,JDK本身也提供了多线程并发执行定时任务的框架,即ScheduledThreadPoolExecutor,它是基于优先级队列和ThreadPoolExecutor线程池技术来实现的,本篇介绍其实现的原理。

2016-10-07 22:42:06 746 0

原创 java线程池系列(2)-FutureTask实现原理

线程池可以并发执行多个任务,有些时候,我们可能想要跟踪任务的执行结果,甚至在一定时间内,如果任务没有执行完成,我们可能还想要取消任务的执行,为了支持这一特性,ThreadPoolExecutor提供了 FutureTask 用于追踪任务的执行和取消。

2016-10-03 15:42:03 1129 0

原创 java线程池系列(1)-ThreadPoolExecutor实现原理

前言做java开发的,一般都避免不了要面对java线程池技术,像tomcat之类的容器天然就支持多线程。即使是做偏后端技术,如处理一些消息,执行一些计算任务,也经常需要用到线程池技术。鉴于线程池技术的重要性,接下来会分多篇介绍java中提供的ThreadPoolExecutor线程池实现的底层机制。

2016-10-01 20:18:50 1487 0

原创 mysql主从配置和数据迁移

前言由于近期做的一个项目需要迁移服务器,其中包含了mysql的迁移,特开此贴记录一下mysql迁移的方法和流程。

2016-09-30 15:44:09 687 0

原创 java并发之SynchronousQueue实现原理

前言SynchronousQueue是一个比较特别的队列,由于在线程池方面有所应用,为了更好的理解线程池的实现原理,笔者花了些时间学习了一下该队列源码(JDK1.8),此队列源码中充斥着大量的CAS语句,理解起来是有些难度的,为了方便日后回顾,本篇文章会以简洁的图形化方式展示该队列底层的实现原理。...

2016-09-17 10:54:59 18595 10

原创 java并发等待条件的实现原理(Condition)

前面介绍了排它锁,共享锁的实现机制,本篇继续学习AQS中的另外一个内容-Condition。本篇从一个生产-消费例子出发,进而揭示借用AQS,是如何实现并发等待条件的。

2016-09-11 11:13:43 3353 6

原创 轻松掌握java读写锁(ReentrantReadWriteLock)的实现原理

前言前面介绍了java中排它锁,共享锁的底层实现机制,本篇再进一步,学习非常有用的读写锁。鉴于读写锁比其他的锁要复杂,不想堆一大波的文字,本篇会试图图解式说明,把读写锁的机制用另外一种方式阐述。

2016-09-04 22:08:32 25820 16

原创 java共享锁实现原理及CountDownLatch解析

前言前面介绍了ReentrantLock,又叫排他锁,本篇主要通过CountDownLatch的学习来了解java并发包中是如何实现共享锁的。

2016-08-28 23:44:00 23444 5

原创 轻松学习java可重入锁(ReentrantLock)的实现原理

前言相信学过java的人都知道 synchronized 这个关键词,也知道它用于控制多线程对并发资源的安全访问,兴许,你还用过Lock相关的功能,但你可能从来没有想过java中的锁底层的机制是怎么实现的。如果真是这样,而且你有兴趣了解,今天我将带领你轻松的学习下java中非常重要,也非常基础的可...

2016-08-28 14:17:46 60087 55

原创 聊聊cpu内存一致性

作为一名java攻城狮,想要深入了解java这门语言,免不了跟多线程打交道,继而会跟java内存模型打交道。内存模型是一个比较难以理解的东西,而这一切都缘于更加底层的硬件,cpu工作方式的复杂度引起的。本文试图举例说明cpu在多线程下工作的不确定性因素,以及cpu为此提供了什么利器来解决这个问题,...

2016-08-26 00:19:26 3047 3

原创 一个多层级节点用户树的设计构思

由于近期一个项目要开发一个多层级用户体系,并且还要支持部分链条的可移动性,经过初步构思,已经有了一个初步的思路,今天在这里简单分享一下。

2016-07-24 01:05:14 2596 0

原创 grunt和seajs的打包初体验

seajs作为前端模块加载器,在依赖管理方面是挺方便的,用起来也还算比较简单。不过,由于模块化使得模块划分比较细,所以加载一个页面将会发起多次http请求,这在生产环境中是不可接受的。一般而言,生产环境下,资源会放在CDN,而资源本身,通常会进行合并及压缩。     grunt 是 js 的一个...

2015-10-13 23:49:38 1502 0

原创 seajs3.0模块加载原理及源码注释

由于前端业务的复杂,导致前端开发的复杂度日益递增,所以有必要对前端进行模块化划分并进行模块的依赖管理。现在前端模块化主要有COMMONJS、AMD、CMD等标准。目前国内的 seajs 还算比较流行,它是基于CMD标准的,鉴于学习的目的,花了些时间研究了下 seajs3.0 的源码,这里主要分享一...

2015-10-06 18:18:12 1702 0

原创 单页面hash跳转简要记录

现在有越来越多的需求,需要在一个复杂页面(有很多ajax异步操作,使用 js 来控制页面的展示)实现导航,书签之类的功能,同时支持浏览器向前向后浏览。由于兼容性问题,目前有三种实现的方案。这里作一下简要记录: 1.  pushState html5 提供了新的 history api,可以让开发者...

2015-09-05 21:44:35 4045 0

原创 jQuery1.7系列四: 事件

声明:写博客,是对自身知识的一种总结,也是一种分享,但由于作者本人水平有限,难免会有一些地方说得不对,还请大家友善  指出,或致电:tianzhen.chen0509@gmail.com            关注:国内开源jQuery-UI组件库:Operamasks-UI       ...

2012-03-19 20:57:55 1312 0

原创 jQuery1.7系列三: jQuery延迟列表(Deferred)

声明:写博客,是对自身知识的一种总结,也是一种分享,但由于作者本人水平有限,难免会有一些地方说得不对,还请大家友善  指出,或致电:tianzhen.chen0509@gmail.com            关注:国内开源jQuery-UI组件库:Operamasks-UI       ...

2012-03-18 11:31:08 2109 0

原创 jQuery1.7系列二: jQuery的缓存机制

声明:写博客,是对自身知识的一种总结,也是一种分享,但由于作者本人水平有限,难免会有一些地方说得不对,还请大家友善  指出,或致电:tianzhen.chen0509@gmail.com            关注:国内开源jQuery-UI组件库:Operamasks-UI       ...

2012-03-11 19:38:50 1893 0

原创 jQuery1.7系列一: jQuery 对象的实质

声明:写博客,是对自身知识的一种总结,也是一种分享,但由于作者本人水平有限,难免会有一些地方说得不对,还请大家友善指出,或致电:tianzhen.chen0509@gmail.com            关注:国内开源jQuery-UI组件库:Operamasks-UI        jQu...

2012-03-10 15:35:21 4157 1

原创 javascript原型的那些事儿

声明:         发帖是对自己学过知识的一个总结,也是分享知识成果的一种有效途径。由于个人经验有限,难免会有一些错误的地方,还请大家批评,指正。         也可以致电  tianzhen.chen0509@gmail.com 告诉我错误,在此表示感激。         若需转载,...

2011-10-23 16:52:23 696 1

原创 不要浮躁,从现在做起

已经毕业几个月了,再来看看08年开的这个号,感觉心有些冷。对于学技术的自己,虽然一路走来,在java的道路上,也接触了一些东西,多少也有些感触和心得,但一切都被时光抹平,没有一点的累积,没有一点的遗迹。感觉心理时不时会有些浮躁,有时浮躁自己除了 上班还要多干些什么,学些什么技术好

2011-10-16 21:34:35 628 3

原创 集合类的要点总结

<br />集合类的要点总结<br />1.     Collections.addAll  VS  Collection.addAll<br />Collection.addAll只能添加一个Collection类型的对象,而Collections.addAl...

2010-07-25 11:20:00 622 0

原创 javascript事件学习小结

         再次学习了一下js的事件,把一些值得记住的要点写下来,方便日后查询。         首先要说一下typeof这个关键词,此次才发现它是多么的有用。它主要用于测试一个变量的类型,比如是string,number,function等等,但我说它好用还有另外的方面,就是它能够测试一个...

2010-03-27 11:34:00 586 1

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