Java性能优化之JVM内存模型
JVM内存模型
首先介绍下Java程序具体执行的过程:
推荐一个交流学习群,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。
Lua基础(转)
局部定义与代码块:
使用local声明一个局部变量或局部函数,局部对象只在被声明的那个代码块中有效。
代码块:一个控制结构、一个函数体、一个chunk(一个文件或文本串)(Lua把chunk当做函数处理)
这样,可以在chunk内部声明局部函数,该函数仅在chunk内可见,并且词法定界保证了包内其他函数可以调用此函数。
使用 Swift 在 iOS 10 中集成 Siri —— SiriKit 教程
使用 Swift 在 iOS 10 中集成 Siri —— SiriKit 教程
转载地址:http://swift.gg/2016/06/28/adding-siri-to-ios-10-apps-in-swift-tutorial/
下载 Xcode 8,配置 iOS 10 和 Swift 3
(可选)通过命令行编译
除非你想使用命令行编译,使用 Swift 3.0 的工具链并不需要对项目做任何改变。
类加载器原理
1.类的加载过程
JVM将类加载过程分为三个步骤:装载(Load),链接(Link)和初始化(Initialize)链接又分为三个步骤,如下图所示:
1) 装载:查找并加载类的二进制数据;
2)链接:
验证:确保被加载类的正确性;
准备:为类的静态变量分配内存,并将其初始化为默认值;
解析:把类中的符号引用转换为直接引用;
MinGW 与MSVC的区别
Qt 中有两种方式编译,一种是MinGW ,另一种MSVC。
其中:MSVC是指微软的VC编译器
MingGW是指是Minimalist GNU on Windows的缩写。它是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你 在GNU/Linux和Windows平台生成本地的Windows程序而不需要第三方C运行时库。
VC中不同类型DLL及区别
1、 DLL的概念可以向程序提供一些函数、变量或类。
静态链接库与动态链接库的区别:(1)静态链接库与动态链接库都是共享代码的方式。静态链接库把最后的指令都包含在最终生成的EXE文件中了;动态链接库不必被包含在最终EXE文件中,EXE文件执行时可以“动态”地引用和卸载这个与EXE独立的DLL文件。