- 博客(170)
- 收藏
- 关注
转载 通过线程按照顺序循环输出ABC n次
通过线程按照顺序循环输出ABC n次根据题目的意思应该是每个线程输出一个字符,按照顺序输出n次。对于这个题目应该是3个线程。分析:线程的执行方式是乱序的,需要通过协作才能实现3个线程顺序输出字符。在jdk1.4中线程的协作是通过wait/notify/notifyAll实现的,使用这3个方法要求获取同步对象的monitor,否则即使编译成功也会在运行的时候出现 Il
2014-12-09 23:33:15 831
转载 通向架构师的道路(第七天)之漫谈使用ThreadLocal改进你的层次的划分
一、什么是ThreadLocal早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。ThreadLocal很容易让人望文生义,想当然地认为是一个“本地线程”。其实,ThreadLocal并不是一个Thread,而是Thread的局部变量,也许
2014-12-01 15:44:09 579
转载 浏览器的“刷新”&“缓存机制”
1)Last-Modified 在浏览器第一次请求某一个URL时,服务器端的返回状态会是200,内容是你请求的资源,同时有一个Last-Modified的属性标记此文件在服务期端最后被修改的时间,格式类似这样: Last-Modified: Fri, 12 May 2006 18:53:33 GMT 客户端第二次请求此URL时,会在头部加入一个属性,询问该时间之后文件是否有被
2014-12-01 15:35:01 507
转载 理解ThreadLocal
ThreadLocal是什么早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。ThreadLocal很容易让人望文生义,想当然地认为是一个“本地线程”。其实,ThreadLocal并不是一个Thread,而是Thread的局部变量,也许把它
2014-12-01 15:33:42 416
转载 mysql处理高并发,防止库存超卖
今天王总又给我们上了一课,其实mysql处理高并发,防止库存超卖的问题,在去年的时候,王总已经提过;但是很可惜,即使当时大家都听懂了,但是在现实开发中,还是没这方面的意识。今天就我的一些理解,整理一下这个问题,并希望以后这样的课程能多点。先来就库存超卖的问题作描述:一般电子商务网站都会遇到如团购、秒杀、特价之类的活动,而这样的活动有一个共同的特点就是访问量激增、上千甚至上万人抢购一个商品。
2014-12-01 15:27:55 896
转载 构建高负载高性能大型网站的十个终极秘诀
对互联网有了解的人都有自己的想法,有人就把想法付诸实现,做个网站然后开始运营。其实从纯网站技术上来说,因为开源模式的发展,现在建一个小网站 已经很简单也很便宜。当访问量到达一定数量级的时候成本就开始飙升了,问题也开始显现了。因为带宽的增加、硬件的扩展、人员的扩张所带来的成本提高是显而 易见的,而还有相当大的一部分成本是因为代码重构、架构重构,甚至底层开发语言更换引起的,最惨的就是数据丢失,辛辛苦苦
2014-11-27 18:00:32 610
转载 在开发高访问量、高负载的系统时要注意什么?
开发大型的电子商务系统高访问量和高负载的问题是不能不考虑的。总的来说需要注意以下几点: 1、HTML静态化 我们尽可能使我们的网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法。同时,html静态化也是某些缓存策略使用的手段,对于系统中频繁使用数据库查询但是内容更新很小的应用,可以考虑使用html静态化来实现。在进行html静态化的时候可以使用一种折中的方法,就是前
2014-11-27 17:59:45 742
转载 web架构师必看:一步一步教你如何做架构
之前也有一些介绍大型网站架构演变的文章,例如LiveJournal的、ebay的,都是非常值得参考的,不过感觉他们讲的更多的是每次演变的结果,而没有很详细的讲为什么需要做这样的演变,再加上近来感觉有不少同学都很难明白为什么一个网站需要那么复杂的技术,于是有了写这篇文章的想法,在这篇文章中 将阐述一个普通的网站发展成大型网站过程中的一种较为典型的架构演变历程和所需掌握的知识体系,希望能给想从事互
2014-11-27 17:58:42 679
转载 你应该知道的WEB程序性能调优的基本方法
这个地球上有着成千上万的WEB系统在成千上万的服务器上跑着,提供者各种各样的服务。追求WEB程序的性能是每一个WEB开发者应该具备的基本素质。本文为大家介绍一下IBM是如何处理WEB程序性能调优的。 深入WEB服务的请求 动态的 Web 应用程序能够存储大量信息,让用户能够通过熟悉的界面立即访问这些信息。但是,随着应用程序越来越受欢迎,可能会发现对请求的响应速度没有以前那么快了。 开
2014-11-27 17:23:54 664
转载 Redis学习笔记(十)——过期时间、访问限制与缓存
过期时间之前应该提到过redis的特性之一是可以设置键的超时时间。命令是expire。redis > SET session:27e7a id1234OKredis > EXPIRE session:27e7a 1200(integer) 1EXPIRE命令返回1表示成功,返回0表示键值不存在或设置失败。同时这里还有一个比较
2014-11-27 15:13:20 1195
转载 缓存、缓存算法和缓存框架简介
缓存、缓存算法和缓存框架简介我们都听过 cache,当你问他们是什么是缓存的时候,他们会给你一个完美的答案,可是他们不知道缓存是怎么构建的,或者没有告诉你应该采用什么标准去选择缓存框架。在这边文章,我们会去讨论缓存,缓存算法,缓存框架以及哪个缓存框架会更好。面试“缓存就是存贮数据(使用频繁的数据)的临时地方,因为取原始数据的代价太大了,所以我可以
2014-11-27 14:36:57 535
转载 Redis应用场景
1. MySql+Memcached架构的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题: 1.MySQL需要不断进行拆库拆表,Memcached也需不断跟着扩容,扩容和维护工作占据大量开发时间。
2014-11-27 14:07:35 667
转载 分布式系统的事务处理
当我们在生产线上用一台服务器来提供数据服务的时候,我会遇到如下的两个问题:1)一台服务器的性能不足以提供足够的能力服务于所有的网络请求。2)我们总是害怕我们的这台服务器停机,造成服务不可用或是数据丢失。于是我们不得不对我们的服务器进行扩展,加入更多的机器来分担性能上的问题,以及来解决单点故障问题。 通常,我们会通过两种手段来扩展我们的数据服务:1)数据分区:就是把数
2014-11-26 23:54:06 508
转载 自学it网
http://www.imooc.com/course/list 慕课网http://edu.51cto.com/course/course_id-84.html 51CTO学院http://www.he11oworld.com/ 自学it教程
2014-11-26 14:02:01 1075
转载 各大知名技术团队网站搜集
http://www.taobaotest.com/ (淘宝测试技术团队博客)http://jm.taobao.org/ (阿里中间件团队博客)http://ued.taobao.org/ (淘宝UED技术团队博客)http://www.sogou.com/labs/reports.html (搜狗实验室)http://
2014-11-25 15:47:35 722
转载 solr的扩展(2)
Solr的扩展(Scaling)当你的索引数量越来越大,你会发现你的搜索响应时间变得更慢,索引新内容的时间也会越来越长,那么,到了做出一些改变的时候了,幸运的是,solr很好的考虑到了这些情况,你只需要改变你的配置就可以了。以下将从三个方面讲述solr的scaling:l 调优某个Solr服务器(Scale High)通过缓存和内存管理优化某个单实例的Solr。将
2014-11-24 23:46:20 558
转载 Scaling Solr(Solr的扩展)
关于Solr可以参考之前的博客或者百度一下。这里主要讲Solr的扩展,包括横向,纵向,以及深度扩展。 Javaeye的排版有问题,将就看吧Solr的扩展(Scaling) 当你的索引数量越来越大,你会发现你的搜索响应时间变得更慢,索引新内容的时间也会越来越长,那么,到了做出一些改变的时候了,幸运的是,solr很好的考虑到了这些情况,你只需要改变你的配置就可以了。以下
2014-11-24 23:43:57 600
转载 搜索架构更换solrCloud总结
转贴请声明引用:http://blog.csdn.net/duck_genuine/article/details/8826572新搜索架构是基于SolrCloud和indexing建索引框架技术的⼀一个分布式垂直搜索。主要开源工具:zookeeper、ganglia、tcpcopy、nginx、haproxy、rsync 旧架构弊端
2014-11-24 23:38:27 609
转载 构建高并发高可用的电商平台架构实践
从各个角度总结了电商平台中的架构实践,由于时间仓促,定了个初稿,待补充完善,欢迎大家一起交流。转载请声明出处:http://blog.csdn.net/yangbutao/article/details/12242441作者:杨步涛关注分布式架构、大数据、搜索、开源技术QQ:306591368技术Blog:http://blog.csdn.net/yangb
2014-11-24 23:25:19 622
转载 LVS+Keepalived+Squid+Nginx+MySQL主从 高性能集群架构配置
原文地址:LVS+Keepalived+Squid+Nginx+MySQL主从 高性能集群架构配置 作者:gron 原文链接:http://www.linuxidc.com/Linux/2012-07/65547.htm架构图先进行优化vi /etc/sysctl.conf # 编辑sysctl.conf文件添加以下内容net
2014-11-24 23:18:10 1093
转载 《JAVA与模式》26天系列—第14天—桥梁模式
桥梁模式是对象的结构模式。又称为柄体(Handle and Body)模式或接口(Interface)模式。桥梁模式的用意是“将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化”。桥梁模式的用意 桥梁模式虽然不是一个使用频率很高的模式,但是熟悉这个模式对于理解面向对象的设计原则,包括“开-闭”原则以及组合/聚合复用原则都很有
2014-11-23 19:37:14 458
转载 非小型电子商务系统设计经验分享
前言做了两年多针对淘宝的电子商务数据线下数据系统,越到后面越觉得自己还没入门,不管技术上还是业务上,这篇文章既是对自己的积累的一次梳理,更想的是能在和各位朋友交流中,互相进步。ps:所有字段并不是正式项目所使用字段,请根据自己的业务需求进行酌情查看处理,类目属性,商品,订单结构可以参考淘宝API数据接口进行查看具体字段。商品模块设计商品模块是支撑整个架构的核心,如果
2014-11-23 19:19:23 2074
转载 再从淘宝数据结构来看电子商务中商品属性设计
前言 那个啥…前面发了2篇文章讲这个商品表的设计,后面越多需求浮出水面才发现设计依旧有问题,好吧,乐观一点,正如我博客的标题一样,我在进化…^_^为什么要这样设计先说几个需求,看看您现在是如何去实现:一个用户来到我们网站,在前台页面,1.他要买洗发水,他进入了洗发水的类别,他想买带去屑止痒功效的500ml的洗发水,能否直接搜索出来所有品牌带这个功效属性是500ml
2014-11-23 19:18:20 1651
转载 从淘宝数据结构来看电子商务中商品属性设计
淘宝名词解释产品 和 商品的区别:淘宝标准化产品,由类目+关键属性唯一确定。如:手机类目,关键属性是品牌和型号,Nokia N95就是一个产品,nokia是品牌,N95是型号。产品除了关键属性还包括一般信息、销售属性和非关键属性。参考:如"诺基亚N95"就是一个产品。通过类目的关键属性组合来确定唯一的产品。后台标准类目叶子节点下,一组共同特征商品的组合(例如:化妆品+雅芳+保湿单品+容量)
2014-11-23 19:17:25 2524
转载 YY淘宝商品数据库设计
前言 这几个月都在做一个通过淘宝API线下管理淘宝店的系统,学习了很多东西,这里想对淘宝商品表设计用自己的想法表现出来,如果你觉得很扯淡,可以写下自己的看法.OK,切入正题. 淘宝的商品这块的复杂程度,是我见过的电子商务网站中最复杂的,灵活性最高的.在看下文之前,先说一下在淘宝中的以下名词:关键属性,销售属性,非关键属性。如下图:关键属性:能够确认唯一产品的属性,可以是一个,或
2014-11-23 19:16:04 1356
转载 也谈如何构建高性能服务端程序
也谈如何构建高性能服务端程序引子:我接触过很多编程语言,接触过各种各样的服务器端开发,Java,Go,Ruby,Javascript等语言,Spring,Node.js,Rails 等等常见服务器端框架和编程模型都有接触。这里谈一下我个人对高性能服务器端程序的一些看法,希望给各位读者一些认识。这片文章提到的内容也是 Coding(https://coding.net) 代码托管乃至整站
2014-11-21 23:02:46 590
转载 Spring的分布式事务,使用或不用XA - 5
原文链接:http://www.javaworld.com/javaworld/jw-01-2009/jw-01-spring-transactions.html?page=5Page 5 of 6性能和JDBCPersistenceAdapterActiveMQ社区的一些人宣称JDBCPersistenceAdapter存在性能问题。然而,很多项目和正式系
2014-11-21 22:27:51 496
转载 分布式事务
转于自己在公司的Blog: http://pt.alibaba-inc.com/wp/experience_1264/distributed-transaction.html 关于Dubbo服务框架的分布式事务,虽然现在不急着做,但可以讨论一下。 我觉得事务的管理不应该属于Dubbo框架, Dubbo只需实现可被事务管理即可, 像JDBC和JMS都是可被事务管理的分布式
2014-11-21 22:07:12 701
转载 数据库范式那些事
简介 数据库范式在数据库设计中的地位一直很暧昧,教科书中对于数据库范式倒是都给出了学术性的定义,但实际应用中范式的应用却不甚乐观,这篇文章会用简单的语言和一个简单的数据库DEMO将一个不符合范式的数据库一步步从第一范式实现到第四范式。 范式的目标 应用数据库范式可以带来许多好处,但是最重要的好处归结为三点: 1.减少数据冗余(这
2014-11-16 21:17:36 392
转载 程序员编程艺术:第三章续、Top K算法问题的实现
程序员编程艺术:第三章续、Top K算法问题的实现 作者:July,zhouzhenren,yansha。 致谢:微软100题实现组,狂想曲创作组。 时间:2011年05月08日 微博:http://weibo.com/julyweibo 。 出处:http://blog.csdn.net/v_JULY_v 。 wiki:http
2014-11-13 18:38:55 640
转载 基于Flume的美团日志收集系统(二)改进和优化
在《基于Flume的美团日志收集系统(一)架构和设计》中,我们详述了基于Flume的美团日志收集系统的架构设计,以及为什么做这样的设计。在本节中,我们将会讲述在实际部署和使用过程中遇到的问题,对Flume的功能改进和对系统做的优化。1 Flume的问题总结在Flume的使用过程中,遇到的主要问题如下:a. Channel“水土不服”:使用固定大小的MemoryChannel
2014-11-13 17:38:22 820
转载 基于Flume的美团日志收集系统(一)架构和设计
美团的日志收集系统负责美团的所有业务日志的收集,并分别给Hadoop平台提供离线数据和Storm平台提供实时数据流。美团的日志收集系统基于Flume设计和搭建而成。《基于Flume的美团日志收集系统》将分两部分给读者呈现美团日志收集系统的架构设计和实战经验。第一部分架构和设计,将主要着眼于日志收集系统整体的架构设计,以及为什么要做这样的设计。第二部分改进和优化,将主要着眼于
2014-11-13 17:36:50 755
转载 大数据架构:flume-ng+Kafka+Storm+HDFS 实时系统组合
个人观点:大数据我们都知道hadoop,但并不都是hadoop.我们该如何构建大数据库项目。对于离线处理,hadoop还是比较适合的,但是对于实时性比较强的,数据量比较大的,我们可以采用Storm,那么Storm和什么技术搭配,才能够做一个适合自己的项目。下面给大家可以参考。可以带着下面问题来阅读本文章:1.一个好的项目架构应该具备什么特点?2.本项目架构是如何保证数据准确性的?3
2014-11-13 17:09:05 778
原创 堆排序总结
一般都用数组来表示堆,i结点的父结点下标就为(i – 1) / 2。它的左右子结点下标分别为2 * i + 1和2 * i + 2。如第0个结点左右子结点下标分别为1和2。堆排序方法对记录数较少的文件并不值得提倡,但对n较大的文件还是很有效的。因为其运行时间主要耗费在建初始堆和调整建新堆时进行的反复“筛选”上。堆排序在最坏的情况下,其时间复杂度也为O(nlogn
2014-11-13 16:51:05 722
转载 堆排序 Heap Sort
堆排序是一种选择排序,其时间复杂度为O(nlogn)。堆的定义 n个元素的序列{k1,k2,…,kn}当且仅当满足下列关系之一时,称之为堆。 情形1:ki 2i 且ki 2i+1 (最小化堆或小顶堆) 情形2:ki >= k2i 且ki >= k2i+1 (最大化堆或大顶堆) 其中i=1,2,…,n/2向下取整;
2014-11-13 16:50:11 708 1
转载 堆排序及其分析
前言记得在学习数据结构的时候一味的想用代码实现算法,重视的是写出来的代码有一个正确的输入,然后有一个正确的输出,那么就很满足了。从网上看了许多的代码,看了之后貌似懂了,自己写完之后也正确了,但是不久之后就忘了,因为大脑在回忆的时候,只依稀记得代码中的部分,那么的模糊,根本不能再次写出正确的代码,也许在第一次写的时候是因为参考了别人的代码,看过之后大脑可以进行短暂的高清晰记忆,于是欺骗了我,以为
2014-11-13 16:42:25 430
转载 白话经典算法系列之七 堆与堆排序
堆排序与快速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先讲解下什么是数据结构中的二叉堆。二叉堆的定义二叉堆是完全二叉树或者是近似完全二叉树。二叉堆满足二个特性:1.父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。2.每个结点的左子树和右子树都是一个二叉堆(都是最大堆或最小堆)。当父结点的键值总
2014-11-13 16:36:48 480
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人