Cookie、Session和Token的区别 1、前言众所周之,IM是个典型的快速数据流交换系统,当今主流IM系统(尤其移动端IM)的数据流交换方式都是Http短连接+TCP或UDP长连接来实现。Http短连接主要用于从服务器读取各种持久化信息:比如用户信息、聊天历史记录、好友列表等等,长连接则是用于实时的聊天消息或指令的接收和发送。作为IM系统中不可或缺的技术,Http短连的重要性无可替代,但Http作为传统互联网信息交换技术,一些典型的概...
大型分布式系统的优化解决方案 1、I/O优化1、增加缓存,减少磁盘的访问次数。2、优化磁盘的管理系统,设计最优的磁盘方式策略,以及磁盘的寻址策略,这是在底层操作系统层面考虑的。3、设计合理的磁盘存储数据块,以及访问这些数据库的策略,这是在应用层面考虑的。例如,我们可以给存放的数据设计索引,通过寻址索引来加快和减少磁盘的访问量,还可以采用异步和非阻塞的方式加快磁盘的访问速度。4、应用合理的RAID
基于注解的系统日志 对于一些比较重要的管理系统,操作日志的记录是非常重要,它可以记录下管理人员的任何操作,也便于开发人员在故障中排查问题,可以维护和扩展的日志是尤为重要的。注解的日志方便和实用,只需要在需要记录的日志方法上加入注解,下面不多说直接上代码首先创建一个注解和日志实体@Target({ElementType.METHOD}) @Retention(RetentionPolicy.RU
Java最大的优势真的在于跨平台吗? 有跨平台需求的仅仅是客户端应用,而不是服务端。例如桌面应用,你的客户可能是Windows用户,也可能是Linux用户,这时候如果不想多投入成本对各个平台进行适配,那么Java所谓的”Write once, run everywhere”就显得异常光彩。然而今天,整个软件世界都在向B/S应用倾倒(嵌入式除外),即使要做客户端跨平台,QT等第三方框架远远比Swing更强大,Java在桌面应用领域基本被
JAVA代码性能优化 前言代码 优化 ,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候
opencv+java-特征点算法 特征点检测和匹配是计算机视觉中一个很有用的技术。在物体检测,视觉跟踪,三维常年关键等领域都有很广泛的应用。很多传统的算法都很耗时,而且特征点检测算法只是很多复杂图像处理里中的第一步,得不偿失。FAST特征点检测是公认的比较快速的特征点检测方法,只利用周围像素比较的信息就可以得到特征点,简单,有效。FAST特征检测算法来源于corner的定义,这个定义基于特征点周围的图像灰度值,检测候选
图形识别-基于opencv+java简单程序 前言:如需转载请注明出处:OpenCV的全称是:Open Source Computer Vision Library。OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实
音频与视频合成技术 前言:前段时间负责了一个口语配音的项目,用到了音视频的合成技术,觉得挺简单实用于是来分享一下,这也是我第一次写原创博文,都是一笔一划敲出来的,如需转载请注明出处:http://blog.csdn.net/xiaopy_0508/article/details/54962386在使用之前肯定是要引用jar包的 com.googlecode.mp4parser is
WebSocket简单应用 一.WebSocket简单介绍 随着互联网的发展,传统的HTTP协议已经很难满足Web应用日益复杂的需求了。近年来,随着HTML5的诞生,WebSocket协议被提出,它实现了浏览器与服务器的全双工通信,扩展了浏览器与服务端的通信功能,使服务端也能主动向客户端发送数据。 我们知道,传统的HTTP协议是无状态的,每次请求(request)都要由客户端(如 浏览器)主动发起,服务端
RabbitMQ (五)主题(Topic) 转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37706355上一篇博客中,我们进步改良了我们的日志系统。我们使用direct类型转发器,使得接收者有能力进行选择性的接收日志,,而非fanout那样,只能够无脑的转发,如果你还不了解:RabbitMQ (四) 路由选择 (Routing)。虽然使用direct类型
RabbitMQ (四) 路由选择 (Routing) 上一篇博客我们建立了一个简单的日志系统,我们能够广播日志消息给所有你的接收者,如果你不了解,请查看:RabbitMQ (三) 发布/订阅。本篇博客我们准备给日志系统添加新的特性,让日志接收者能够订阅部分消息。例如,我们可以仅仅将致命的错误写入日志文件,然而仍然在控制面板上打印出所有的其他类型的日志消息。1、绑定(Bindings)在上一篇博客中我们已经使用过绑定。类似下面的
RabbitMQ (三) 发布/订阅 转发请标明出处:http://blog.csdn.net/lmj623565791/article/details/37657225上一篇博客中,我们实现了工作队列,并且我们的工作队列中的一个任务只会发给一个工作者,除非某个工作者未完成任务意外被杀死,会转发给另外的工作者,如果你还不了解:RabbitMQ (二)工作队列。这篇博客中,我们会做一些改变,就是把一个消息发给多个消费者,这种
RabbitMQ (二)工作队列 转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37620057上一篇博客中我们写了通过一个命名的队列发送和接收消息,如果你还不了解请点击:RabbitMQ 入门 Helloworld。这篇中我们将会创建一个工作队列用来在工作者(consumer)间分发耗时任务。工作队列的主要任务是:避免立刻执行资源密集型任务,然
“Hello world” of RabbitMQ 转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37607165“Hello world” of RabbitMQ1、Windows下RabbitMQ的安装下载Erlang,地址:http://www.erlang.org/download/otp_win32_R15B.exe ,双击安装即可(首先装)
RabbitMQ介绍 你是否遇到过两个(多个)系统间需要通过定时任务来同步某些数据?你是否在为异构系统的不同进程间相互调用、通讯的问题而苦恼、挣扎?如果是,那么恭喜你,消息服务让你可以很轻松地解决这些问题。消息服务擅长于解决多系统、异构系统间的数据交换(消息通知/通讯)问题,你也可以把它用于系统间服务的相互调用(RPC)。本文将要介绍的RabbitMQ就是当前最主流的消息中间件之一。RabbitMQ简介