- 博客(10)
- 收藏
- 关注
转载 Nginx负载均衡基本配置
upstream a.com { server 192.168.5.126:80; server 192.168.5.27:80;}server{ listen 80; server_name a.com; location / { proxy_pass http://a.com;...
2016-08-31 16:36:00 154
转载 Stackoverflow上人气最旺的10个Java问题
1、为什么两个(1927年)时间相减得到一个奇怪的结果?(3623个赞)如果执行下面的程序,程序解析两个间隔1秒的日期字符串并比较:12345678910public static void main(String[] args) throws ParseException {Sim...
2015-10-16 09:31:00 188
转载 URLClassLoader动态加载类
说明:Java利用ClassLoader将类载入内存,并且在同一应用中,可以有很多个ClassLoader,通过委派机制,把装载的任务传递给上级的装载器的,依次类推,直到启动类装载器(没有上级类装载器)。如果启动类装载器能够装载这个类,那么它会首先装载。如果不能,则往下传递。当父类为null时,JVM内置的类(称为:bootstrap class loader)就会充当父类。想想眼下...
2015-09-16 16:43:00 253
转载 缓存穿透、缓存并发、缓存失效
一、缓存穿透我们在项目中使用缓存通常都是APP先检查缓存中是否存在,如果存在直接返回缓存内容,如果不存在就直接查询数据库然后再缓存查询结果返回。这个时候如果我们查询的某一个数据在缓存中一直不存在,就会造成每一次请求都查询DB,这样缓存就失去了意义,在流量大时,可能DB就挂掉了。这个问题其实经常遇到,只是没有引起足够的重视,在我想来,如果碰到这样的问题可以在封装的缓存SET和GET...
2015-08-24 17:18:00 123
转载 改善Java文档的理由、建议和技巧
我非常确定,作为开发人员我们都喜爱技术文档。我们喜欢阅读文档、写文档,更不用说维护文档了,我简直爱死它了!我也知道,每次你创建一个类或者一个方法,你都会想到要为此写文档。我也很确定你很享受于写文档,就像你喜欢偶尔美味的汉堡一样。但是有时候,只是有时候,你会想要松懈一下,也许这次就跳过文档部分。不幸的是,这种行为会很快地失控。所以在这篇文章中,我想聊聊这个开发者的生活中关键但是通常...
2015-08-13 09:11:00 133
转载 如何用消息系统避免分布式事务?
前阵子从支付宝转账1万块钱到余额宝,这是日常生活的一件普通小事,但作为互联网研发人员的职业病,我就思考支付宝扣除1万之后,如果系统挂掉怎么办,这时余额宝账户并没有增加1万,数据就会出现不一致状况了。上述场景在各个类型的系统中都能找到相似影子,比如在电商系统中,当有用户下单后,除了在订单表插入一条记录外,对应商品表的这个商品数量必须减1吧,怎么保证?!在搜索广告系统中,当用户点击某广告...
2015-08-12 08:49:00 1947
转载 灰度发布
2011年底,浙江公司分管支撑的杨剑宇副总在支撑内部召集了一次头脑风暴,要求部门里各位主管和骨干轮流发言,不讲成绩,只讲问题和思路,一圈人一个一个轮流讲过来: l 负责开发的主管说现在业务部门的需求经常考虑不清楚,而上线的时间压力很大,风险也很大,匆忙上线很容易把现有的业务弄乱,同时,上线后往往要在业务规则、操作便捷性上做多次修改,形成了很多不必要的二次开发,因此要求业务部门和需求管...
2015-08-11 10:24:00 326
转载 REFLECTION(反射)INTROSPECTION(内省、内观)
有时候我们说某个语言具有很强的动态性,有时候我们会区分动态和静态的不同技术与作法。我们朗朗上口动态绑定(dynamic binding)、动态链接(dynamic linking)、动态加载(dynamic loading)等。然而“动态”一词其实没有绝对而普遍适用的严格定义,有时候甚至像对象导向当初被导入编程领域一样,一人一把号,各吹各的调。一般而言,开发者社群说到动态语言,大致认...
2015-08-07 09:05:00 1620
转载 常规版本如果新增字段或新增状态如何正确处理
原则:如果一个版本需要新增字段或新增状态,程序必须考虑兼容历史旧数据,即程序正确运行的前提不能依赖历史的完整维护正确实施的实践: 1 如果一个版本涉及新增字段或新增状态,必须在设计阶段给出程序兼容方案及历史数据维护脚本。 2 正确发版顺序为:先执行ddl脚本(如果新增字段),再发布应用程序(该程序能够兼容历史数据),最后执行dml脚本维护历史数据。该做法带来的好处: ...
2015-08-04 22:25:00 154
转载 Git库管理规范
(1)新创建的分支Branch命名以DEV_yyyyMMdd的命名方式,如DEV_20150804。(2)新的TAG分为开发dev、回归reg、修复hot三种,命名方式如:dev_20150804_01(3)测试过程中可以多次移交给QA进行测试,打dev的TAG。(4)当进入回归阶段,将dev分支merge到master分支上,并打reg的TAG。(5)当生产上发现严重BUG需要进行ho...
2015-08-04 22:20:00 145
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人