`
mtnt2008
  • 浏览: 370767 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论
文章列表
lua-resty-couchbase    使用cosocket纯lua实现的couchbase的client,已经在爱奇艺重要的播放服务稳定运行5年多,线上支持峰值QPS达到20W,在OpenResty架构下面,可以直接从nginx上面访问CouchBase.    开源地址:https://github.com/iqiyi/lua-resty-couchbase一个例子    lua_package_path "/path/to/lua-resty-couchbase/lib/?.lua;;";    lua_shared_dict ldict 10m;    ser ...
      最近看了两篇博文:      主题:java线程安全总结      主题:线程安全总结(二)   看完之后对自己触动很大,和自己以前的理解有很大的矛盾.当时发站内信给作者的疑惑内容如下: 写道 看完之后,有2个疑问 ...
      最近看到2篇很好的关于jvm内存结构和垃圾回收的文章:     1.JVM内存管理:深入Java内存区域与OOM     2.JVM内存管理:深入垃圾收集器与内存分配策略   看完之后,感觉自己把以前的只是都串联了起来。原文章介绍的很好了,只是有些内容需要相关的背景,写在下面。   一.内存的结构图   整体结构图: Heap内部结构图     注:from space 和 to space 也称为:survivor,且eden:survivo默认为8:1(sun jvm)   2.关于minor gc 与 major gc (full ...
  1.查看当前会话隔离级别   select @@tx_isolation;   2.查看系统当前隔离级别   select @@global.tx_isolation;   3.设置当前会话隔离级别   set session transaction isolatin level repeatable read;   4.设置系统当前隔离级别   set global transaction isolation level repeatable read;   5.命令行,开始事务时   set autocommit=off 或者 start trans ...
      PHP官方http://php.net/上关于widows的版本有4个:VC9 x86 Non Thread Safe,VC9 x86 Thread Safe,VC6 x86 Non Thread Safe,VC6 x86 Thread Safe;那么有什么区别呢?       1.支持的服务器不同        VC9版本是针对IIS服务器的版本,没有对APACHE的支持,而VC6版本对IIS和apache都提供了支持       2.运行方式的不同       PHP有2中运行方式:ISAPI和FastCGI。       ISAPI执行方式是 ...
  OCP(开闭原则,对扩展开发,对修改关闭) OCP原则就是在不修改源代码的情况下,设计方案能适应于各种扩展的需求(当然这是最理想的情况)。做到OCP有两点:抽象、对可变性封装。里氏代换原则(LSP) 任何基类可以出现的地方,子类一定可以出现(反过来不成立)。依赖倒换原则(DIP) 要依赖于抽象,不要依赖于具体实现。DIP跟另一种说法含义相近:面向接口编程。接口隔离原则(ISP) 应当为客户端尽可能小的单独的接口,而不要提供大的总接口。 合成/聚合复用原则(CARP) 要尽量使用合成/聚合,而不是继承关系达到目的。迪米特法则(LoD) 一个软件实体尽当尽 ...
      网站改版完成之后,切换服务器。共有3台WEB服务器,2台数据库服务器(一个是MySQL,另一个是Oracle),前面1台   F5负载均衡服务器。切换完成之后,每秒一台服务器请求在120左右的时候,访问的速度相当慢,而且而是静态页面,所以有   了这次的优化之说。(大部分是运维部的人员分析,自己只是参与其中)      情况 :访问静态页面速度很慢,且数据库服务器和WEB服务器的load average: 1.48, 1.65, 1.74,httpd进程出现很多,有堆积的现象。       首先分析页面发送请求个数及请求那些资源是比较费时的。在Firefox中使 ...
      要深入开源,了解开源( Dig into Open Source)。不但要知其然,还要知其所以然。“知其所以然”的最好办法就是下载源代码,仔细研读,揣摩并领会源代码的精义,看看这些经过诸多高手修改的源代码究竟藏有什么玄机,我们能从其中学习到哪些设计思想及设计模式,能复用其中哪些源代码,人家运用了哪些软件管 理思想把这些来自世界各地程序员的劳动汇集成一个产品,代码架构如何,软件配置管理又是怎样进行的……,等等等等,我们从源代码中学习的东西太多了。在阅读源代码时,我们要多问自己几个为什么,这样就会收获更多。   1.源代码的下载   Tomca ...
  1. 匹配分类      完全匹配     < url-pattern > /test/list.do< / url-pattern >        目录匹配   < url-pattern > /test/*</ url-pattern >        扩展名匹配 < url-pattern > *.do</ url-pattern >   <servlet ...
  1. 节点类   package com.linkedlist; public class SLLNode { public Object info; public SLLNode next; public SLLNode(Object e1) { info = e1; next = null; } public SLLNode(Object e1, SLLNode ptr) { info = e1; next = ptr; } }   2. 链表类   package com.linkedlist ...
  XP下编译通过使用   #define WIN32_LEAN_AND_MEAN #include <windows.h> #include "resource.h" int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { static TCHAR szAppName[] = TEXT("LcdDown") ; HWND hwnd ; WND ...
  博客上看到的一个算法,用Java实现了一个   算法描述:   算法说明:当n大于2时,n个数的全组合一共有(2^n)-1种。 当对n个元素进行全组合的时候,可以用一个n位的二进制数表示取法。 1表示在该位取,0表示不取。例如,对ABC三个元素进行全组合,  100表示取A,010表示取B,001表示取C,101表示取AC  110表示取AB,011表示取BC,111表示取ABC 注意到表示取法的二进制数其实就是从1到7的十进制数  推广到对n个元素进行全排列,取法就是从1到2^n-1的所有二进制形式  要取 ...
  简介       Tokyo Cabinet是一款DBM数据库,与Berkeley DB是同类产品,但性能要好。Tokyo Tyrant是由同一作者开发的 Tokyo Cabinet数据库网络接口,Tokyo Tyrant是Tokyo Cabinet的数据库网络接口, 它加上Tokyo Cabinet,构成了一款支持高并发的分布式持久存储系统,它拥有Memcached兼容协议,也可以通过HTTP协议进行数据交换,但是,Tokyo Tyrant 也有缺点:在32位操作系统下,作为 Tokyo Tyrant后端存储的Tokyo Cabinet数据库单个文件不能超过2G,而64位操作系统 ...
javassist可以对一个已经编译好了的.class文件的字节码进行改动,比如说我可以为一个类添加一个方法,添加一个属性,也可以修改一个方法等,还可以对一个方法,异常进行拦截等。 javassist的最外层的API和JAVA的反射包中的API颇 ...
       图书的ISBN有两种编码,一种长度是10位的,另一种是13位的。两者其实是可以用特定的算法相互推导的,关键在于最后一位校验码的计算。   1. 10位到13位 10位的isbn编号是7111165616,转化到13位,遵循下面的算法: 去掉最后一位,在最前面加上978,变成978711116561 从第一个数字起,求每奇数位的和,记为a。9+8+1+1+6+6 = 31 从第二个数字起,求每偶数位的和,记为b。7+7+1+1+5+1 = 22 求a+3b,记为c。c = 97 求10-c并对结果取10的模,10 - c %1 0 = 3。这就是校验位, ...
Global site tag (gtag.js) - Google Analytics