1. 安全性问题 2. 活跃性问题 3. 性能问题 安全性的含义是“永远不发生糟糕的事情”,而活跃性则关注于另一个目标,即“某件正确的事总会发生”。当某个操作无法继续执行下去的时候就会发生活跃性问题。例:如果线程A在等待线程B释放资源,而线程B永远不释放资源,那A就会永远等待下去。 活跃性问题包括: ...
分类:
编程语言 时间:
2017-02-09 00:27:44
阅读次数:
170
转载:https://onevcat.com/2014/01/black-magic-in-macro/ 宏定义在C系开发中可以说占有举足轻重的作用。底层框架自不必说,为了编译优化和方便,以及跨平台能力,宏被大量使用,可以说底层开发离开define将寸步难行。而在更高层级进行开发时,我们会将更多的重 ...
分类:
其他好文 时间:
2017-01-04 00:10:05
阅读次数:
393
gcc命令使用GNU推出的基于C/C++的编译器,是开放源代码领域应用最广泛的编译器,具有功能强大,编译代码支持性能优化等特点。现在很多程序员都应用GCC,怎样才能更好的应用GCC。目前,GCC可以用来编译C/C++、FORTRAN、JAVA、OBJC、ADA等语言的程序,可根据需要选择安装支持的语 ...
分类:
其他好文 时间:
2016-12-03 02:12:52
阅读次数:
175
JVM在应用启动的时候因为没有jit的参与,性能没有达到最优状态,同时在这个过程中要不断重新编译,优化。占用非工作线程以外的大量资源,会使在启动阶段load骤然升高,很多时候我们会采用分层编译来解决。...
分类:
其他好文 时间:
2016-11-21 11:20:03
阅读次数:
184
一、什么是JVM Java作为主流编程语言: 它摆脱了硬件的束缚,一处编写,处处运行; 它提供了一种相对安全的内存管理和访问机制,避免了大部分的内存泄露和指针越界问题; 它实现了热点代码的检测和运行时编译优化,这使得Java应用能够随着时间的推移而获取更高的性能; 结构严谨,API丰富 .... 上 ...
分类:
其他好文 时间:
2016-11-10 02:13:30
阅读次数:
266
http://blog.csdn.net/ouyang_peng/article/details/8681244 一、避免在循环条件中使用复杂表达式 在不做编译优化的情况下,在循环中,循环条件会被反复计算,如果不使用复杂表达式,而使循环条件值不变的话,程序将会运行的更快。 例子: [java] vi ...
分类:
编程语言 时间:
2016-10-19 19:48:58
阅读次数:
240
LLVM 3.9 发布了,LLVM 是 Low Level Virtual Machine (低级虚拟机)的简称,这个库提供了与编译器相关的支持,可以作为多种语言编译器的后台来使用。能够进行程序语言的编译期优化、链接优化、在线编译优化、 代码生成。LLVM的项目是一个模块化和可重复使用的编译器和工具 ...
分类:
其他好文 时间:
2016-09-03 09:46:07
阅读次数:
161
1、解释器与编译器整个虚拟机执行架构中,解释器与编译器经常配合工作,如图分层编译根据编译器编译、优化的规模与耗时,划分出不同的编译层次,其中包括:第0层,程序解释执行,解释器不开启性能监控功能(Profiling),可触发第1层编译。 第1层,也称为C1编译,将字节码编译为本地代码,进行简单、可靠的... ...
分类:
其他好文 时间:
2016-07-25 16:20:32
阅读次数:
209
volatile 影响编译器编译的结果,指出,volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错,(VC++ 在产生release版可执行码时会进行编译优化,加volatile关键字的变量有关的运算,将不进行编译优化。)。 例如: volatil ...
分类:
其他好文 时间:
2016-07-23 12:04:48
阅读次数:
119
1. 选择JVM运行模式 a. Client模式:启动快,占用内存少,JIT编译器生成代码的速度也更快。 b. Server模式:提供了更复杂的生成代码优化功能,这个功能对服务器应用而言尤其重要。大多数Server模式的JIT的编译优化都要消耗额外的时间以收集更多的应用程序行为信息,为应用程序运行生 ...
分类:
其他好文 时间:
2016-07-01 10:21:45
阅读次数:
187