09 2016 档案

使用缓存的9大误区(下)(转)
摘要:本篇文章在上篇的基础上继续讨论了使用缓存的几个误区,包括:缓存大量的数据集合,而读取其中一部分;缓存大量具有图结构的对象导致内存浪费;缓存应用程序的配置信息;使用很多不同的键指向相同的缓存项;没有及时的更新或者删除再缓存中已经过期或者失效的数据。 缓存大量的数据集合,而读取其中一部分 在很多时候,我们往往会缓存一个对象的集合,但是,我们在读取的时候,只是每次读取其中一部分。 我们举个例子来... 阅读全文

posted @ 2016-09-20 21:53 xu_xiang 阅读(251) 评论(0) 推荐(0) 编辑

使用缓存的9大误区(上)(转)
摘要:如果说要对一个站点或者应用程序经常优化,可以说缓存的使用是最快也是效果最明显的方式。一般而言,我们会把一些常用的,或者需要花费大量的资源或时间而产生的数据缓存起来,使得后续的使用更加快速。 如果真要细说缓存的好处,还真是不少,但是在实际的应用中,很多时候使用缓存的时候,总是那么的不尽人意。换句话说,假设本来采用缓存,可以使得性能提升为100(这里的数字只是一个计量符号而已,只是为了给大家一个“... 阅读全文

posted @ 2016-09-20 21:27 xu_xiang 阅读(2424) 评论(0) 推荐(0) 编辑

Mybatis的if test字符串比较问题
摘要:最初代码: update test_collection set del_flag='0' set del_flag='1' where test_id=#{testId}and user_id=#{userId} 结果:一直执行otherwise标签中的方法:解决方法: update test_c... 阅读全文

posted @ 2016-09-18 23:56 xu_xiang 阅读(11911) 评论(1) 推荐(0) 编辑

Mybatis使用笔记
摘要:mybatis的核心对象: 每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为中心的。SqlSessionFactory 的实例可以通过SqlSessionFactoryBuilder 获得。而 SqlSessionFactoryBuilder 则可以从 XML 配置文件或一个预先定制的 Configuration 的实例构建出 SqlSessionFacto... 阅读全文

posted @ 2016-09-17 21:52 xu_xiang 阅读(1547) 评论(0) 推荐(0) 编辑

系统吞吐量、TPS(QPS)、用户并发量、性能测试概念和公式(转)
摘要:PS:下面是性能测试的主要概念和计算公式,记录下: 一.系统吞度量要素: 一个系统的吞度量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联。单个reqeust 对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高。 系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间 QPS(TPS):每秒钟request/事务 数量 并发数: 系统同时处理... 阅读全文

posted @ 2016-09-17 14:20 xu_xiang 阅读(2355) 评论(0) 推荐(0) 编辑

领域模型(转)
摘要:按照一般的项目管理过程,“需求”之后是“分析”,那么在分析阶段对应的技术流程又是哪个?如何将需求阶段和分析阶段联系起来呢?答案就是“领域模型” 什么是“领域模型”呢?只要抓住“领域(Domain)”二字就可以理解,也就是说领域模型是帮助我们理解相关领域知识的模型。 进一步来问:为什么需要领域模型?前面不是有“用例模型”吗,看起来用例模型好像就是描述相关领域知识的,是否完成... 阅读全文

posted @ 2016-09-13 07:41 xu_xiang 阅读(367) 评论(0) 推荐(0) 编辑

关于数据库范式
摘要:设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。 目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多规... 阅读全文

posted @ 2016-09-12 23:18 xu_xiang 阅读(185) 评论(0) 推荐(0) 编辑

三招搞挂Mysql(转)
摘要:一、产生大量的undo日志 众所周知,InnoDB是一个支持MVCC的存储引擎,为了支持MVCC,InnoDB需要保存undo日志,以便对用户提供记录的历史版本。如果我们开启一个事务,反复地更新一条记录而不提交,会怎么样呢?将会产生大量的undo日志,使得磁盘空间爆满,导致MySQL不可用。 在innodb现有的实现中,并没有对单个用户或单个连接使用的undo空间进行限制。也就是说,我们只需要反复... 阅读全文

posted @ 2016-09-11 16:55 xu_xiang 阅读(1052) 评论(0) 推荐(0) 编辑

Java序列化技术
摘要:Java序列化与反序列化是什么?为什么需要序列化与反序列化?如何实现Java序列化与反序列化? Java序列化是指把Java对象转换为字节序列的过程;而Java反序列化是指把字节序列恢复为Java对象的过程。 为什么需要使用到序列化,两个不同的进程需要远程通信; 可以相互发送各种类型的数据,包括文本、图片、音频、视频等, 而这些数据都会以二进制序列的形式在网络上传送。那么当两个Java进程进行... 阅读全文

posted @ 2016-09-11 16:47 xu_xiang 阅读(243) 评论(0) 推荐(0) 编辑

Java邮件开发(JavaMail)
摘要:Sun发布的用来处理email的API,它可以方便地执行一些常用的邮件传输。JavaMail API是Sun公司为方便Java开发人员在应用程序中实现邮件发送和接收功能而提供的一套标准开发包,它支持一些常用的邮件协议,如:SMTP、POP3、IMAP。开发人员使用JavaMail API编写邮件处理软件时,无须考虑邮件协议底层的实现细节,只要调用JavaMail开发包中相应的API类就可以了。 l... 阅读全文

posted @ 2016-09-09 14:50 xu_xiang 阅读(1195) 评论(0) 推荐(0) 编辑

Nginx官方文档学习
摘要:TODO 阅读全文

posted @ 2016-09-09 13:57 xu_xiang 阅读(274) 评论(0) 推荐(0) 编辑

Java中文乱码解决
摘要:Jvm内部编码采用的是Unicode编码. 常见的字符编码集:ASCII编码,GBK编码,Unicode编码 UTF-8只是unicode的实现方式之一; UTF-8最大的一个特点,就是它是一种变长的编码方式。它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度。 UTF-8的编码规则很简单,只有两条: 1)对于单字节的符号,字节的第一位设为0,后面7位为这个符号的unicode码。... 阅读全文

