加入收藏 | 设为首页 | 会员中心 | 我要投稿 潍坊站长网 (https://www.0536zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 动态 > 正文

手把手教你安装MySQL

发布时间:2021-01-28 14:28:12 所属栏目:动态 来源:互联网
导读:Python解释执行原理 我是一个Python线程,我的工作就是解释执行程序员编写的Python代码。 之所以说是解释执行,是因为Python是高级语言,CPU那家伙不认识Python代码,需要运行的时候动态翻译成CPU指令。 我把Python源代码经过编译以后,变成了一个个的字节码

Python解释执行原理

我是一个Python线程,我的工作就是解释执行程序员编写的Python代码。

之所以说是解释执行,是因为Python是高级语言,CPU那家伙不认识Python代码,需要运行的时候动态翻译成CPU指令。

我把Python源代码经过“编译”以后,变成了一个个的字节码文件:.pyc,这是一个二进制的文件,人类是看不懂的,只有我才能看懂。

然后我的工作就简单了,不断的取出字节码文件中的“指令”解释执行,直到所有指令都执行完成,我就可以休息了。
 

也就是说它表示的是一个具体时刻(时间戳),这个数值放在全球任何地方都是一模一样的,也就是说new Date()和System.currentTimeMillis()没啥两样。

JDK提供了TimeZone表示时区的概念,但它在Date里并无任何体现,只能使用在格式化器上,这种设计着实让我再一次看不懂了。

罪状六:线程不安全的格式化器

关于Date的格式化,站在架构设计的角度来看,首先不得不吐槽的是Date明明属于java.util包,那么它的格式化器DateFormat为毛却跑到java.text里去了呢?这种依赖管理的什么鬼?是不是有点太过于随意了呢?

另外,JDK提供了一个DateFormat的子类实现SimpleDateFormat专门用于格式化日期时间。但是它却被设计为了线程不安全的,一个定位为模版组件的API竟然被设计为线程不安全的类,实属瞎整。

就因为这个坑的存在,让多少初中级工程师泪洒职场,算了说多了都是泪。另外,因为线程不安全问题并非必现问题,因此在黑盒/白盒测试、功能测试阶段都可能测不出来,留下潜在风险。

  • ❝这就是“灵异事件”:测试环境测试得好好的,为何到线上就出问题了呢?❞

罪状七:Calendar难当大任

从JDK 1.1 开始,Java日期时间API似乎进步了些,引入了Calendar类,并且对职责进行了划分:

  • Calendar类:日期和时间字段之间转换
  • DateFormat类:格式化和解析字符串
  • Date类:只用来承载日期和时间

有了Calendar后,原有Date中的大部分方法均标记为废弃,交由Calendar代替。
 

六 总结

  • 不同的应用对于端到端的时延要求不同,对应的应用的部署架构也不一样。
  • 端到端的时延包含应用层处理时延和网络层传输时延。
  • 应用层处理时延一般情况下不太好优化,网络层传输时延可以通过部署架构优化的方式降低。
  • 网络层传输时延包括网络接入时延、固网传输时延和云数据中心内网络时延。
  • 通过将应用部署到靠近用户的位置,可以有效的降低固网传输时延。
  • 5G主要优化的是网络接入时延,在5G普及后对实时音视频、实时竞技游戏类应用部署架构的简化会比较有帮助。
  • 度量固网传输时延可以使用比较成熟的实时拨测和持续拨测工具。

(编辑:潍坊站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!