最新 最热

类和对象(下)

通过学习构造函数,我们知道了在创建对象的时候,编译器就会自动调用构造函数,进行对对象的赋值,但是这不是初始化。赋值可以很多次,初始化只能一次。而且,有些变量,是必须初始化的,比如说const变量,static变量。因此,我们需要对...

2023-03-30
0

【Linux 内核 内存管理】优化内存屏障 ② ( 内存屏障 | 编译器屏障 | 处理器内存屏障 | 内存映射 I/O 写屏障 )

内存屏障 , 又称为 " 屏障指令 " , 用于保证 " 编译器 “ 或 ” CPU “ 访问内存时 , 保证 按照顺序执行 , 即 ” 内存屏障 之前 “ 的指令 与 ” 内存屏障 之后 " 的指令 不会犹豫 编译器 和 CPU 优化导致 顺序混乱 ...

2023-03-30
1

【C 语言】数组 ( 数组取值操作 | array[i][j] 用法 等价于 *( *(array = i) + j ) 用法 | 下标操作到指针操作演化过程 )

其中 array[i][j] 方式是比较符合 人类 阅读习惯的 , 编译器如果遇到上述代码 , 会将其翻译为 *( *(array = i) + j ) 代码 ;

2023-03-29
1

【C 语言】字符串操作 ( C 字符串 | 字符数组始化 )

C 字符串本质 : C 中 没有字符串类型 , 都是使用 字符数组 模拟字符串 ;

2023-03-29
1

【C 语言】变量本质 ( 变量概念 | 变量本质 - 内存空间别名 | 变量存储位置 - 代码区 | 变量三要素 )

通过 变量名 , 可以 访问 内存空间 ; 变量 相当于 一段连续的 内存空间 的 别名 , 相当于 门牌号 ;

2023-03-29
0

【AOP 面向切面编程】Android Studio 使用 AspectJ 监控方法运行原理分析

在 Android Studio 中查找编译的 MainActivity 字节码文件 , 最终在 Y:02_WorkSpace01_ASAOP_Demoappbuildintermediatesjavacdebugclassescomexampleaop_demo 目录下找到 MainAct......

2023-03-29
0

Leyden 延迟了 OpenJDK AOT 编译器,转而优化 JIT 编译器

作者 | Karsten Silz译者 | 张卫滨策划 | 丁晓昀Leyden 项目的目标是“解决 Java 启动时间慢、达到性能峰值慢和占用空间大等长期痛点问题”。它想通过在 OpenJDK 中“引入静态镜像的概念”来实现这一目标。静态镜像...

2023-03-29
1

C#警告波预示未来将增加新的关键字

作者 | Jonathan Allen 译者 | 平川 策划 | 丁晓昀与 C# 9 和 10 一样,C# 11 也悄悄地增加了一个新的编译器警告。该警告可以防止使用全部小写的类型名称(如类、结构和接口)。创建这个警告是为了方便微软在未来添加新的...

2023-03-29
0

Kotlin 负责人:我们是如何一步步设计 Kotlin 的?

作者 | Roman Elizarov译者 | 刘雅梦策划 | 邓艳琴真正的编程语言是有生命的,是不断变化和发展的。与任何生产代码一样,它们的设计师的大部分时间都花在了缺陷修复和小改进上,而不是花在激进的新特性上。Kotlin 的独特...

2023-03-29
1

OpenJDK 提议 Galahad 项目合并 GraalVM 的原生编译

作者 | Ben Evans译者 | 张卫滨策划 | 丁晓昀OpenJDK提出了一个新的项目 ,代号为 Galahad,以便于将 GraalVM 社区版代码库中的一部分功能合并到 OpenJDK 中。这是一项长期努力的最新进展,也就是在程序执行之前将 Java 应...

2023-03-29
0