posted @ 2016-09-09 00:46 xu_xiang 阅读(3239) 评论(0) 推荐(0) 编辑

Jersey+Spring+Maven(转)
摘要:spring和maven的搭建参考相关文档。本文只介绍与jersey有关配置。 一、jersey在maven中的依赖包 com.sun.jersey jersey-core 1.8 com.sun.jersey jersey-server 1.8 com.sun.jersey jerse... 阅读全文

posted @ 2016-09-08 00:36 xu_xiang 阅读(2681) 评论(0) 推荐(0) 编辑

App架构经验总结(转)
摘要:原文链接: http://keeganlee.me/post/architecture/20160303 架构因人而异,不同的架构师大多会有不同的看法;架构也因项目而异,不同的项目需求不同,相应的架构也会不同。然而,有些东西还是通用的,是所有架构师都需要考虑的,也是所有项目都会有的需求,比如API如何设计?架构如何分层?开发环境和生产环境如何分离?这几年,我负责研发过的App,有餐饮类的、社交类的... 阅读全文

posted @ 2016-09-07 17:18 xu_xiang 阅读(4765) 评论(0) 推荐(0) 编辑

JSONP跨域的原理解析(转)
摘要:JavaScript是一种在Web开发中经常使用的前端动态脚本技术。在JavaScript中,有一个很重要的安全性限制,被称为“Same-Origin Policy”(同源策略)。这一策略对于JavaScript代码能够访问的页面内容做了很重要的限制,即JavaScript只能访问与包含它的文档在同一域下的内容。 JavaScript这个安全策略在进行多iframe或多窗口编程、以及Ajax编程时... 阅读全文

posted @ 2016-09-06 10:57 xu_xiang 阅读(862) 评论(0) 推荐(0) 编辑

mongoDB学习
摘要:mongodb 文档数据库,存储的是文档(Bson->json的二进制化). 特点:内部执行引擎为JS解释器, 把文档存储成bson结构,在查询时,转换为JS对象,并可以通过熟悉的js语法来操作. mongo文档型数据库: 表下的每篇文档,都可以有自己独特的结构(json对象都可以有自己独特的属性和值) 思路: 如果有电影, 影评, 影评的回复, 回复的打分 在传统型数据库中, 至少要4张表, 关... 阅读全文

posted @ 2016-09-05 23:00 xu_xiang 阅读(249) 评论(0) 推荐(0) 编辑

Mysql慢日志查询
摘要:MYSQL慢查询配置: 查看是否启用慢日志查询: show VARIABLES like '%quer%'; 没有配置的情况下慢查询是关闭的; 阅读全文

posted @ 2016-09-02 15:43 xu_xiang 阅读(543) 评论(0) 推荐(0) 编辑

查看Mysql执行计划
摘要:使用navicat查看mysql执行计划: 打开profile分析工具: 查看是否生效:show variable like ‘%profil%’; 查看进程:show processlist; 选择数据库:use db_jiakao; 全部分析的类型:show PROFILE all; 查看表索引 阅读全文

posted @ 2016-09-02 14:22 xu_xiang 阅读(53994) 评论(1) 推荐(5) 编辑

MySQL Profiling 的使用
摘要:在本章第一节中我们还提到过通过 Query Profiler 来定位一条 Query 的性能瓶颈,这里我们再详细介绍一下 Profiling 的用途及使用方法。 要想优化一条 Query,我们就需要清楚的知道这条 Query 的性能瓶颈到底在哪里,是消耗的 CPU计算太多,还是需要的的 IO 操作太 阅读全文

posted @ 2016-09-02 13:49 xu_xiang 阅读(507) 评论(0) 推荐(0) 编辑

导航