大型分布式网站的并发解决方案

大型分布式网站: 1 增加缓存,减少磁盘访问次数。给存放的数据设置索引,通过寻址索引来加快和减少磁盘的访问量。 2 web前端调优:减少网络交互的次数(多次请求合并)。 减少网络传输数据量的大小(压缩) 尽量减少编码(尽量提前将字符转化为字节,或者减少从字符到字节的转换过程) 使用浏览器缓存 减少cookie传输 合理布局页面,使用页面压缩,延迟加载页面,CSS在最上面,js在下面,CDN,反向代理,页面静态化,异地部署 3 服务降级: 拒绝服务和关闭服务 4 失效转移:若数据库集群中任何一台
分类: 其他 发布时间: 04-29 20:51 阅读次数: 4

记2018/4/29 qbxt 测试

    记 2018/4/29 qbxt 测试(提高基础班)       简单的 NOIP 模拟赛   竞赛时间: 2018 年 4 月 29 日 13:30-17:00 题目名称 乘法 求和 计数 输入文件名 mul.in sum.in count.in 输出文件名 mul.out sum.out count.in 每个测试点时限 1 sec 4 sec 1 sec 内存限制 128MB 128MB 128MB 测试点数目 10 10 10 每个测试点分值 10 10 10 是否有部分分 无
分类: 其他 发布时间: 04-29 20:51 阅读次数: 3

递归算法之汉诺塔

递归定义: 递归算法是把问题转化为规模缩小了的同类问题的子问题。然后 递归调用函数(或过程)来表示问题的解。 一个过程(或函数)直接或间接调用自己本身,这种过程(或函数)叫递归过程(或函数). 递归算法解决问题的特点: (1) 递归就是在过程或函数里调用自身。 (2) 在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口。 (3) 递归算法解题通常显得很简洁,但递归算法解题的运行效率较低。所以一般不提倡用递归算法设计程序。 (4) 在 递归调用的过程当中系统为每一层的返回点、局部量等开
分类: 其他 发布时间: 04-29 20:51 阅读次数: 4

浮动

浮动 块级元素与行内元素之间的互相转换 浮动的特点 清除浮动带来的影响(清除浮动) 块级元素与行内元素之间的互相转换 display inline 行内元素 不可以设置宽高 基线对其问题 间隙问题 从左到右排布 inline-block 不可以设置宽高 基线对其问题 间隙问题 从左到右排布 float left 左浮动 right 右浮动 none 去掉浮动 浮动的特点 脱离文档流(父元素找不到子元素了,相当于子元素来到了第二层级,平行于标准文档流) 在不设置宽高时,宽高时由内容决定的 所有的
分类: 其他 发布时间: 04-29 20:51 阅读次数: 4

定位

相对定位 绝对定位 固定定位 改变定位的层级关系 z-index 第七天 定位 相对定位 特点 不脱离文档流 相对定位的层级要比其他层级要大(会覆盖在其他元素之上) 当发生位置改变时,原来的位置还被占用着 参照物是自己 给决定定位当参照物来用 当同时设置left 和right值时,left值生效,同时设置top和bottom 值时,top值生效 以下两点是相对定位常用的情况 当相对定位自己改变位置时,又不影响其他元素,可以用相对定位 给绝对定位当参照物来用 绝对定位 特点 脱离文档流 在不设置
分类: 其他 发布时间: 04-29 20:51 阅读次数: 3

tomcat安装后,双击start.bat闪退的问题

1.jdk环境变量没有配 解决方案:我的电脑-属性-高级-环境变量,新增下面三个环境变量: ①JAVA_HOME=C:\Program Files\Java\jdk1.7.0_09(就是你jdk安装的路径,到bin的上一级目录) ②CLASSPATH=. ;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(.;一定不能少,因为它代表当前路径) ③path=.;%JAVA_HOME%\bin 2.端口冲突 修改Tomcat/conf/server
分类: 其他 发布时间: 04-29 20:51 阅读次数: 5

2017-2018-2 20179202《网络攻防技术》第八周作业

