随笔分类 -  编程语言

摘要:转 http://iteches.com/archives/65193 Netty4带来一个与众不同的特点是其ByteBuf的重现实现,老实说,java.nio.ByteBuf是我用得很不爽的一个API,相比之下,通过维护两个独立的读写指针,io.netty.buffer.ByteBuf要简单不少, 阅读全文
posted @ 2015-01-27 20:31 高兴的博客 阅读(7471) 评论(0) 推荐(0)
摘要:netty的buffer引入了缓冲池。该缓冲池实现使用了jemalloc的思想。为了看懂这块代码学写了内容分配的知识。这里讲的内存分配是堆的内存分配,其他内容本文不会涉及。 内存分配是面向虚拟内存的而言的,以页为单位进行管理的,页的大小一般为4kb,当在堆里创建一个对象时(小于4kb),会分配一个页 阅读全文
posted @ 2015-01-27 20:01 高兴的博客 阅读(19256) 评论(1) 推荐(0)
摘要:c++中的placement new是::operator new的重载版本,用于在已经分配好的内存上创建对象。这样就可以在用户空间对内存进行操作,减少了对象生成的成本,控制对象的地址从而减少内存碎片,对象池估计也是这么搞的吧。 函数原型:void *operator new( size_t, vo 阅读全文
posted @ 2015-01-26 23:33 高兴的博客 阅读(220) 评论(0) 推荐(0)
摘要:netty的引用计数文档看http://netty.io/wiki/reference-counted-objects.html 为什么会引用引用计数呢,Java中不是有gc线程帮我们回收对象吗?我个人理解如下 1:netty为了实现zero copy使用了Direct Buffer,该buffer 阅读全文
posted @ 2015-01-25 22:36 高兴的博客 阅读(3141) 评论(0) 推荐(0)
摘要:关于SpringMVC的国际化,http://www.cnblogs.com/liukemng/p/3750117.html这篇文章已经讲的很好了。它讲了有如下几种国际化方式 1:基于Http的header信息的国际化(request.getLocale()) 2:基于session的国际化(设置s 阅读全文
posted @ 2015-01-23 15:26 高兴的博客 阅读(7718) 评论(0) 推荐(0)
摘要:看effective c++第二版推荐使用const,少用define。今天才发现发现这远远不够。 #define定义的常量在预处理替换,debug的时候无法打印宏的,这种常量设置是有缺陷的, const定义常量作用在编译时期,就是说编译器帮你检查有没有对const做修改,那么怎么实现一个运行时常量 阅读全文
posted @ 2015-01-22 23:06 高兴的博客 阅读(215) 评论(0) 推荐(0)
摘要:在使用Paramiko远程登录的时候,会报sudo: sorry, you must have a tty to run sudo 切换到root用户,使用visudo命令,然后就会打开一个文本,在文本中注释到下面这句就ok了 现在蛋疼的是怎么使用Paramiko执行交互命令,不喜欢pexpect, 阅读全文
posted @ 2015-01-21 15:15 高兴的博客 阅读(546) 评论(0) 推荐(0)
摘要:本文参考Doug Lea的Scalable IO in Java. 网络服务 随着网络服务的越来越多,我们对网络服务的性能有了更高的要求,提供一个高性能,稳定的web服务是一件很麻烦的事情,所以有了netty框架帮我们完成。 我们对各种各样的网络服务进行抽象,得到最基本的业务流程: 1:读取请求信息 阅读全文
posted @ 2015-01-21 00:08 高兴的博客 阅读(448) 评论(0) 推荐(0)
摘要:最近做云平台的项目,需要使用python来管理所有的主机,我选择了paramiko。它跨平台的,linux和window都可以使用,pssh只支持linux. 1:安装gcc和python-devel 2: paramiko依赖pycrypto模块,要先下载pycrypto安装 wget http: 阅读全文
posted @ 2015-01-20 16:45 高兴的博客 阅读(1000) 评论(1) 推荐(0)
摘要:java中,string类型非常强大,任何类型和string类型相加都变成了string类型。但是c++中string功能就比较少 int转string有两种方式 1:stringstream; 2:sprintf sprintf有很多变种模式,具体参阅cstdio的头文件 阅读全文
posted @ 2015-01-19 10:07 高兴的博客 阅读(377) 评论(0) 推荐(0)
摘要:一直以为大小端针对的bit的顺序,今天才知道:大小端的分度值是 byte,即每一个byte都是按照正常顺序,但是byte组装成一个int 或者是 long等时每个byte的摆放位置不同。 测试代码: 也可以自己转换: 阅读全文
posted @ 2015-01-18 00:16 高兴的博客 阅读(15666) 评论(1) 推荐(1)
摘要:目前没有实现,理一下思路,有3中途径: 1:spark core可以使用sequoiadb最为数据源,那么是否spark sql可以直接操作sequoiadb. 2: spark sql支持Hive, sequoiadb可以和hive做对接,那么是否可以通过HIveContext 来实现。 3:sp 阅读全文
posted @ 2015-01-17 14:19 高兴的博客 阅读(434) 评论(0) 推荐(0)
摘要:使用sequoiadb开发c++应用时需要使用BSON对象,本篇主要讲下BSON的操作方面的东西 1:构建一个_id的BSON对象 BSON的c++驱动给我提供了一个宏BSON,使用该对象可以很方便的生成一个BSON对象,但是有个坑,它不能构建——Id的BSON对象 使用这个语句创建BSON,在查找 阅读全文
posted @ 2015-01-16 23:55 高兴的博客 阅读(228) 评论(0) 推荐(0)