spring中监听事件

  • spring里的事件为bean与bean间消息通信提供了支持,我们希望在一个bean处理完一个任务后,通知其他的bean做相应的事,此时就需要另外的Bean去监听当前bean所发生的事件
  • 定义spring的事件需做以下几件事:
  1. 自定义事件,继承ApplicationEvent
  2.  定义一个事件监听器,实现ApplicationListener
  3.  使用容器ApplicationContext来发布事件    

一.自定义事件

 

package com.zgw.event;

import org.springframework.context.ApplicationEvent;

public class EventDemo extends ApplicationEvent{

	private static final long serialVersionUID = 1L;
	private String msg;
	
	public EventDemo(Object source,String msg) {
		super(source);
		this.msg=msg;
		
	}
	public String getMsg() {
		return msg;
	}
	public void setMsg(String msg) {
		this.msg = msg;
	}

}

 

二.事件监听器

 

package com.zgw.event;

import org.springframework.context.ApplicationListener;
import org.springframework.stereotype.Component;

/**
 * 实现ApplicationListener接口,并指定事件类型EventDemo
 * @author zan
 *
 */
@Component
public class ListenerDemo implements ApplicationListener<EventDemo> {
  
	//此方法是对消息进行处理
	public void onApplicationEvent(EventDemo event) {
		
		String msg = event.getMsg();
		
		System.out.println("我(bean-listenerDemo)接受到了bean-publisherDemo发布的消息:" + msg);

	}

}

 三.事件发布类

 

package com.zgw.event;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Component;

@Component
public class PublisherDemo {
	//注入ApplicationContext用来发布事件
	@Autowired
	ApplicationContext applicationContext; 
	
	public void publish(String msg){
		//调用publishEvent()来发布
		applicationContext.publishEvent(new EventDemo(this, msg));
	}

}

 

     四.配置类

 

package com.zgw.event;

import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

@Configuration
@ComponentScan("com.zgw.event")
public class EventConfig {

}

 五.测试类

package com.zgw.event;

import org.springframework.context.annotation.AnnotationConfigApplicationContext;
public class TestEvent {

	public static void main(String[] args) {
		 AnnotationConfigApplicationContext context =
	                new AnnotationConfigApplicationContext(EventConfig.class);
		 
		 PublisherDemo publisher = context.getBean(PublisherDemo.class);
		 
		 publisher.publish("Hello application event");
		 
		 context.close();
	}
}

 运行结果如下:


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

文章来源:http://www.iteye.com

原文地址:http://gwzan.iteye.com/blog/2429872

华为发布AI Cube 4G路由器 支持亚马逊Alexa语音助手



华为发布AI Cube 4G路由器,它是一个相当独特的设备,结合了4G调制解调器,家庭Wi-Fi路由器,高端360度无线扬声器,以及亚马逊Alexa语音助手和一些尚未明确的华为亚马逊合功的AI功能。

华为AI Cube的形状像一个平顶的Google Home,旨在让华为进入蓬勃发展的智能扬声器业务。截至今天,更多的消费电子品牌在他们的产品组合中推出智能扬声器,其中包括苹果的HomePod,Google Home系列设备,亚马逊Echo扬声器,联想的智能显示器,以及最近的三星Bixby扬声器。华为这次利用其在网络设备方面的技术领先优势,同时赋予其AI Cube一个用于LTE SIM卡的插槽,使其成为4G热点,以及一个以太网端口,允许用户将其用作家庭Wi-Fi路由器以及支持Alexa的扬声器。

华为AI Cube上市日期和价格目前未定,华为表示将在该设备接近上市时宣布发售日期和价格细节,欧洲将在圣诞节期间获得AI Cube,美国市场可能会或可能不会得到这款设备。就规格和尺寸而言,AI Cube的高度为218毫米(8.6英寸),底座和顶部的直径均为116毫米(4.57英寸)。扬声器的重量为900克(2磅)。它支持LTE Cat.6,蜂窝速度高达300Mbps,并且具有带双频Wi-Fi的802.11ac。用户将获得四个具有远场语音识别功能的麦克风。


文章来源:http://www.cnbeta.com

原文地址:https://www.cnbeta.com/articles/tech/763171.htm

高通总裁:憾失恩智浦未必是坏事

历时21个月,总额440亿美元的高通收购恩智浦案最终以失败告终。外界对这桩史上最大规模的并购失败充满了悲观情绪,为高通向多元化的转型充满了担忧。但高通却不这么认为。

在此并购失败之后,高通公司总裁克里斯蒂安诺·阿蒙首次面对中国媒体,在接受网易科技等媒体采访时,阿蒙表示官方确实已经宣布终结了收购,对两个公司来说是遗憾的,但对两个公司在业务确定性上,却也是好事。对于高通而言,虽然并购失败了,但在这21个月的等待时间,高通汽车业务增长了70%,而且高通做好了向5G转型的工作。

2019年的高通将更好的聚焦在5G转型工作上。以前高通似乎已经成为了芯片的代名词,但以后,高通希望能够成为无线连接的代名词。

恩智浦收购失败未必是件坏事

北京时间2018年7月26日中午,高通最终未等到中国国家市场监督管理总局对其收购恩智浦(NXP)的批准,最终以支付恩智浦20亿美元补偿费用为结束。历时21个月,延期30次,对于这个日新月异的科技行业来说,是个非常长的时间。最终以失败而告终,外界似乎充满了悲观情绪,对高通向多元化转型的尝试充满了担忧。

但在此次收购失败后,高通总裁阿蒙首次面对中国媒体时却表示未必是件坏事。

“首先,官方确实宣布终结了收购,对两个公司公司来说都是遗憾的。但同时,积极的方面是保证了两家公司业务的确定性。”阿蒙认为。

在这21个月的漫长等待期间,高通在很多细分市场领域,比如汽车、物联网等领域实现了强劲的增长速度。目前高通在移动领域之外的业务实现了70%的营收增长。以汽车行业为例,高通已经获得了总价值达到50亿美元的订单。

