在 "尤雨溪 聊聊 Vue.js 3.0 Beta 官方直播完整版 2020 04 21" 里我发现了一个有意思的工具,输入模板展示它编译优化的结果,网址在这里:https://vue next template explorer.netlify.app/ 留意图片中,注意动态的 的注释。识别 _o ...
分类:
其他好文 时间:
2020-05-08 23:14:18
阅读次数:
124
前言 前段时间笔者组内同事十分快速地开发了一个应用(不妨设应用名为QiShareDemo),笔者在使用8+128的Mac Air 运行项目的时候,发现项目编译时间比较久,查看了相关资料,并做了部分实践,落地了这篇文章。 笔者在 clone 了 QiShareDemo 后,发现全量编译编译项目的编译时 ...
分类:
编程语言 时间:
2020-05-02 12:17:08
阅读次数:
82
学习自曹大,实操一遍记录 package main import "fmt" func main() { a := new(struct{}) b := new(struct{}) println(a, b, a == b) c := new(struct{}) d := new(struct{}) ...
分类:
其他好文 时间:
2020-05-02 00:01:12
阅读次数:
73
常量折叠 把常量表达式的值求出来作为常量嵌在最终生成的代码中。 疑问:对于一个很复杂的常量表达式,编译器会算出结果再编译吗?亦或者是把这个表达式完全翻译成机器码,最终留给程序去解决? 分情况: + 涉及的常量折叠是否为语言规范所强制要求的,如果是,则符合规范的编译器就一定要(会)进行常量折叠。 + ...
分类:
编程语言 时间:
2020-04-18 18:49:17
阅读次数:
74
由指令重排序引起的可见性问题: public class Test { // 如果运行时加上 -server 下面的代码就变成了死循环,没有加就正常运行。(运行器的编译优化只有在服务器模式下才执行) // 通过设置JVM参数,打印出JIT(即时编译)编译的内容(这里说的编译不是指class文件的编译 ...
分类:
编程语言 时间:
2020-03-30 21:19:54
阅读次数:
77
Java深入学习03:happens-before规则 为什么会有happens-before 规则? 因为jvm会对代码进行编译优化,指令会出现重排序的情况,为了避免编译优化对并发编程安全性的影响,需要happens-before规则定义一些禁止编译优化的场景,保证并发编程的正确性。 1. 规则一 ...
分类:
移动开发 时间:
2020-03-12 18:46:32
阅读次数:
78
上一节我和大家一起打到了并发中的恶霸 "可见性" 和 "原子性" ,这一节我们继续讨伐三恶之一的有序性。 序、有序性的阐述 有序性为什么要探讨?因为Java是面向对象编程的,关注的只是最终结果,很少去研究其具体执行过程?正如上一篇文章在介绍可见性时描述的一样,操作系统为了提升性能,将Java语言转换 ...
分类:
其他好文 时间:
2020-03-04 09:50:50
阅读次数:
101
<compilation debug=true> 意味着可以插入一些debugger的中断,这样在开发是就可以调试了。false 用于已经发布的项目,它不需要再调试了, 一般开发是用true, 发布正式项目用false.主要区别是设置为true时 1) 由于编译优化被取消,编译ASP.NET 页需要 ...
分类:
Web程序 时间:
2020-01-19 09:44:52
阅读次数:
91
预热warmup过程 https://blog.csdn.net/wabiaozia/article/details/82056520 Jwarmup 原理是记录上一次运行时已经变成native code 的class function 以及加载顺序 然后 下一次打开时 避免JIT的过程 直接进进行 ...
分类:
其他好文 时间:
2019-10-02 10:55:45
阅读次数:
135
生活中随处可见并行的例子,并行 顾名思义就是一起进行的意思,同样的程序在某些时候也需要并行来提高效率,在上一篇文章中我们了解了 Java 语言对缓存导致的可见性问题、编译优化导致的顺序性问题的解决方法,下面我们就来看看 Java 中解决因线程切换导致的原子性问题的解决方案 -- 锁 。 说到锁我们并 ...
分类:
编程语言 时间:
2019-09-20 00:22:00
阅读次数:
107