
其他
文章平均质量分 87
xumaojun
这个作者很懒,什么都没留下…
展开
-
docker jvm 内存限制
docker 容器提供了相关的内存限制。具体使用方式如:-m 512m## 完整例子docker run –rm -m 512m -e JAVA_OPTS=’-Xmx512m’ tomcat:8通过-m 进行限制,但是在实际应用重,会出现jvm内存一直到内存满也没有执行gc。在查询之后,问题出现在docker容器下jvm识别的内存为宿主机内存。之后又添加了jvm的内存限制:-Xmx512m但是在openjdk 还是没有生效。最后在OpenJDK and Containers转载 2021-06-15 16:45:58 · 1103 阅读 · 0 评论 -
Redis代码阅读3--Redis网络监听(3)
是介绍Redis网络监听的最后一篇文章,着重分析定时时间处理函数serverCron,这个函数其实已经和网络监听没多大关系了,当时因为其绑定在Redis自定义的事件库的定时事件上,所以放到一起来讲。serverCron的这个函数对Redis的正常运行来说很重要,对于Redis的使用者来说,最重要的就是能够迅速直观地看到Redis的当前的运行状况(keys,sizes,memory等),se转载 2016-09-01 11:12:56 · 831 阅读 · 0 评论 -
Web Service描述语言 WSDL 详解
http://www.blogjava.net/libin2722/articles/159469.html为什么使用WSDL? 像Internet协议之类的标准有没有为权威所利用,或者人们这样看待它是因为顺之所获的好处远远超出了代价?曾经有许多试图建立的标准都流产了。有时候,那些还没有普遍使用的标准甚至由法令或政府规定强行推出:Ada语言就是一例。 我相信正是跟随标准所带来的转载 2015-03-02 12:55:40 · 3885 阅读 · 0 评论 -
Redis设计与实现(一~五整合版)
http://www.tuicool.com/articles/YBNZZzI一前言项目中用到了redis,但用到的都是最最基本的功能,比如简单的slave机制,数据结构只使用了字符串。但是一直听说redis是一个很牛的开源项目,很多公司都在用。于是我就比较奇怪,这玩意不就和 memcache 差不多吗?仅仅是因为memcache是内存级别的,没有持久化功能。而redis支持持久化?难转载 2015-04-04 14:41:36 · 903 阅读 · 0 评论 -
Thrift源码剖析
由于工作的关系,需要定位一个 bug 是否和 Thrift 有关, 所以用了一下午的时间研读了 Thrift-0.9.0 代码,虽然发现这个 bug 和 thrift 无关。 但是读源码还是有所收获,所以整理成这篇文章,不过不太适合 Thrift 刚入门的人。以下内容基于 thrift-0.9.0 。整体脉络Thrift 几乎支持所有的语言。在此针对 Thrift 的转载 2016-04-23 13:55:25 · 759 阅读 · 0 评论 -
Thrift异步IO服务器源码分析
最近在使用 libevent 开发项目,想起之前写 Thrift源码剖析 的时候说到关于 TNonblockingServer 以后会单独写一篇解析, 现在是时候了,就这篇了。以下内容依然是基于 thrift-0.9.0 。概述现在随着 Node.js 的兴起,很多人着迷 eventloop , 经常是不明真相就会各种追捧,其实 eventloop 只是 一种高并发的解转载 2016-04-23 13:56:39 · 609 阅读 · 0 评论 -
Thrift之Protocol源码分析
之前写过两篇关于 Thrift 的相关文章。Thrift源码剖析Thrift异步IO服务器源码分析也算是对Thrift比较熟悉,不过对 Thrift 里面的 Protocol 部分还是黑盒使用。 虽然大概能猜到具体实现方式,但是还是忍不住花了一点点时间把具体代码实现翻出来看看。 主要是为了满足一下好奇心。简单搞了一个Thrift的描述文件Insight.thrift作为例子转载 2016-04-23 13:59:52 · 808 阅读 · 0 评论 -
C1000K之Libevent源码分析
简介说到异步IO,高并发之类的名词, 可能很多人第一反应就是 select, poll, epoll, kqueue 之类的底层代码库。 但是其实除非你要写一个 Nginx 性能级别的服务器, 否则直接使用 epoll 之类的还是太过底层, 诸多不便,要榨干整个异步编程的高并发性能还需要开发很多相关组件, 而Libevent 就是作为更好用的高性能异步编程网络库而生, 他帮你包装了转载 2016-04-23 14:02:35 · 547 阅读 · 0 评论 -
国家运输ITS通信协议(NTCIP)简介
国家智能交通系统工程技术研究中心 张北海 中交国通智能交通系统技术有限公司 肖媛媛 1. NTCIP的发展历程 NTCIP(National Transportation Communications for ITS Protocol)是美国针对智能运输系统(ITS)的电子设备间数据传输所制定的标准通讯协议,其主要目标是确保交通控制与ITS系统组成单元彼此之间的“互操作性”(Inter转载 2014-06-12 16:39:23 · 10711 阅读 · 1 评论 -
Thirft框架介绍
1、前言Thrift是一个跨语言的服务部署框架,最初由Facebook于2007年开发,2008年进入Apache开源项目。Thrift通过一个中间语言(IDL, 接口定义语言)来定义RPC的接口和数据类型,然后通过一个编译器生成不同语言的代码(目前支持C++,Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smallt转载 2014-05-20 18:53:50 · 549 阅读 · 0 评论 -
Apache Thrift - 可伸缩的跨语言服务开发框架
前言:目前流行的服务调用方式有很多种,例如基于 SOAP 消息格式的 Web Service,基于 JSON 消息格式的 RESTful 服务等。其中所用到的数据传输方式包括 XML,JSON 等,然而 XML 相对体积太大,传输效率低,JSON 体积较小,新颖,但还不够完善。本文将介绍由 Facebook 开发的远程服务调用框架 Apache Thrift,它采用接口描述语言定义并创建服务,转载 2014-05-20 18:55:52 · 614 阅读 · 0 评论 -
md5.c
/* md5.c - an implementation of the MD5 algorithm and MD5 crypt *//* * GRUB -- GRand Unified Bootloader * Copyright (C) 2000, 2001 Free Software Foundation, Inc. * * This program is free so转载 2014-05-12 09:05:13 · 3168 阅读 · 1 评论 -
超实用的JavaScript技巧及最佳实践(下)
摘要:JavaScript是一门非常流行的编程语言,许多开发者都会把JavaScript选为入门语言,本文向大家分享JavaScript开发的小技巧、最佳实践等非常实用的内容。在前段时间,优快云研发频道发表了超实用的JavaScript技巧及最佳实践(上),很多开发者都觉得里面所提到的技巧非常实用,基于此,我们再向大家推荐超实用的JavaScript技巧及最佳实践(下),希望对大家有转载 2014-01-07 09:51:53 · 728 阅读 · 0 评论 -
DES加密算法—实现(C语言)
http://www.iteye.com/topic/478024DES(Data Encrypt Standard数据库加密标准)是迄今为止使用最广泛的加密体制。 初学信息安全的新生,一般都会被老师要求实现DES算法,如果老师不要求,那么有缘来我这里共同学习的朋友,我建议你用C去实现一下,C语言在信息安全领域很重要,更何况隶属于工科的信息安全,你只懂理论是远远不够的。转载 2013-12-30 10:06:33 · 45758 阅读 · 17 评论 -
修改一行SQL代码 性能提升了100倍
在PostgreSQL中修改了一行不明显的代码,把(ANY(ARRAY[...]) 改成 ANY(VALUES(...))),结果查询时间从20s变为0.2s。最初我们学习使用EXPLAN ANALYZE来优化代码,到后来,Postgres社区也成为我们学习提升的一个好帮手,付出总会有回报,我们产品的性能也因此得到了极大的提升。事出有因我们所开发的产品是Datadog,它是专门为那些编写和转载 2013-08-29 09:35:17 · 1561 阅读 · 0 评论 -
Qt环境变量的设置,Qt程序运行时提示缺少mingwm10.dll、QtCore4.dll的解决方法
最近学习Qt,于是安装了一个从Qt官方网站http://qt.nokia.com/downloads上下载的完整的QtSDK,写了一个程序以后发现在QtCreator下,程序可以正常运行,但是当关闭QtCreator后,在DeBug目录下再运行相应的*.exe程序时,会提示“缺少mingwm10.dll”之类的信息,于是在网上搜怎么解决这个问题,最后发现大部分解决办法都是将相应的动态链接库放到应用转载 2013-06-20 16:03:11 · 1881 阅读 · 0 评论 -
Setting up email message filters in Outlook
The following instructions will allow you to create filters for your email client which will automatically move or delete incoming messages with certain characteristics. These instructions assume you转载 2013-05-17 13:49:44 · 737 阅读 · 0 评论 -
PSI/SI解析(各种id说明)
一、SI信息的构成1、信息构成SI信息内容是按照network(网络)→transport strem(传输流)→service(业务)→event(事件)的分层顺序描述,如图1所示。SI数据信息是按照一定的数据结构进行存储的,这样一来才能达到方便、快捷地进行数据检索和提取。SI数据主要有:网络信息、传输流信息、业务信息、业务的事件信息等,并且大量的信息都是通过描述符来传输的,所以可用转载 2013-04-19 15:26:41 · 2796 阅读 · 0 评论 -
Redis代码阅读1--Redis启动原理
前面写了一篇文章简单介绍Redis的list结构。再写完之后,我觉得有必要熟悉Redis的启动过程和如何读取Redis的命令,因此本文将通过分析代码来介绍Redis的启动过程,通过查看Redis 的启动脚本,得知Redis的启动时从Redis.c的main方法开始的。Redis启动可以分为以下几个步骤:初始化Redis服务器全局配置重置服务器Save参数(具体下文详解)和加载配置文转载 2016-09-01 11:09:05 · 413 阅读 · 0 评论 -
Redis代码阅读3--Redis网络监听(1)
接下来的三篇文章将对Redis的网络监听流程及涉及到事件库和各个主要方法进行介绍。在介绍 redis的网络监听流程和事件库之前,我们先设想一下,如果我们不采用libevent 等流行的开源库进行基于事件的网络监听,而是自己去实现一套基于事件的库去进行网络监听,需要考虑些什么,然后我们带着这些问题去分析 Redis是如果通过少量的代码来完成这个工作的。在我认为,需要考虑的转载 2016-09-01 11:10:40 · 527 阅读 · 0 评论 -
Redis代码阅读3--Redis网络监听(2)
这篇文章接上一篇,主要介绍Redis网络监听流程的各个步骤。aeCreateEventLoop :创建用于循环监听的 eventLoop, Redis 支持主流的三种事件触发机制: select ,epoll, kqueue,可以通过在 config.h 里面配置 HAVE_EPOLL/ HAVE_KQUEUE来根据不同的操作系统选择合适的机制:调用 ae_epoll.转载 2016-09-01 11:11:53 · 931 阅读 · 0 评论 -
Redis源码分析(三)---dict哈希结构
昨天分析完adlist的Redis代码,今天马上马不停蹄的继续学习Redis代码中的哈希部分的结构学习,不过在这里他不叫什么hashMap,而是叫dict,而且是一种全新设计的一种哈希结构,他只是通过几个简单的结构体,再搭配上一些比较常见的哈希算法,就实现了类似高级语言中HashMap的作用了。也让我见识了一些哈希算法的实现,比如dbj hash的算法实现,俗称times33,算法,就是不停的*...转载 2019-02-17 17:47:28 · 651 阅读 · 0 评论 -
Redis源码分析(二)--结构体分析(1)
继上次的redis源码分析(一)之后,本人开始订制着一份非常伟大的计划-啃完redis源代码,也对他进行了切块划分,鉴于本人目前对他的整个运行流畅还不特别清楚的情况下,所以决定第一个要解决的就是与逻辑无关的代码,也就是一些基本模块,因为是相互独立的,所以不会影响整体的阅读,所以第一个开刀的就是结构体模块了。结构体模块我划分了差不多10个文件的样子,今天看的主要是adlist.c的文件,收获有如下...转载 2019-02-17 17:46:27 · 447 阅读 · 0 评论 -
Redis源码分析(一)--Redis结构解析
从今天起,本人将会展开对Redis源码的学习,Redis的代码规模比较小,非常适合学习,是一份非常不错的学习资料,数了一下大概100个文件左右的样子,用的是C语言写的。希望最终能把他啃完吧,C语言好久不用,快忘光了。分析源码的第一步,先别急着想着从哪开始看起,先浏览一下源码结构,可以模块式的渐入,不过比较坑爹的是,Redis的源码全部放在在里面的src目录里,一下90多个文件统统在里面了,所以我选...转载 2019-02-17 17:45:08 · 1216 阅读 · 0 评论 -
libevent C++封装
最近在学习libevent的过程中,碰到许多问题,如接收数据不完整,如何接收并回复来自client的数据等一些问题,还有就是关于read_cb该如何写的问题,最后总结了一下,封装成一个类,下面说一下怎样使用。源文件:libSocket.h libSocket.cpp MyEvent.h MyEvent.cpp 这4个文件是自己写的,封装的目的是为了让整个过程更清晰易懂。 以下是libS...转载 2018-11-22 15:34:56 · 2603 阅读 · 0 评论 -
C++跨平台开源库 之二
值得学习的C/C++语言开源项目(1)ACE庞大、复杂,适合大型项目。开源、免费,不依赖第三方库,支持跨平台。http://www.cs.wustl.edu/~schmidt/ACE.html (2)AsioAsio基于Boost开发的异步IO库,封装了Socket,简化基于socket程序的开发。开源、免费,支持跨平台。http://think-async.com...转载 2018-11-21 20:23:38 · 1542 阅读 · 0 评论 -
更好的内存管理-jemalloc
今年年初由于facebook而火起来的jemalloc广为人之,但殊不知,它在malloc界里面很早就出名了。Jemalloc的创始人Jason Evans也是在FreeBSD很有名的开发人员。此人就在2006年为提高低性能的malloc而写的jemalloc。Jemalloc是从2007年开始以FreeBSD标准引进来的。软件技术革新很多是FreeBSD发起的。在FreeBSD应用广泛的技术会慢...转载 2018-09-30 15:32:05 · 17309 阅读 · 0 评论 -
Go开发工具
1.4 Go开发工具本节我将介绍几个开发工具,它们都具有自动化提示,自动化fmt功能。因为它们都是跨平台的,所以安装步骤之类的都是通用的。LiteIDELiteIDE是一款专门为Go语言开发的跨平台轻量级集成开发环境(IDE),由visualfc编写。图1.4 LiteIDE主界面LiteIDE主要特点:支持主流操作系统WindowsLinuxMacOS XGo编译环境管理和切换管理和切换多个Go...转载 2018-06-02 12:26:39 · 5039 阅读 · 0 评论 -
Go语言学习资料整理
整理网上找到的Golang语言学习资料基础基础教程 书籍在线版Go 指南-A Tour of GoGo语言圣经(中文版)Effective Go中文版Go Web编程 build-web-application-with-golangGo入门指南 The Way to Go《The Way to Go》中文译本,中文正式名《Go入门指南》转载 2017-11-28 09:43:01 · 3433 阅读 · 1 评论 -
Charles Proxy最新 Mac、Win64、Win32破解版
Charles 4.2下载Charles v4.2 并安装云盘下载: Mac OS X Windows 64 bit Windows 32 bit官网下载: 前往官网下载安装后先打开Charles一次(Windows版可以忽略此步骤)下载破解文件 charles.jar替换掉原文件夹里的charles.jarMac: /Applications/Charles.ap原创 2017-10-26 16:55:59 · 2179 阅读 · 0 评论 -
WSDL 规则解释
WSDL文档可以分为两部分。顶部分由抽象定义组成,而底部分则由具体描述组成。抽象部分以独立于平台和语言的方式定义SOAP消息,它们并不包含任何随机器或语言而变的元素。这就定义了一系列服务,截然不同的网站都可以实现。随网站而异的东西如序列化便归入底部分,因为它包含具体的定义。l 抽象定义 Types 独立与机器和语言的类型定义 Messages转载 2017-03-09 16:42:42 · 929 阅读 · 0 评论 -
谁占用了我的Buffer Pool?
我在做SQL Server 7.0技术支持的时候有客户问我,“我的SQL Server buffer pool很大,有办法知道是哪些对象吃掉我的buffer Pool内存么?比方说,能否知道是哪个数据库,哪个表,哪个index占用了buffer Pool么?”当时我没有找到这个问题的答案,但是我一直记着这个问题。直到SQL server 2005版本出现,这个问题迎刃而解。转载 2016-10-11 16:51:16 · 443 阅读 · 0 评论 -
SQL 2008执行语句遇到内存不足的案例(error 701)之一
SQL 2008执行语句遇到内存不足的案例(error 701)之一某个特定的存储过程在SQL2008中执行会遇到以下错误:Msg 701, Level 17, State 123, Procedure GetAllRevisions_Monthly, Line 22There is insufficient system memory in resource pool ‘inte转载 2016-10-11 15:06:46 · 3809 阅读 · 0 评论 -
Qt网络编程之一
网络编程目录*Qt中有关网络编程的类*HTTP和FTP高层网络操作*使用QTcpSocket和QTcpServer进行TCP编程*使用QUdpSocket进行UDP编程*使用QHostInfo解析主机名*对于网络代理的支持*Bearer Management Support网络编程 QtNetwork模块提供了我们实现TCP/IP客户端转载 2013-03-30 11:03:43 · 762 阅读 · 0 评论 -
QT分析之网络编程(一)
首先对Windows下的网络编程总结一下:如果是服务器,其WinSDK调用分别为:WSAStartup() -> socket() -> htons() / htonl() -> bind() -> listen() -> accept() -> recv() / send() -> closesocket() -> WSACleanup()如果是客户端程序,其调用序列为:WSAS转载 2013-03-30 10:51:57 · 877 阅读 · 0 评论 -
Linux共享链接库错误的解决
不久前,笔者一位在银行工作的网管朋友给笔者打电话,说他的一台安装有数据库的Linux服务器无法启动,这台Linux服务器存储着银行非常重要的数据,请帮助解决。他告诉笔者这台Linux服务器(安装的是Red Hat 5.1,内核为2.0.34)一直运行得很好,不巧UPS出了问题,电源断电,再启动服务器,当启动到init,出现如下错误提示:INIT:2.74 version bootingca转载 2012-08-27 20:28:56 · 959 阅读 · 0 评论 -
NTFS使用注意事项
NTFS是微软Windows NT内核的系列操作系统支持的、一个特别为网络和磁盘配额、文件加密等管理安全特性设计的磁盘格式。除了在局域网安装了NT系列的用户们使用NTFS外,随着NT内核的桌面系统Windows2000和XP的普及,很多个人用户也开始把自己的分区格式化为NTFS。在一般情况下,NTFS的格式不能被Windows9X识别,而且在安装、操作方面也有差异,所以个人用户在使用这种磁转载 2012-08-27 20:27:42 · 692 阅读 · 0 评论 -
硬盘S.M.A.R.T简介
产生背景随着硬盘单碟容量越来越大,磁头技术越来越灵敏,磁头的飞行高度越来越低,增长的不光是容量与性能,与此同时,数据的存储风险也在慢慢的增长。为了实现更高的单碟容量,盘片上的存储单元不断地被缩小,数据信号越来越微弱。尽管通过改进磁头的灵敏度和飞行高度可以使得系统识别这些微弱的信号,但是这些信号受到外界信号干扰的可能性也越来越大。另外,越贴越近的盘片与磁头,在高速旋转中相互碰撞的机会也在加大。数转载 2012-08-27 20:24:56 · 2524 阅读 · 0 评论 -
磁盘阵列(Disk Array)原理
1、为什么需要磁盘阵列?如何增加磁盘的存取(access)速度,如何防止数据因磁盘的故障而失落及如何有效的利用磁盘空间,一直是电脑专业人员和用户的困扰;而大容量磁盘的价格非常昂贵,对用户形成很大的负担。磁盘阵列技术的产生一举解决了这些问题。过去十几年来,CPU的处理速度增加了五十倍有多,内存(memory)的存取速度亦大幅增加,而数据储存装置--主要是磁盘(hard disk)--的存取速转载 2012-08-27 20:24:25 · 950 阅读 · 0 评论 -
QML与Qt C++ 交互机制探讨与总结
http://www.developer.nokia.com/Community/Wiki/QML%E4%B8%8EQt_C%2B%2B_%E4%BA%A4%E4%BA%92%E6%9C%BA%E5%88%B6%E6%8E%A2%E8%AE%A8%E4%B8%8E%E6%80%BB%E7%BB%93转载 2012-07-26 16:17:36 · 466 阅读 · 0 评论