自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (8)
  • 收藏
  • 关注

原创 网络知识汇总

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

2018-06-24 08:24:14 2516

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

前言我们经常会利用redis作为缓存的工具,然而为了使redis更高效,我们一般不会开启VM模式,但运行久了之后,随着redis占用内存的不断膨胀,我们常需分析redis内存现状,哪些key占用了很多的内存,有没有没用的key没有清除掉。利用redis-rdb-tools和sqlite3,我们可以分析redis的内存情况.环境本示例使用Ubuntu 系统。实验流程1. 利用redis的持久化机制...

2018-02-14 13:51:29 3610

原创 sharding-jdbc事务解读

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

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

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

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

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

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

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

2017-09-27 00:11:05 22532 4

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

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

2017-09-17 09:50:24 12790

原创 http长连接总结

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

2017-07-23 23:56:35 886

原创 HashMap知识要点

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

2017-07-16 21:19:05 620

原创 nginx基础配置篇

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

2017-07-09 17:29:10 638

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

前言到目前为止,我们绘制过点、三角形、矩形等,但使用的都是单色系。之前曾经说过着色器的概念,着色器分为顶点着色器和片元着色器,我们一直在使用顶点着色器,而对片元着色器基本没有提及过,本小节将展开对片元着色器的简单介绍。彩色的点之前提到过,顶点着色器决定点的大小、位置和颜色,而片元着色器是用于给像素着色的,初步看,片元着色器的任务好像给顶点着色器完成了,但实际上不然,顶点着色器只能决定点的颜色,如果绘

2017-03-01 22:18:01 5458 1

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

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

2017-02-26 23:13:33 6967

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

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

2017-02-22 23:08:46 2047

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

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

2017-02-20 22:22:56 4173

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

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

2017-02-19 10:15:34 2968

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

本篇学习第一个WebGL程序——画一个点,通过此程序来理解WebGL程序的结构,这是所有后续知识的开端。画一个点先看一下效果图: 为了画这么一个点,在WebGL可不太简单,它会涉及到WebGL上下文以及着色器的概念,不要着急,咱们慢慢来理解。WebGL上下文学过Canvas的同学应该都知道,想要在浏览器中使用Canvas画图,需要先取得一个上下文,就像创建一个场景一样,有了场景才可以绘制。在W

2017-02-18 14:21:36 1298

原创 WebGL学习系列-WebGL简介

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

2017-02-16 00:08:51 3365

原创 WebGL学习系列-目录

前言都说时间转眼即逝,距离最后一篇博文已经几个月了,我们总是在叹息时间飞逝,最后回眸的时候,却又觉得生活少了些什么。作为一名后端开发人员,学习WebGL之路是快乐并痛苦着的,坦诚的讲,我觉得一般的后端开发人员空间思维都没有专业前端同学的好,特别是视觉感。不管怎样,作为2017对自己的第一份礼物,还是希望自己用心把这件事做好,既然学了,那就好好待人家吧。说起学习WebGL,还是缘于公司的情况。笔者所在

2017-02-15 23:07:32 1061

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

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

2016-11-05 00:06:36 32108 10

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

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

2016-10-07 22:42:06 1045

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

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

2016-10-03 15:42:03 1417

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

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

2016-10-01 20:18:50 1748

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

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

2016-09-30 15:44:09 1145

原创 java并发之SynchronousQueue实现原理

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

2016-09-17 10:54:59 62386 29

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

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

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

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

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

2016-09-04 22:08:32 38157 34

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

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

2016-08-28 23:44:00 30209 8

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

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

2016-08-28 14:17:46 85654 65

原创 聊聊cpu内存一致性

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

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

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

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

2016-07-24 01:05:14 3766

原创 grunt和seajs的打包初体验

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

2015-10-13 23:49:38 1722

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

