小米4让我怎么说你呢

毫无疑问本次小米4的重点放到了外观上,所以那块所谓的钢板的艺术之旅肯定是花了不少钱的。小米4这次抓住了中国人喜欢方方正正的习惯,再加上人们对iphone的喜爱。小米4这次是对iphone的成功模仿,励志要做廉价iphone的节奏。 小米4在外观上花了那么多钱,肯定在别的地方要削减开支,要保证1999的价格成本。 首先是CPU:使用了量产的4核处理器 骁龙801,不再搞所谓的全球首发了,多少让米粉们有些失望,特别是联通版米4,不支持4G。不过也有个好处,那就是早点发货嘛。不过安兔兔之前的升级专门提高了单个核CPU性能的所占的比重,貌似是早有预料,早做的安排啊。 其次是屏幕:在荣耀6使用了in-cell屏的情况下,小米4仍然使用IPS,OGS屏,就了降低成本。我们知道in-cell屏幕是最薄的屏幕,屏幕显示效果最好,iphone5使用该屏幕,而OGS屏提高的是触控灵敏度,相对成本较低,良品率高,为国内多数手机厂商使用。 功能削减:米粉喜欢的的NFC\OTG\DLNA\MHL,都不会有,双LED闪光灯,变成一个。 小米4,除了加了金属边框,其它并没有亮点可言,无疑是加了内存,加了像素,换了CPU而已。

2014年7月24日 · 1 分钟

7月22日华为荣耀暑飙(biao)节,爽爆三天三夜

我们知道4月8日为荣耀狂欢节,当时只限一天,全部荣耀机型分时段销售。这次荣耀暑飚节,华为荣耀要爽爆三天三夜。而且手机型号更多,平台更多,还包括线下门店活动,这一切一方面说明了荣耀手机的畅销,也说明了荣耀品牌的发展,产能的提升。 据悉当天, 开卖产品: 荣耀6、荣耀3C 4G版、荣耀畅玩版、荣耀3X PRO、荣耀X1 LTE、荣耀3C 1G移动版、荣耀3C电信版、荣耀立方、荣耀手环、荣耀引擎耳机 其中荣耀3C 1G,荣耀畅玩版,荣耀6,荣耀3C电信版每天四个时段10:08 12:00 16:00 20:00限时销售,其它产品随时购买 开放平台: 华为商城,京东,天猫,淘宝,亚马逊,一号店,腾讯易迅,苏宁,微信(京东),手机QQ(京东),手机淘宝。 其中:荣耀6仅限华为商城和京东,荣耀3C电信版仅限华为商城和天猫 优惠 全部配件4折起,荣耀3C的专有配件一律4折 购买荣耀3C 4G版、荣耀畅玩版、荣耀3X PRO、荣耀X1 系列、荣耀3C电信版、荣耀立方一律送200元荣耀手环购买优惠券 线下活动 全国四十家门店,有购机大礼包,现场抽奖等活动。 如此豪华的阵容,如此广阔的平台,是一般手机厂商无法做到的,你还在抱怨荣耀手机卖不到吗?今天是个好日子,来选购吧。

2014年7月22日 · 1 分钟

荣耀6各个版本之间的区别

现在荣耀6只发型的是移动单卡版,后面哈有联通版,高配版,他们到底有什么区别的呢? 这里列出一个表格让你看得明白 型号 H60-L01 H60-L11 H60-L02 H60-L12 H60-L21 型号 移动4G 单卡版 (标配) 移动4G 单卡版 (高配) 联通4G 双卡版 (标配) 联通4G 双卡版 (高配) 荣耀6至尊版(麒麟928) 制式 TDD-LTE/TD-SCDMA/GSM TDD-LTE/TD-SCDMA/GSM TDD-LTE/FDD-LTE/WCDMA/GSM TDD-LTE/FDD-LTE/WCDMA/GSM TDD-LTE/TD-SCDMA/GSM 制式解读 移动4G\3G\2G 移动4G\3G\2G 移动4G\2G、联通4G\3G\2G 移动4G\2G、联通4G\3G\2G 移动4G\3G\2G NFC 不支持 支持 不支持 支持 支持 RAM 3G 3G 3G 3G 3G ROM 16G 32G 16G 32G 32G 价格 1999 2299 1999 2299 2999 上市时间 7月1日 7月22日 7月22日 8月初 10月 备注:关于全部荣耀手机支持的制式,你可以参考《荣耀家族制式说明》