“对于高通而言,我们完全有能力不依托恩智浦完成并保持细分市场的增长战略。”阿蒙表示。

恩智浦收购失败之后,高通是否有计划收购在车联网领域有着技术优势的企业是否外界关注的一个重点。对此,阿蒙表示根据目前环境,高通收购像恩智浦这样的大型公司仍然存在一定的困难。

但高通会考虑与其产品发展路线图能够形成更好互补关系的技术伙伴。

当初高通收购恩智浦,业界认为其意在布局汽车电子领域。汽车电子是除了消费类电子之外增长最快的一个市场。根据IC Insights数据显示,到2021年,汽车IC市场将会增长到436亿美元,2017年到2021年之间的复合增长率为12.5%,为复合增长率最高的细分市场模块。

阿蒙表示高通在汽车领域的规划主要专注在两个方面:第一,高通将通过不同的网联技术,比如WiFi、蓝牙、蜂窝网络来实现汽车的联网能力;第二,将手机平台集成到车载信息娱乐与电子仪表盘平台中。

期待高通成为无线连接技术的代名词

其实,在等待恩智浦收购审批结果的同时,高通也在迅速部署5G转型:在5G领域持续发力,并将移动技术扩展到相邻行业,包括汽车、物联网、人工智能等领域。

“2019年高通将更聚焦于加速推动5G过渡和转型的相关工作。”阿蒙表示。

做出这样决定的原因是,高通看到随着机器学习、人工智能相关的工作负载以及应用场景逐渐发展成熟,在边缘侧进行有关应用的需求就会大量涌现,因此,就需要以更低功耗、更高效率实现人工智能、机器学习应用。

高通认为骁龙平台将成为在网络边缘侧运行人工智能、机器学习相关应用的一种优选平台。

“我们现在已经可以看到在智能手机存在着很多AI应用场景,包括手机摄像头等。同样,这个平台在未来也会在汽车、物联网、网络连接等领域发挥更大作用。”阿蒙认为。

在汽车领域,高通已经宣布了其C-V2X的生态圈和一些合作伙伴。在欧洲,高通与多家德国车企达成了合作;在美国,也与福特汽车有着良好的合作;此外,高通还与不同汽车制造商进行了互操作性测试;在物联网领域,高通与微软合作开发了内置人工智能模型的安全监控摄像头,主要是针对企业级应用等等。

一直以来,提到手机芯片就会想到高通,高通似乎成为了手机芯片的代名词。

“高通如今作为手机芯片技术提供者的品牌形象,也是我们经过长久努力获得并引以为豪的。”阿蒙表示,“但进一步谈到未来,我们希望高通一方面仍然要保持智能芯片技术供应商的良好品牌,同时,也希望人们谈到无线连接技术时就能想到高通。”

文章来源:http://it.ithome.com

原文地址:https://www.ithome.com/html/it/380458.htm

最贵售价240万日元:洛克人24K纯金系列雕像开卖

作为Capcom的“金字招牌”《洛克人》系列,Capcom为了庆祝系列30周年特制做了纯金洛克人系列雕像,其中3.2盎司的标准版高度为4英寸约合10厘米,不过售价却达到了240万日元,约合14万元。

如果觉得太贵的话,Capcom还有一款迷你版,重量为0.7盎司,高度为2.3英寸约合6厘米,“仅售”69万日元,约合4.2万元。

这两款雕像都达到了99.99%的24K纯金,感兴趣的大买家可以去卡普空官网预订。

《洛克人》(Rockman)是由Capcom开发的系列动作类电子游戏。于1987年发行。适用于家用机FC、SFC、Wii、PS2,掌机GB、GBA、NDS、3DS、PSP等。

1987年至2010年12月,《洛克人》在二十多年间已经发展成为具有7大系列129款游戏的庞大系列,已售出超过2900万游戏。

文章来源:http://it.ithome.com

原文地址:https://www.ithome.com/html/it/380457.htm

滴滴回应交通部全面检查:将全力配合

IT之家8月31日消息 根据交通运输部官方的消息,交通部将于9月5日起,在全国范围内对网约车顺风车平台公司开展进驻式全面检查。据澎湃新闻消息,滴滴很快就对此进行了回应。

滴滴公司表示:欢迎主管部门进驻检查,滴滴将全力配合,接受监督积极整改,落实企业安全主体责任,保障公众出行安全。

交通部表示,将认真开展好网约车顺风车平台公司联合专项检查,切实加强安全监管,压实企业安全主体责任,强化整改落实,更好促进新业态健康规范发展,保障公众出行安全。

8月24日,乐清一位女孩搭乘顺风车遇害的消息引起了全国范围内的广泛关注。滴滴也于8月27日零时起,在全国范围内下线顺风车业务,称将在内部重新评估业务模式及产品逻辑等决定。

文章来源:http://it.ithome.com

原文地址:https://www.ithome.com/html/it/380449.htm

spring-构建mvc工程



SpringMVC基于模型-视图-控制器(MVC)模式实现,可以构建松耦合的web应用程序。

1、SpringMVC的请求过程

1)请求离开浏览器,并携带用户所请求的内容

2)DispatcherServlet角色为调度员(前端控制器)。查询一个或多个处理器映射确定处理请求的控制器

3)将请求发给选中的控制器业务处理

4)控制器处理完成后,将业务数据封装为模型,并指定一个逻辑视图名,一起返回给DispatcherServlet

5)DispatcherServlet将逻辑视图名匹配一个特定视图实现

6)使用模型数据渲染出指定的视图

7)返给前端展示

2、springMVC工程配置

web.xml

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>

    <!--<context-param>-->
        <!--<param-name>contextConfigLocation</param-name>-->
        <!--<param-value>classpath:applicationContext.xml</param-value>-->
    <!--</context-param>-->
    <!--<listener>-->
        <!--<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>-->
    <!--</listener>-->
    
    <servlet>
        <servlet-name>appServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springMvc.xml</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>appServlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

</web-app>