嗅探欺骗与中间人攻击 1.输入命令echo 1 > /proc/sys/net/ipv4/ip_forward,为Kali设置开启端口转发 2.设置ssltrip 执行命令iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8081,将所有的80请求转发到了8081上。 3.ettercap的准备 配置文件是/etc/ettercap/etter.conf,首先要将ec_uid、ec_
分类: 其他 发布时间: 04-29 20:51 阅读次数: 5

[ZJOI2008] 骑士

Description Z国的骑士团是一个很有势力的组织,帮会中汇聚了来自各地的精英。他们劫富济贫,惩恶扬善,受到社会各界的赞扬。 最近发生了一件可怕的事情,邪恶的Y国发动了一场针对Z国的侵略战争。战火绵延五百里,在和平环境中安逸了数百年的Z国又怎能抵挡的住Y国的军队。于是人们把所有的希望都寄托在了骑士团的身上,就像期待有一个真龙天子的降生,带领正义打败邪恶。 骑士团是肯定具有打败邪恶势力的能力的,但是骑士们互相之间往往有一些矛盾。每个骑士都有且仅有一个自己最厌恶的骑士(当然不是他自己),他是
分类: 其他 发布时间: 04-29 20:51 阅读次数: 5

判断浏览器对ES6的支持情况

es-checker 是一个检查ES6支持的库,github: https://github.com/ruanyf/es-checker 下面我把这个库主要的逻辑简单讲一下,首先在es-checker/lib/api.js定义了api,包含了ES6的新特性: var api = { letConst: { passes: "'use strict'; let a; const b = 2;" }, letLoop: { passes: "'use strict'; for(let i
分类: 编程语言 发布时间: 04-29 20:47 阅读次数: 4

JavaScript中对象数组 作业升级版