由于前端业务的复杂,导致前端开发的复杂度日益递增,所以有必要对前端进行模块化划分并进行模块的依赖管理。现在前端模块化主要有COMMONJS、AMD、CMD等标准。目前国内的 seajs 还算比较流行,它是基于CMD标准的,鉴于学习的目的,花了些时间研究了下seajs3.0 的源码,这里主要分享一下 模块依赖加载的原理。 同时附上一份简单的源码注解。(作者水平有限,时间也有限,仅供参考,有任何说

2015-10-06 18:18:12 1917

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

现在有越来越多的需求,需要在一个复杂页面(有很多ajax异步操作,使用 js 来控制页面的展示)实现导航,书签之类的功能,同时支持浏览器向前向后浏览。由于兼容性问题,目前有三种实现的方案。这里作一下简要记录:1.  pushStatehtml5 提供了新的 history api,可以让开发者动态修改浏览器的url,而不会引起整个页面的重绘,给用户带来更好的体验,api 定义如下:

2015-09-05 21:44:35 4623

原创 jQuery1.7系列四: 事件

声明:写博客,是对自身知识的一种总结,也是一种分享,但由于作者本人水平有限,难免会有一些地方说得不对,还请大家友善  指出,或致电:[email protected]           关注:国内开源jQuery-UI组件库:Operamasks-UI       jQuery版本:v1.7.1jQuery1.7系列四: 事件一. 有感而发

2012-03-19 20:57:55 1437

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

声明:写博客,是对自身知识的一种总结,也是一种分享,但由于作者本人水平有限,难免会有一些地方说得不对,还请大家友善  指出,或致电:[email protected]           关注:国内开源jQuery-UI组件库:Operamasks-UI       jQuery版本:v1.7.1                 jQuery1.7系列三

2012-03-18 11:31:08 2272

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

声明:写博客,是对自身知识的一种总结,也是一种分享,但由于作者本人水平有限,难免会有一些地方说得不对,还请大家友善  指出,或致电:[email protected]           关注:国内开源jQuery-UI组件库:Operamasks-UI       jQuery版本:v1.7.1jQuery1.7系列二:  jQuery的缓存机制一

2012-03-11 19:38:50 2129

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

声明:写博客,是对自身知识的一种总结,也是一种分享,但由于作者本人水平有限,难免会有一些地方说得不对,还请大家友善指出,或致电:[email protected]           关注:国内开源jQuery-UI组件库:Operamasks-UI       jQuery版本:v1.7.1jQuery1.7系列一:   jQuery 对象的实质一

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

原创 javascript原型的那些事儿

声明:        发帖是对自己学过知识的一个总结,也是分享知识成果的一种有效途径。由于个人经验有限,难免会有一些错误的地方,还请大家批评,指正。        也可以致电  [email protected] 告诉我错误,在此表示感激。        若需转载,请注明出处。一.有感而发        Javascript(以下简称js)是每个web开发人

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

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

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

2011-10-16 21:34:35 784 5

原创 集合类的要点总结

<br />集合类的要点总结<br />1.     Collections.addAll  VS  Collection.addAll<br />Collection.addAll只能添加一个Collection类型的对象,而Collections.addAll支持可变参数列表。<br />publicstaticvoid main(String[] args) {<br />       List<String> list1 = new ArrayList<String>();<br />      

2010-07-25 11:20:00 718

原创 javascript事件学习小结

         再次学习了一下js的事件,把一些值得记住的要点写下来,方便日后查询。         首先要说一下typeof这个关键词,此次才发现它是多么的有用。它主要用于测试一个变量的类型,比如是string,number,function等等,但我说它好用还有另外的方面,就是它能够测试一个对象,一个对象的变量等是否存在,如果不存在则会返回"undefined",则可以让我们处理一些浏览

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

seajs3.0源码注释

seajs3.0 源码注释,只是本人阅读源码的一些心得及简单注释。 或者直接查看 博文 查看模块加载过程的流程解释。

2015-10-06

编译原理课程设计(PL0)

这是编译原理课程设计,对基于c语言版的PL/0学习型编译系统进行修改和添加功能,比如添加++ --这些功能,包括详细的报告。

2010-06-26

java版五子棋课程设计

这是一个java版的五子棋课程设计,内含详细的实验报告,可以直接当课程设计使用。

2010-06-26

java版的多功能计算器实现

这是一个基于java语言开发的计算器,包括了科学计算,功能很强大,还有详细的报告,可以直接当课程设计使用。

2010-06-26

操作系统四个实验齐全

这是一份详细的操作系统实验报告,包括四个实验,进程调度,作业调度,主存空间分配,文件系统四个实验,内含详细的实验报告,绝对可用好用。

2010-06-26

数据结构(c语言版二叉树设计性实验)

这是c语言版的二叉树设计性实验,实现了很多的操作,包括详细的报告。

2010-06-26

航空客运订票系统(c数据结构)

这是本人在学完数据结构这门课后做的课程设计,用c语言编写,包括详细的报告,拿过优的哦,5分应该不算多吧,呵呵。

2010-06-26

空空如也

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

TA关注的人

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