栈内存 堆内存 基础类型,对象引用(堆内存地址) 由new创建的对象和数组 存取速度快 相对于栈内存较慢 数据大小声明周期必须确定 分配的内存由java虚拟机自动垃圾回收器管理。动态分配内存大小 共享特性栈中如果有字符串,则直接引用 如果没有,开辟新的空间存入值 每new一次在堆内存中生成一个新的对象。 创建之后值可 More
小的时候,只有一台服务器,把程序,文件,数据库丢在一起 2. 流量变大了,买了三台服务器,把程序,文件,数据库分开 3. 为了加速,开始加入缓存服务器组,redis,memcached 等 4. 流量进一步增加,开始用负载均衡,把应用服务器,改为一组,使用LVS,NGINX减少单机应用压力 5. 数据库进行读写分离,主库负责写,多台从库负责 More
CDN 可以有效解决大规模网络流量问题,比如一天上亿PV了,本地集群也做了一主多从,但是主机器也给你搞崩溃了。如果一个IP只对了一个机器,那么这个机器一天上亿,一定崩 还好啊,客户访问的不是IP,是域名,一个域名可不是只能对应一个主机,一个域名可以对应很多主机 CDN简单的比方: CDN就是相当于遍布各个地方的仓储一样,打一个比方,如果你想以最快的速度 More
开发的原因,需要对吞吐量(TPS)、QPS、并发数、响应时间(RT)几个概念做下了解,查自百度百科,记录如下: #### 响应时间(RT) 响应时间是指系统对请求作出响应的时间。直观上看,这个指标与人对软件性能的主观感受是非常一致的,因为它完整地记录了整个计算机系统处理请求的时间。由于一个系统通常会提供许多功能,而不同功能的处理逻辑也千差万别,因而不同功 More
问题:你们有没有做 MySQL 读写分离?如何实现 MySQL 的读写分离?MySQL 主从复制原理的是啥?如何解决 MySQL 主从同步的延时问题? 问题1:如何实现 MySQL 的读写分离? 其实很简单,就是基于主从复制架构,简单来说,就搞一个主库,挂多个从库,然后我们就单单只是写主库,然后主库会自动把数据给同步到从库上去。 问题2:MySQL 主从复制原理的是啥 More
如何保证数据库与缓存的一致性 1. 对删除缓存进行重试,数据的一致性要求越高,我越是重试得快。 2. 定期全量更新,简单地说,就是我定期把缓存全部清掉,然后再全量加载。 3. 对同一数据的读取/写入请求串行,保证同一数据的请求消息,都会路由到同一个服务上。一般来说,如果允许缓存可以稍微的跟数据库偶尔有不一致的情况,也就是说如果你的系统不是严 More
总结: 索引的原则: 1. 最左前缀匹配 2. 区分度高的列作为索引,索引并非建立的越多越好,适用就好3. 索引的字段尽量的小4. 尽量扩展索引,建立联合索引,不是建多个索引5. 少用select *6. not in,not exists,<> != 不等于会不触发索引 小于 > 大于 <= >= 这个根据实际查询数据来判断,如果全盘扫描速度比索引速度要快则不走索引 。 建索引的 More
第一步:安装package control cd/Users/xxxx/Library/Application Support/Sublime Text 3/Packages git clone https://github.com/wbond/sublime_package_control.git "Package Control" 第二步:安装ConvertToUTF8输入 Package Control: Install Package , 单击回车.输入 ConvertToUTF8 . control+~显示网络异常 修复方法如下在 "Preferen More
条件: 3亿数据服务不能停,就是不能影响业务进行 常规操作增加一列,ALTER TABLE 你的表 ADD COLUMN 新列 varchar(128);常规的办法会导致锁表,服务暂停 所以大致思路为 简易过程如下: 新建一个和 Table1 完全同构的 Table2在表 Table2 上执行 ALTER TABLE 你的表 ADD COLUMN 新列 char(128)将 Table1 中的数据拷贝到 Table2,最好用 More
第一范式(1NF):数据库表中的字段都是单一属性的,不可再分。 这个单一属性由基本类型构成,包括整型、实数、字符型、逻辑型、日期型等。例如,如下的数据库表是符合第一范式的:字段1 | 字段2 | 字段3 | 字段4 而这样的数据库表是不符合第一范式的:字段1 | 字段2 | 字段3 | 字段4 | 字段3.1 字段3.2 | 有时候如果把一堆信息 More