原创 地表最強語言之 cpp20又㕛叒更新了,模塊,協程,concept......

協程,模塊,concept,contract,宇宙飛船,併發庫,range,flatmap,flatset,棧回溯 地表最強語言++ 告辭!

原创 [inside hotspot] 彙編模板解釋器(Template Interpreter)和字節碼執行

[inside hotspot] 彙編模板解釋器(Template Interpreter)和字節碼執行 1.模板解釋器 hotspot解釋器模塊(hotspot\src\share\vm\interpreter)有兩個實現:基於C++的解

原创 閉包(Closure)和匿名函數(Anonymous function)/lambda表達式的區別

閉包(Closure)和匿名函數(Anonymous function)/lambda表達式的區別 函數最常見的形式是具名函數(named function): function foo(){ console.log("named

原创 [inside hotspot] java方法調用的StubCode

[inside hotspot] java方法調用的StubCode 衆所周知jvm有invokestatic,invokedynamic,invokestatic,invokespecial,invokevirtual幾條方法調用指令,每

原创 寫個好玩的JIT demo,僅限Intel x86+ windows+msvc

#include <Windows.h> #include <cstdint> #include <cstring> #define BACK_FILL (0) int main() { char* native = (char*

原创 方法引用(Method reference)和invokedynamic指令詳細分析

方法引用(Method reference)和invokedynamic指令詳細分析 invokedynamic是jvm指令集裏面最複雜的一條。本文將詳細分析invokedynamic指令是如何實現方法引用(Method reference

原创 雜記rust的destructuring binding(反結構化綁定)與ownership(所有權)

起因 看rust by example看得我想睡覺...突然遇到個關於反結構化綁定的奇怪的特性: struct Pair(Box<i32>, Box<i32>); impl Pair { fn destroy(self) {

原创 弗朗西斯培根的四大假象

小學的時候看到過,大學居然再遇,這麼有緣我就去翻了一下,還挺有意思的,聊記一二。 種族假象(人的本性而產生的錯誤看法) 人的感覺是事物的尺度,是一種錯誤論斷。無論是感官的知覺還是心靈的知覺,都是以個人的尺度爲根據,而不是以宇宙的尺度爲根據。

原创 簡明依賴注入(Dependency Injection)

前言 這是因特奈特上面不知道第幾萬篇講依賴注入(Dependency Injection)的文章,但是說明白的卻寥寥無幾,這篇文章嘗試控制字數同時不做大多數。 首先,依賴注入的是一件很簡單的事情。 爲什麼需要依賴注入 然後,假設我們有

原创 基於windows fiber的協程(coroutine)實現

一個非常簡單,但是實用的協程實現,使用Windows的*Fiber函數族(linux可以稍微改一下用*context函數族)。 fco.h #ifndef _MSC_VER #error "this fast coroutine libra

原创 Leetcode 856. Score of Parentheses 括號得分(棧)

Leetcode 856. Score of Parentheses 括號得分(棧) 題目描述 字符串S包含平衡的括號(即左右必定匹配),使用下面的規則計算得分 () 得1分 AB 得A+B的分,比如()()得2分 (A) 得2A分, 比

原创 Leetcode 413. Arithmetic Slice 算術序列切片(動態規劃,暴力)

Leetcode 413. Arithmetic Slice 算術序列切片(動態規劃,暴力) 題目描述 如果一個數組1.至少三個元素2.兩兩之間差值相同,那麼這個數組就是算術序列 比如下面的數組都是算術序列: 1, 3, 5, 7, 9 7

原创 Leetcode 931. Minimum falling path sum 最小下降路徑和(動態規劃)

Leetcode 931. Minimum falling path sum 最小下降路徑和(動態規劃) 題目描述 已知一個正方形二維數組A,我們想找到一條最小下降路徑的和 所謂下降路徑是指,從一行到下一行,只能選擇間距不超過1的列(也就是

原创 [golang] go的typeswitch guard(類型區別)語法和type assertion(類型斷言)語法

最近在實現golang,看到個go的特性語法: typeswitch guard。 typeswitch guard語法如下: package main import "fmt" func typeChecking(p interfac

原创 C++20草案中的宇宙飛船運算符(<=>,spaceship operator)

C++20草案中的宇宙飛船運算符(<=>,spaceship operator)Herb Sutter提議的新三路運算符<=>已經被合入C++20草案中。宇宙飛船運算符(hh)形式如lhs<=>rhs。 比如a與b是整型,那麼a<=>b返