本文详解5G是个什么鬼,程序员都准备好了吗?
无线移动通讯发展历史
最近5G的概念炒的如火如荼,为此,华为和高通还干了一仗。这篇文章从技术层面给大家分析,什么是5G,它和4G比,高级在哪里?
我们来看看移动互联网的技术发展:
然后我们在来看看他们之间的通讯速率比较:
2G:150Kbps,折合下载速度15-20K/s
3G:1-6Mbps,折合下载速度120K/s-600K/s
4G:10-100Mbps,折合下载速度1.5M/s-10M/s
5G:20Gbps, 折合下载速度2.5G/s
从上面的数据可以看到,从2G过渡到3G,通讯速率大约增长了30倍; 从3G过渡到4G,通讯速率大约增长了17倍; 从4G过渡到5G,通讯速率大约速度增长256倍。
为此,我还专门去查了相关的专业资料,得到的结论是,5G的速率至少是4G速率的100倍。
这个速度是非常惊人的,意味着一秒钟就可以下载完一部电影。
5G的技术特点
5G通过电磁波的方式通讯。
电磁波有一个特点,频率越高,波长越短,速率越快,传输能力越差。这里面传输速率和传播能力成相互制约的关系。如果纯粹追求速率的提升,那么理论上把电磁波的频率提高就可以了。
但是会出现这么一种情况:之前4G网络覆盖只需要一个发射塔,但是换成5G信号之后,就可能需要4个或者以上的基站。
基站成本一直是制约5G发展最大的绊脚石,但同时也是移动设备运营的机会。设备多并不可怕,只要有人埋单,羊毛出在羊身上。
更何况还可以用微型基地台来取代过往的大基地台,降低成本。
也就是说,华为和高通这一场战争,确实意义非凡。谁赢下这场战争就意味着赢得海量的5G配套订单。
5G的应用场景
负责制定5G标准的是“第三代合作伙伴计划组织”,简称3GPP。3GPP是一个标准化机构,目前的成员包括中国、欧洲、日本、韩国和北美的相关机构。
5G的好处体现在它有三大应用场景:增强型移动宽带、超可靠低时延和海量机器类通信。也就是说5G可以给用户带来更高的带宽速率、更低更可靠的时延和更大容量的网络连接。
这三大应用场景非常的厉害,下面分别给大家介绍这三大场景的应用。
5G增强型移动宽带:具备更大的吞吐量、低延时以及更一致的体验。5G增强型移动宽带主要体现在以下领域:3D超高清视频远程呈现、可感知的互联网、超高清视频流传输、高要求的赛场环境、宽带光纤用户以及虚拟现实领域。
超可靠低时延:目前炒的比较火的概念是自动驾驶。设想一下,如果没有5G网络的保证,谁敢使用自动驾驶?万一网络卡顿,就有可能一瞬间车子就开到沟里去了。
海量机器类通信:我们之所以说这是一个互联网的时代,主要是基于人和人,人和物之间的通讯。例如上网冲浪、微信聊天等。下一代进入物联网时代,5G通讯将能更好的服务于物联网时代。
5G带来的挑战
5G的发展在不断提速,预计到2020年,就会商用,呈现在大家的面前。这就好比是高速公路接入到千家万户。从家门口出来就是高速公路,时间和空间都会被大大缩短。
但是,有高速公路并不意味着就能享受高速冲浪的快感。打个比方,即使你家门口就是高速公路,但是你却只有拖拉机,自行车,在高速上也是跑不快的。
骑牛上高速,将会成为5G时代人民津津乐道的一个话题。5G时代的到来,意味着所有配套的产业都需要升级,才能享受到5G带来的便利。
对用户来说,2G每秒的冲浪速度确实爽到飞起。但是,对于程序员来说可能却是苦不堪言。
网速越快,对CPU的速度和程序的健壮性,都是一个巨大的考验。之前运行的好好的程序,可能在高速带宽面前,一下子就被冲傻掉。
机器更新换代,人的知识也要快速跟上,否则,就要被机器淘汰掉。
本文详解5G是个什么鬼,程序员都准备好了吗?的更多相关文章
- 整理最全的Android开发工程师面试题,面试题详解。java、Android程序员
1. 请描述下Activity的生命周期. 必调用的三个方法:onCreate()--> onStart() --> onResume(),用AAA表示 (1)父Activity启动 ...
- Java后端程序员都做些什么?
这个问题来自于QQ网友,一句两句说不清楚,索性写个文章. 我刚开始做Web开发的时候,根本没有前端,后端之说. 原因很简单,那个时候服务器端的代码就是一切:接受浏览器的请求,实现业务逻辑,访问数据库, ...
- 关于Unicode,字符集,字符编码,每个程序员都应该知道的事
关于Unicode,字符集,字符编码,每个程序员都应该知道的事 作者:Jack47 李笑来的文章如何判断一个人是否聪明?中提到: 必要.清晰.且准确的概念,是一切思考的基石.所谓思考,很大程度上,就是 ...
- 每个程序员都应该学习使用Python或Ruby
每个程序员都应该学习使用Python或Ruby 如果你是个学生,你应该会C,C++和Java.还会一些VB,或C#/.NET.多少你还可能开发过一些Web网页,你知道一些HTML,CSS和JavaSc ...
- 每个程序员都应该了解的 CPU 高速缓存
每个程序员都应该了解的 CPU 高速缓存 英文原文:Memory part 2: CPU caches 来源:oschina [编者按:这是Ulrich Drepper写“程序员都该知道存储器”的第二 ...
- 每个程序员都可以「懂」一点 Linux
提到 Linux,作为程序员来说一定都不陌生.但如果说到「懂」Linux,可能就没有那么多人有把握了.到底用 Linux 离懂 Linux 有多远?如果决定学习 Linux,应该怎么开始?要学到什么程 ...
- 听说,99% 的 Go 程序员都被 defer 坑过
原文链接: 听说,99% 的 Go 程序员都被 defer 坑过 先声明:我被坑过. 之前写 Go 专栏时,写过一篇文章:Go 专栏|错误处理:defer,panic 和 recover.有小伙伴留言 ...
- 【Mood-10】每个程序员都应该读的30本书
“如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本,你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西.” 很多程序员响应,他们在推荐时也写下自己的评语. ...
- 最好的程序员都是行动派(成功者不是那些明知赚钱之法还要推三阻四的人。成功者知道轻重缓急,善于把握今天) good
我相信,所有程序员都需要在下面两点之间找到一个良好的平衡: 1.把自己关在一间私密的办公室里,针对你的程序与编译器展开一次亲密对话. 2.出入公众场合,与其他人公开谈论你的程序. 关于这个话题,我已经 ...
随机推荐
- [七]JavaIO之 PipedInputStream 和 PipedInputStream
管道简介
- 痞子衡嵌入式:常用的数据差错控制技术(2)- 奇偶校验(Parity Check)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是嵌入式里数据差错控制技术-奇偶校验. 在系列第一篇文章里,痞子衡给大家介绍了最简单的校验法-重复校验,该校验法实现简单,检错纠错能力都还不 ...
- JavaScript的事件及异常捕获
事件处理 [onClick]单击事件.[onMouseOver]鼠标经过事件.[onMouseOut]鼠标移出事件.[onChange]文本内容改变事件.[onSelect]文本被框选事件.[onFo ...
- Python3+Selenium2完整的自动化测试实现之旅(三):Selenium-webdriver提供的元素定位方法
本篇以实例介绍selenium下的webdriver模块提供的定位页面元素(也可以称为对象)的方法和使用技巧,在此注意:在做WEB自动化测试前,需要对前端相关的技术有所了解,如HTML.XML.Xpa ...
- Android开发——Drawable与Bitmap知识
从资源中获得drawable Drawable drawable = getResources().getDrawable(R.drawable.xxx); drawable转换bitmapdrawb ...
- vue 组件通信
组件 组件之间的数据是单向绑定的. 父组件向子组件通信 是通过子组件定义的props属性来实现.通过props定义变量与变量类型和验证方式. props简化定义 在简化定义中,变量是以数组的方式定义. ...
- SVN拉取后撤销,恢复未拉取之前的状态
在做项目的时候,一不小心将服务器上的代码覆盖了本地的代码,本来可以使用log查看svn上的历史列表,然后选中某个选项,右键,点击revert to this vision来使代码恢复到任意一个版本. ...
- Android开发,关于如何在应用间共享SharedPreference
开发一个应用,需要用到两个应用A和B之间共享数据的问题,这个数据是个单一的数据,所以就想用SharedPrefernce来进行保存. 使用网上的各种应用间的共享代码,B是读取A的数据,所以代码为: C ...
- QT日志系统
今天给大家介绍下QT里面的日志系统,直接上代码 #include <QApplication> #include <iostream> #include "ThorH ...
- redis的几种数据导入导出方式【转】
环境说明:202.102.221.11 redis源实例202.102.221.12 redis目标实例202.102.221.13 任意linux系统 一.redis-dump方式 1.安装redi ...