本文目录一览:
求教java中的unsafe.allocateMemory 会导致内存申请失败吗
一:Java内存区域与内存溢出异常
在运行Java程序时,Java虚拟机会把管理的内存划分为若干个不同的数据区域。
Java虚拟机运行时数据区
数据区域图中,除了方法区和堆区是线程共享区外,其他三个是线程隔离的数据区(private)
程序计数器(Program Counter Register):属于线程私有的,占用的内存空间较少,可以看成是当前线程所执行字节码的行号指示器,字节码解释器工作时就是通过改变这个计数器的值来选择下一条,需要执行的字节码指令,分支,循环,跳转,异常处理,线程恢复等基础功能需要依赖这个计数器来完成,这个区域是jvm规范中没有规定任何OutOfMemoryError情况区域。
虚拟机栈:和程序计数器一样,都属于线程私有,生命周期与线程相同,描述的是java方法执行的内存模型,每个方法执行都会创建一个栈帧,用于存储局部变量表,操作栈,动态链接,方法出口等信息,每一个方法被调用直至执行完成的过程,就对应一个栈帧在jvm stack 从入栈到出栈的过程.局部变量表存放了编译期可知的各种数据基本类型(Boolean,byte,char,short,int,float,long,double),以及对象的引用。这个区域中定义了2种异常情况,如果线程请求的栈深度大于jvm所允许的深度,将抛出StackOverflowError异常,如果jvm可以动态扩张,当扩张无法申请到足够的内存空间是会抛出OutOfMemoryError异常。(这些数据区域异常将在下面的例子都讲到)。
本地方法栈:与虚拟机栈比较相似。其区别:虚拟机栈为虚拟机执行Java方法服务,而本地方法栈则为虚拟机使用Native方法服务。
堆(Heap):jvm中内存占用最大的一块,是所有线程共享的一块内存区域.在jvm启动时创建,存放的是所有对象实例(或数组),所有的对象实例都在这里进行动态分配,当类空间无法再扩张会抛出OutOfMemoryError异常。Java堆是垃圾收集器管理的主要区域,而收集器采用分代收集算法。
方法区(Method Area):与堆类似,也是各个线程共享的内存区域,主要用来存储加载的类信息,常量,静态变量,即时编译器编译后的代码等数据,当方法区无法满足内存分配时,也抛出OutOfMemoryError异常。运行时常量池是方法区的一部分,用于存放编译期生成的各种字面量和符号引用相对于Class文件常量池的重要特征是具备动态性(常量并非强制编译期产生,运行期间也可以新增,例如String类的intern()方法)。
直接内存(DirectMemort):并不属于数据区,也不属于java定义的内存区域。由于NIO(New Input/Output)类,引入了一种基于通道与缓冲区(Buffer)的I/O方式。
对象访问
Object object = new Object();
Object object 这部分存储在java栈的本地变量表中,作为一个引用(reference)类型存在。
new Object() 这部分存储在java堆中,形成了一块存储了Object类型所有的实例数据值的结构化内存,动态变化,长度不固定。
方法区:在java堆中,必须要找到此对象类型数据,比如,对象类型,基类,实现的接口,方法等都存放在方法区。
对象访问方式有两种:句柄和直接指针。
句柄:reference中存储是对象的句柄地址,而句柄包含了对象实例数据和类型数据各自具体地址信息。好处:在对象移动时只需改变句柄中的实例数据指针,reference本身不需要修改。
直接指针:reference中直接存储的就是对象地址。好处:速度快,它节省了一次指针定位的时间开销。
实战:OutOfMemoryError异常
1. Java堆溢出
调整虚拟机最小值(-Xms)和最大值(-Xmx),并通过参数-XX:+HeapDumpOnOutOfMemoryError生成快照。要解决这个区域的异常,通过内存映像分析工具对快照分析,确认内存中的对象是否是必要的,分清楚出现了内存泄露还是内存溢出。若是内存泄露,通过工具查看泄露对象到GCRoots引用链,找到泄露对象是通过怎样的路径与GCRoots相关联并导致垃圾收集器无法自动回收。若不存在泄露,则检查虚拟机堆参数与机器物理内存对比看是否还能调大或从代码上检查某些对象生命周期是否过长,尝试减少程序运行期的内存消耗。
2. 虚拟机栈和本地方法栈溢出
调节栈容量大小(-Xss)。如果线程请求的栈深度大于虚拟机所允许的最大深度,将会抛出StackOverflowError异常。使用-Xss参数减小栈内存容量或者增加此方法帧中本地变量表的程度都使栈深度缩小。
3. 运行时常量池溢出
调节参数-XX:PermSize和-XX:MaxPermSize限制方法区的大小,然后使用String.intern()这个Native方法向常量池中添加内容。运行时常量池溢出,在OutOfMemoryError后面跟随提示信息是“PermGen space”,说明运行时常量池属于方法区(HotSpot虚拟机的永久代)的一部分。
4. 方法区溢出
同样使用参数-XX:PermSize和-XX:MaxPermSize限制方法区的大小,然后不断产生大量的class来加载到内存,从而出现OutOfMemoryError。所以在经常动态生成大量Class的应用中,需要特别注意类的回收状况。
5. 本机直接内存溢出
通过参数-XX:MaxDirectMemorySize指定DirectMemory容量,若不指定则与Java堆最大值一样。可以直接通过反射获取Unsafe实例并进行内存分配,使用unsafe.allocateMemory()申请分配内存。不足时会出现OutOfMemoryError。
二.垃圾收集器与内存分配策略
概述
Java内存运行时区域的各个部分,其中程序计数器、VM栈、本地方法栈三个区域随线程而生,随线程而灭;栈中的帧随着方法进入、退出而有条不紊的进行着出栈入栈操作。而Java堆和方法区(包括运行时常量池)则不一样,我们必须等到程序实际运行期间才能知道会创建哪些对象,这部分内存的分配和回收都是动态的。
判断对象已死
1)引用计数算法(对象中添加一个引用计数器,当有一个地方引用它,计数器加1,当引用失效,计数器减1,任何时刻计数器为0的对象就是不可能再被使用的),但引用计数算法无法解决对象循环引用的问题。
根搜索算法(通过一系列的称为“GCRoots”的点作为起始进行向下搜索,当一个对象到GCRoots没有任何引用链(ReferenceChain)相连,则证明此对象是不可用的),主流程序语言Java,c#都使用此算法。在Java语言中,GC Roots包括:
1.在VM栈(帧中的本地变量)中的引用。2.方法区中的静态引用和常量引用的对象。3.JNI(即一般说的Native方法)中的引用。
2)生存还是死亡?
判定一个对象死亡,至少经历两次标记过程:如果对象在进行根搜索后,发现没有与GC Roots相连接的引用链,那它将会被第一次标记,并在稍后执行他的finalize()方法(如果它有的话)。这里所谓的“执行”是指虚拟机会触发这个方法,但并不承诺会等待它运行结束。这点是必须的,否则一个对象在finalize()方法执行缓慢,甚至有死循环什么的将会很容易导致整个系统崩溃。 finalize()方法是对象最后一次逃脱死亡命运的机会,稍后GC将进行第二次规模稍小的标记,如果在finalize()中对象成功拯救自己(只要重新建立到GC Roots的连接即可,譬如把自己赋值到某个引用上),那在第二次标记时它将被移除出“即将回收”的集合,如果对象这时候还没有逃脱,那基本上它就真的离死不远了。需要关闭外部资源之类的事情,基本上它能做的使用try-finally可以做的更好。
3)回收方法区
方法区即后文提到的永久代,很多人认为永久代是没有GC的,这区GC的“性价比”一般比较低:在堆中,尤其是在新生代,进行一次GC可以一般可以回收70%~95%的空间,而永久代的GC效率远小于此。但是目前方法区主要回收两部分内容:废弃常量与无用类。需要满足下面3个条件:1.该类所有的实例都已经被GC,也就是JVM中不存在该Class的任何实例。2.加载该类的ClassLoader已经被GC。3.该类对应的java.lang.Class对象没有在任何地方被引用,如不能在任何地方通过反射访问该类的方法。
垃圾收集算法
1.标记-清除算法(Mark-Sweep)
算法分成“标记”和“清除”两个阶段,首先标记出所有需要回收的对象,然后回收所有需要回收的对象。主要缺点有两个,一是效率问题,标记和清理两个过程效率都不高,二是空间问题,标记清理之后会产生大量不连续的内存碎片,空间碎片太多可能会导致后续使用中无法找到足够的连续内存而提前触发另一次的垃圾搜集动作。
2.复制算法(Copying)
将内存分为一块较大的eden空间和2块较少的survivor空间,每次使用eden和其中一块survivor,当回收时将eden和 survivor还存活的对象一次过拷贝到另外一块survivor空间上,然后清理掉eden和用过的survivor。复制收集算法在对象存活率高的时候,效率有所下降。
3.标记-整理(Mark-Compact)算法
标记过程仍然一样,但后续步骤不是进行直接清理,而是令所有存活的对象一端移动,然后直接清理掉这端边界以外的内存。
4.分代收集(Generational Collection)算法
此算法只是根据对象不同的存活周期将内存划分为几块。一般是把Java堆分作新生代和老年代,这样就可以根据各个年代的特点采用最适当的收集算法。
垃圾收集器
没有最好的收集器,也没有万能的收集器,只有最合适的收集器。
1.Serial收集器单线程收集器,收集时会暂停所有工作线程(我们将这件事情称之为Stop The World,下称STW),使用复制收集算法,虚拟机运行在Client模式时的默认新生代收集器。2.ParNew收集器ParNew收集器就是Serial的多线程版本,除了使用多条收集线程外,其余行为包括算法、STW、对象分配规则、回收策略等都与Serial收集器一摸一样。对应的这种收集器是虚拟机运行在Server模式的默认新生代收集器,在单CPU的环境中,ParNew收集器并不会比Serial收集器有更好的效果。3.Parallel Scavenge收集器Parallel Scavenge收集器(下称PS收集器)也是一个多线程收集器,也是使用复制算法,但它的对象分配规则与回收策略都与ParNew收集器有所不同,它是以吞吐量最大化(即GC时间占总运行时间最小)为目标的收集器实现,它允许较长时间的STW换取总吞吐量最大化。4.Serial Old收集器Serial Old是单线程收集器,使用标记-整理算法,是老年代的收集器,上面三种都是使用在新生代收集器。5.Parallel Old收集器老年代版本吞吐量优先收集器,使用多线程和标记-整理算法,JVM 1.6提供,在此之前,新生代使用了PS收集器的话,老年代除Serial Old外别无选择,因为PS无法与CMS收集器配合工作。6.CMS(Concurrent Mark Sweep)收集器CMS是一种以最短停顿时间为目标的收集器,使用CMS并不能达到GC效率最高(总体GC时间最小),但它能尽可能降低GC时服务的停顿时间,这一点对于实时或者高交互性应用(譬如证券交易)来说至关重要,这类应用对于长时间STW一般是不可容忍的。CMS收集器使用的是标记-清除算法,也就是说它在运行期间会产生空间碎片,所以虚拟机提供了参数开启CMS收集结束后再进行一次内存压缩。
日本 垃圾回收
日本环保深入人心
来到日本旅游的人常常可以看到青山绿草的景区里树立着“请游客把垃圾随身带走”的标牌。在北海道的国立湿地保护区,我们发现湿地里铺设了几公里长的木板小道,游客们都自觉步行在这些小道上,没有一个人践踏湿地。
学会倒垃圾
在日本居住,一定要学会一件事:倒垃圾。在我生活的社区,周一和周四是倒“可燃垃圾”的日子,周二倒“不可燃垃圾”,周五倒旧报纸、瓶瓶罐罐等“可回收垃圾”。在楼下信箱处,贴着一张垃圾分类说明。附近的小超市都设有回收专桶,除了饮料瓶之外,喝完的牛奶纸盒包装也在专门的回收之列。
日本在进入最发达国家行列的同时,拥有了工业大国中最高的人均寿命和森林覆盖率,以及最发达的环保产业。而循环经济的理念不仅被写进日本的法律条文里,也深深地扎根在普通人心中。
曾是公害国
到过日本的人可能很难想像,如此干净的国家从前可是著名的公害大国。二战后,日本集中力量发展重化学工业。由于缺乏有效的环境管理,伴随经济起飞,日本的环境变得乌烟瘴气,濑户内海也成为了著名的“死海”。
上世纪五、六十年代,由于环境污染造成居民患病的情况在日本比比皆是:在熊本县,由于当地的氮肥厂直接排放含汞废水,污染了水俣海湾而使当地渔民患上了水俣病;在四日市,由于石油化工厂排放废气,导致周围许多居民患哮喘病死亡;在富山,由于当地的铅锌矿在采矿和冶炼中排放含镉废水,许多居民患上了骨痛病。
开始的时候,地方政府和肇事厂家为了维护自身的经济利益,千方百计地隐瞒实情。这招致了人们的强烈抗议。于是,在各方的推动下,除了颁布一系列环境保护法令以外,日本政府还力图用文化理念去促进国人自觉的环保意识。
企业也环保
环保理念也深深植根于日本大企业的生产过程中。在参观丰田汽车公司厂房时,我们发现,工厂污水处理池的最终排放环节竟然被当作一个养鱼池,里面养了很多漂亮的鲤鱼。
同时,日本企业也开发出很多环保产品。日本企业已经掌握了从回收塑料瓶中提取树脂的技术,使作为饮用容器的塑料瓶得以再利用。
目前,为了解决钢材供应日趋紧张的问题,日本企业开始计划用木材来建造高层大厦。木质大厦能够减少环境负担:加工、组装乃至将来的拆迁都比使用混凝土简单,且整个过程没有二氧化碳的排放,而且,拆除后的木材还可以再利用。
希望日本所积累的经验和教训能让正在发展中的我国少走弯路,实现环境与经济的“双赢”。
环保的日本
10月4日至12日,我们广东省大学生代表团对日本进行了为期九天的访问。在日本,我们游览了大阪、京都、神户、横滨、东京等地的名胜,还参观了神户市环境未来馆、人类与未来防灾中心等地方。通过几天的亲眼所见、亲耳所闻及亲身体会让我对日本有了更进一步的了解。
其中印象最深的莫过于日本城市街道的整洁。同样是人口密集的现代化大都市,我们广州在高层建筑、立体交通等城市硬件基础设施上或许并不逊色于东京、横滨,但城市的卫生状况却差得很远。在广州的任何一个地方都可以看到被人们随手丢弃的纸巾、饮料瓶等垃圾,建筑物的外墙也多斑驳不堪,而在日本的街道处处都非常整洁,不见一点垃圾,房屋也是整齐而干净,就连公共厕所也一尘不染没有一点异味。更让我感到不可思议的是,日本的大街上几乎看不到垃圾箱,更不用说大型垃圾站了。别说是在银座、新宿等繁华街头,即便是在居民住宅区,�艘�献远�刍趸�曰嵘柚靡恍┕┒���掀俊⒐薜淖ㄓ美��渫饽愣颊也坏嚼��洹>菟等毡救送ǔJ前牙��旁谒芰洗�写�丶摇1热纾琱omestay的那天,接待我的凉子小姐到神户来接我去姬路。由于感冒,一路上我用了好几张纸巾。当我问她这些纸巾要扔去哪里,她很为难的告诉我垃圾箱很难找,还是先拿在手上等到了家再扔。虽然一路上带着垃圾多少会让我这个初来乍到的外国人觉得不方便,但是客观地讲这种做法确实保证了城市整体的卫生整洁。如果我们国家能推出类似这样的“把垃圾带回家”的政策,我一定积极响应,努力推动。
参观了神户市环境未来馆之后我对日本的垃圾处理问题有了更详细的了解。日本早在十多年前就把垃圾分为可燃垃圾和不可燃垃圾两类进行回收,现在对垃圾的分类则更为细致。就兵库县来讲,他们要求居民把生活垃圾划分成6类,甚至于连饮料瓶都要分成玻璃瓶、塑料瓶、铝罐等单独处理。并还要求居民在丢弃这些瓶瓶罐罐之前要将其冲洗干净。不同的垃圾要在每周不同的日子分开扔,且各种垃圾必须在当天早上8点之前扔在指定的垃圾收集处,如果错过了时间就只有等下次收同类垃圾时再扔。据环境未来馆的工作人员介绍,像神户市这样把垃圾分为6类在全日本来说其实根本算不上什么。日本南部的上胜町镇几年以前就已经对垃圾进行了34种分类,这个数字现在更上升到了44种之多。
另外日本对于如何扔垃圾还有许多具体的规定。比如,生活垃圾要用专门的垃圾袋装好并封口,这种垃圾袋对环境无污染,一般的商店都有出售。危险品如刀、碎玻璃等要用报纸包好,并贴上写有很醒目的“危险”字样的标签。大型包装用纸箱等则要展平,并用绳子系好。如果家中有什么大型物品要扔,比如家具、大型电器等,还要购买专门的大型垃圾处理券贴在上面,否则会被拒收。
如此复杂的垃圾分类方法听起来也让人头痛,所以日本的儿童从小就要学习正确处理垃圾的方法。比如我们参观的神户市环境未来馆(Kobe City Resource Recycle Center)就是免费向人们开放的,很多小学生、中学生会在修学旅行的时候到这里参观。里面的讲解人员都是一些做义工的退休的老人家,他们会非常热情地、不厌其烦地告诉你分类处理垃圾的重要性,并教你如何区分不同的垃圾。确实,要在日本生活就必须学会处理垃圾。对于不按规定处理垃圾的人,一般政府就会派人上门拜访、说服。
日本是一个大量生产、大量消费、大量丢弃的社会,为此日本政府及各界处处注意加强人们的环保意识。政府的宣传从以前的1R(recycle)转变为3R(reduce、reuse、recycle),也就是说首先要减少垃圾数量,其次是提倡重复使用和修理后使用,延长物品的使用寿命,最后才是资源的循环再生利用。在日常生活方面,比如,各种商品的包装上都印有保护环境的宣传语。在啤酒罐上,除了印有提醒未成年人不得饮酒的字外,最明显的标志就是“这是铝制品,请您配合回收”。就连人们平时使用的名片上,都堂而皇之地印上了“这是用再生纸印制”的字样。
回头来看我们中国,据说目前我国现存的生活垃圾超过60亿吨,工业垃圾66亿吨,而且每年正以1.3亿吨的速度递增。人均垃圾产量每天达到0.7公斤-1.2公斤。我们国家的垃圾处理问题严峻而迫切,在这个问题上日本人的做法确实有很多值得我们借鉴和学习的地方。
日本的环保农业
环保农业是由集约农业发展而来的,由于经济方面的问题,日本和其他发达国家一样,正相继出台了一些具体政策来促进环保农业的发展,同时加大宣传力度,加强国民的环保意识,以期尽早实现农业的持续发展。
日本的水稻研究居世界先进水平,水稻生产也有其自身的特色。随着人口的增长对产量的要求也越来越高,土壤养分趋于不足,需要把人畜粪尿、植物残体等用作堆厩肥施入水田,这样一来,容易造成河流、湖泊、封闭性海域的富营养化,饮用水也可能受到污染。因此,有关专家从水出发构想了环保农业的具体姿态。
水的净化。沿水流的净化及废水的重复利用:一方面,活化水田净化机能,利用还原土实现硝酸还原;另一方面,利用水渠河岸的植物除去营养物质。
水的循环利用净化:地下水通过管道灌溉旱田,其营养物质就被土壤及作物吸收而净化,这种情况某些程度上需要有灌溉用蓄水池,和为抑制藻类的发生而配备的适宜的装置。
建立地域水循环体系:将地域内地下水和地表水结合起来考虑,建立一个适当的地域水循环体系,以除去地域整体的富营养物质。为使地域外的负荷达到最小,而在地域内设计一个以农业为中心的地域环保计划,发展环保型农业。
有机废弃物的地域内循环处理。在地域环保型农业中,地域内产生的有机废弃物要在地域内循环处理,或利用耕地的还原作用使地域环境得以净化。
有机废弃物主要有如下几种类型:畜产废弃物,以生产自给饲料,首要的是将畜产废弃物施入耕地以维持其肥力,如价格适宜,也可考虑将这种处理推向市场。特别要注意的是饲料中的重金属添加及抗生粉的使用要适度。
污泥,生活废水、屎尿、村落排水中的污泥根据性状和条件尽可能地进行适宜的耕地还原处理,但要符合一定的质地基准,与重金属等有关的肥料取缔法、土壤环境基准等对污泥的处理也有所限制。目前耕地还原量只占污泥量的三分之一,预计以后随着生活物质的改善、住宅建设和水道设计的发展,污泥利用率会大大提高。
食品产业,工、矿业副产物和废弃物,食品产业副产物一般都做有机质肥料利用,预计随着环保农业的强化,耕地还原量也会越来越高。工、矿业副产废弃物如硫铵、氯铵、硅酸石灰等通过在农业上直接施用或经土壤循环而得以处理。
作物生产过程。建立地域内物质循环处理体系的基础是地域内作物的生产过程。这种基础决定了环境容量,成为地域环境计划的根本所在。日本把有机、轮作、施有肥农业视为环保农业的核心,有机物是维持地力之本,轮作可以避免连作障碍,施肥可以调节作物的生长状况。
农药对使用者的危害及环境的影响不容忽视,日本地下水屡次查出超标有害物质。因此,日本限制在饮用水源附近空中撒播农药,从而避免引起天敌的减少,提倡进行病虫害的综合防治,降低环境负荷。日本专家认为,由于不施用土壤消毒剂而使得轮作等措施对产量的增加不明显,也应算作环保农业。
日本的环保农业计划把“有机农业”作为其中一方面加以促进。典型的有机农业是无农药、无化肥的作物栽培。环保农业吸收了有机农业的成果的同时,拟探索一条把粮食供给和环保分离开来的途径。
日本人环保意识强
凡是到过日本的人,无论是常住,还是短期访问或旅游,几乎都对日本良好的环保状况留下了深刻的印象。那里山清水秀天蓝,能绿的地方都变绿了,甚至许多楼房屋顶也栽上了花草。据日本官方公布的统计数字,日本的绿化覆盖率高达66%以上。由于绿色拥抱着日本,即使刮大风,也无尘土飞扬,多年来,日本从没有发生过沙暴、尘暴。
据报道,日本重视环境保护也走过不短的弯路。二次大战后日本百业待兴,为了改变极为严重的困难局面,在恢复经济的过程中,日本政府几乎没有考虑过如何保护环境的问题,在六七十年代经济高速增长时期,曾频频发生破坏环境的事件,空气污浊,环境脏乱,人们的健康也受到了威胁。日本政府总结经验教训,一直把环保问题列入政府的重要议事日程。
改变观念加强环保意识是解决环保问题的关键,为此,日本政府首先从孩子抓起。从小学到高中,环保都是学生的必修课。孩子们不仅在学校学习环保知识,学校还组织学生们走出校门,如组织学生作垃圾问题的社会调查,或组织他们参观垃圾处理场和污水处理厂等,以增加孩子们的环保知识和意识。就是组织学生外出旅游,有的学校也不忘记在学生之间展开一项竞赛,看在旅游景点里哪个班级离开时比初到时更干净。另外,学校还定期与家长沟通,要求学生家长配合学校做好对学生的环保教育。不少学校定期搞一些如废品回收等与环保有关的活动,让学生和家长将家里的废旧报纸、塑料罐头盒等废弃物带到学校,由学校和家长联席会把旧物资送到回收站,所得款项再给学生购买一些学习用品。经过常年不懈的努力,重视环保成了日本人生活的一部分。
为了妥善并及时处理垃圾,日本政府还采取了一些具体措施。以东京为例,市政府将垃圾分为“可燃物”、“不可燃物”以及玻璃瓶和铁铝罐等类,并统一发放回收桶,要求居民按不同类别将垃圾放入不同的垃圾箱内。尽管分类放垃圾比较麻烦,由于人们环保意识比较强,大家还都是很认真地去做。另外,日本有关部门将垃圾回收箱放到了一切可以放的地方,如商店、公园、停车场、街头、广场等,垃圾回收箱在日本几乎是随处可见,并有专人负责。
日本吸烟的人不少,有报道说烟民人数占日本总人口的38.9%,但在地铁、电梯、宾馆走廊、商场等公共场所是不允许抽烟的,人们也都自觉遵守规定。有的烟民烟瘾很大,为了解决烟灰问题,他们外出都随身带着塑料或金属做的烟灰盒,绝不随地丢弃烟蒂。为减少汽车尾气,日本政府鼓励市民以自行车代步,并规定自行车可走人行道,以避免发生交通事故。
工业废料是造成环境污染的重要原因。为此,日本有关部门采用了新的监视系统,利用全球定位系统(GPS)跟踪运送废料的卡车的路径,卡车上装有传感器,对有怀疑的工地不间断地摄取卫星照片来核查土地形状的变化,从而查出那些违法倾倒工业废料的场所。
由于环保问题日益得到重视,日本企业的环保观念也在发生变化。许多企业开始从过去被迫遵守环境法规到现在自觉地加强环境保护。人们逐渐认识到,环境保护问题不仅影响全局,也决定企业的生死存亡。1999年以来,日本的“环境会计”制度在企业中迅速普及,实现“零排放”的企业在逐渐增多。
特别值得一提的是,近年来,日本相继制定了《容器包装循环法》、《家庭电器循环法》、《再生资源利用促进法》等一系列法律法规,逐步完善了环境保护方面的法制。目前,日本政府拟订的《循环型社会基本法》(草案)正在起步,这一法案的实施将使日本从现代经济社会转向“循环型经济社会”。现代经济社会最大特征是“大量生产、大量消费和大量废弃”,经济开发与环境破坏同步进行;而“循环型经济社会”特征是“最优生产、最优消费和最少废弃”的可持续发展。“循环型经济社会”的确立将导致产业结构的重大变革和科学技术发展方向的转变,并给经济带来新的增长点,创造新的市场。日本通产省估计,到2010年,与环境有关的市场规模将从现在的15万亿日元增加到37万亿日元,就业人数会从现在的64万人增加到140万人。日本经济计划厅预测,到2020年,环境产业将是日本经济增长的重要支柱之一。重视环保已经成为日本举国上下共同关心的大问题。
求问能来有Xbox 本世代与次世代实机对比?
微软的次世代主机Xbox Series X已经于今日正式发售,而索尼的PlayStation 5也将在两天后,11月12日发售,新一轮主机大战的硝烟已经逐渐弥漫。
和7年前PS4和Xbox One发售时不同,如今两家都从单一机型的销售策略,转变向分别推出不同硬件配置的机型来满足不同消费者的需求。面对499、399、299美元,光驱版、数字版等一系列不同的主机型号,相信不少新玩家已经有些犯难了。
加上索尼微软各自在游戏阵容、平台服务、旧平台兼容、运营政策上又有不少区别,因此本世代两代主机的购买也就多了几分选择困难。所以这次我们将从硬件、游戏阵容、会员服务、以及购买推荐这几个方面进行分析。相信不管新老玩家看完都能有更进一步的认识。
谁是地表最强次世代主机?
选硬件当然第一时间看性能。尽管在硬件配置阶段,微软与索尼两家明显在着力点上存在着不同,但从总体性能上来看,目前微软的旗舰机型XSX更胜PS5一筹,是当之无愧的最强性能次世代主机。
CPU方面,虽然双方均采用了8核心AMD Zen 2 CPU架构,纸面性能与去年上市的锐龙3700x相仿,但XSX最高3.8GHz的运算频率略优于PS5的3.5GHz,差距不算太大。
而在GPU方面,Xbox Series是目前唯一支持RDNA 2架构完整特性的次世代主机
尽管GPU的提供商AMD此前已经承认两台同样都采用了RDNA 2.0架构GPU,但在定制层面存在着比较大的差距。10月底AMD公开RDNA 2架构显卡产品时,微软也随即宣布Xbox Series X/S是唯一完整支持RDNA 2特性的主机,包括DXR光线追踪、网格着色器、取样反馈和可变速率着色。
换言之,索尼PS5采用的GPU并不能完整支持以上这些特性,这也是此前索尼一直宣称其GPU为“基于RDNA 2架构”的原因。目前可以肯定的是,PS5将不支持网格着色器,取而代之的是AMD在上一代RDNA架构中公布的Primitive Shader定制化后的“几何引擎”(Geometry Engine)。
当然,如果你对以上这些特性不甚了解,简单的纸面示例还是能说明基本问题的——XSX拥有每秒高达12TFlops的单精度浮点运算力与52个控制单元,PS5则只有10.3TFlops与36个控制单元。
分辨率:8K时代真的来临了吗?
此外,两家均宣称支持4K甚至8K分辨率,以及最高120帧的画面,但实机效果因游戏而异,目前已经发售的XSX经过测试,向下兼容的《只狼:影逝二度》、《巫师3》等本世代游戏都可以在4K分辨率下达到60帧左右的流畅水平,当然具体的测试还得到拿到机器之后再给出。而PS5的8K分辨率支持则需要之后通过系统更新获取。
由于光线追踪需要消耗大量的机能,大多数游戏在次世代主机上为了兼容分辨率和光追效果,都会选择牺牲帧数。以《鬼泣5 特别版》为例,在开启光线追踪的情况下,两台主机都只能在4K分辨率下维持30帧,或是在1080P分辨率下保持60帧;而如果关闭光追,则可以在4K分辨率下跑到60帧或120帧。
由此我们可以看出,目前的次世代主机还不能够自如地将光线追踪、4K或8K高分辨率、高帧数三个诉求全部兼容,受制于成本和售价,玩家还是要在其中做取舍——毕竟最贵的XSX和PS5,官方售价也只有499美元,和高性能PC相比还是便宜不少的。
存储:索尼的SSD真的是黑科技吗?
数据存储方面,此次两家皆升级至16GB GDDR6高速内存。不过XSX的内存有着320-bit 位宽与最高560GB/s的非对称带宽。PS5的内存则采用256-bit位宽与448GB/s的带宽。
面对硬盘这个读写速度的短板,次世代两家同时抛弃了慢速的机械硬盘,全面改用吞吐速度更快的固态硬盘。而这部分,两家又有着较大的差距,索尼自宣发时期就着重强调PS5的固态硬盘性能。
XSX内置1TB容量的定制SSD,可用容量为802GB,非压缩传输速率达到2.4GB/s。配合微软的黑科技Quick Resume功能,允许玩家不中断当前游戏并保留当前游戏状态的前提下,快速打开其他游戏游玩,并可以在数款游戏之间快速切换。经过测试,XSX可以轻松地在10秒内从《无主之地3》切换到《我的世界:地下城》。当然,这个数据受不同游戏影响也会产生浮动,不过仍然是一个非常强大的功能。
需要注意的是,XSX并没有提供比较大众的扩容接口,玩家可以购买微软官方的1TB扩容卡来增加主机的容量,不过这款微软与希捷合作定制的1TB扩容卡售价高达220美元,价格不菲。
PS5定制SSD有着极其惊人的5.5GB/s非压缩速率,是XSX的两倍以上,大大加速了游戏载入读取的时间。相比起PS4上《黑魂3》死一次就要等个10几20秒,未来玩家在游玩《恶魔之魂 重制版》时可以在死亡后立刻重来,真是可喜可贺(?)。
不过PS5硬盘的高速率也是有代价的,其容量仅有825GB,可用容量仅665GB。除去系统占用,预期实机可用容量还会更少。同时这块定制SSD是焊接在主板上,难以拆换,这对于机器的良品率与售后维修提出了更高的要求。不过索尼也单独提供了PCIe 4.0规格的M.2 接口,方便玩家自行购置SSD扩充容量,不过必须满足PS5的最低性能水平。
此前Gamespot针对两台次世代主机内置SSD的载入速度进行了测试,有些诧异的是尽管PS5有大吞吐量SSD的加持,加载速度上整体还是稍逊于XSX。由于测试的是本世代游戏而非次世代游戏,此前索尼也曾表示第一方的次世代游戏将针对这块SSD进行专门优化,期待后续的表现。
这里还是列出Gamespot经过测试的本世代游戏载入速度:
《荒野大镖客2》
PS5 1:04
XSX 1:02
《最终幻想15》
PS5 1:10
XSX 0:43
《命运2》
PS5 1:37
XSX 1:12
《怪物猎人世界》
PS5 0:51
XSX 0:29
《蝙蝠侠:阿卡姆骑士》
PS5 1:07:27
XSX 58:48
相比本世代主机,双方在载入速度上的提升都已经非常明显了,无论选择哪一台主机,玩家的体验都将得到大幅度的改善,再也不需要长时间坐在显示器前等待读盘,也不需要那些连通关卡场景的长隧道来争取素材加载的时间了。
散热:截然不同的解决方案
强悍的机能势必伴随着散热的问题,XSX这边采用结构紧凑的垂直风道散热设计,外观小巧的同时可以任意竖放或侧放。相比之下,PS5安装了导热性优异的液态金属,但遇到品控不好的机器则有漏液报废的可能。此外,PS5的热管散热片占用了大量空间,导致整机体积达到PS4 pro 的两倍,XSX的1.5倍之大。尽管体积庞大,造型一言难尽,但PS5的侧板可自由拆卸,未来想必会有一堆魔改自制外壳,让主机看起来养眼一些。而且PS5还有个非常有趣的设计,那就是专门提供了一个集尘口方便玩家用吸尘器进行日常清灰,可以降低主机长期使用后造成的灰尘累积。
我相信不少朋友都体验过自己的PS4或是PS4 PRO在运行本世代末游戏时那恐怖的风扇噪音,有一点可以肯定的是,两台次世代主机都会更加安静。根据数毛社Digital Foundry的测试,XSX运行时相当安静,甚至不需要使用噪音表单独测试,而散热温度方面,运行《战争机器5》时机器表面温度为48-49度,表现良好。
版本:按需选择
值得一提的是,与XSX同步发售的,还有微软的轻量级次世代主机:Xbox series S,相比起XSX,XSS最大的特点就是体积小,无光驱,板载硬盘缩减至512G,显卡浮点算力为XSX的1/3,主打2k分辨率和高帧数,更适合不追求高分辨率的玩家购买。根据游戏的优化和规模不同,XSS也能够在一些游戏中开启光线追踪,比如XSS运行《看门狗:军团》时就是支持光追的,而运行《鬼泣5 特别版》时则不行。这方面还是以具体游戏为准。
而索尼的PS5也分为带蓝光光驱的标准版和无光驱的数字版,不过不像XSX和XSS存在性能上的差异,PS5的数字版和标准版主要在于光驱的有无,以及外观、重量上的不同。当然,如果选购数字版,那么今后就只能选择数字版游戏,也就无缘国内比较流行的实体盘二手回收了,还请留意。
游戏阵容:独占策略与订阅制的两极
说完硬件,再来看主机最核心的驱动力,游戏阵容。
目前索尼与微软都已经公布了各自的首发游戏,同时也阐明了玩家最关心的上世代游戏过度的问题
独占
在主打的独占游戏方面。索尼以魂系列玩家魂牵梦绕的《恶魔之魂 重制版》打头阵,再加上《漫威蜘蛛侠:迈尔斯·莫拉莱斯》、《麻布仔大冒险》、《太空人的娱乐室(Astro's Playroom)》这几款游戏作为PS5年内首发独占游戏,原定首发独占的《毁灭全明星》则延期至2021年。
这之外还有《Returnal》、《GT赛车7》、《战神:诸神黄昏》、《地平线2:西部禁域》这几款独占游戏仍在开发中,暂时未公布发售日。同时贝塞斯达旗下的《死亡循环》、《幽灵线:东京》发售后也将在PS5上限时独占一段时间。
相较于索尼坚定的独占打法,微软近几年主推“play anywhere”的则是多平台互通策略。Xbox老大Phil Spencer曾强调过,微软的目标是,玩家买的游戏不只能在Xbox Series X、Windows 10 PC上玩,甚至随着xCloud的兴起,还可以延伸到移动设备上。
这也就意味着Xbox的独占游戏同时也会登录PC,包括为新主机保驾护航的《光环:无限》(虽然延期了),《脑航员2》、《神鬼寓言》新作、《极限竞速》新作、《腐烂国度3》、黑曜石新作《Avowed》和《暮色降临(As Dusk Falls)》等等游戏,都会一同登陆PC。
不过由于今年9月微软收购了贝塞斯达的母公司ZeniMax Media及其旗下工作室,未来如《上古卷轴》、《辐射》、《毁灭战士》等贝塞斯达和旗下工作室制作的游戏很有可能在Xbox和Windows PC平台独占或是限时独占,对于索尼的独占策略来说也是很大的冲击。具体还要看微软的策略。
向下兼容
除了独占游戏外,两家主机均兼容了旧世代游戏。微软的XSX将会延续之前XBOX ONE向下兼容的政策,即兼容XBOX 360、XBOX初代游戏的同时提供更强的画质升级。这等于玩家只需购买一台主机就能坐拥四代同堂的海量游戏阵容。对于经常想要怀旧的玩家而言,XSX这一卖点非常值得去投入。
PS5则兼容99%的PS4游戏,并且同样基于更高的硬件配置提供更高的画质体验。
订阅服务:微软的XGP更香
最后,在订阅制服务这块,微软与索尼有着决定性的差距。
微软的Xbox Game Pass订阅服务价格实惠,新玩家仅需10港币(1美元)就能尝鲜一个月。正常购买一年的费用大约等于一到两款3A的价格,即可以享受库内上百款新旧精选游戏。不仅每月会有新游戏加入XGP,部分微软独占游戏与第三方游戏首发即纳入其中。此外,拥有XGP还将获得买游戏享8折,DLC9折的优惠。
Xgp已经包含了EA play,容纳更多游戏
不仅如此,微软最近大手笔收购贝塞斯达后,确认会将贝塞斯达旗下游戏加入到XGP。未来像《上古卷轴6》、《星空》、《辐射》新作这类B社重磅作品,都可以在XGP订阅服务中以低廉的价格享受到,而无需花费六七十美元去单独购买。
索尼这边则升级了一贯以来的PlayStation Plus会员,提供名为PlayStation Plus Collection免费游戏服务。只要付费成为 PS Plus 会员,不需要另外再付出额外费用,就可以在PS5主机上免费畅玩其中所包含的经典PS4游戏。
目前已经在PlayStation Plus Collection列表中的游戏如下
第一方:
《血源诅咒》
《往日不再》
《底特律:变人》
《战神》
《声名狼藉:次子》
《瑞奇与叮当》
《最后的守护者》
《最后生还者 重制版》
《直到黎明》
《神秘海域4:盗贼末路》
第三方:
《蝙蝠侠:阿卡姆骑士》
《战地1》
《使命召唤:黑色行动3 僵尸历代记版》
《古惑狼 疯狂三部曲》
《辐射4》
《最终幻想15 皇家版》
《怪物猎人:世界》
《真人快打10》
《女神异闻录5》
《生化危机7》
大前提:如何买到机器
说了这么多,可能大家都在面临一个比较大的问题,买不到,或者说买不起。
参考上一世代主机首发大幅溢价,一机难求的状况,尽管我们已经做好了新机首发价格炒上天的准备,但是实际情况还是非常夸张。
PS5在某宝价格被炒到将近一万元
热度低一些的XSX价格也达到了六千左右
特别是目前两家的国行机还未有消息,在主流的电商渠道通常很难以平价购入新世代主机。加上目前疫情期间肉身出国购买确实麻烦,如果不是有购机刚需的朋友,还是建议根据自身实际情况观望一阵。
考虑到微软近年开始力推XBOX主机与Windows 10 PC互通政策,XGP订阅服务也在逐渐覆盖Windows 10 PC端,未来将会有更多微软旗下的游戏加入到Windows 10商店中。
如果你手头拥有高配电脑,可以考虑购买PC端的XGP服务使用,待主机价格稳定后再出手。
而现今PS4主机全球普及率较高,未来一段时间内出的新游戏想必也不会缺席PS4平台。若是手持PS4想要换机的朋友,同样可以稍微等等,选购《刺客信条:英灵殿》这种可以免费升级到下世代版本的游戏先玩着,等待PS5价格冷却下来之后再购买也不迟。