2014年7月19日 · 1 分钟

7月22日华为荣耀准备了什么

第一:荣耀6 联通版荣耀6 32G版荣耀6,带NFC哟 全天购买无需预约 来源:华为荣耀掌门人@刘江峰_荣耀 官方微博: 第二、荣耀x2(猜测) 大屏荣耀X2要来了。 来源:@刘江峰 _荣耀、@华为荣耀 官方微博 第三、荣耀新玩具 类似于地雷一样的外形的新玩具,目前还不知道它的真面容。 来源 @华为荣耀酷玩 官方微博

2014年7月17日 · 1 分钟

目录调整如何不影响百度收录

因为历史原因,我的文章分类和标签url分别设成了下面这样子 http://zhaoyanblog.com/archives/category/website http://zhaoyanblog.com/archives/tag/angularjs 显然是不怎么简洁的,我现在要调整成 http://zhaoyanblog.com/category/website http://zhaoyanblog.com/tag/angularjs 但是目前我的博客已经被百度收录了,这么一改的话,肯定会出现大批收录的url为死链,返回404。 百度站长平台提供了一个“网站改版”改版的功能。你可以提交要改版的目录 例如:http://zhaoyanblog.com/archives/tag 表示原来这些路径下面的url都改版了。 但是前提是,原来的url要使用301跳转指向对应的新url,百度会在一个月时间内更新索引。301跳转就是http的状态码,表示永久跳转。并告诉浏览器一个新的地址,浏览器自动完成页面跳转。 要实现301跳转,还要使用.htaccess文件,在里面加入下面的话: <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^zhaoyanblog.com$ RewriteRule ^archives/category/(.)$ category/$1 [R=301,L] RewriteRule ^archives/tag/(.)$ tag/$1 [R=301,L] </IfModule> 注意,如果你有多个重写<IfModule mod_rewrite.c>,它们之间是有执行顺序的,其中一个是伪静态url,就是把archives/category/website 这样的路径,当做参数传递给index.php,伪静态url的目的就是利于SEO。这个我在《SEO我做了哪些优化》中有说过。 所以这个301跳转必须发生在,伪静态url那个<IfModule mod_rewrite.c>前面。 写好之后,这样就设定好了301跳转。 设定好了之后,我发现我的一些中文tag有点问题,例如 访问:http://zhaoyanblog.com/archives/tag/勇敢做自己。 返回301跳转到了 http://zhaoyanblog.com/tag/%D3%C2%B8%D2%D7%F6%D7%D4%BC%BA 还是返回404. 原因是我的网站使用的是utf-8编码,而我使用的apache服务使用了GBK编码 例如上方“%D3%C2%B8%D2%D7%F6%D7%D4%BC%BA”是“勇敢做自己”的GBK编码。 所以要修改apache的url编码格式为utf-8。这样中文跳转就没问题了: http://zhaoyanblog.com/tag/%E5%8B%87%E6%95%A2%E5%81%9A%E8%87%AA%E5%B7%B1 我使用的西部数码的虚拟机提供了修改服务器url编码这样的选项,如果你直接自己搭建的apache或者nginx服务器,如果有上面的问题,可能需要自己修改相关的配置了。

2014年7月16日 · 1 分钟

7.22华为有新品 或为大屏荣耀X2

才发现@华为荣耀 官方微博昨日挑战小米4的微博,简单一句话"我X,7.22!",配图一副。预示着华为荣耀真的有新品要与大家见面了,相对于小米的难产,华为荣耀的新产品是一个接一个啊。 @华为荣耀 7月14日微博配图: 同时以#荣耀爱XX,新品大猜想#为主题,进行竞猜有奖活动,多数人猜为荣耀x2 难道这个就是荣耀掌门人刘江峰13日晚拿着看世界杯的神器?

