`
deyimsf
  • 浏览: 66721 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
为什么要在nginx中使用lua嵌入c程序? 1.性能上的考虑,lua毕竟是一个脚本语言,对于某些特定的功能如果用纯lua来实现性能上一般都会比用c要逊色一些。 2.没有现成的库供我们使用,实际上互联网上已经有很多现成的第三方lua库供我们使用,比如读取redis数据的resty.redis;将json转化为lua本地数据格式的cjson等。当找不到合适我们使用的第三方库的时候,我们就需要自己动手了。当然如果能够直接使用lua来写一个满足我们自己使用的库也是可以的,如果考虑到性能问题,用c来实现是一个不错的选择。 我们这里打算实现两个方法 1.对一个字符串做hash并对其hash值取摸,在 ...
背景 程序员一提到编码应该都不陌生,像gbk、utf-8、ascii等这些编码更是经常在用,但时不时也会出个乱码,解决问题的方法大部分都是google、baidu一顿搜,最后可能在某个犄角旮旯里找到一点信息,然后就机械的按部就班的模仿下来,结果问题可能真就迎刃而解了,然后就草草了事,下回遇到相似的问题,可能又是重复上面的过程。很少有人有耐心去花精力弄明白这写问题的根本原因,以及解决这些问题的原理是什么。这篇文章就是通过一个实际案例,试着去讲清楚什么是编码,乱码又是怎么产生的,以及如何解决。该案例是从lua_cjson.c这个库开始的,对这个库不熟悉也没关系,也不需要熟悉它,我们只是借用它来说明乱 ...
类图关系 为了简单起见,该图只表现继承和实现关系 大部分情况下我们只使用ObjectPool和PoolableObjectFactory的相关实现类,我们重点分析GenricObjectPool类 配置参数 类GenericObjectPool.Config定义了相关参数: // 池中最大空闲实例个数 int maxIdle=8 // 池中最小空闲实例个数 (evictor会用到) int minIdle=0 // 可以从池中拿走的最多实例的个数,就是通常我们说的池大小 // 小于0则代表没有限制 int maxActive=8 // 当池耗尽并 ...
...
什么是数字签名 An introduction to Digital Signatures,by David Youd 原文:http://www.youdzone.com/signature.html                               Bob 有两个秘钥,一个叫公钥,另一个叫私钥。 任何有需要的人都可以得到Bob的公钥,但是私钥只有Bob自己持有。秘钥被用来加密信息。加密信息意味着“打乱”它,只有拥有合适秘钥的人可以读取它。其中一个可以加密数据,另一个可以解密数据。 Susan(以下展示的)能够用Bob的公钥加密信息,Bob用自己的私钥来解密这个信息。Bo ...
...
查看进程id,线程id;下面这条命令可以得出哪个线程对应哪个进程 ps -eo pid,lwp -L e:显示所有的进程 o:自定义显示 f:全格式 h:不显示标题 l:长格式 w:宽输出 a:显示终端上的所有进程,包括其他用户的进程 u:有效用户 r:只显示正在运行的进程 x:显示没有控制终端的进程 pid:进程id lwp:线程id ruser:用户id ppid:父进程id psr:运行该线程的CPU的序号 args:命令行参数 L:显示进程,并尽量显示LWP和NLWP(线程个数) 查看线程占用CPU情况 top d:后接整个界面更新的描述,默认 ...
/** * 多线程方式测试 * 检查多线程读取是否可以节省时间 */ @SuppressWarnings("unchecked") public static void main(String[] args){ try{ //线程池大小 int poolSize = 20; long startIndex = 0;//开始位置 int batchSize = 1024*1024*3;//读大小,或缓存大小 long total =new Fi ...
附件是ppt
连接数据的步骤 1.注册驱动 2.建立连接 3.创建执行SQL的语句(Statement) 4.执行语句 5.处理执行结果(ResultSet) 6.释放资源 public static void main(String[] args) throws ClassNotFoundException, SQLException{ //1.注册驱动 //DriverManager.registerDriver(new com.mysql.jdbc.Driver()); //System.setProperty("jdbc.drivers",&qu ...
  获取程序中对象的大小: 有jar文件SizeOfObjetct.jar,内容如下:       SizeOfObject.java类       META-INF/MANIFEST.MF文件    SizeOfObject.java类package com.masf; import java.lang.instrument.Instrumentation; /** * 这是一个代理类 * @author * */ public class SizeOfObject { static Instrumentation inst; //JVM负责调用该方法 ...
工作中我经常会遇到这样一个场景:    一个可以进行检索的功能列表;查询前我们需要输入一些检索数据,然后后台通过接收这些检索数据,进行Hql拼装,最后形成形如 select filed1,filed2 from table where a=b and c > d 这样的检索语句。   如果检索数据少的话拼装起来不算麻烦,但一旦检索数据很多,代码看起来就会很乱;   我觉得用注解的方式比较优雅;   这里给出使用的片段:这是一个用于封装所需检索数据的对象: @Search(name="projectName",signType=SignType.EQ) privat ...
Global site tag (gtag.js) - Google Analytics