Just-in-Time Compilation - J F Bastien - CppCon 2020let’s change topics a bit and use a swear word…Java “Java” That’s right, I said it, at a C++ conference…Java At least I didn’t say “Rust”…Compiling Java just in time Avoiding unnecessary overhead is constructing an intermediate representation (IR) of a method is a standard process. When compiling from Java bytecode, however, we can eliminate that overhead. The bytecodes themselves are an IR. Because they ideal IR for compilation, but they can easily be used for that purpose. — 1997 (read)Compiling Java just in time Avoiding unnecessary overhead is crucial for fast compilation. In many compilers, constructing0 码力 | 111 页 | 3.98 MB | 6 月前3
Some Things C++ Does Righttalk. C# is a fine language for what it aims to do, and has many strengths. The same goes for Java, JavaScript, Python, C, Haskell…A word about beauty and elegance 23A word about beauty and elegance better! } }; 92Programming with a value-based language • In a reference-based language like C# or Java, the mindset is different • One gets indirect access by default for class instances • Objects program 110The beauty of (free) functions • Consider the following C# program • The situation in Java is essentially the same using System; class SuperMaths { public static double Square(int n) =>0 码力 | 228 页 | 2.47 MB | 6 月前3
Hello 算法 1.0.0 C++版本项目旨在创建一本开源、免费、对新手友好的数据结构与算法入门教程。 ‧ 全书采用动画图解,结构化地讲解数据结构与算法知识,内容清晰易懂,学习曲线平滑。 ‧ 算法源代码皆可一键运行,支持 Python、C++、Java、C#、Go、Swift、JavaScript、TypeScript、Dart、 Rust、C 和 Zig 等语言。 ‧ 鼓励读者在线上章节评论区互帮互助、共同进步,提问与评论通常可在两日内得到回复。 )、?(?)、?(?2) 和 ?(2?) 等。 2. Q & A Q:尾递归的空间复杂度是 ?(1) 吗? 理论上,尾递归函数的空间复杂度可以优化至 ?(1) 。不过绝大多数编程语言(例如 Java、Python、C++、 Go、C# 等)不支持自动优化尾递归,因此通常认为空间复杂度是 ?(?) 。 Q:函数和方法这两个术语的区别是什么? 「函数 function」可以被独立执行,所有参数都以显式传递。「方法 下面以几种常见的编程语言为例来说明。 ‧ C 语言是过程式编程语言,没有面向对象的概念,所以只有函数。但我们可以通过创建结构体(struct) 来模拟面向对象编程,与结构体相关联的函数就相当于其他编程语言中的方法。 ‧ Java 和 C# 是面向对象的编程语言,代码块(方法)通常作为某个类的一部分。静态方法的行为类似于 函数,因为它被绑定在类上,不能访问特定的实例变量。 ‧ C++ 和 Python 既支持过程式编程(函数),也支持面向对象编程(方法)。0 码力 | 378 页 | 17.59 MB | 1 年前3
The Beauty and Power of Primitive C++• May require minimal space overhead • Read and write from different programming languages • C++, Java, Python, … • Maybe programming errors could have serious consequences • May require random access “the message interface” Business logic (C++) Business logic (Java) transport transport Message interface (C++) Message interface (Java) Stroustrup - "Primitive" - CppCon 2020 7 Tiny, thin layer drowned out by the transport cost Business logic (C++) Business logic (Java) Message interface (C++) Message interface (Java) Stroustrup - "Primitive" - CppCon 2020 8 Shared memoryCommunication model0 码力 | 53 页 | 1.03 MB | 6 月前3
Hello 算法 1.1.0 C++ 版本项目旨在创建一本开源、免费、对新手友好的数据结构与算法入门教程。 ‧ 全书采用动画图解,结构化地讲解数据结构与算法知识,内容清晰易懂,学习曲线平滑。 ‧ 算法源代码皆可一键运行,支持 Python、C++、Java、C#、Go、Swift、JavaScript、TypeScript、Dart、 Rust、C 和 Zig 等语言。 ‧ 鼓励读者在线上章节评论区互帮互助、共同进步,提问与评论通常可在两日内得到回复。 )、?(?)、?(?2) 和 ?(2?) 等。 2. Q & A Q:尾递归的空间复杂度是 ?(1) 吗? 理论上,尾递归函数的空间复杂度可以优化至 ?(1) 。不过绝大多数编程语言(例如 Java、Python、C++、 Go、C# 等)不支持自动优化尾递归,因此通常认为空间复杂度是 ?(?) 。 Q:函数和方法这两个术语的区别是什么? 函数(function)可以被独立执行,所有参 下面以几种常见的编程语言为例来说明。 ‧ C 语言是过程式编程语言,没有面向对象的概念,所以只有函数。但我们可以通过创建结构体(struct) 来模拟面向对象编程,与结构体相关联的函数就相当于其他编程语言中的方法。 ‧ Java 和 C# 是面向对象的编程语言,代码块(方法)通常作为某个类的一部分。静态方法的行为类似于 函数,因为它被绑定在类上,不能访问特定的实例变量。 ‧ C++ 和 Python 既支持过程式编程(函数),也支持面向对象编程(方法)。0 码力 | 379 页 | 18.47 MB | 1 年前3
Hello 算法 1.2.0 简体中文 C++ 版)、?(?)、?(?2) 和 ?(2?) 等。 2. Q & A Q:尾递归的空间复杂度是 ?(1) 吗? 理论上,尾递归函数的空间复杂度可以优化至 ?(1) 。不过绝大多数编程语言(例如 Java、Python、C++、 Go、C# 等)不支持自动优化尾递归,因此通常认为空间复杂度是 ?(?) 。 Q:函数和方法这两个术语的区别是什么? 函数(function)可以被独立执行,所有参 下面以几种常见的编程语言为例来说明。 ‧ C 语言是过程式编程语言,没有面向对象的概念,所以只有函数。但我们可以通过创建结构体(struct) 来模拟面向对象编程,与结构体相关联的函数就相当于其他编程语言中的方法。 ‧ Java 和 C# 是面向对象的编程语言,代码块(方法)通常作为某个类的一部分。静态方法的行为类似于 函数,因为它被绑定在类上,不能访问特定的实例变量。 ‧ C++ 和 Python 既支持过程式编程(函数),也支持面向对象编程(方法)。 字节(byte)由 8 比特(bit)组成。 基本数据类型的取值范围取决于其占用的空间大小。下面以 Java 为例。 ‧ 整数类型 byte 占用 1 字节 = 8 比特,可以表示 28 个数字。 ‧ 整数类型 int 占用 4 字节 = 32 比特,可以表示 232 个数字。 表 3‑1 列举了 Java 中各种基本数据类型的占用空间、取值范围和默认值。此表格无须死记硬背,大致理解即 可,需要时可以通过查表来回忆。0 码力 | 379 页 | 18.48 MB | 10 月前3
Hello 算法 1.0.0b5 C++版关于本书 本项目旨在创建一本开源免费、新手友好的数据结构与算法入门教程。 ‧ 全书采用动画图解,结构化地讲解数据结构与算法知识,内容清晰易懂、学习曲线平滑。 ‧ 算法源代码皆可一键运行,支持 Java、C++、Python、Go、JS、TS、C#、Swift、Rust、Dart、Zig 等 语言。 ‧ 鼓励读者在章节讨论区互帮互助、共同进步,提问与评论通常可在两日内得到回复。 0.1.1 )、?(?)、?(?2) 和 ?(2?) 等。 2. Q & A � 尾递归的空间复杂度是 ?(1) 吗? 理论上,尾递归函数的空间复杂度可以被优化至 ?(1) 。不过绝大多数编程语言(例如 Java、 Python、C++、Go、C# 等)都不支持自动优化尾递归,因此通常认为空间复杂度是 ?(?) 。 � 函数和方法这两个术语的区别是什么? 函数(function)可以被独立执行,所 下面以几个常见的编程语言来说明。 ‧ C 语言是过程式编程语言,没有面向对象的概念,所以只有函数。但我们可以通过创建 结构体(struct)来模拟面向对象编程,与结构体相关联的函数就相当于其他语言中的 方法。 ‧ Java 和 C# 是面向对象的编程语言,代码块(方法)通常都是作为某个类的一部分。静 态方法的行为类似于函数,因为它被绑定在类上,不能访问特定的实例变量。 ‧ C++ 和 Python 既支持过程式0 码力 | 377 页 | 30.69 MB | 1 年前3
Reflection Based Libraries to Look Forward Toabstractions, and clean APIs Why me 4What is reflection Reflection in other languages (Go, Python, Java) Reflection in C++ as per P2996 Syntax and examples Reflection libraries! Python bindings ABI ion 16Java 17Surprisingly, quite similar in feel to Python and Go. Reflection is “runtime”, in the sense that the object type saves type information accessible at program runtime. java.lang.reflect reflect Reflecting Java 18Reflecting Java // Surprising, lookup types with string! Class cls = Class.forName("method1"); Method methlist[] = cls.getDeclaredMethods(); for (int i = 0; i < methlist.length;0 码力 | 118 页 | 14.33 MB | 6 月前3
Hello 算法 1.2.0 繁体中文 C++ 版)、?(?)、?(?2) 和 ?(2?) 等。 2. Q & A Q:尾遞迴的空間複雜度是 ?(1) 嗎? 理論上,尾遞迴函式的空間複雜度可以最佳化至 ?(1) 。不過絕大多數程式語言(例如 Java、Python、C++、 Go、C# 等)不支持自動最佳化尾遞迴,因此通常認為空間複雜度是 ?(?) 。 Q:函式和方法這兩個術語的區別是什麼? 函式(function)可以被獨立執行,所有 ‧ C 語言是程序式程式設計語言,沒有物件導向的概念,所以只有函式。但我們可以透過建立結構體 (struct)來模擬物件導向程式設計,與結構體相關聯的函式就相當於其他程式語言中的方法。 ‧ Java 和 C# 是物件導向的程式語言,程式碼塊(方法)通常作為某個類別的一部分。靜態方法的行為類 似於函式,因為它被繫結在類別上,不能訪問特定的例項變數。 ‧ C++ 和 Python 既支持程序 位元組(byte)由 8 位元(bit)組成。 基本資料型別的取值範圍取決於其佔用的空間大小。下面以 Java 為例。 ‧ 整數型別 byte 佔用 1 位元組 = 8 位元,可以表示 28 個數字。 ‧ 整數型別 int 佔用 4 位元組 = 32 位元,可以表示 232 個數字。 表 3‑1 列舉了 Java 中各種基本資料型別的佔用空間、取值範圍和預設值。此表格無須死記硬背,大致理解即 可,需要時可以透過查表來回憶。0 码力 | 379 页 | 18.79 MB | 10 月前3
Hello 算法 1.0.0b4 C++版关于本书 本项目旨在创建一本开源免费、新手友好的数据结构与算法入门教程。 ‧ 全书采用动画图解,结构化地讲解数据结构与算法知识,内容清晰易懂、学习曲线平滑。 ‧ 算法源代码皆可一键运行,支持 Java, C++, Python, Go, JS, TS, C#, Swift, Zig 等语言。 ‧ 鼓励读者在章节讨论区互帮互助、共同进步,提问与评论通常可在两日内得到回复。 0.1.1. 读者对象 。不过绝大多数编程语言(例如 Java, Python, C++, Go, C# 等)都不支持自动优化尾递归,因此一般来说空间复杂度是 ?(?) 。 � 函数和方法这两个术语的区别是什么? 函数(function)可以独立被执行,所有参数都以显式传递。方法(method)与一个对象关 联,方法被隐式传递给调用它的对象,方法能够对类的实例中包含的数据进行操作。 因此,C 和 Go 只有函数,Java 和 C# 编程语言的字符编码方案设计是一个很有趣的话题,涉及到许多因素: ‧ Java 的 String 类型使用 UTF‑16 编码,每个字符占用 2 字节。这是因为 Java 语言设计之初,人们认 为 16 位足以表示所有可能的字符。然而,这是一个不正确的判断。后来 Unicode 规范扩展到了超过 16 位,所以 Java 中的字符现在可能由一对 16 位的值(称为“代理对”)表示。 ‧ JavaScript0 码力 | 343 页 | 27.39 MB | 1 年前3
共 112 条
- 1
- 2
- 3
- 4
- 5
- 6
- 12