2014年7月15日 · 1 分钟

荣耀要出荣耀电视?

荣耀掌门人刘江峰2014年7月13日晚23点发出一篇看世界杯的微博,说身边没有电视,但是拿到了一款新品,痛痛快快看球了。。。 不禁让人浮想联翩,荣耀要出电视了?还是出一款荣耀平板?。。。。 欧耶,一起期待吧。。。。

2014年7月15日 · 1 分钟

[翻译]G1垃圾收集器(八) 之 总结

在本教程,你已经对java虚拟机中的G1垃圾收集器有了大概的了解,首先你学习了堆内存以及GC为什么是java虚拟机里的关键组成部分。接下来你学习了CMS GC和 G1 GC两款GC是如何工作的。后面又学习了G1的命令行参数,和使用它们进行最佳实践。最终你学习了GC日志中包含的日志和数据有关的信息。 在本教程,你学到了: java JVM的组成 G1 GC的概述 回顾了CMS收集器 回顾了G1收集器 命令行参数和最佳实践 关于G1的日志 资源 获取更多的信息或者相关的知识,可以访问以下站点或者链接 Java HotSpot VM Options The Garbage First(G1) Garbage Collector Poonam Bajaj G1 GC Blog Post Java SE 7: Develop Rich Client Applications Java Performance - Charlie Hunt and Binu John Oracle Learning Library 感谢 课程开发者:Michael J Williams 校正:Krishnanjani Chitta

2014年7月14日 · 1 分钟

相比荣耀6,小米4可能有什么?

小米终于耐不住寂寞将于2014年7月22日发布自己的全新产品小米4了。在这里我们猜测一下相对于全能王荣耀6,小米4可能有什么。 1、首先可以猜到的是小米4将使用苹果的金属一体成型技术。这就是说小米4的外观将又有所改变。我们知道小米3相较于小米2,外观上进行了很大改变,上下屏幕之外的部分很多,边框很宽,整体风格抄袭lumia,被很多人诟病。 这次小米4的外观,又要进行很大的改变,首先它不能过分的抄袭苹果,其次它不能抄袭锤子和荣耀6。那么在金属一体成型的技术重在体现手机的整体感,小米采用这种技术,外观的设计发挥余地很小,除非小米敢承担这部分工艺成本,虽然金属一体成型技术可能是个亮点,但是我还是觉得小米4的外观这次又要被吐槽了。 2、内存和CPU 要想与目前的主流性价比超高的手机抗衡。内存3G 和 8核CPU是少不了的。小米一向喜欢弄个“全球首发”的噱头,我想这次肯定也不例外。CPU移动的可能用英伟达的,联通的可能用高通还未量产的骁龙810。除非小米不要追逐麒麟920的cat6。 根据以往的经验, 小米2 2012年8月16日发布 2012年10月30日销售 小米3 2013年9月5日发布 2013年10月15日移动版发布 2013年12月31日联通版发布。 使用英伟达的移动版小米4,你可能在8月底才可以拿到。至于使用全球最快的CPU的联通版小米4,你可能要到3到4个月之后拿到了。 3、屏幕 小米一向在屏幕上不敢下血本的,屏幕一直使用IPS屏幕材质,相反荣耀系列一直在使用LTPS.小米3用的是OGS全贴合技术,这次可能会向荣耀6看齐。0GS比IN-CELL通透性和成品率上要高。小米3选用OGS无疑是为了降低成本。IN-CELL虽然技术难度大,成品率低,但是比OGS更轻薄,屏幕轻度高,触控灵敏度低。 4、操作系统 MIUI是小米的一个优势,这次如果出个MIUI V6可能会有更大优势,在我看来,安卓操作系统的定制已经走到一个举步维艰的状态,我觉得MIUI不会太多的惊喜,雷军在引入虎哥之后,可能在性能、功耗、优化等啥啥的上面有所标榜。

2014年7月13日 · 1 分钟

国际范P7和屌丝范荣耀6

