`
睡着的兔子
  • 浏览: 34466 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
在windows环境下使用nginx做负载均衡,只能作为测试和练手用,在生产环境中,会出现问题,因为主要是考虑到window对连接数1024的限制,同时对epoll的支持不是很好,所以只做学习介绍下如何配置多台tomcat server。 tomcat server运行在本地,比如要启动两台server甚至更多,假设哈,把原来的tomcat文件目录复制一份到硬盘上,命名为tomcat-8090. 之后进入到tomcat-8090中,conf目录下修改sever.xml 主要修改,以前那个是8005,现在修改为8006,之前Connector  为8080 该为8090,之前是8009 改为801 ...
在一些高并发的场景中,比如秒杀,抢票,抢购这些场景,都存在对核心资源,商品库存的争夺,控制不好,库存数量可能被减少到负数,出现超卖的情况,或者 产生唯一的一个递增ID,由于web应用部署在多个机器上,简单的同步加锁是无法实现的,给数据库加锁的话,对于高并发,1000/s的并发,数据库可能由行锁变成表锁,性能下降会厉害。那相对而言,redis的分布式锁,相对而言,是个很好的选择,redis官方推荐使用的Redisson就提供了分布式锁和相关服务。 下面介绍下如何使用Redisson。 <dependency> <groupId>org.redisson ...
minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为10 maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为75 acceptCount:允许的最大连接数,应大于等于maxProcessors,默认值为100 默认设置对于1000/s的并发,甚至更大的一些就会出现连接拒绝的情况,下面介绍下如何提高tomcat的并发连接数,首先是server.xml中Connector的设置 protocol默认是http/1.1 修改为protocol="org.apache.coyote.http11.Http11NioProtocol&quo ...
<div class="iteye-blog-content-contain" style="font-size: 14px"></div> 不知不觉在SSM相关的开发时间比较长了,但是都是基于平台的开发,慢慢地自己也被平台化了,跟面试其他人一样,对底层架构的了解开始模糊,关注业务开发,下面整合下如何搭建基础的SSM+redis开发框架。 首先是新建一个MAVEN的项目,代码内容可以见附件,下面介绍下主要的配置段落 web.xml中,配置spring,mybatis 和 springmvc的配置 <context-par ...
作为一个android开发者,我现在正在整理一份android的入门的教程,下面是我写一些教程实例,希望您能看看,在文章下直接给出评论,写上意见与建议 android控件学习之十五 GridView实例 http://t.cn/RZ0fg88 android控件学习之十四 ImageSwitcher实例 http://t.cn/RZ0AHTX android控件学习之十三 Gallery拖动效果 http://t.cn/RZ0v9iG android控件学习之十二 ImageButton与Button http://t.cn/RZpgI6c android控件学习之十一 ImageV ...

JSP页面传参数方法

    博客分类:
  • java
JSP页面间传递参数是经常需要使用到的功能,有时还需要多个JSP页面间传递参数。下面介绍一下实现的方法。 (1)直接在URL请求后添加 如:< a href="thexuan.jsp?action=transparams&detail=directe">直接传递参数< /a> 特 ...
#include <iostream>#include <stdlib.h>using namespace std; class A{      public :       A()      {             cout<<"A"<<endl;             ptr = new int[10];      }      ~A()      {      delete ptr;      cout<<"delete A"<<endl;      }     ...
构造函数不能声明为虚函数的原因:     1,所谓虚函数就是多态情况下只执行一个,而从继承的概念来讲,总是先构造父类对象,然后才能使子类对象,如果构造函数设为虚函数,那么你在构造父类的构造函数时就不得不显式的调用构造,还有一个原因就是为了防错误的发生,试想如果你在子类中一不小心重写了个跟父类构造函数一样的函数,那么你的父类构造函数将被覆盖,也即不能完成父类的构造,就会出错。 class A{      public :      virtual A()      {             cout<<"A"<<endl;      }       ...
#include "stdafx.h" #include "cv.h" #include "highgui.h" #include <stdio.h> #include <math.h> #include <string.h> int thresh = 50; IplImage* img = 0; IplImage* img0 = 0; CvMemStorage* storage = 0; CvPoint pt[4]; const char* wndname = &q ...
下面便是string类所包含的常用函数: string类的构造函数:string(const char *s);     //用c字符串s初始化string(int n,char c);      //用n个字符c初始化此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2="hello";都是正确的写法。当构造的string太长而无法表达时会抛出length_error异常 string类的字符操作:const char &operator[](int n)const;const char &at(int n)c ...

opencv

最近一直在学习opencv和图像处理,自己作个总结吧 int Corner(int i) { int totalnum; cvSetCaptureProperty(capture,CV_CAP_PROP_POS_FRAMES,i); IplImage* imageB = cvQueryFrame(capture); cvSetImageROI(imageB, cvRect(Size,Size, imageB->width-Size, imageB->height-Size)); //提取帧中的(size,size)为点,高为imageB->height-Size //宽为i ...
谬误1.个人只能被现实改变  如果你变得足够强大,别人就无法拒绝你;如果你可以命令自己,困难就无法阻碍你……只要首先改变了你自己,你才能去改变你的世界,改变你的生活。  谬误2.为何怀才不遇的总是我  世上没 ...
  计算10000以内的阶乘 /* Factorial.c  -- 计算大数的阶乘   * Author: Space   * Date:    2007/07/03   * Version: 1.0   */ #include<stdio.h> #include<stdlib.h>  // for malloc() #include<string.h>  // for memset() #define QUOTIETY  4   ...
看了java 每日一题这个系列,看到其中的第二题 “1到11有4个“1”,1中一个“1”,10中一个“1”,11中两个“1”,1000中,有多少个“1” ” 看了这个题,想起了编程之美里第一章,题目的要求挺类似的。 它的算法思路是:通 ...
[size=x-small]凡事都不是能够预料到的,出现差错,先想想怎么办,而不是想到可怕的结果,不用急。想补救的措施而不是着急[/size]
Global site tag (gtag.js) - Google Analytics