01 2017 档案

摘要:C/S是Client/Server,即客户端/服务器;B/S是Browser/Server,即浏览器/服务器的意思。 C/S (Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到 Client端和Server 阅读全文
posted @ 2017-01-18 11:03 爱畔畔真是太好了 阅读(6980) 评论(0) 推荐(0)
摘要:RPC 功能目标 RPC 的主要功能目标是让构建分布式计算(应用)更容易,在提供强大的远程调用能力时不损失本地调用的语义简洁性。 为实现该目标,RPC 框架需提供一种透明调用机制让使用者不必显式的区分本地调用和远程调用。 下面我们将具体细化 stub 结构的实现。 什么是rpc RPC(Remote 阅读全文
posted @ 2017-01-12 10:00 爱畔畔真是太好了 阅读(197) 评论(0) 推荐(0)
摘要:Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。 阅读全文
posted @ 2017-01-11 11:05 爱畔畔真是太好了 阅读(170) 评论(0) 推荐(0)
摘要:Supervisor 是基于 Python 的进程管理工具,只能运行在 Unix-Like 的系统上,也就是无法运行在 Windows 上。Supervisor 官方版目前只能运行在 Python 2.4 以上版本,但是还无法运行在 Python 3 上,不过已经有一个 Python 3 的移植版  阅读全文
posted @ 2017-01-06 18:21 爱畔畔真是太好了 阅读(21348) 评论(0) 推荐(4)
摘要:代码之丑(一)——让判断条件做真正的选择 看出来问题了吗?经过仔细的对比,我们发现,如此华丽的代码,if/else的执行语句真正的差异只在于一个参数。第一段代码,二者的差异只是发送的消息,第二段代码,差异在于最后那个参数。 看破这个差异之后,新的写法就呼之欲出了,以第一段代码为例: Java代码 由 阅读全文
posted @ 2017-01-05 15:33 爱畔畔真是太好了 阅读(366) 评论(0) 推荐(0)
摘要:java 对于 8种基本类型 和 他们的包装类型 , 外加 String 类型 ,都是 值传递,没有引用传递 。即:传到一个方法里时,都是拷贝了一份,所以无法在一个方法里修改他们 的值 如果传递的是对象的话,也就是引用,那么其实是拷贝这 个对象的一个引用,修改会引起变化。 例子: Java代码 阅读全文
posted @ 2017-01-05 14:24 爱畔畔真是太好了 阅读(165) 评论(0) 推荐(0)
摘要:public static void main(String[] args) { DecimalFormat decimalFormat = new DecimalFormat("00000"); System.out.println(decimalFormat.format(21)); } 阅读全文
posted @ 2017-01-05 11:31 爱畔畔真是太好了 阅读(166) 评论(0) 推荐(0)
摘要:我们注意到它里面包含了这段配置:<load-on-startup>1</load-on-startup>,那么这个配置有什么作用呢? 1)load-on-startup元素标记容器是否在启动的时候就加载这个servlet(实例化并调用其init()方法)。 2)它的值必须是一个整数,表示servle 阅读全文
posted @ 2017-01-05 11:29 爱畔畔真是太好了 阅读(426) 评论(0) 推荐(0)
摘要:ExecutorService 建立多线程的步骤: 几种不同的ExecutorService线程池对象 上面四种线程池,都使用Executor的缺省线程工厂建立线程,也可单独定义自己的线程工厂下面是缺省线程工厂代码: 也可自己定义ThreadFactory,加入建立池的参数中 Executor的ex 阅读全文
posted @ 2017-01-05 11:27 爱畔畔真是太好了 阅读(229) 评论(0) 推荐(0)
摘要:public static void main(String[] args) throws ParseException{ //先转成日期 String fmt = "yyyyMM"; SimpleDateFormat sdf = new SimpleDateFormat(fmt); Date date = sdf.p... 阅读全文
posted @ 2017-01-05 11:04 爱畔畔真是太好了 阅读(119) 评论(0) 推荐(0)
摘要:建议把 <property name="maxWait" value="60000"/> 改成 <property name="maxWait" value="1000"/> <!--连接池初始化时打开的连接数--> 和<!-- 最大空闲连接数 --> 可以根据应用的实际并发数量做相应的调整,如果每 阅读全文
posted @ 2017-01-05 11:03 爱畔畔真是太好了 阅读(358) 评论(0) 推荐(0)
摘要:import org.apache.commons.io.FileUtils; public static void main(String[] args) throws IOException { File file = new File("c:\\1\\2\\3\\4.txt"); FileUtils.writeStringToFile(file, "... 阅读全文
posted @ 2017-01-05 10:59 爱畔畔真是太好了 阅读(793) 评论(0) 推荐(0)
摘要:<% String userAgent = request.getHeader("User-Agent"); if (userAgent != null && userAgent.indexOf("http") == -1 && userAgent.toLowerCase().indexOf("sp 阅读全文
posted @ 2017-01-05 10:47 爱畔畔真是太好了 阅读(176) 评论(0) 推荐(0)
摘要:分表是分散数据库压力的好方法。 分表,最直白的意思,就是将一个表结构分为多个表,然后,可以再同一个库里,也可以放到不同的库。 当然,首先要知道什么情况下,才需要分表。个人觉得单表记录条数达到百万到千万级别时就要使用分表了。 1,分表的分类 1>纵向分表 将本来可以在同一个表的内容,人为划分为多个表。 阅读全文
posted @ 2017-01-05 10:26 爱畔畔真是太好了 阅读(1889) 评论(0) 推荐(0)
摘要:单库单表 单库单表是最常见的数据库设计,例如,有一张用户(user)表放在数据库db中,所有的用户都可以在db库中的user表中查到。 单库多表 随着用户数量的增加,user表的数据量会越来越大,当数据量达到一定程度的时候对user表的查询会渐渐的变慢,从而影响整个DB的性能。如果使用mysql, 阅读全文
posted @ 2017-01-05 10:25 爱畔畔真是太好了 阅读(260) 评论(0) 推荐(0)
摘要:第1章 引言 随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。通过数据切分来提高网站性能,横向扩展数据层已经成为架构研发人员首选的方式。 水平切分数据库:可以降 阅读全文
posted @ 2017-01-04 17:31 爱畔畔真是太好了 阅读(363) 评论(0) 推荐(0)
摘要:第一部分:实施策略 数据库分库分表(sharding)实施策略图解 1. 垂直切分垂直切分的依据原则是:将业务紧密,表间关联密切的表划分在一起,例如同一模块的表。结合已经准备好的数据库ER图或领域模型图,仿照活动图中的泳道概念,一个泳道代表一个shard,把所有表格划分到不同的泳道中。 2. 水平切 阅读全文
posted @ 2017-01-04 17:27 爱畔畔真是太好了 阅读(3887) 评论(0) 推荐(0)
摘要:一、基本思想 Sharding的基本思想就要把一个数据库切分成多个部分放到不同的数据库(server)上,从而缓解单一数据库的性能问题。不太严格的讲,对于海量数据的数据库,如果是因为表多而数据多,这时候适合使用垂直切分,即把关系紧密(比如同一模块)的表切分出来放在一个server上。如果表并不多,但 阅读全文
posted @ 2017-01-04 14:50 爱畔畔真是太好了 阅读(243) 评论(0) 推荐(0)