自荣耀6发布以来,好多人认为荣耀6的定价是对之前发布的P7的一个冲击,是自己把自己搞死了,为什么荣耀6的那么高的配置,会比P7还便宜呢?我觉得这应该和产品定位不同,追求不同,面向人群不同,销售市场渠道不同有关。 P系列手机,一直是华为的旗舰机,P1是华为高端手机的发迹产品,从华为P1开始,华为的高端机从此被市场承认。从P1 P2 P6 到现在的P7,P系列一直走的是高端路线,讲的是超薄,优雅和商务,它可能没有超高性能的配置。但是它有高级顶端的工艺,和超级用心的艺术设计。可以说它卖的更多的不是机器,而是工艺。 它面向的用户不是普通消费者,它面向的国际主流的用户的手机认识,还有一些商务人士,或者讲对苹果手机比较热衷,对手机当艺术品追求的人们。 华为P7,并不依赖于网络出售,它的销售渠道更多的是专卖店,运营商。这个做法和iphone类似。2888元这样裸机价格,会凸显实体店的打折优惠以及运营商套餐价格的优惠。让华为P7的合作伙伴们得到更大的利益。同时这样的价格会让华为P系列一直走顶级工艺,高端设计的路线。 再看荣耀系列,从荣耀1代开始,直到荣耀3c 3x,华为荣耀才找清楚自己的定位,荣耀要做一部性价比高的手机,就像荣耀总裁刘江峰说的:好多年轻人都和他说想要一部内存更大,运行更快,摸起来不要太烫,看起来更漂亮,拍照更清晰…的手机。可能这就是华为荣耀的定位,追求的是更高的性能,最佳的性价比。 首先价格便宜也是这部分人所希望的。而华为正好是有这方面能力的,它有自己的工厂,有自己的CPU,有20年通信行业的积累。它有别的手机厂商所无法具备的超高性价比的控制能力。别的厂商可能为了降低价格,会牺牲工艺来满足制造成本,牺牲质量来满足产量和尽早的上线出售。这是一方面,再加上华为荣耀也采用互联网销售,省去了中间的利益环节,所以华为荣耀在国内千元机市场是有绝对的优势的, 综上所述,荣耀6和华为P7并不冲突,首先荣耀6的优点是超高性价比,同时有质量和价格优势。华为P7的优点是顶尖工艺,高端设计。其次荣耀6面向的互联网销售,华为P7是传统销售渠道,P7的海外销售市场占很大比例。换句话说荣耀6走的是屌丝逆袭的道路,P7走的高富帅的国际范。

2014年7月11日 · 1 分钟

[翻译]G1垃圾收集器(七) 之 G1 GC记录日志

最后一个主题,我们主要介绍使用日志信息分析G1 GC的性能。本节提供了在日志中打印关于垃圾收集的数据和信息的开关选项。 设置日志详情 有可以设置日志详情到三种不同的级别 (1) -verbosegc (等同于 -XX:+PrintGC) 设置日志到 fine 级别. 例子: [GC pause (G1 Humongous Allocation) (young) (initial-mark) 24M- >21M(64M), 0.2349730 secs] [GC pause (G1 Evacuation Pause) (mixed) 66M->21M(236M), 0.1625268 secs] (2) -XX:+PrintGCDetails 设置为 finer 级别. 这个选项输出下面的信息 平均、最大和最小的暂停时间 根区域扫描, RSet 刷新(包括处理缓存信息), RSet扫描, 对象复制, 消亡(包括尝试的次数). 还包括其它操作使用的时间,例如CSet的选择, 引用的处理, 引用队列的入列,还有Cset的释放 显示Eden, Survivors区域以及总堆内存的占用情况 例子: Ext Root Scanning (ms): Avg: 1.7 Min: 0.0 Max: 3.7 Diff: 3.7] [Eden: 818M(818M)->0B(714M) Survivors: 0B->104M Heap: 836M(4096M)->409M(4096M)] (3) -XX:+UnlockExperimentalVMOptions -XX:G1LogLevel=finest 设置到finest级别,内容就行finer级别的一样,再加上每个工作线程的信息 例子: ...

2014年7月10日 · 3 分钟

[翻译]G1垃圾收集器(六) 之 命令行选项和最佳实践