springMvc.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd   http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">

    <!-- 扫描控制器 -->
    <context:component-scan base-package="com.cn.controller"></context:component-scan>
    <!-- 处理器映射 -->
    <mvc:annotation-driven></mvc:annotation-driven>
    <!-- 视图解析器 -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp/"></property>
        <property name="suffix" value=".jsp"></property>
    </bean>

</beans>

3、控制器

 接受参数的方式

  • 查询参数
  • 表单参数
  • 路径变量

控制器

package com.cn.controller; import com.cn.pojo.User; import org.springframework.stereotype.Controller; import org.springframework.validation.Errors; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import javax.validation.Valid; @Controller public class HelloController { @RequestMapping("/home") public String home(){ System.out.println("执行home"); return "home"; //返回一个字符串,即逻辑视图名  } @RequestMapping("/home2") public String home2(){ System.out.println("执行home2"); return "redirect:home3"; //含有redirect的字符串,表示重定向到另一个处理器; //如果含有forward的字符串,表示转向到另一个处理器  } @RequestMapping("/home3") public String home3(){ System.out.println("输出home"); return "home3"; } @RequestMapping("/show3") //表单参数,,@Valid注解与添加了校验注解的User配合使用 public String showPerson3(@Valid User user, Errors errors){//Errors参数必须紧跟@Valid的参数 if (errors.hasErrors()){//校验是否有校验未通过的参数 System.out.println("表单元素校验不通过"); return "fail"; } System.out.println("用户信息:"+user); return "success"; } @RequestMapping("/{name}/{age}") //路径参数 http://localhost:8080/tt/123 输出:名称:tt 年龄:123;; public String showPerson2(@PathVariable(value = "name") String name, @PathVariable(value = "age") String age){ System.out.println("名称:"+name+" 年龄:"+age); return "success"; } @RequestMapping("/show") //查询参数 http://localhost:8080/show?name=pp&age=99 输出:名称:pp 年龄:99;; public String showPerson(@RequestParam(value = "name", defaultValue = "laowang") String name, @RequestParam(value = "age", defaultValue = "100") String age){ System.out.println("名称:"+name+" 年龄:"+age); return "success"; } }

POJO

package com.cn.pojo; import com.sun.istack.internal.NotNull; import javax.validation.constraints.Size; public class User {   //表单参数校验 @NotNull @Size(min = 6,max = 10) private String firstName; @NotNull @Size(min = 6,max = 10) private String lastName; @NotNull @Size(min = 6,max = 10) private String name; @NotNull @Size(min = 6,max = 10) private String passwd; public String getFirstName() { return firstName; } public void setFirstName(String firstName) { this.firstName = firstName; } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPasswd() { return passwd; } public void setPasswd(String passwd) { this.passwd = passwd; } @Override public String toString() { return "User{" + "firstName='" + firstName + '\'' + ", lastName='" + lastName + '\'' + ", name='" + name + '\'' + ", passwd='" + passwd + '\'' + '}'; } }

4、视图解析器

  • 在控制器中返回的字符串(不包含redirect、forward)表示逻辑视图名,而不会调用具体的视图实现。spring的视图解析器能够决定使用哪种视图实现去渲染模型。SpringMvc定义了一个ViewResolver 接口,返回为View对象
public interface ViewResolver {
    View resolveViewName(String var1, Locale var2) throws Exception;
}

View接口定义,其中render方法接受模型、request、response参数,并将模型数据渲染到response中

public interface View {
    String RESPONSE_STATUS_ATTRIBUTE = View.class.getName() + ".responseStatus";
    String PATH_VARIABLES = View.class.getName() + ".pathVariables";
    String SELECTED_CONTENT_TYPE = View.class.getName() + ".selectedContentType";

    String getContentType();

    void render(Map<String, ?> var1, HttpServletRequest var2, HttpServletResponse var3) throws Exception;
}

  • 视图解析器的实现

Spring提供了ViewResolver 多个内置的实现,比如InternalResourceViewResolver、TilesViewResolver…其中InternalResourceViewResolver(最简单、最常用的视图解析器将视图解析为Web应用的内部资源(一般为jsp)

  • 创建JSP视图

Spring支持两种JSP视图的方式—使用InternalResourceViewResolver

方式1:在页面中使用JSP标准标签库(JSTL),InternalResourceViewResolver能够将视图名解析为JstlView形式的JSP文件

方式2:使用Spring提供的JSP标签库(两个:一个用于表单到模型的绑定;另一个提供了通用工具类特性)

a、配置适用于JSP的视图解析器

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  <property name="prefix" value="/WEB-INF/jsp/"></property>   
   <property name="suffix" value=".jsp"></property>
</bean>

  控制器中返回的字符串与该配置中的前后缀拼接成完成的文件路径,控制器中返回的字符串如果包含了斜线,则可以区分出了不同的目录。该配置会将逻辑视图名解析为InternalResourceView实例。

如过JSP中使用JSTL标签来处理内容,则希望视图解析器将视图解析为JstlView实例。仅仅添加一行配置文件即可:

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
   <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>
   <property name="prefix" value="/WEB-INF/jsp/"></property>
   <property name="suffix" value=".jsp"></property>
</bean>

b、Spring的JSP的标签库

 


文章来源:http://www.cnblogs.com

原文地址:https://www.cnblogs.com/shixiemayi/p/9568454.html

Spring中实现定时任务

  • spring中通过@EnableScheduling来开启对定时任务的支持
  • 然后通过@Scheduled声明,它支持多种类型的定时任务,包含cron,fixDelay,fixRate等

   

实例如下:

 

  1. 定时任务执行类
package com.zgw.taskscheduler;

import java.text.SimpleDateFormat;
import java.util.Date;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;

@Service
public class SchedulerTaskService {
	
	  private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");

	  /**
	   * 1. fixedRate每隔固定时间执行
	   * 2.@Scheduled声明是一个定时任务
	   */
	  @Scheduled(fixedRate = 3000)
	  public void reportCurrentTime() {
	       System.out.println("每隔3秒执行一次 " + dateFormat.format(new Date()));
	   }

	  @Scheduled(cron = "0 53 21 ? * *"  ) //
	  public void fixTimeExecution(){
	      System.out.println("在指定时间 (每天21:53)" + dateFormat.format(new Date())+"执行");
	  }

}

 

2.配置类

package com.zgw.taskscheduler;

import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;


@Configuration
@ComponentScan("com.zgw.taskscheduler")
@EnableScheduling //开启对计划任务的支持
public class TaskSchedulerConfig{  
	
}

 

3.测试类

 

package com.zgw.taskscheduler;

import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class TestScheduler {
	
	public static void main(String[] args) {
		//使用AnnotationConfigApplicationContext作为spring容器,
		//接收输入一个配置类作为参数
		 AnnotationConfigApplicationContext context =
	                new AnnotationConfigApplicationContext(TaskSchedulerConfig.class);
	}
}

 

运行结果:


 

 

 

 

文章来源:http://www.iteye.com

原文地址:http://gwzan.iteye.com/blog/2429869

Pixel 3谍照曝光 显示Google认真开发自拍功能



Pixel 3 XL谍照揭示了谷歌手机相机开发过程的一个令人困惑的细节。这款手机的背面将配备一个单镜头相机,谷歌相信它足以提供出色的照片,即使竞争设备背面有两到三个镜头。但为了改善自拍,谷歌绝对需要第二个前摄像头。现在,一个全新的谍照告诉我们谷歌对于即将推出的Pixel 3系列置摄像头的认真态度。

一系列Pixel 3手机谍照显示,这款屏幕较小的手机不会像iPhone X那样有“刘海”。这个谍照还列出了手机的规格,揭示了自拍摄像头的实际相机硬件,两个前置摄像头中的一个有一个800万像素的传感器,带有两个光圈,包括f / 1.8和f / 2.2。第二个摄像头,也有一个800万像素的传感器,只有一个光圈,f / 1.8。

我们今年在三星的两款旗舰产品Galaxy S9 +和Galaxy Note 9上看到的类似的相机功能。可变光圈控制光线的流动,应该改善低光照摄影。Pixel 3和Pixel 3 XL都具有相同的相机硬件,包括正面的双镜头相机设置。谷歌一直坚持在两个版本的PIxel上都提供相同的功能,而今年大部分情况都是如此。因此,如果这个新谍照准确,那么Pixel 3 XL也将有一个双镜头自拍相机,其中一个镜头上有一个可变光圈。

外界预计谷歌将于10月9日在纽约发布Pixel 3系列手机和其他硬件。


文章来源:http://www.cnbeta.com

原文地址:https://www.cnbeta.com/articles/tech/763169.htm

索尼发布XAV-AX3005DB汽车音频接收器 拥有6.95英寸超大屏幕



索尼推出了一款新的车载AV接收器,它有一个巨大的触摸屏XAV-AX3005DB。该屏幕为6.95英寸,接收器支持兼容设备上的Apple CarPlay和Android Auto。这意味着用户可以将兼容应用程序的输出到接收器上的较大屏幕,以便在驾驶时使用。

接收器内置DAB / DAB +调谐器,并承诺高品质的声音。接收器的功率输出为4x55W,并集成了Sony Extra Bass技术。该技术克服了发动机噪音,并在任何音量水平产生清晰的低音。

声音优化技术与Sony DSO或Dynamic Stage Organizer集成,可以产生生动的声音,就像用户面前有扬声器一样。 FLAC音频文件通过USB端口兼容,可播放压缩音频而不会降低质量。

索尼集成了三个连接前端,允许用户使用放大器和低音炮扩展音频系统。该大型显示器的后机箱采用单DIN配置。快速唤醒技术被设计到系统中,以便在汽车开启时快速启动。索尼还表示,接收器可与后视摄像头配对。

如果用户不想要Android Auto并且只想要Apple CarPlay,那么具有6.2英寸屏幕的XAV-AX1000可以使用与Android Auto相同的功能。 AX3005DB将于9月在欧洲推出450欧元,AX1000将于同月推出300欧元。


文章来源:http://www.cnbeta.com

原文地址:https://www.cnbeta.com/articles/tech/763167.htm

华为麒麟980:指甲盖大小的芯片塞了69亿个晶体管



德国当地时间8月31日消息,华为在德国IFA2018展会上发布新一代移动SOC处理器麒麟980,采用7nm制程工艺,具有AI调频调度技术,支持5G功能等,将首发在HUAWEI Mate 20机型中。麒麟980实现了基于Cortex-A76的开发商用,相较上一代处理器在表现上提升75%,在能效上提升58%,采用7nm制程工艺的手机芯片,在指甲盖大小的尺寸上塞进69亿个晶体管。

麒麟980相关数据

其中,麒麟CPU子系统推出了智能调度机制,设计了2超大核(基于Cortex-A76开发)、2大核(基于Cortex-A76开发)、4小核(Cortex-A55)的全新能效架构。相对于传统的大小核两档位设计,大中小核能效架构在调度层次方面更加精准。AI调频调度技术能够实时学习帧率、流畅度和触屏输入变化,预测手机任务负载,动态智能感知手机使用过程中存在的性能瓶颈,及时进行调频调度。

麒麟980在游戏方面与其它芯片的对比

在游戏场景下,使用AI调频调度技术预测游戏每帧负载,预测准确性可以提升30%以上,有效提升了游戏平均帧率,可以降低游戏抖动率,减少游戏卡顿。

在提高成像方面,麒麟980采用全新升级第四代自研ISP,像素吞吐率比上一代提升46%,并且推出全新HDR色彩还原,能够分区域调节图像色彩。

麒麟980在双NPU的移动端算力加持下,能做到人脸识别、物体识别、物体检测、图像分割、智能翻译等AI场景,据现场演示,麒麟980可以实现每分钟图像识别4500张,识别速度相比上一代提升120%。根据余承东介绍,麒麟980具备物体检测能力,能够实时绘制出人体运动时的关节和线条。

麒麟980支持LTE Cat.21,支持业界最高的下行1.4Gbps速率,使用了手机WiFi芯片Hi1103,全球率先支持160M带宽,理论峰值下载速率可达1.7Gbps。同时,Hi1103支持业界领先的L1+L5双频GPS精准定位,L5频段下定位精度提升10倍,而搭配巴龙5000基带调制解调器,也让麒麟980成为提供5G功能的移动平台。

在演讲的最后,余承东宣布了HUAWEI Mate 20将作为首个搭载麒麟980芯片的智慧手机,该系列将于10月发布。


文章来源:http://www.cnbeta.com

原文地址:https://www.cnbeta.com/articles/tech/763165.htm

App Store 新规要求所有应用都有隐私政策



苹果公司宣布,从 2018 年 10 月 3 日开始,所有新的和更新的应用程序都将需要一个隐私政策,以便提交到 App Store 或通过 TestFlight 进行 beta 测试。苹果已经对访问个人信息的应用程序制定了隐私政策,包括提供订阅、接受 Apple Pay 或使用 Apple 框架(如HomeKit、HealthKit 或 CareKit)的应用程序。

现在,这一要求将扩展到所有应用程序,包括不以任何方式共享数据的基本应用程序。

在 10 月 3 日之前,App Store 上的现有应用程序不会受到这一举措的影响,因此,一些过时已久的应用程序可能仍然没有隐私政策。苹果公司在其 App Store 审核指南中详细阐述了其隐私政策要求。

隐私政策:所有 app 必须在 App Store Connect 元数据栏位和 app 内部包含可轻松访问的隐私政策链接。隐私政策必须明确而清楚地:

指明 app/服务所收集的数据 (若有)、收集数据的方式,以及这些数据的所有用途。

确认与 app 共享用户数据 (遵从这些准则) 的任何第三方 (例如,分析工具、广告网络和第三方 SDK,以及能够访问用户数据的任何母公司、子公司或其他相关实体) 会提供与 app 隐私政策所述及这些准则所要求相同或等同的用户数据保护措施。

解释数据保留/删除政策,并且说明用户可以如何撤销同意和/或请求删除用户数据。

App Store Connect 长期以来为开发者提供了一个隐私政策元数据字段,供他们提交 iOS 应用的隐私政策网页链接。在 Apple TV 上,没有网页浏览器,所以 App Store Connect 有一个文本框,开发者可以通过它在 App 中显示的隐私政策全文浏览。


文章来源:http://www.cnbeta.com

原文地址:https://www.cnbeta.com/articles/tech/763163.htm

揭秘世界上第一款女性向游戏机:竟然出自卡西欧之手

作为一款游戏机,Casio Loopy可能并不算很出色。但若论创意的话,那它可太让人着迷了,是本来有机会走在时代前列的。

▲Casio Loopy

当然,如果你没听说过Casio的这台Loopy,也别吃惊,因为它只在日本发售过,寿命也非常的短,仅仅上市两三年时间就退出了历史舞台。实际上Loopy并不是Casio推出的第一台游戏主机,早在1983年Casio就推出过一台同样失败的PV-1000,但是今天要说的Loopy绝对是Casio的最后一台游戏主机。当我们联系Casio公司想要了解更多关于Loopy的信息时,Casio的日本员工都非常震惊,20年过去了居然还有人记得那台游戏机。

▲Casio游戏梦想的开始:PV-1000

但我并不是唯一一个对日本游戏史上的那些“传说”感兴趣的人。因为Loopy的生命周期很短,且只在日本地区有售,因此Loopy在欧美地区的数量是极其稀少的,已经成为英国游戏收藏家们眼中最珍贵的收藏之一。Nguyen就是这么一位收藏着,他在2013年花了180英镑买到了一台包装完好的Casio Loopy以及4盒游戏,但他告诉我这件收藏的价值一直在稳步增长,他估算如今仅仅游戏机本身的售价应该在130英镑到160英镑,就算没有外包装的也能卖到60到90英镑。

Casio公司PR部门的人很乐于帮我找到更多关于Loopy的信息,经过大范围的搜索,发现了两位工程师,他们曾在20年前参与了Loopy的研发。然而不幸的是,因为日程冲突和8小时的时差,我没能亲自和他们见面聊一聊,但他们愿意通过邮件的方式帮助我。

32位游戏主机Loopy于1995年的10月上市,此时索尼的PS1刚刚上市不到一年,所以我提问Loopy和PS1比,在配置、表现上如何?有趣的是,Casio当时实际上是盯着16位主机在研发:“任天堂的SFC、世嘉的MD以及NEC的PCE,这些是当时的三大主机。我们并不是想做同样类型的主机,但必须要认真学习这些主机在处理游戏画面上的卓越技术,当时心里的目标对手实际是SNES,因为它当年有着最大的市场份额。那时的主流游戏机都采用着16位芯片。为了提高主机性能,我们才选用了32位芯片。另外,我们采用了PCM的声卡以求提供超棒的声音表现。其实我们从未和PS1做过对比。”

不幸的是,关于Loopy在它短暂的生命周期里究竟销量如何,Casio的工程师并没有找到一个准确的数据:唯一接近的就是,在1995年主机上市时的一篇报道,预计Casio第一年将生产20万台Loopy。最后是否真的生产了那么多,有多少最终被卖了出去,这就没有人知道了。Casio已经确认,Loopy的生产在1998年12月就停止了,软件的研发早在1996年11月就停止了,最后一款游戏于1997年初发布。

Loopy有一个十分独特的卖点——热敏打印机。与几年后(1998)在GB上发布的打印外设不同,Loopy的打印是全彩的,并且有十多款不同的游戏支持这个功能,允许你创作属于自己的贴纸图案。

Octav1us已经研究Loopy一段时间,最近刚刚发布了一个视频,她说“我真的很喜欢这些‘垃圾’主机,有许多设计都是其它主机从未尝试过的,哪怕看起来很糟糕,也值得我们去研究。我想在主机收藏圈,这种无人知晓的主机总是很受欢迎。每个人都在讨论世嘉和任天堂,却几乎没人在讨论Casio,它只是被遗忘了。”

我问她如何看待Loopy独特的打印贴纸功能。“贴纸功能……说实话,我认为他们在主机市场主打贴纸功能是一个错误,如果Loopy被当做一个单独的贴纸制作设备来卖,或许就不会显得那么尴尬了,但实际上Loopy想要吸引更多女性玩家,仅仅通过一个打印贴纸的功能!但这个功能除了制作连环画,什么都做不了。你需要一个像素点一个像素点的去画,然后把这张画以贴纸的形式打印出来,然后再粘在连环画里,呃,这显然不是游戏,对吧?”

她确实很欣赏Loopy的设计风格。“它看起来就像一个变形虫,一个单细胞生物。有着巨大的、弹出的按钮,有着很好的按压感,让人上瘾。而且我也很喜欢那个占了主机近一半大的贴纸制作模块,显然Casio不想隐藏它,毕竟这是它的主要功能。值得一提的是,制作贴纸的过程真的很有趣,按下贴纸制作键,然后用内置的剪刀裁剪好,这个过程很让人满意。或许等我有了小孩,会和他一起来制作贴纸。”

Loopy的另一个奇葩设定就是,它是一台女性向的游戏机。Loopy并不是第一款女性向游戏机,早在80年代日本就推出过一台代号为超级少女(Super Lady)的主机,实际上它只是Super Cassette这款主机的粉色版本,但Loopy则是第一款完全以女性用户为目标的主机。这是一个很有趣的决定:显然Casio看到了女玩家可能正是游戏市场的突破口,当时所有的游戏机都主打男性用户(查看90年代的游戏行业数据,会发现这种性别歧视可谓根深蒂固)。不仅如此,Loopy上的游戏几乎全是非常简单的,似乎女性向游戏就代表着内容要简单,只要能打印贴纸就够了。

▲粉色的Super Lady

我问Octav1us如何看待Casio针对女性市场的努力,这似乎提醒了她,当她进入游戏行业后受到了很多无理的嘲讽、指责。“这真的让人生气,完全将女性当做了异类,然后对你说这是专门为你们做的游戏机。实际上很长一段时间里,我都曾告诉自己不应该玩游戏,因为我是女孩。我记得自己9岁时,在学校里有个孩子告诉我,不可以和他们一起玩游戏,那是男孩的事情。这种事真伤人。如今我已经长大了,但类似的伎俩还是无法摆脱。女性向游戏机这种想法就像是在说‘好了,女孩子有了她们该玩的,男孩子可以去玩另外的游戏了。’”

▲Loopy电视广告中可爱的广告女郎

“我想Casio有着不错的初衷,但是完全走错了路。就拿画面来说,它看起来确实很可爱,真的挺漂亮的。里面的角色都非常卡通、甜美。但你要知道,玩家们还是想要控制着马里奥跳来跳去,做一些有趣的事情,比如射点火球什么的。不能仅仅以这是女性向游戏为理由,就不制作这类游戏,把所有的女孩都想象成甜美、安静的乖宝宝,这真的很糟糕,实际上有时玩起游戏来女孩子比男人还要爷们。”

▲Loopy上的《爱情物语》

“不过我也在思考,日本和欧美对于女孩到底想要什么,有着很大的文化差异吧。可无论如何,Casio从没想过在西方世界推出这款主机,这件事并不令我惊讶。”

当我问Casio的工程师关于Loopy的女性向定位时,又有了新的发现,其实在主机研发之初并没有将目标用户定位为女性。“人们说Loopy的目标是女玩家,但是当我们开始研发时,并没有这样的目标。然而,因为女孩子比较喜欢玩贴纸,并且在主机早期的几次试玩活动中,也是小姑娘更喜欢玩,第一批上市的游戏包括一款《动物大陆》,允许玩家设计并打印女性的动物角色,而《哈里哈里天堂》,则要让玩家合作剪出一个动物角色,然后制作一个贴纸,而在《娃娃生活故事》这款RPG中,玩家则要清理野狗和各种障碍来得到贴纸;所有收集的这些贴纸可以组合成一本故事书。说真的,销售策略最终定位为女性向,实际是在主机即将上市时的事情了。”

令人困惑的是,Loopy几乎与另外一款针对女性的贴纸制作街机PrintClub同时上市,该设备于1995年7月由Atlus发布,但是PrintClub至今都还没有销声匿迹,如今在日本任何档次的街机厅都还能看到这种拍“大头贴”的机器——本质上它就是一个大型相机,允许用内置的卡通图案和文字来装饰自己的照片,最后打印出漂亮的贴纸。

▲风靡全球的PrintClub

我问Casio的工程师,制作Loopy的过程中是否受到了PrintClub的启发。“最初想到在游戏机上添加打印贴纸的功能,是因为我们有自己的Casio打印机,只是想把一些新功能加在游戏机上让它更有趣。其实让Loopy实现PrintClub的功能完全可行,只要再购买一个叫“Magical Shop”的外设就行,用该外设将主机和摄像机连接在一起,就可以打印出拍摄的照片了,尽管如此,PrintClub并非我们的灵感来源。”

Magical Shop是一款独立的外设,允许玩家把数码设备上的图像传输到Loopy上,并进行处理和打印,完整实现了PrintClub的功能。但是这个Magical Shop的单独售价高达14800日元,最高时被炒到了25000日元,作为对比,索尼的PS1上市时才卖37000日元。Casio的工程师说“Magical Shop如今的数量已经非常少了,因为本来也没卖出去多少,但偶尔还能看到。”

▲价格昂贵的Magical Shop

奇怪的是,无论哪里的PrintClub都有不错的社交功能,有宽敞的空间让你可以和朋友一起拍摄,而Casio的Loopy却只有一个手柄接口,所有的游戏只能一个人玩。Octav1us也认为这是个奇怪的决策,“完全无法理解。我也不确定什么样的游戏适合两个人玩,也许可以一起抢贴纸,或者合作制作一些贴纸。”

“这是一台孤独的主机,你觉得呢?很遗憾,它拥有PrintClub的社交潜力,但最后却让你一个人呆在家里,独自一个人玩,这简直太悲伤了。”

有件事让我一直很在意,Loopy有着一些很棒的创意,但最终却执行的很不好,或者说完全没有按预想的发展。从主机中打印出贴纸是很有趣的想法,但是在游戏中创作贴纸的过程真是简陋的难以置信。所有的游戏都明确的要求玩家去收集、制作贴纸,而不是在一款有趣的游戏里添加一些贴纸元素,如果思路完全调换一下,也许Loopy就不会死的这么彻底了。而且推出一个主机完全主打女性玩家,也显得有些过于异想天开了。

▲在Loopy上作画的感觉可能并不好

Loopy的理念在随后几年还可以在游戏圈看到。GameBoy的打印外设在想法上几乎和Loopy一模一样,配合上GameBoy摄像头,在90年代取得了不错的成绩。或许Loopy从一开始便内置一个摄像头,就可以取得很不一样的销量,至少它可以当做一台家用的PrintClub了。然而,数码照相机在90年代还处于婴儿期,毫无疑问,出于成本的考虑这行不通。但是Loopy还是有能力通过Magical Shop这款外设将文本和画面输出到电视上,在表情包诞生之前就可以创作出基本的表情包,前提是1995年的Loopy要连得上互联网。

▲GameBoy摄像头和打印机

Loopy一方面领先于时代,另一方面却还完全没有机会支持触控,这让在上面创作画作、表情包的工作非常艰难。一个高科技的贴纸制作机,却带着有些陈旧的女性魅力,很显然注定要错失所有的机会。Octav1us给出了比我更棒的总结“Loopy只是一台很有趣,奇葩,疯狂,惹人生厌的主机,它涵盖了所有这些情绪,这就是为什么它很特别。”

文章来源:http://it.ithome.com

原文地址:https://www.ithome.com/html/it/380445.htm

小米:印度用户数据将全部迁移至印度本地服务器

8月31日消息,据国外媒体报道,中国手机制造商小米周五表示,正在把它的印度用户数据迁移到云服务提供商AWS(亚马逊网络服务)和微软Azure在印度的服务器上。迁移工作将于2018年年底完成。

该公司表示,自7月1日以来所有印度新用户的数据都已存储在当地服务器中,mi.com/in/上的所有现有用户数据将在2018年9月中旬之前,全部迁移到印度的服务器上。小米还表示,这种迁移将会带来访问速度的提升。

数据迁移将覆盖小米电子商务平台、MI社区(in.c.mi.com)、Mi Cloud、MIUI(Xiaomi Market、消息、Mi Video、广告、Mi Messaging、推送通知等),以及MI TV的所有印度用户数据。

在此之前,使用的所有印度用户数据,都存储在新加坡和美国的AWS服务器中。

小米副总裁兼小米印度公司总经理马努?贾恩(Manu Jain)表示,“小米把用户数据隐私和安全放在至关重要位置。我们在保护用户数据安全和隐私方面又迈出一步,我们将我们的云服务带到印度,满足所有本地数据需求。这是我们的团队一直在不懈努力的事情,我很高兴我们能够为我们的印度用户实现了这一转变。随着数据存储的本地化和端到端加密,用户将能够享受更快的访问速度。”

他还说,“小米致力于印度市场,保护数据和使用设在印度的云服务器,这是我们朝着那个方向迈出的又一步。我们将继续在这方面开展工作,并确保我们在印度的所有用户都能获得更好的用户体验。”

小米在市场获得了很好的业绩。据印度媒体本月中旬报道称,有三家市场研究公司对印度智能手机市场前五强品牌进行了排名,小米在排名榜上不是第一就是第二:

  • 市场研究公司IDC数据显示,今年四至六月份的第二季度印度智能手机市场份额排名前五名分别是小米、三星电子公司、vivo、OPPO和Transsion。其中,小米市场份额为29.7%,三星电子公司为23.9%,Vivo为12.6%,Oppo为7,6%,Transsion为5%。

  • 市场研究公司Counterpoint的数据显示,今年第二季度印度智能手机市场份额排名前五名分别是三星电子公司、小米、vivo、OPPO和华为荣耀,它们的市场份额依次为29%,28%、12%、10%和3%。

  • 市场研究公司Canalys数据显示,今年第二季度印度智能手机市场份额排名前五名分别是小米、三星电子公司、vivo、OPPO、和华为荣耀,它们的市场份额依次为30.4%,30.2%、11%、10%和2.9%。

文章来源:http://it.ithome.com

原文地址:https://www.ithome.com/html/it/380443.htm

将内网ip映射到外网域名



 一、应用场景

1.在本地测试微信支付回调

 

二、如何使用natapp实现内网穿透

1.第一步注册账号并进行实名制认证

natapp网站地址 https://natapp.cn/

 

2.第二步申请免费隧道并配置你的端口

 

 

 

 

3.下载客户端

 

解压:

 

 

 4.复制你的隧道的authtoken并使用终端运行

 

打开终端cd natapp的路径

chmod a+x natapp

执行

./natapp -authtoken=你刚才拿到的token值

 

5.将natapp分配的网址,鼠标选定然后复制下来(选定之后单击鼠标右键),在浏览器中访问,可以看到内网穿透成功了! 

如下说明已经配置成功,启动你的服务,通过该域名就可供外网环境下访问了


文章来源:http://www.cnblogs.com

原文地址:https://www.cnblogs.com/756623607-zhang/p/9568474.html

数百万投票反对之后 欧盟可能会结束夏令时



在调查显示大多数公民反对每年两次调整时钟后,欧盟可能不再执行其夏令时(DST)规则。之前,这种做法要求时钟在3月的最后一个星期日向前走一小时,然后在10月的最后一个星期天在拨回来,让人们在整个夏天都有额外的一小时阳光,而冬天则需要更多的早晨阳光。

据英国广播公司报道,欧盟委员会主席让 – 克洛德·容克周五在德国的ZDF电视台上表示,有关一年两次变化的公众咨询显示,460万受访者中有80%以上倾向于全年保留夏季时间。

他指出,该计划将在欧盟委员会之间进行辩论,任何提案都需要28个国家政府和欧洲议会议员的支持才能成为法律。研究显示,时间的变化会影响人们的睡眠时间,并且会对工作场所产生负面影响,但据路透社报道,该实践的支持者表示,额外的灯光可以减少交通事故并节省能源。

目前,美国也在采用夏令时系统,从3月的第二个星期日开始到11月的第一个星期日结束。

8M{]2X)_JM8)0BQ}WXVLMZ8.png


文章来源:http://www.cnbeta.com

原文地址:https://www.cnbeta.com/articles/tech/763161.htm

科学家发现为了治愈伤口 成体细胞可转变成胚胎细胞



人体细胞的可塑性超出了许多人的想象。科学家发现了一种被称为“paligenosis”的新型伤口愈合,成体细胞恢复到了胚胎干细胞的状况,再次利用胚胎干细胞快速增殖的能力。胚胎始于单个细胞,然后分裂成两个、四个、八个,十六个…这是一个快速成长的过程。

非特化细胞大量增殖构建出人体的所有组织。这些非特化的胚胎干细胞和胎儿干细胞逐渐特化,称为不同细胞谱系的前体,产生成体细胞如血细胞、神经细胞、肌肉细胞和肠细胞。到达成体细胞阶段后细胞的增殖程序静默了。但最新研究发现,这种增殖能力是有可能恢复的,受损的细胞将时钟拨会到了早期胚胎干细胞状态。                 

Stemcell_Part1.jpg   


文章来源:http://www.cnbeta.com

原文地址:https://www.cnbeta.com/articles/tech/763159.htm

麒麟980首度搭载双核NPU 图像识别速度暴涨120%



8月31日晚,华为在德国IFA 2018展会上正式揭晓了新一代移动SoC处理器“麒麟980”,拿下了业内诸多第一令人瞩目。据华为官方表示,麒麟980是业内首款搭载双核NPU的移动SoC处理器,能实现每分钟图像识别4500张,还支持人脸识别、物体识别、物体检测等AI场景。

据悉,麒麟980在双NPU的移动端强大算力加持下,能做到人脸识别、物体识别、物体检测、图像分割、智能翻译等AI场景,采用更高精度的深度网络,具备更佳的实时性,从而获得更优体验。

麒麟980实现每分钟图像识别4500张,识别速度相比上一代提升120%,远高于业界同期水平

无论是表演节奏感极强的舞蹈,还是在镜头前快速跑步,麒麟980都能够实时绘制出人体的关节和线条,强大的物体检测能力可以准确识别多种物体,并可以做到拍照预览的实时物体跟踪。

相对于首款人工智能手机芯片麒麟970,麒麟980实现了从图像识别到物体检测的跨越。


文章来源:http://www.cnbeta.com

原文地址:https://www.cnbeta.com/articles/tech/763157.htm

滴滴在杭承诺:停止向未取得网约车许可车辆人员派单



浙江省温州市女孩乘坐滴滴顺风车途中被害恶性事件发生后,打车安全问题再次成为热门话题。8月30日,杭州交通运管部门牵头,与市公安治安、交警车管等部门组织在杭取得经营许可的14家网约车平台,召开网络预约出租汽车规范管理工作会议。

在会议中,参会的平台企业共同签订了《在杭经营网约车平台公司关于合法诚信经营、保障乘客安全的承诺书》。

承诺的内容包括:严守相关法规规定;切实加强客服体系和队伍建设,提升、完善乘客端一键报警、平台接警和处置体系;强化从业人员的安全法制教育,合法诚信经营;积极参与筹建杭州市出租汽车行业协会网约车分会等。

其中有明确落地时间的一条为:于2018年10月1日零时起,停止向未取得网约车许可的车辆和人员派单。

作出承诺的网约车平台,有曹操专车、首汽约车、神州专车、易到用车等14家,包括滴滴出行。

此外,杭州交通运管部门还大幅缩减投诉受处理时限,要求网约车平台于3个工作日内反馈乘客投诉(原时限为5个工作日),以进一步提升投诉受处理效率,积极呼应乘客诉求。


文章来源:http://www.cnbeta.com

原文地址:https://www.cnbeta.com/articles/tech/763155.htm

泄漏的Apple Watch 4照片暗示了其他智能手表所没有的功能



苹果将在9月12日推出一系列新产品,包括备受期待的iPhone XS和6.1英寸液晶iPhone,以及Apple Watch Series 4,新iPad和配件。 iPhone XS和下一代Apple Watch的营销图片已经在Apple发布媒体邀请的同一天泄露,Watch图像显示了竞争对手的任何其他可穿戴设备所没有的功能。

正如您所看到的,其屏幕比其前辈更大,这允许Apple为可穿戴设备创建一个新的用户界面,最多可容纳八个并发功能,向用户展示他们如何能够定制设备以利用额外的空间。这些看起来复杂功能都来自默认的Apple应用程序,而Apple Watch用户将立即识别出几乎所有这些应用程序。

并且只有其中一个看起来并不熟悉,因为我们以前从来没有在设备上使用过。它是左下角的UVI紫外线指数。这是一个巧妙的功能,可以帮助用户获得户外UV读数,并确定是否应该避免阳光照射。

apple-watch-series-4.jpg


文章来源:http://www.cnbeta.com

原文地址:https://www.cnbeta.com/articles/tech/763153.htm

华为P20系列上市5个月全球累计销量突破一千万台

IT之家8月31日消息 今天华为在德国柏林消费电子展上发布了全新的麒麟980芯片,首发台积电7纳米工艺,首次搭载A76核心,性能较麒麟970和骁龙845提升巨大。在发布会上,余承东还宣布另外一个消息,华为Mate 10发布至今突破了一千的销售量,而华为P20系列在发布5个月时间内就突破了一千万,创造了极佳的销售成绩。

从全球来看,华为P20系列在亚洲的销售量增长114%,在欧洲的销售量增加161%,而在拉丁美洲的销售量增幅更是达到了174%。官方表示,华为P20系列的总销售量在年前有望达到一千五百万到一千六百万。

文章来源:http://it.ithome.com

原文地址:https://www.ithome.com/html/it/380439.htm