`
文章列表
如今分布式系统在国内已经不是新鲜事,NoSQL之花遍地开,我08年就诅咒的关系数据库 虽然僵而不死,但其已经威力和影响力已经日渐式微,至少没有完全占据新兴需求市场。 淘宝网和新浪微博我都有使用,虽然深知其中架构 ...
国外: www.sun.com  -不用多说吧。www.apache.org  -apache很多开源项目,无论是拿来用还是看源代码都很不错 http://java.sun.com/docs/books/tutorial/    来自SUN公司的官方Java指南 - 对于了解几乎所有的java技术特性非常有帮助. http://www.javablogs.com     互联网上最活跃的一个Java Blog网站. www.onjava.com  
有一个多月没有写blog,主要原因是受工作所累,公司由于组织变动任命我为部门的架构师,算是真正踏出了迈向架构师的第一步。 以前收集过很多有关架构师能力模型的文章,感觉自己离架构师不远,但近一两个月真正把这 ...
一致性 hash 算法( consistent hashing ) 张亮 consistent hashing 算法早在 1997 年就在论文 Consistent hashing and random trees 中被提出,目前在 cache 系统中应用越来越广泛; 1 基本场景 比如你有 N 个 cache 服务器(后面简称 cache ),那么如何将一个对象 object 映射到 N 个 cache 上呢,你很可能会采用类似下面的通用方法计算 object 的 hash 值,然后均匀的映射到到 N ...
约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。 例子   n = 9, k = 1, m = 5   【解答】   出局人的顺序为5, 1, 7, 4, 3, 6, 9, 2, 8。 链表方法   这个就是约瑟夫环问题的实际场景,有一种是要通过输入n,m,k三个正整数,来求出列的序列。这个问题采用的是典型的循环链表的数据结构 ,就是将一个链表的尾元素指针指向队首元素 ...
本人今年大四,想打好基础,为正式工作做准备,希望各位前辈不吝赐教,有则改之无则加勉   1、学习《鸟哥的Linux私房菜:基础学习篇》,结合《The C Programming Language》,把linux平台开发基础打好     2、学习JavaSE基础知识,推荐书籍,《Java 核心技术》或者《Thinking In Java》,不要过分注重学习框架和做项目     3、学习算法和设计模式,《算法导论》和《Head First 设计模式》   4、坚持把Spring、JUnit源码学习透    5、学习《UNIX环境高级编程》,重要、持久性学习 6、 ...
在程序员杂志上看到的一遍文章,无论面试、工作,都应该养成这种良好的编程风格。   扎实的基础知识、高质量的代码、清晰的思路、优化代码的能力、优秀的综合能力是编程技术面试的五大要点。   找工作一直是一个热门话题。要想找到心仪的工作,难免需要经过多轮面试。编程面试是程序员面试过程中最为重要的一个环节。如果能在编程面试的环节充分展示自己的能力,那么拿到中意的Offer就是水到渠成的事情。   我先后在欧特克、微软和思科等公司任软件工程师,多次接受他人的面试,同时也面试过很多人。总结面试与被面试的经验,我发现尽管面试官的背景、性格各不相同,但都关注应聘者五种素质:扎实的基础知识;能写高质量 ...
动态应用,是相对于网站静态内容而言,是指以c/c++、php、Java、perl、.net等服务器端语言开发的网络应用软件,比如论坛、网络相册、交友、BLOG等常见应用。动态应用系统通常与数据库系统、缓存系统、分布式存储系统等密不可分。   大型动态应用系统平台主要是针对于大流量、高并发网站建立的底层系统架构。大型网站的运行需要一个可靠、安全、可扩展、易维护的应用系统平台做为支撑,以保证网站应用的平稳运行。   大型动态应用系统又可分为几个子系统:   1)Web前端系统   2)负载均衡系统   3)数据库集群系统   4)缓存系统   5)分布式存储系统   6)分布式服 ...
第一次杭州程序员圆桌交流会于上周末在杭城著名的betacafe举行了,本次主题为Java并发编程,参加的人员为14人,分别来自网易、cisco、DBAppSecurity、阿里巴巴b2b、淘宝、支付宝、阿里云,组织者为阿里云的龙浩,twitter id为: @hoorace,交流会上共有7人分享了PPT,其他人员热烈的参与了讨论,:),总结来说,本次的交流会还是很成功的,质量不错,组织形式上后面可以考虑进一步优化, 我们集团占大部人人员 下面进入本次交流会的细节分享,感兴趣的同学可以继续阅读,twitter上的直播实录请搜索#yuanzhuo。====================== ...
封装变化多用组合,少用继承针对接口编程,不针对实现编程为交互对象之间的松耦合设计而努力类应该对扩展开放,对修改关闭只和朋友交谈别找我,我会找你类应该只有一个改变的理由
当时公司招了大批应届本科和研究生毕业的新新人类。平均年龄25岁。那个新的助理,是经过多次面试后,我亲自招回来的一个女孩。名牌大学本科毕业,聪明,性格活泼。私下里我得承认,我招她的一个很重要的原因,除了 ...
最近面试木家公司时,面试官问到struts2.0工作流程,就说下自己的思想上的成长 1:最开始学习框架是因为它流行、大家都在用,所以就学这门技术 2:然后会想这门技术能解决什么问题,如何搭建的,用到什么原理 3:最后会想象一下自己设计会是什么样,有什么更好的解决方案 2011年10月13日,纪念自己在思想上的又一次提升
虽然很少有 Java™ 开发人员能够忽视多线程编程和支持它的 Java 平台库,更少有人有时间深入研究线程。相反地,我们临时学习线程,在需要时向我们的工具箱添加新的技巧和技术。以这种方式构建和运行适当的应用程序是可行的,但是您可以做的不止这些。理解 Java 编译器的线程处理特性和 JVM 将有助于您编写更高效、性能更好的 Java 代码。 在这期的 5 件事 系列 中,我将通过同步方法、volatile 变量和原子类介绍多线程编程的一些更隐晦的方面。我的讨论特别关注于这些构建如何与 JVM 和 Java 编译器交互,以及不同的交互如何影响 Java 应用程序的性能。 1. 同步方法或同步代 ...
  1.1 第一范式(1NF)无重复的列        所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。在第一范式(1NF)中表的每一行只包含一个实例的信息。简而言之,第一范式就是无重复的列。 说明:在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。  1.2 第二范式(2NF)属性完全依赖于主键[消除部分子函数依赖] ...
Tomcat 启动时的系统日志默认是由 JdkLog14Logger 打印出来的,如 2008-7-7 11:19:34 org.apache.catalina.core.StandardEngine start 信息: Starting Servlet Engine: Apache Tomcat/5.0.28 2008-7-7 11:19:34 org.apache.catalina.core.StandardHost start 信息: XML validation disabled 2008-7-7 ...
Global site tag (gtag.js) - Google Analytics