你应该知道的RPC原理
在校期间大家都写过不少程序,比如写个hello world服务类,然后本地调用下,如下所示。这些程序的特点是服务消费方和服务提供方是本地调用关系。...
View Article使用FreeMarker替换JSP的10个理由
你还在使用 Java 服务器页面(俗称JSP)吗?我曾经也是,但是几年前我抛弃了它们,并且再也没有用过JSP了。JSP 是个很好的概念,但是它却剥夺了 web 开发的乐趣。 对我而言,这些都是小事,比如无法在页面模板上使用单独的文件header.jsp 和 footer.jsp,不能调用表达式语言的方法,在运行时无法合并,重新排列页面的各个部分。所以我转而使用 FreeMarker...
View Article优秀程序员的 18 大法则
经过多年的积累,我发现,下面这些基本的指导法则,可以帮助我成为一个更加高效的 程序员。程序设计法则,与设计和工程的原理密切相关。下面这些编程法则帮助我让我获益匪浅,所以我想分享给大家,希望也能帮助大家更高效,生产出的代码更容易维护,并且bug和缺陷更少。DRY原则不要重复(Don’t repeat...
View ArticleAndroid 三大图片缓存原理、特性对比
这是我在 MDCC 上分享的内容(略微改动),也是源码解析第一期发布时介绍的源码解析后续会慢慢做的事。 从总体设计和原理上对几个图片缓存进行对比,没用到他们的朋友也可以了解他们在某些特性上的实现。 上篇关于选择开源项目的好处及如何选择开源项目可见: 开源项目使用及选型。 一. 四大图片缓存基本信息 Universal ImageLoader 是很早开源的图片缓存,在早期被很多应用使用。...
View ArticleWebBench安装及测试
在软件测试工作中,压力测试是一项很重要的工作。比如在一个网站上线之前,能承受多大访问量、在大访问量情况下软件性能怎么样?这些数据指标好坏将会直接影响到用户体验。但是,在压力测试中存在一个共性,那就是压力测试的结果与实际负载结果不会完全相同,就算压力测试工作做的再好,也不能保证100%和线上性能指标相同。面对这些问题,我们只能尽量去想方设法去模拟。所以,压力测试非常有必要,有了这些数据,我们就能对自己...
View Article提升网站性能开发的10个技巧
随着网络的高速发展,网络性能的持续提高成为能否在芸芸 App 中脱颖而出的关键。高度联结的世界意味着用户对网络体验提出了更严苛的要求。假如你的网站不能做到快速响应,又或你的 App 存在延迟,用户很快就会移情你的竞争对手。以下为大家总结 10 条有关性能提升的经验,以供参考:1. 采用反向代理服务器(Reverse Proxy Server)来对应用进行加速和保护其作用主要在以下三方面:负载平衡...
View Article谷歌加强Android监管,你的安卓机用起来会更持久
在Android 6.0的所有新特性当中,Doze省电模式可以说是最让人感到兴奋的。多年以来Android系统都为电池续航的问题头疼,因为该系统的应用程序会自行在后台运行,而直至Marshmallow的推出,这个状况才找到解决办法。而为了让原始设备制造商也配合管控Android系统,谷歌Android 6.0...
View Article从发电量上看中国经济的奇迹
如何正确衡量一个国家的经济发展,由于现行的货币汇率对于比较各国人民的生活水平将会产生误导,显然根据GDP不科学,因为GDP涉及到汇率问题,而汇率是由在国际间交易货物和服务的竞争力对比形成的。如果一个国家的产品信誉高质量好竞争力强,这个国家的货币就强势,由此得到的GDP就显得高。一般来说,发达国家的产品具有竞争力,所以GDP就会被高估。...
View ArticleGeohash学习笔记
什么是GeohashGeohash是一种地址编码,它能把二维的经纬度编码成一维的字符串。比如,北海公园的编码是wx4g0ec1。Geohash有以下几个特点:Geohash用一个字符串表示经度和纬度两个坐标。在数据存储时可以简化为只为一列做索引。Geohash表示的并不是一个点,而是一个矩形区域。使用者可以发布地址编码,既能表明自己大致位置,又不至于暴露自己的精确坐标,有助于隐私保护。Geohash...
View ArticlePromise的前世今生和妙用技巧 - 破狼
浏览器事件模型和回调机制JavaScript作为单线程运行于浏览器之中,这是每本JavaScript教科书中都会被提到的。同时出于对UI线程操作的安全性考虑,JavaScript和UI线程也处于同一个线程中。因此对于长时间的耗时操作,将会阻塞UI的响应。为了更好的UI体验,应该尽量的避免JavaScript中执行较长耗时的操作(如大量for循环的对象diff等)或者是长时间I/O阻塞的任务。所以在浏...
View Article移动Web轮播图IOS卡顿的问题 - zjzhome
晚饭前,被测试吐槽说,banner轮播手动左右滑的时候会卡顿。我一看不科学啊,大水果手机怎么会卡顿。我一看测试手中拿的是iPod,我觉得大概是这小玩意性能不强悍,后来又拿来5S,依然会卡顿,有趣的是,两个5S,一个IOS7一个IOS8,IOS7基本没有卡顿,IOS8会卡。饭后从测试那里借了iPod。。。。就着手解决这个问题。我一直觉得轮播不应该会有什么问题,因为我用的是一个库...
View ArticleSpring MVC异常处理详解 - 程序员赵鑫
Spring MVC中异常处理的类体系结构 下图中,我画出了Spring MVC中,跟异常处理相关的主要类和接口。在Spring...
View ArticleAngularJS 最常用的八种功能
本文地址: http://zhaoyanblog.com/archives/99.html第一 迭代输出之ng-repeat标签 ng-repeat让table ul ol等标签和js里的数组完美结合 <ul> <li ng-repeat=”person in persons”> {{person.name}} is {{person.age}} years old....
View Article2015 Bossie评选:最佳开源大数据工具
nfoWorld在分布式数据处理、流式数据分析、机器学习以及大规模数据分析领域精选出了2015年的开源工具获奖者,下面我们来简单介绍下这些获奖的技术工具。1. Spark在Apache的大数据 [注]项目中,Spark是最火的一个,特别是像IBM这样的重量级贡献者的深入参与,使得Spark的发展和进步速度飞快。与Spark产生最甜蜜的火花点仍然是在机器学习领域。去年以来DataFrames...
View ArticleLinux应用自动删除n天前日志
Linux应用总结(1):自动删除n天前日志 linux是一个很能自动产生文件的系统,日志、邮件、备份等。虽然现在硬盘廉价,我们可以有很多硬盘空间供这些文件浪费,让系统定时清理一些不需要的文件很有一种爽快的事情。不用你去每天惦记着是否需要清理日志,不用每天收到硬盘空间不足的报警短信,想好好休息的话,让我们把这个事情交给机器定时去执行吧。 1.删除文件命令:find 对应目录 -mtime +天数...
View ArticleAndroid WebView 常见的九个问题
关注微信号:javalearns 随时随地学Java或扫一扫 随时随地学Java目前Android WebView问题越来越多,接下来由爱内测(www.ineice.com)的技术工程师为我们介绍几种常见的Android WebView问题:1.为WebView自定义错误显示界面: /** * 显示自定义错误提示页面,用一个View覆盖在WebView */ protected void...
View Article淘宝SPM流量跟踪体系的研究
一、什么是SPMSPM是淘宝社区电商业务(xTao)为外部合作伙伴(外站)提供的一套跟踪引导成交效果数据的解决方案。下面是一个跟踪点击到宝贝详情页的引导成交效果数据的SPM示例:http://detail.tmall.com/item.htm?id=3716461318&&spm=2014.123456789.1.2 其中spm=2014.123456789.1.2...
View ArticleAndroid内存泄漏检测-LeakCanary
square/leakcanaryudacity/Sunshine-Version-2添加LeakCanary依赖包在主模块app下的build.gradle下添加如下依赖:debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3.1' releaseCompile...
View Article