var BaiduUsers = [], WechatUsers = []; var User = function(id, name, phone, gender, age, salary) { this.id = id; this.name = name; this.phone = phone; this.gender = gender; this.age = age; this.salary = salary; }; User.create = function(id, name, ph
分类: 其他 发布时间: 04-29 20:44 阅读次数: 4

html+css笔记1

HTML超文本标记语言 定义 网页的基本组成 网页的特点 网页的兼容问题 网页的结构 文档声明 meta元素 常用标签 块级元素与行内元素的转换 css属性之display 基线对齐问题 CSS样式 css的引入方式 外链式和导入式的区别?面试题 css选择器语法 css常用选择器的分类 标签选择器 类选择器 ID选择器 通配符选择器 分组选择器 后代选择器(派生选择器) 子级选择器 标签属性选择器 交集选择器 伪类选择器 伪元素 css常用属性 text(文本) font(字体) backg
分类: 其他 发布时间: 04-29 20:44 阅读次数: 5

==和equals

== 1.如果两个变量是基本类型变量,且都是数值类型,则只要两个变量的值相等,就返回true 2.如果两个变量的引用变量,则只用当这两个变量指向同一个对象的时候,才返回true 3.如果一个变量是基本类型变量,另一个是基本类型的包装类,只要值相等也返回true equals 没有经过重写的equals方法和==相同,只有当两个引用变量都指向同一个对象的时候才返回true 所以我们需要重写equals方法,来自定义两个引用变量的相等条件。 JAVA核心技术中提供了一个用于比较两个引用变量的值是否
分类: 其他 发布时间: 04-29 20:44 阅读次数: 5

论各种非人性化自动设置及关闭位置(持续更新中。。。)

置顶!!:安装软件要点开自定义安装,查看捆绑安装。。什么勋章一键领取都别领。。。 1.windows自动更新   关于易升的删除 https://www.zhihu.com/question/62127415   即     关闭window update服务(一定要管控好,要防止被管家类软件再次打开)。     删掉C:\Windows目录下面所有UpdateAssistant开头的文件夹,C盘下面的Windows10Upgrade   C盘可能还有两个隐藏文件夹$GetCurrent, $
分类: 其他 发布时间: 04-29 20:44 阅读次数: 4

Codeforces - 617E 年轻人的第一道莫队·改

题意:给出\(n,m,k,a[1...n]\),对于每次询问,求\([l,r]\)中\(a[i] \ xor a[i+1] \ xor ...a[j],l<=i<=j<=r\)等于k的对数 这回看了qsc菊苣的教学,恰好是同一题,感觉理解度up 顺便把代码风格轻微改了一下,之前的维护过程太凌乱了 #include<iostream> #include<algorithm> #include<cstdio> #include<cstring> #include<cstdlib> #include
分类: 其他 发布时间: 04-29 20:44 阅读次数: 6

python 多进程

python中的多进程 1.用fork创建进程(Linux中使用) 1 import os 2 #fork函数,只在Unix/Linux/Mac上运⾏,windows不可以 3 pid = os.fork() 4 if pid == 0: 5   print('hello--1') 6 else: 7   print('hello--2') 程序走到os.fork()时,会创建出一个子进程,并将父进程中的所有信息复制到子进程中,父进程和子进程都会从os.fork()中得到一个返回值
分类: 其他 发布时间: 04-29 20:44 阅读次数: 6

Http多线程版本

上一篇文章讲了HTTP是如何通过TCP协议传输到服务器上,以及服务器接收到的报文信息 请参考[HTTP与TCP的关系] 这篇文章主要讲述的多线程处理Http请求,关于多线程的好处我就不再叙述了。由于我们的 请求处理可能非常的耗时,导致服务器无法在规定的时间内出力请求,这样服务器的吞吐量比较低, 为了达到高吞吐量,往往在请求处理时使用多线程技术,不会影响接受请求线程,这样一来即使处理 请求的线程堵塞了也不会影响处理请求的线程,这个也是现在比较流行的Reactor模型。 首先来看看处理请求的线程代
分类: 其他 发布时间: 04-29 20:44 阅读次数: 3

redis的作用和redis为什么那么快

1 redis的作用:   用redis做缓存,redis可以用作数据库,缓存和消息中间件。 redis如何做持久化:可以每隔一定时间将数据集导出到磁盘(快照),或者追加到命令日志中,会在执行写命令时,将被执行的写命令复制到硬盘里面。 redis为什么快:redis将数据存储在内存里面,读写数据的时候都不会受到磁盘i/o速度的限制,所以速度极快。 1 完全基于内存,绝大部分请求是纯粹的内存操作,非常快速。类似于hashmap,hashmap的优势就是查找和操作的时间复杂度都是O(1); 2 数
分类: 其他 发布时间: 04-29 20:44 阅读次数: 4

Java实例——判断某一年是否为闰年

技术关键: 满足两种条件的整数可以成为闰年: 1、非整百年份能被4整除; 2、整百年份能被400整除。 Java语法: year % 4 == 0 && year % 100 != 0 || year % 400 == 0 实现过程: 1 package test; 2 import java.util.Scanner; 3 public class LeapYear { 4 public static void main(String[] args) { 5
分类: 其他 发布时间: 04-29 20:44 阅读次数: 5

socket编程

socket编程: socket是应用层与tcp/ip协议族通信的中间抽象层,它是一组接口,在设计模式中, socket其实就是一个门面模式,它把复杂的tcp/ip协议族隐藏在socket接口后面,对 用户来说,一组简单的接口就是全部,让socket去组织数据,以符合指定的协议。 所以,我们无需深入理解tcp/ip协议,socket已经为我们封装好了,我们值需要遵守socket 的规定去编程,写出的程序自然就是遵循tcp/udp标准的。 同一台主机间进程间不能直接通信。 套接字工作流程:
分类: 其他 发布时间: 04-29 20:41 阅读次数: 4

C++笔记004:C++类通俗点说

核心: C++的类就是对C语言的结构体进行了扩展,C++的结构体可以包含函数! ------------------------------------------------------ 我们学习C++为什么要复习C语言结构体呢? 在我看过的对C++进行讲述的教材中,开篇往往是两个字“对象”!因为C语言是面向过程的,而C++特色是面向对象!所以大多数书籍最开始就在说面向对象的事情。 但我在最初学习的过程中发现自己对“对象”这个词汇....总是想偏,对这个词汇云里雾里的,什么叫面向对象啊,看了
分类: 其他 发布时间: 04-29 20:41 阅读次数: 4
今日推荐