命令行选项和最佳实践 在这个章节,让我们一起看看G1的每个命令行选项。 基本的命令行选项 启用G1 GC,使用选项:-XX:+UseG1GC 这是一个最简单的命令行,来启动下载的JDK自带的demos和例子中的Java2Demo java -Xmx50m -Xms50m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -jar c:\javademos\demo\jfc\Java2D\Java2demo.jar 关键的命令行开关 -XX:+UseG1GC - 告诉JVM,使用G1 GC -XX:MaxGCPauseMillis=200 - 设置一个目标最大暂停时间. 这是一个理想化的目标,JVM会尽可能的完成它. 因此,这个目标不一定能达到。默认是200ms。. -XX:InitiatingHeapOccupancyPercent=45 - 整个堆栈使用达到百分之多少的时候,启动GC周期. 基于整个堆,不仅仅是其中的某个代的占用情况,G1根据这个值来判断是否要触发GC周期, 0表示一直都在GC,默认值是45(即45%慢了,或者说占用了) 最佳实践 在使用G1的时候,下面几个最佳实践你需要遵循 不要设置年轻代大小 显式的使用-Xmn设置年轻代的大小,会干预G1的默认行为。 G1就不会再考虑设定的暂停时间目标,所以本质上说,设定了年轻代大小就相当于禁用了目标暂停时间 G1就无法根据需要增大或者缩小年轻代的小心。既然大小固定了,就无法在大小上做任何改变了。 响应时间指标 不要根据平均响应时间(ART)作为衡量标准去设定XX:MaxGCPauseMillis=<N>选项,而是设定一个想在90%或者以上的时间都会满足这目标的值。也就是说90%的用户,都会在目标时间,甚至更短的时间内得到响应。记住设定的目标时间只是一个目标,不能保证永久都会满足这个目标。 什么是释放(撤销?)失败? 一个JVM当在回收存活或者晋升对象的时候,栈区域溢出了就会发生失败,因为堆的使用已经到达了最大值,不能再扩展。使用-XX:+PrintGCDetails选项,你会看到to-space overflow的日志。这个过程代价很高的。 GC还必须继续对内存进行释放 拷贝不成功的对象继续留在原来的区域 对CSets中对区域的RSets任何更新都要重新生成 所有这些过程代价都是很高的 怎么避免释放(撤销?)失败? 为了避免放失败,考虑使用下面的选项: 增大堆(内存)大小 增大-XX:G1ReservePercent=n,默认是10 G1会预留一部分内存,制造一个假天花板,防止to-space的方式。 早点启动标记周期 增大并行标记的线程数,使用-XX:ConcGCThreads=n选项 G1 GC的开关选项完全列表 下面是G1 GC的所有的开关选项的列表,记得通过上面提到的最佳实践: 选项和默认值 描述 -XX:+UseG1GC 使用G1 GC -XX:MaxGCPauseMillis=n 设置一个暂停时间期望目标,这是一个软目标,JVM会近可能的保证这个目标 -XX:InitiatingHeapOccupancyPercent=n 内存占用达到整个堆百分之多少的时候开启一个GC周期,G1 GC会根据整个栈的占用,而不是某个代的占用情况去触发一个并发GC周期,0表示一直在GC,默认值是45 -XX:NewRatio=n 年轻代和老年代大小的比例,默认是2 -XX:SurvivorRatio=n eden和survivor区域空间大小的比例,默认是8 -XX:MaxTenuringThreshold=n 晋升的阈值,默认是15(译者注:一个存活对象经历多少次GC周期之后晋升到老年代) -XX:ParallelGCThreads=n GC在并行处理阶段试验多少个线程,默认值和平台有关。(译者注:和程序一起跑的时候,使用多少个线程) -XX:ConcGCThreads=n 并发收集的时候使用多少个线程,默认值和平台有关。(译者注:stop-the-world的时候,并发处理的时候使用多少个线程) -XX:G1ReservePercent=n 预留多少内存,防止晋升失败的情况,默认值是10 -XX:G1HeapRegionSize=n G1 GC的堆内存会分割成均匀大小的区域,这个值设置每个划分区域的大小,这个值的默认值是根据堆的大小决定的。最小值是1Mb,最大值是32Mb

