2018年3月7日
摘要: 最近在做一个项目时,客户要求网站能够集成QQ登录的功能,以前没做过这方面的开发,于是去QQ的开放平台官网研究了一下相关资料,经过自己的艰苦探索,终于实现了集成QQ登录的功能,现在把相关的开发经验总结一下,希望对有这方面需求的朋友有所帮助。 一.前期准备 首先你需要登录QQ的开发平台注册一个账号,QQ 阅读全文
posted @ 2018-03-07 17:08 xmj 阅读(265) 评论(0) 推荐(0)
摘要: NAL Unit Stream Network Abstraction Layer,简称NAL。 h.264把原始的yuv文件编码成码流文件,生成的码流文件就是NAL单元流(NAL unit Stream)。而NAL单元流,就是NAL单元组成的。 标准的Annex B规定了NAL单元组成NAL单元流 阅读全文
posted @ 2018-03-07 17:07 xmj 阅读(420) 评论(0) 推荐(0)
摘要: 并行算法类型可以分为两类 Function-level Decomposition,按照功能模块进行并行 Data-level Decomposition,按照数据划分进行并行 Function-level Decomposition 在h.264解码时进行功能划分,例如对于四核系统,各个核心分别执 阅读全文
posted @ 2018-03-07 17:07 xmj 阅读(207) 评论(0) 推荐(0)
摘要: Mode Decision(模式选择)决定一个宏块以何种类型进行分割。宏块的分割类型有以下几种: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 //P_Skip and B_Skip means that noth 阅读全文
posted @ 2018-03-07 17:06 xmj 阅读(272) 评论(0) 推荐(0)
摘要: EPZS(Enhance Predictive Zonal Search) 增强预测区域搜索,是一种整像素运动估计的搜索算法。 EPZS采用的是相关性较高的预测方法。这里的相关性较高是指,更多地根据已有的条件,来进行运动向量的预测(如采用相邻块的mv作为当前搜索块的mv进行预测)。 Search S 阅读全文
posted @ 2018-03-07 17:05 xmj 阅读(270) 评论(0) 推荐(0)
摘要: 直接预测是B帧上一种独有的预测方式,其中直接预测又分为两种模式: 时域直接模式(temporal direct)、空域直接模式(spatial direct)。 在分析这两种模式之前,有一个前提概念需要了解:共同位置4x4子宏块分割块(co-located 4x4 sub-macroblock pa 阅读全文
posted @ 2018-03-07 17:04 xmj 阅读(197) 评论(0) 推荐(0)
摘要: 1.参考图像列表(reference picture list) 一般来说,h.264会把需要编码的图像分为三种类型:I、P、B,其中的B、P类型的图像由于采用了帧间编码的这种编码方式,而帧间编码又是以参考图像为基础进行的,因此需要有个参考图像列表来管理之前生成的参考图像,方便用于对当前图像进行编码 阅读全文
posted @ 2018-03-07 17:04 xmj 阅读(486) 评论(0) 推荐(0)
摘要: 在H.264之前的标准中,比如H.263,其比特流中的数据是按照一个宏块接一个宏块的方式排列的,一旦发生丢包,很多相邻宏块信息都会丢失,很难进行错误隐藏处理。在H.264中加入了一项新特性:把宏块在比特流中的数据按照一定的映射规则进行排列,而不一定按照原本的光栅扫描顺序排列,这种方称为灵活的宏块重拍 阅读全文
posted @ 2018-03-07 16:59 xmj 阅读(282) 评论(0) 推荐(0)
摘要: 帧间运动是基于视频亮度(luma)不发生改变的一个假设,而在视频序列中经常能遇到亮度变化的场景,比如淡入淡出、镜头光圈调整、整体或局部光源改变等,在这些场景中,简单帧间运动补偿的效果可想而知(实际编码中遇到亮度变化的宏块,R-D模型的最后结果通常都是用帧内预测编码),加权预测的提出就是为 了应对亮度 阅读全文
posted @ 2018-03-07 16:58 xmj 阅读(292) 评论(0) 推荐(0)
摘要: 哥伦布编码前言 在计算机中,一般数字的编码都为二进制,但是由于以相等长度来记录不同数字,因此会出现很多的冗余信息,如下: 如数字1,原本只需要1个bit就能表示的数据,如今需要8个bit来表示,那么其余7个bit就可以看做是冗余数据, 在网络传输时,如果以原本等长的编码方式来传输数据,则会出现很大的 阅读全文
posted @ 2018-03-07 16:53 xmj 阅读(389) 评论(0) 推荐(0)
摘要: h.264的码流传输是基于目前有限的网络带宽来进行的,以目前的压缩效率来说,运动不算剧烈、细节不多的影像,在720p的情况下,1000kbps压缩损耗较少(psnr较大),能达到比较好的观赏效果,1080p则需要2000kbps。当然,随着图像运动剧烈程度加大,细节增多的情况,则需要更大的bps来保 阅读全文
posted @ 2018-03-07 16:53 xmj 阅读(331) 评论(0) 推荐(0)
摘要: 引言: 以前在面试的过程中,总有面试官问道:你做过sql性能优化吗?对此,我的答复是没有。一次没有不是自己的错误,两次也不是,但如果是多次呢?今天痛下决心,把有关sql性能优化的相关知识总结一下,以便在不久的将来,我的回答不是“没有”,总能多多少少说一些东西。算是长进吧。说到性能优化,本人感觉到有必 阅读全文
posted @ 2018-03-07 16:52 xmj 阅读(139) 评论(0) 推荐(0)
摘要: 本文参考自http://wenku.baidu.com/link?url=ZPF0iSKzwLQg_8K02pnnd_-Zd6ISnsOGWsGYb98ucLkELZO4nOv-X-v2GKLzI3r0VMN4R0TC8cM6AQy7xOjDZ4AQJBYWT_-VOYlxQFCvaj_ 视频编码顺 阅读全文
posted @ 2018-03-07 16:52 xmj 阅读(459) 评论(0) 推荐(0)
摘要: NetAnalyzer下载地址 在写本篇的时候,NetAnalyzer 3.1版本已经发布,所以本篇就以最新版本的为例继续使用,并且顺带说明一下,新版本中一些功能。 那我们就开始吧 四.数据菜单 这部分主要是为开发和数据分析相关人员准备的一组功能,这部分主要针对的是对对数据窗口区域的操作 这部分需要 阅读全文
posted @ 2018-03-07 16:51 xmj 阅读(238) 评论(0) 推荐(0)
摘要: 工具概要 如果你的数据库应用系统中,存在有大量表,视图,索引,触发器,函数,存储过程,sql语句等等,又性能低下,而苦逼的你又要对其优化,那么你该怎么办?哥教你,首先你要知道问题出在哪里?如果想知道问题出在哪里,并且找到他,咱们可以借助本文中要讲述的性能检测工具--sql server profil 阅读全文
posted @ 2018-03-07 16:51 xmj 阅读(127) 评论(0) 推荐(0)
摘要: NetAnalyzer下载地址 第一次写技术相关的博客,不足之处还请担待并告知。 在开始之前,先简单介绍一下NetAnalyzer, NetAnalyzer是一款集网络数据采集、报文协议分析、统计、网络流量监控于一体的网络管理工具软件,你可以直接认为NetAnalyzer就是中文(简化)版的Wris 阅读全文
posted @ 2018-03-07 16:50 xmj 阅读(234) 评论(0) 推荐(0)
摘要: 一、综述 1、确认和重传:接收方收到报文就会确认,发送方发送一段时间后没有收到确认就重传。 2、数据校验 3、数据合理分片和排序: UDP:IP数据报大于1500字节,大于MTU.这个时候发送方IP层就需要分片(fragmentation).把数据报分成若干片,使每一片都小于MTU.而接收方IP层则 阅读全文
posted @ 2018-03-07 16:49 xmj 阅读(138) 评论(0) 推荐(0)
摘要: 去年刚毕业来公司后,做为新人,发现很多东西都没有文档,各种工具和地址都是口口相传的,而且很多时候都是不知道有哪些工具可以使用,所以当时就想把自己接触到的这些东西记录下来,为后来者提供参考,相当于一个路线图,帮助新人尽快上手。 本文介绍的我所在小组的一些开发流程及相关工具。做为新人入门手册,其中某些工 阅读全文
posted @ 2018-03-07 16:49 xmj 阅读(243) 评论(0) 推荐(0)
摘要: 案例描述 由于最近我在重构之前的APP,需要和server端进行数据交互,发现有一个现象,那么就是隔1~2天总会发生获取数据超时的问题,而且必须要重启服务器才能解决。早在之前,我有留意到这个问题,但是由于这个服务器目前只有我测试的时候才有访问,其他的途径的数据交互几乎没有,但是这次必须要把这个问题解 阅读全文
posted @ 2018-03-07 16:48 xmj 阅读(356) 评论(0) 推荐(0)
摘要: WinDbg是微软发布的一款相当优秀的源码级(source-level)调试工具,可以用于Kernel模式调试和用户模式调试,还可以调试Dump文件。 WinDbg是微软很重要的诊断调试工具: 可以查看源代码、设置断点、查看变量, 查看调用堆栈及内存情况。  调试应用程序(用户模式 user mo 阅读全文
posted @ 2018-03-07 16:47 xmj 阅读(474) 评论(0) 推荐(0)
摘要: 1、下载WinDbg(Debugging Tools for Windows):http://www.microsoft.com/whdc/devtools/debugging/default.mspx 2、安装WinDbg 3、运行WinDbg 4、配置Symbol文件路径: File>Symbo 阅读全文
posted @ 2018-03-07 16:42 xmj 阅读(238) 评论(0) 推荐(0)
摘要: 自从公司开始将java作为主要开发语言后,C++与java的混合应用日趋增多。 java与C++的通信主要也是使用JNI来完成,这并没有什么问题。对于这样的混合应用项目来说,最大的噩梦莫过于memory leak诊断了。由于Java的内存管理模式与C++有很大的区别,所以对这样的项目进行调试时,首先 阅读全文
posted @ 2018-03-07 16:42 xmj 阅读(217) 评论(0) 推荐(0)
摘要: valgrind是linux下对C++和C程序进行内存泄露检测的工具,除了内存检测,valgrind还提供了很多其他的功能,这里主要介绍下valgrind的内存检测的功能。 首先是文件的下载,valgrind的官方网址是http://valgrind.org/,最新版本的valgrind是3.9,下 阅读全文
posted @ 2018-03-07 16:39 xmj 阅读(1462) 评论(0) 推荐(0)
摘要: 和框架部门的同事一起,经过valgrind大量的测试和验证,并没有发现有确切的内存泄露的代码段。对于C和C++程序,出现内存增长,可能我们很自然的就去内存泄露方面去思考,有时候,这种方向可能不一定对。 在解决这个问题的过程中,生成上又出现了另外一个内存增长的问题。这次的现象很明显,就是一个进程,能清 阅读全文
posted @ 2018-03-07 16:39 xmj 阅读(360) 评论(0) 推荐(0)
摘要: 亲自试过,可行!!!!! SqlServer数据库(可疑)解决办法4种 重启服务 日志文件丢了,建一个日志文件 重启服务 日志文件丢了,建一个日志文件 重启服务 日志文件丢了,建一个日志文件 SQL SERVER 2005 数据库状态为“可疑”的解决方法 --MyDB为修复的数据名 USE MAST 阅读全文
posted @ 2018-03-07 16:38 xmj 阅读(2908) 评论(0) 推荐(0)
摘要: 说到状态模式,如果你看过之前发布的重构系列的文章中的《代码重构(六):代码重构完整案例》这篇博客的话,那么你应该对“状态模式”并不陌生,因为我们之前使用到了状态模式进行重构。上一篇博客我们讲的主题是“组合模式”,我们使用组合模式创建了一个树形结构,并给出了遍历方式。今天我们来认识一下另一种模式,那就 阅读全文
posted @ 2018-03-07 16:38 xmj 阅读(782) 评论(0) 推荐(0)
摘要: 最近在看消息队列框架 ,alibaba的RocketMQ单机支持1万以上的持久化队列,支持诸多特性, 目前RocketMQ在阿里集团被广泛应用在订单,交易,充值,流计算,消息推送,日志流式处理,binglog分发等场景 比kafka还是有过之无不及,其实kafka文档很丰富 但RocketMQ网上的 阅读全文
posted @ 2018-03-07 16:37 xmj 阅读(288) 评论(0) 推荐(0)
摘要: 本质原因在于:SQL Server 统计信息只包含复合索引的第一个列的信息,而不包含复合索引数据组合的信息 来源于工作中的一个实际问题, 这里是组合列数据不均匀导致查询无法预估数据行数,从而导致无法选择合理的执行计划导致性能低下的情况 我这里把问题简单化,主要是为了说明问题 进行如下查询,就是查询那 阅读全文
posted @ 2018-03-07 16:36 xmj 阅读(269) 评论(0) 推荐(0)
摘要: Redis是一个非常高效的基于内存的NOSQL数据库,它提供非常高效的数据读写效能.在实际应用中往往是带宽和CLIENT库读写损耗过高导致无法更好地发挥出Redis更出色的能力.下面结合一些redis本身的特性和一些client操作上的改变来提高整个redis操作的交通. 上图是反映平常操作redi 阅读全文
posted @ 2018-03-07 16:35 xmj 阅读(231) 评论(0) 推荐(0)
摘要: 最近工作中需要用到一个将数据从Redis导出到文本(或从文本导入Redis)的工具。找到一个用Ruby写的开源软件redis-dump(http://delanotes.com/redis-dump/)。 利用上面的命令向Redis中set了100万条1K大小数据,本地测试下redis-dump的性 阅读全文
posted @ 2018-03-07 16:35 xmj 阅读(398) 评论(0) 推荐(0)
摘要: 查询提示一直是个很有争议的东西,因为他影响了sql server 自己选择执行计划。很多人在问是否应该使用查询提示的时候一般会被告知慎用或不要使用...但是个人认为善用提示在不修改语句的条件下,是常用手段。另外如果你是一个公司的dba 并且你对你所维护的数据库了如指掌,对业务也有相当深刻的了解那么查 阅读全文
posted @ 2018-03-07 16:34 xmj 阅读(199) 评论(0) 推荐(0)
摘要: 现在很多用户被数据库的慢的问题所困扰,又苦于花钱请一个专业的DBA成本太高。软件维护人员对数据库的了解又不是那么深入,所以导致问题迟迟不能解决,或只能暂时解决不能得到根治。开发人员解决数据问题基本又是搜遍百度各种方法尝试个遍,可能错过诊断问题的最佳时机又可能尝试一堆方法最后无奈放弃。 本系列文章主要 阅读全文
posted @ 2018-03-07 16:34 xmj 阅读(221) 评论(0) 推荐(0)
摘要: 现在很多用户被数据库的慢的问题所困扰,又苦于花钱请一个专业的DBA成本太高。软件维护人员对数据库的了解又不是那么深入,所以导致问题迟迟不能解决,或只能暂时解决不能得到根治。开发人员解决数据问题基本又是搜遍百度各种方法尝试个遍,可能错过诊断问题的最佳时机又可能尝试一堆方法最后无奈放弃。 怎么样让琐事缠 阅读全文
posted @ 2018-03-07 16:33 xmj 阅读(165) 评论(0) 推荐(0)
摘要: 现在很多用户被数据库的慢的问题所困扰,又苦于花钱请一个专业的DBA成本太高。软件维护人员对数据库的了解又不是那么深入,所以导致问题迟迟不能解决,或只能暂时解决不能得到根治。开发人员解决数据问题基本又是搜遍百度各种方法尝试个遍,可能错过诊断问题的最佳时机又可能尝试一堆方法最后无奈放弃。 怎么样让琐事缠 阅读全文
posted @ 2018-03-07 16:32 xmj 阅读(146) 评论(0) 推荐(0)
摘要: 前面三篇通过CPU、内存、磁盘三巨头,讲述了如何透过现在看本质,怎样定位服务器三巨头反映出的问题。为了方便阅读给出链接: SQL SERVER全面优化 Expert for SQL Server 诊断系列 通过三篇文章的基本介绍,可以看出系统的语句如果不优化,可能会导致三巨头都出现异常的表现。所以本 阅读全文
posted @ 2018-03-07 16:31 xmj 阅读(181) 评论(0) 推荐(0)
摘要: 现在很多用户被数据库的慢的问题所困扰,又苦于花钱请一个专业的DBA成本太高。软件维护人员对数据库的了解又不是那么深入,所以导致问题迟迟不能解决,或只能暂时解决不能得到根治。开发人员解决数据问题基本又是搜遍百度各种方法尝试个遍,可能错过诊断问题的最佳时机又可能尝试一堆方法最后无奈放弃。 怎么样让琐事缠 阅读全文
posted @ 2018-03-07 16:31 xmj 阅读(175) 评论(0) 推荐(0)
摘要: 阅读目录 一、概念 二、观察者模式组成 三、观察者模式实现方式 四、参考资料 阅读目录 一、概念 二、观察者模式组成 三、观察者模式实现方式 四、参考资料 回到顶部 一、概念 观察者模式,又被称为发布—订阅模式、源—收听者模式,是软件设计模式的一种。在此种模式中,一个目标物件管理所有相依与它的观察者 阅读全文
posted @ 2018-03-07 16:30 xmj 阅读(140) 评论(0) 推荐(0)
摘要: 上一篇我们简单的介绍了,语句优化的三板斧,大部分语句三板斧过后,就算不成为法拉利也能是个宝马了。为了方便阅读给出系列文章的导读链接: SQL SERVER全面优化 Expert for SQL Server 诊断系列 本篇主要讲述几个常见的系统等待,透过这些等待,看看系统存在什么问题,怎么样解决这些 阅读全文
posted @ 2018-03-07 16:30 xmj 阅读(184) 评论(0) 推荐(0)
摘要: 查询速度慢的原因很多,常见如下几种: 1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2、I/O吞吐量小,形成了瓶颈效应。 3、没有创建计算列导致查询不优化。 4、内存不足 5、网络速度慢 6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 7、锁或者死锁(这 阅读全文
posted @ 2018-03-07 16:29 xmj 阅读(218) 评论(0) 推荐(0)
摘要: 刚开始在windows下使用c++访问reids各种报错,经过网上到处搜方案,终于可以在windows下访问redis了,特将注意事项记录下来: 1.获取redis Window下的开发库源码,从github获取windows版:https://github.com/MSOpenTech/redis 阅读全文
posted @ 2018-03-07 16:26 xmj 阅读(971) 评论(0) 推荐(0)
摘要: 这份代码是redis的client接口,其和server端的交互使用了deps目录下的hiredis c库,同时,在这部分代码中,应用了linenoise库完成类似history命令查询、自动补全等终端控制功能。 1 #include "fmacros.h" //用于mac下的兼容性处理 2 #in 阅读全文
posted @ 2018-03-07 16:25 xmj 阅读(1058) 评论(1) 推荐(0)
摘要: 前面文章针对CPU、内存、磁盘、语句、等待讲述了SQL SERVER的一些基本的问题诊断与调优方式。为了方便阅读给出导读文章链接方便阅读: SQL SERVER全面优化 Expert for SQL Server 诊断系列 这篇我们来说说TempDB,这个系统数据库如何进行优化,怎么样平衡他的使用。 阅读全文
posted @ 2018-03-07 16:25 xmj 阅读(186) 评论(0) 推荐(0)
摘要: 今天准备给大家介绍一个c#服务器框架(SuperSocket)和一个c#客户端框架(SuperSocket.ClientEngine)。这两个框架的作者是园区里面的江大渔。 首先感谢他的无私开源贡献。之所以要写这个文章是因为群里经常有人问这个客户端框架要如何使用。原因在于服务端框架的文档比较多,客户 阅读全文
posted @ 2018-03-07 16:25 xmj 阅读(375) 评论(0) 推荐(0)
摘要: 随着互联网业务对性能需求日益强烈,作为Key/Value存储的Redis具有数据类型丰富和性能表现优异的特点。如果能够熟练地驾驭它,不管是把它用做缓存还是存储,对很多大型应用都很多帮助。新浪作为世界上最大的Redis使用者,体会到了Redis为高并发在线业务带来的好处,但同时也遇到了很多挑战,新浪为 阅读全文
posted @ 2018-03-07 16:24 xmj 阅读(2474) 评论(0) 推荐(0)
摘要: 红色字体是现阶段比较火的 奇虎360 https://github.com/Qihoo360 1.MySQL中间层 Atlas Atlas是由 Qihoo 360, Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。它在MySQL官方推出的MySQL-Proxy 0.8.2版 阅读全文
posted @ 2018-03-07 16:23 xmj 阅读(323) 评论(0) 推荐(0)
摘要: 由于Boss跟军方的特殊关系,我们又接到了军方的项目,这次呢是做一个即时通讯系统。虽然Boss跟军方很铁,拿到的项目款也很多,系统并不是很难,但是项目还是要好好做。无论如何,对系统的性能、友好性、安全性都还是要求很高的。30W也不是轻易就能搞到的。当然,也不算难,上周就已经发钱、发钱、发钱了!总共也 阅读全文
posted @ 2018-03-07 16:22 xmj 阅读(408) 评论(0) 推荐(0)
摘要: 背景: 以前有篇文章已经结果过了,现在复习一下,对Redis3.0进行说明: 参数说明: #3.2里的参数,是否开启保护模式,默认开启。要是配置里没有指定bind和密码。开启该参数后,redis只会本地进行访问,拒绝外部访问。要是开启了密码 和bind,可以开启。否 则最好关闭,设置为no。 pro 阅读全文
posted @ 2018-03-07 16:21 xmj 阅读(169) 评论(0) 推荐(0)
摘要: yahoo邮箱在九几年的时候,业务深受各种邮箱机器人的困扰,存在着大量的垃圾邮件,于是他们找到了当时仍在读大学的路易斯·冯·安(Luis von Ahn),并设计了经典的图形验证码,即通过简单的扭曲图形文字进行机器的识别。 通过这个简单的图形,他们很快的控制住了垃圾邮件的数量,并将大量的机器人据之门 阅读全文
posted @ 2018-03-07 16:20 xmj 阅读(286) 评论(0) 推荐(0)
摘要: 想了好久索引的重要性应该怎么写?讲原理结构?我估计大部分人不愿意看,也不愿意花那么多时间仔细研究。光写应用?感觉不明白原理一样不会用。举例说明?情况太多也写不全....到底该怎么写呢? 随便写吧,想到哪写到哪! 前面很多篇不管CPU、内存、磁盘、语句等等等都提到了索引的重要,我想刚刚开始学数据库的在 阅读全文
posted @ 2018-03-07 16:20 xmj 阅读(283) 评论(0) 推荐(0)
摘要: 观看了唐老师讲解的一节《第5课 - 引用的本质分析》感觉非常不错,有深度不废话,我喜欢~~~ 再此总结下,并且奉上视频下载地址~~~ 360网盘下载地址: https://yunpan.cn/cxXynI6sGbHJs 密码(4b1b) // 正文 在C里并没引用这个语法,而在C++里具有这个语法。 阅读全文
posted @ 2018-03-07 16:19 xmj 阅读(278) 评论(0) 推荐(0)
摘要: 前几篇文章已经从整体提供了诊断数据库的各个方面问题的基本思路...也许对你很有用,也许你觉得离自己太远。那么今天我们从语句的一些优化写法及一些简单优化方法做一个介绍。这对于很多开发人员来说还是很有用的!为了方便阅读给出前文链接: SQL SERVER全面优化 Expert for SQL Serve 阅读全文
posted @ 2018-03-07 16:18 xmj 阅读(228) 评论(0) 推荐(0)
摘要: RPC(Remote Procedure Call Protocol)远程过程调用协议,它是一种通过网络,从远程计算机程序上请求服务,而不必了解底层网络技术的协议。说的再直白一点,就是客户端在不必知道调用细节的前提之下,调用远程计算机上运行的某个对象,使用起来就像调用本地的对象一样。目前典型的RPC 阅读全文
posted @ 2018-03-07 16:17 xmj 阅读(627) 评论(0) 推荐(0)
摘要: 本章内容: Socket IO多路复用(select) SocketServer 模块(ThreadingTCPServer源码剖析) socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求。 功能: sk = sock 阅读全文
posted @ 2018-03-07 16:17 xmj 阅读(181) 评论(0) 推荐(0)
摘要: 由于项目的需要,最近研究了java 调用DLL的方法,将如何调用的写于此,便于日后查阅: 采用的方法是JNI:Java Native Interface,简称JNI,是Java平台的一部分,可用于让Java和其他语言编写的代码进行交互。 下面是从网上摘取的JNI工作示意图: 总体说明:先在JAVA中 阅读全文
posted @ 2018-03-07 16:16 xmj 阅读(3604) 评论(0) 推荐(0)
摘要: 前置条件 1. 首先有testdll.dll 2. 需要testdll.dll的头文件,以便知道了定义了哪些接口在里面,例如: 当然,要知道这些方法的实现,就要看实现部分了,一般不需要知道。 预备动作 1. 从上面图中,我们可以接口的定义,假设现在我们需要调用如下接口,该怎么调用呢? 2. 首先看接 阅读全文
posted @ 2018-03-07 16:16 xmj 阅读(7506) 评论(0) 推荐(0)
摘要: 最近一个项目要开发网页端人脸识别项目,人脸识别的算法已经写好,是C++版,但是网页端要求使用Java后台,这就涉及到Java调用DLL的问题。经过查找,实现了一个简单的例子。 1、第一步,先在Java中新建一个类 如上图,其中注意这句System.loadLibrary("javaCallcpp") 阅读全文
posted @ 2018-03-07 16:15 xmj 阅读(13023) 评论(0) 推荐(1)
摘要: 本文主要分析了几种Socket编程的模式。主要包括基本的阻塞Socket、非阻塞Socket、I/O多路复用。其中,阻塞和非阻塞是相对于套接字来说的,而其他的模式本质上来说是基于Socket的并发模式。I/O多路复用又主要分析了分析linux和windows下的常用模型。最后,比较这几种Socket 阅读全文
posted @ 2018-03-07 16:14 xmj 阅读(174) 评论(0) 推荐(0)
摘要: c 中内置了很多高级的函数,我们先使用排序函数看一下 输出结果为 为了能使这个qsort排序函数适应很多种排序情况,需要传入一个排序规则函数当做参数。 下边介绍一种函数指针数组的使用情况 假如我们要写一个群发邮件的程序,向不同的人发送不同类型的内容,很自然的想到,我们用struct 来实现 我们使用 阅读全文
posted @ 2018-03-07 16:13 xmj 阅读(289) 评论(0) 推荐(0)
摘要: TCP粘包现象 TCP粘包通俗来讲,就是发送方发送的多个数据包,到接收方后粘连在一起,导致数据包不能完整的体现发送的数据。 TCP粘包原因分析 导致TCP粘包的原因,可能是发送方的原因,也有可能是接受方的原因。 由于TCP需要尽可能高效和可靠,所以TCP协议默认采用Nagle算法,以合并相连的小数据 阅读全文
posted @ 2018-03-07 16:13 xmj 阅读(270) 评论(0) 推荐(0)
摘要: 前言: 趁着最近的休息时间,只能多勤快些:多写代码,多更新文章。 因为一旦投入新的工作,估计博客又会恢复到一年才产几篇的状态。 对于DBImport,因为用户的意见,增加了一个亮点功能,让软件B格升为数据库时时同步工具,所以值的介绍一下。 相比上一版本的主要功能更新: 1:优化MySql的导入效率。 阅读全文
posted @ 2018-03-07 13:03 xmj 阅读(272) 评论(0) 推荐(0)
摘要: 阅读目录 概述: 一、事务 二、锁 三、阻塞 四、隔离级别 五.死锁 阅读目录 概述: 一、事务 二、锁 三、阻塞 四、隔离级别 五.死锁 以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化。 本系列主要是针对T-SQL的总结。 【T-SQL基础】01.单表查询 阅读全文
posted @ 2018-03-07 13:02 xmj 阅读(231) 评论(0) 推荐(0)
摘要: 起因调查: 收到大量邮件报警想必事出有因,就问同事到底发生了什么?同事登录从库查看,发现出现如下报错提示,表示与主库同步失败,一直卡在哪里,看他弄了两个多小时,问题越来越多,解决一个恢复平静了一两分钟又不行了。。。。于是报警的邮件又是一封又一份。。。于是向我求助。登录从库后发现: 其中一台从库报错内 阅读全文
posted @ 2018-03-07 13:01 xmj 阅读(677) 评论(0) 推荐(0)
摘要: 抢购钻石不稀奇,稀奇的是有钱赚不到,事情发生在2015年5月20日,大好的日子自然少不了商家的参与。即可为您还原现场,解决思路献给各位,请欣赏Show Time,everybody~ 1、优化起因及工作准备 2014年5月20日下午三点四十接到对方不愿意透漏姓名的“王大锤”领导的电话,对方火急火燎的 阅读全文
posted @ 2018-03-07 13:01 xmj 阅读(212) 评论(0) 推荐(0)
摘要: 最近发布在windows server2012 IIS8.0上的一个WebAPI项目,才几十个人在线,CPU就会出现过百情况,并且CPU一旦过百应用程序池就自动暂停掉,看到这个问题我感觉应该是程序哪个地方出了问题, 8盒16G 应该配置还是可以的。打算使用windbg找到这个问题。 为了快速定位问题 阅读全文
posted @ 2018-03-07 13:00 xmj 阅读(408) 评论(0) 推荐(0)
摘要: 之前写过一篇nginx多tomcat负载均衡,主要记录了使用nginx对多个tomcat 进行负载均衡,其实进行负载均衡之前还有一个问题没有解决,那就是集群间的session共享,不然用户在登录网站之后session保存在tomcat A,但是下次访问的时候nginx分发到了tomcat B,这个时 阅读全文
posted @ 2018-03-07 12:59 xmj 阅读(461) 评论(0) 推荐(0)
摘要: 概念 redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都 阅读全文
posted @ 2018-03-07 12:58 xmj 阅读(118) 评论(0) 推荐(0)
摘要: 背景: MySQL5.7之后多了一个备份工具:mysqlpump。它是mysqldump的一个衍生,mysqldump就不多说明了,现在看看mysqlpump到底有了哪些提升,可以查看官方文档,这里针对如何使用做下说明。 mysqlpump和mysqldump一样,属于逻辑备份,备份以SQL形式的文 阅读全文
posted @ 2018-03-07 12:58 xmj 阅读(398) 评论(0) 推荐(0)
摘要: Linux中一切皆文件,不论是我们存储在磁盘上的字符文件,可执行文件还是我们的接入电脑的I/O设备等都被VFS抽象成了文件,比如标准输入设备默认是键盘,我们在操作标准输入设备的时候,其实操作的是默认打开的一个文件描述符是0的文件,而一切软件操作硬件都需要通过OS,而OS操作一切硬件都需要相应的驱动程 阅读全文
posted @ 2018-03-07 12:57 xmj 阅读(244) 评论(0) 推荐(1)
摘要: 【原文地址:http://www.cppblog.com/pansunyou/archive/2011/01/26/io_design_patterns.html】 综述 这篇文章探讨并比较两种用于TCP服务器的高性能设计模式. 除了介绍现有的解决方案, 还提出了一种更具伸缩性,只需要维护一份代码并 阅读全文
posted @ 2018-03-07 12:56 xmj 阅读(206) 评论(0) 推荐(0)
摘要: 性能计数器和sql profiler都是常用的性能诊断工具和优化工具,最近和群友聊天发现很多人竟然不知道这两个可以“组合”使用,所以这篇算是一篇扫盲贴吧。 两种工具简述 通过计数器可以收集两部分内容:WINDOWS 的运行指标,和SQL Server的指标。比如:服务器的CPU使用率、磁盘队列、内存 阅读全文
posted @ 2018-03-07 12:56 xmj 阅读(128) 评论(0) 推荐(0)
摘要: 简介 理解SQL Server对于内存的管理是对于SQL Server问题处理和性能调优的基本,本篇文章讲述SQL Server对于内存管理的内存原理。 二级存储(secondary storage) 对于计算机来说,存储体系是分层级的。离CPU越近的地方速度愉快,但容量越小(如图1所示)。比如:传 阅读全文
posted @ 2018-03-07 12:55 xmj 阅读(485) 评论(0) 推荐(0)
摘要: 前三篇博客分别介绍了xml的三种解析方法,分别是SAX,DOM,PULL解析XML,兴趣的朋友可以去看一下这【XML解析(一)】SAX解析XML,【XML解析(二)】DOM解析XML,【XML解析(三)】PULL解析XML三篇文章学习一下XML解析。我们知道客户端请求服务器,服务器给我们返回的数据通 阅读全文
posted @ 2018-03-07 12:54 xmj 阅读(352) 评论(0) 推荐(0)
摘要: 现在手上有一个不大不小的系统,运行了一段时间,因为是24*7不断运行,所以内存逐渐增高,慢慢的会飙到95%以上,然后不得不重启电脑,因为用的是云,怕虚拟机重启down掉起不来,重启操作还只能在凌晨4、5点人为弄,周而复始的搞很累,于是下决心找出来到底是什么吞内存 以上两张图是系统的配置和内存占有情况 阅读全文
posted @ 2018-03-07 12:53 xmj 阅读(185) 评论(0) 推荐(0)
摘要: 文章结束给大家来个程序员笑话:[M] 最近在研究Thrift和Avro以及它们的区分,通过各种渠道搜集资料,现整顿出有关Avro的一些资料,方便当前参考。 一、弁言 1、 简介 Avro是Hadoop中的一个子项目,也是Apache中一个独立的项目,Avro是一个基于二进制数据传输高性能的旁边件。在 阅读全文
posted @ 2018-03-07 12:52 xmj 阅读(4452) 评论(0) 推荐(0)
摘要: certutil -hashfile yourfilename.ext MD5 certutil -hashfile yourfilename.ext SHA1 certutil -hashfile yourfilename.ext SHA256 转:http://blog.163.com/lica 阅读全文
posted @ 2018-03-07 12:52 xmj 阅读(169) 评论(0) 推荐(0)
摘要: 1、关联双向关联:C1-C2:指双方都知道对方的存在,都可以调用对方的公共属性和方法。在GOF的设计模式书上是这样描述的:虽然在分析阶段这种关系是适用的,但我们觉得它对于描述设计模式内的类关系来说显得太抽象了,因为在设计阶段关联关系必须被映射为对象引用或指针。对象引用本身就是有向的,更适合表达我们所 阅读全文
posted @ 2018-03-07 12:51 xmj 阅读(970) 评论(0) 推荐(0)
摘要: Webservice Webservice是使应用程序以与平台和编程语言无关的方式进行相互通信技术。 eg:站点提供访问的数据接口:新浪微博、淘宝。 官方解释:它是一种构建应用程序的普遍模型,可以在任何支持网络通信的操作系统中实施运行;它是一种新的web应用程序分支,是自包含、自描述、模块化的应用, 阅读全文
posted @ 2018-03-07 12:50 xmj 阅读(14912) 评论(0) 推荐(1)
摘要: 一、 概述与介绍 ActiveMQ 是Apache出品,最流行的、功能强大的即时通讯和集成模式的开源服务器。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现。提供客户端支持跨语言和协议,带有易于在充分支持JMS 1.1和1.4使用J2EE企业集成模式 阅读全文
posted @ 2018-03-07 12:49 xmj 阅读(172) 评论(0) 推荐(0)
摘要: 很早前就仓促的接触过activemq,但当时太赶时间.后面发现activemq 需要了解的东西实在是太多了. 关于activemq 一直想起一遍文章.但也一直缺少自己的见解.或许是网上这些文章太多了.也可能是自己知识还不足够. 0,activemq-cpp 能解决什么问题. 实际应用就是让开发者能从 阅读全文
posted @ 2018-03-07 12:48 xmj 阅读(1603) 评论(0) 推荐(0)
摘要: 一、Session 1、Session 介绍 我相信,搞Web开发的对Session一定再熟悉不过了,所以我就简单的介绍一下。 Session:在计算机中,尤其是在网络应用中,称为“会话控制”。 每个用户(浏览器)首次与web服务器建立连接时,就会产生一个Session,同时服务器会分配一个Sess 阅读全文
posted @ 2018-03-07 12:30 xmj 阅读(260) 评论(0) 推荐(0)
摘要: 最近vs2017神器正式版发布让人很是激动,vs2017支持了很多语言的开发,从前端-后端-底层的支持,堪称是工具中的神器;netcore我喜爱的架构之一也得到了大力的宣传,应群友的邀请将在队列工厂(msmq,redis,rabbitmq)一些列文章过后,继续增加.netcore方面的文章,只为.n 阅读全文
posted @ 2018-03-07 12:29 xmj 阅读(348) 评论(0) 推荐(0)
摘要: 摘要 序列化和反序列化几乎是工程师们每天都要面对的事情,但是要精确掌握这两个概念并不容易:一方面,它们往往作为框架的一部分出现而湮没在框架之中;另一方面,它们会以其他更容易理解的概念出现,例如加密、持久化。然而,序列化和反序列化的选型却是系统设计或重构一个重要的环节,在分布式、大数据量系统设计里面更 阅读全文
posted @ 2018-03-07 12:29 xmj 阅读(194) 评论(0) 推荐(0)
摘要: 本次和大家分享的是RabbitMQ队列的用法,前一篇文章队列工厂之(MSMQ)中在描述的时候已经搭建了简单工厂,因此本章内容是在其之上扩充的子项不再过多讲解工厂的代码了;RabbitMQ应该是现在互联网公司消息队列用的最多的一种之一吧,看看招聘基本都会有这个单词的出现,她相比前一篇分享的MSMQ来说 阅读全文
posted @ 2018-03-07 12:28 xmj 阅读(214) 评论(0) 推荐(0)
摘要: 序言 Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案。实际上这意味着你可以使用Sentinel模式创建一个可以不用人为干预而应对各种故障的Redis部署。 它的主要功能有以下几点 监控:Sentinel不断的检查master和slave是否正常的运行。 通知:如果发现某个 阅读全文
posted @ 2018-03-07 12:27 xmj 阅读(258) 评论(0) 推荐(0)
摘要: 本次和大家分享的是RedisMQ队列的用法,前两篇文章队列工厂之(MSMQ)和队列工厂之RabbitMQ分别简单介绍对应队列环境的搭建和常用方法的使用,加上本篇分享的RedisMQ那么就完成了咋们队列工厂"三剑客"的目标了哈哈;Redis的作用不仅仅局限于队列,更多的一般都使用它的key,value 阅读全文
posted @ 2018-03-07 12:27 xmj 阅读(222) 评论(0) 推荐(0)
摘要: 转载请注明出处:http://www.cnblogs.com/4 /p/6518801.html 0.目录 RabbitMQ-从基础到实战(2)— 防止消息丢失 RabbitMQ-从基础到实战(3)— 消息的交换(上) RabbitMQ-从基础到实战(4)— 消息的交换(中) RabbitMQ-从基 阅读全文
posted @ 2018-03-07 12:26 xmj 阅读(311) 评论(0) 推荐(0)
摘要: 转载请注明出处 0.目录 RabbitMQ-从基础到实战(1)— Hello RabbitMQ RabbitMQ-从基础到实战(3)— 消息的交换(上) RabbitMQ-从基础到实战(4)— 消息的交换(中) RabbitMQ-从基础到实战(5)— 消息的交换(下) RabbitMQ-从基础到实战 阅读全文
posted @ 2018-03-07 12:25 xmj 阅读(209) 评论(0) 推荐(0)
摘要: 转载请注明出处:http://www.cnblogs.com/4 /p/6549865.html 0.目录 RabbitMQ-从基础到实战(1)— Hello RabbitMQ RabbitMQ-从基础到实战(2)— 防止消息丢失 RabbitMQ-从基础到实战(4)— 消息的交换(中) Rabbi 阅读全文
posted @ 2018-03-07 12:24 xmj 阅读(168) 评论(0) 推荐(0)
摘要: 在很多软件公司,特别是一些创业型的团队中,对于这样的情景可能大家都很熟悉:项目经理或者产品经理(产品狗)口头或者简单记录一下软件产品的大致要做的功能,直接就让研发团队的兄弟(程序猿)去狂撸代码。然后他就去喝茶撩妹或者回家陪老婆了... 这种撸起袖子就开干的方式,看似简单高效,便于直接沟通,能够快速迭 阅读全文
posted @ 2018-03-07 12:23 xmj 阅读(162) 评论(0) 推荐(0)
摘要: 上次我们介绍了在单机、集群下高并发场景可以选择的一些方案,传送门:高并发场景之一般解决方案 但是也发现了一些问题,比如集群下使用ConcurrentQueue或加锁都不能解决问题,后来采用Redis队列也不能完全解决问题, 因为使用Redis要自己实现分布式锁 这次我们来了解一下一个专门处理队列的组 阅读全文
posted @ 2018-03-07 12:22 xmj 阅读(1210) 评论(0) 推荐(0)
摘要: 我们使用的大部分 PC 是基于 Intel 微处理器的 x86 和 x64 架构计算机. 因此, 我们面对的 windows 避免不了和 Intel 架构有些设计上的契合. 比如接下来要说到的内存管理. 为简单起见, 我们只讨论 x86 体系架构的内存管理. 不考虑换页文件影响. 进程的内存 图 1 阅读全文
posted @ 2018-03-07 12:21 xmj 阅读(691) 评论(0) 推荐(0)
摘要: 1. 声明#include <boost/shared_ptr.hpp> class UsersBitmap { ... } typedef boost::shared_ptr<UsersBitmap> UsersBitmapPtr; 2. 使用 UsersBitmapPtr login_users 阅读全文
posted @ 2018-03-07 12:21 xmj 阅读(320) 评论(0) 推荐(0)
摘要: 1、复制概述1.1、复制解决的问题数据复制技术有以下一些特点:(1) 数据分布(2) 负载平衡(load balancing)(3) 备份(4) 高可用性(high availability)和容错1.2、复制如何工作从高层来看,复制分成三步:(1) master将改变记录到二进制日志(binary 阅读全文
posted @ 2018-03-07 12:20 xmj 阅读(123) 评论(0) 推荐(0)
摘要: 在平时和开发的交流 以及 在论坛回答问题的或称中会发现这个问题被问及的频率非常高。 程序中报错: MySQL server has gone away 是什么意思? 如何避免? 因此,感觉有必要总结一下发生这个问题的原因。今天正好看到一篇外文blog总结的比较好,就翻译过来了 原文:http://r 阅读全文
posted @ 2018-03-07 12:19 xmj 阅读(296) 评论(0) 推荐(0)
摘要: inux删除文件后沒有释放空间 今天发现一台服务器的home空间满了,于是要清空没用的文件,当我删除文件后,发现可用空间沒有变化 os:centos4.7 现象: 发现当前磁盘空间使用情况: [root@ticketb ~]# df -hFilesystem Size Used Avail Use% 阅读全文
posted @ 2018-03-07 12:18 xmj 阅读(291) 评论(0) 推荐(0)
摘要: 一、GO语言安装 详情查看:GO语言下载、安装、配置 二、GoLang插件介绍 对于Visual Studio Code开发工具,有一款优秀的GoLang插件,它的主页为:https://github.com/microsoft/vscode-go 这款插件的特性包括: Colorization 代 阅读全文
posted @ 2018-03-07 12:17 xmj 阅读(31103) 评论(1) 推荐(0)
摘要: 1.基本介绍 Restful接口的调用,前端一般使用ajax调用,后端可以使用的方法比较多, 本次介绍三种: 1.HttpURLConnection实现 2.HttpClient实现 3.Spring的RestTemplate 2.HttpURLConnection实现 3.HttpClient实现 阅读全文
posted @ 2018-03-07 12:14 xmj 阅读(584) 评论(0) 推荐(0)
摘要: 背景: 有一个项目做一个系统,分客户端和服务端,客户端用c++写的,用来收集信息然后传给服务端(客户端的数量还是比较多的,正常的有几千个), 服务端用Java写的(带管理页面),属于RPC模式,中间的通信框架使用的是thrift。 thrift很多优点就不多说了,它是facebook的开源的rpc框 阅读全文
posted @ 2018-03-07 11:24 xmj 阅读(178) 评论(0) 推荐(0)