2014年7月9日 · 1 分钟

[翻译]G1垃圾收集器(五) 之 G1 GC的步骤(下)

G1的老年代GC 像CMS收集器一样,在老年代的GC上,G1 GC被设计成一个低暂停的收集器。下面的表格描述了G1 GC在老年代上收集的各个阶段。 G1收集阶段-并行标记阶段周期 G1老年代收集的各个阶段如下,请注意有些阶段也是年轻代GC的一部分。 阶段 描述 初始化标记(stop_the_world事件) 这是一个stop_the_world的过程,是随着年轻代GC做的,标记survivor区域(根区域),这些区域可能含有对老年代对象的引用。 根区域扫描 扫描survivor区域中对老年代的引用,这个过程和应用程序一起执行的,这个阶段必须在年轻代GC发生之前完成。 并发标记 查找整个堆中存活的对象,这也是和应用程序一起执行的。这个阶段可以被年轻代的垃圾收集打断。 重新标记(stop-the-world事件) 完成堆内存活对象的标记。使用了一个叫开始前快照snapshot-at-the-beginning (SATB)的算法,这个会比CMS collector使用的算法快。 清理(stop-the-world事件,并且是并发的) 对存活的对象和完全空的区域进行统计(stop-the-world) 刷新Remembered Sets(stop-the-world) 重置空的区域,把他们放到free列表(并发)(译者注:大体意思就是统计下哪些区域又空了,可以拿去重新分配了) 复制(stop-the-world事件) 这个stop-the-world的阶段是来移动和复制存活对象到一个未被使用的区域,这个可以是年轻代区域,打日志的话就标记为 [GC pause (young)]。或者老年代和年轻代都用到了,打日志就会标记为[GC Pause (mixed)]。 G1老年代手机的详细步骤 根据上面的阶段定义,来让我们看看他们都是和老年代怎么交互的。 6、初始化标记阶段 初始化标记,是在年轻代垃圾回收的过程中发生的,在日志中标记为GC pause (young)(inital-mark). 7、并发标记阶段 如果空的区域发现(图中标记为“X”),他们就会在重新标记阶段被立即清除掉,同时决定活跃度的统计信息也会计算到。 8、重新标记 空的区域被删除回收,同时计算所有区域的区域活跃度 9、复制和清理阶段 G1 GC会选择活跃度最低的区域进行收集,因为这些区域的垃圾收集会更快一点,在收集的过程中,年轻代的GC也可能同时发生,所以在GC的日志中标记为 [GC pause (mixed)],意思就是年轻代的GC和老年代的GC可以同时发生。 10、复制和清理阶段之后 那些选择收集的区域,存活对象会被压缩到图中标注的深蓝色区域和深绿色区域。 ...

2014年7月8日 · 1 分钟

[翻译]G1垃圾收集器(五) 之 G1 GC的步骤(上)

G1 GC采用不同的方式分配内存,下面这些图片用来解释G1系统的原理 1、G1的堆结构 堆是一块内存区域分成许多固定大小的区域 区域的大小由JVM启动的时候决定的,一般在1-32M范围内,大约生成2000个左右。 2、G1堆的分配 事实上,这些区域在逻辑上被映射到三大区:Eden, Survivor, 和老年代 图片中的颜色表示了区域和它被赋予的角色,存活的对象被腾挪(复制或者拷贝),从一个区域到另一个区域。区域中的收集被设计成和应用程序并行的。 如图所示,区域可以被分配为Eden, Survivor, 和老年代区域,此外还有第四种,我们称之为Humongous区域。这些区域被设计为保存一个标准区域大于50%的对象。他们被存储为一块连续的区域。这种类型的区域必须是没有被使用的区域(译者注:翻译到这里,暂且不明白,接着往下读) 注:在写这篇文章的时候,对Humongous对象的收集还没得到优化,你应该避免创建这样打的对象。(译者注:更云里雾里了,这个Humongous是指一个区域的类型,还是一些对象的类型呢?) 3、G1中的年轻代 堆被分成接近2000块区域,最小1Mb,最大32Mb。蓝色区域存储老年代对象,绿色区域存储年轻代对象。 注:这些区域不需要像老的GC那样必须是连续的 4、G1中年轻代的收集 存活的对象被复制或者移动到一个或多个survivor区域,如果满足老化阈值,这些对象就会被晋升到老年代(译者注:老化、晋升的概念就是说,一个对象在经历n个周期的收集仍然存活,这个对象就是可能被程序长期持有不愿释放的对象,这个对象就算是老化了,晋升到老年代) 这个阶段会发生stop the world的暂停,Eden和survivor的大小需要计算,为了进入下一次的年轻代收集,一些信息的统计也同时进行,为了帮助这个计算。设定的目标暂停时间也会纳入考虑的因素。 这个方法让改变这些区域大小变的容易,根据需要增大或者减少。 5、年轻代GC之后 存活的对象已经被复制或者移动到survivor和老年代区域。 刚晋升的对象如深蓝色所表示,绿色的表示survivor区域 总结一下,关于年轻代的GC有如下几点: 一整块堆内存被分成多个小区域 年轻代是由一些列的不连续的区域组成的,这有助于随时改变它的大小 年轻代的垃圾收集,或者称年轻代GC,是stop-the-world的一个事件,所有的应用程序线程必须停止,等待这个操作完成。 年轻代的GC,又多个线程并行处理 存活的对象被复制或者移动到新的survivor区域或者老年代区域

2014年7月7日 · 1 分钟

[惊喜]百度广告从基础升通用了

从建站伊始我就加入了百度联盟,加入百度联盟门槛不高: 1、有内容,你的网站必须有一定的内容,合法的。如果你刚刚建站,就几篇文章可能会申请失败,你需要充实之后再次申请。 2、有备案,如果你是个国内网站你必须有备案,不过如果你是香港主机或者境外网站的就不需要了。 满足这两个条件就可以在百度联盟网站注册一个用户,中间要验证下自己的网站。就可以投放自己的广告了。 你的网站有两个等级:基础和通用。如果你的网站流量很大,或者内容很丰富,上来审核员可能就给你一个通用级别。那下面的问题就不需要看了。 如果你的网站流量不是很大,内容还不怎么丰富,那你就是基础级别,然后你无论投放的什么百度广告,都是显示的主题广告。主题广告的原理很简单,就是百度联盟广告js,会从你投放广告的页面抓取内容,提取关键字以链接显示出来,用户点击你的主题链接,就会进入围绕这个主题的百度广告页面。这样单调的广告,肯定让你的网站看着很丑陋。 为此我们要努力从基础变成通用,变成通用的条件,一是流量,而是内容,像一个网站的流量基本来源于搜索引擎,所以最终还是要从内容着手,主要从以下几方面 第一:虽然联盟广告,你目前只能做主题广告,但是你也要多加几个,增加展现量。 第二:百度联盟和百度统计是相通的,我相信百度联盟的广告统计展现量是用了百度统计的相关技术,或者是数据有共享,你的网站要加入百度统计代码,不要用cnzz的。 第三:你的网站一定要主题明确,因为百度联盟的广告原理就是根据你的网站内容推送相近内容的广告,所以你一定要围绕一个主题充实你的网站。这就是SEO的话题了,关于SEO其它方面的建议,你可以参考我的《SEO我做了哪些优化》《SEO我做了哪些优化(续)》,或者其它网站的资料。 第四:最重要的还是坚持每天更新原创内容。我就是每天都坚持更新一篇自己原创的文章,最终从基础变成通用的,虽然我的每天的网站流量不是很大。我想我只所以从基础变成通用,是因为百度联盟检测到我的内容原创度高,内容丰富了。百度搜素检测文章是否远程的算法还是有一套的,我发现我之前关于《java多线程学习》的几篇总结,一直没有被收录,这是因为关于这方面的内容,网上实在太多了。你的内容是否原创度高,百度搜索索引量是个间接的反映。

2014年7月7日 · 1 分钟