jameslong 積分 0

ServiceLoader 的 API 文件 404 挖掘現場 @@

j0n 積分 0

複雜的系統還是習慣用 Java 來做,簡單的小東西倒是都改用 Python 了。

koji 積分 1

最近要用了~看看 async, await 實不實用串了~

IngramChen 積分 1

let 最常用 (基本上是萬用),其次是 apply,剩下的都是想到後再查哪個適合。

IngramChen 積分 0

看他們的最早的 amazon sdk 就知道了,整個是 xml hell,然後不同語言的版本基本上就是用 java style 在寫。

haocheng 積分 0

I work at Amazon. So everything. Something like 99% of Amazon runs off Java. It's pretty amazing how such a complex system with thousands of micro services and front end interfaces are all put together using a single language. Not many languages out there can boast this kind of flexibility and speed, especially at this kind of scale

原來 Amazon 主力是 Java 啊

natsu 積分 1 編輯於

原來如此,所以 Valhalla 要做的事就是把物件裡用到的多個 primitive 放在連續的記憶體空間中,以減少記憶體指標 (reference) 的使用。

以 char[] 來說,JVM 只需要知道開始的位置及陣列 (array)長度 (length),即可存取到陣列 (array) 裡面的任一元素 (element)值 (value), 而不用每個元素 (element) 都去紀錄值(value) 所在的記憶體指標 (reference)

chchwy 積分 1

對阿,這時primitive的生命週期就是跟著那個物件了。 (題外話C++物件可以宣告在stack上XDDD

natsu 積分 0

放在 stack, 脫離作用域就釋放

對吼,除了 heap 之外還有 stack 可以放資料到記憶體中 (stack 太少被提到了,差點忘了它的存在...)

但若是宣告在物件裡的 primitive 就會被放到 heap 中了吧?

chchwy 積分 2

放在 stack, 脫離作用域就釋放

natsu 積分 0

value type 就不會在 heap,不需要被 GC (跟 primitive 一樣)

請問一下,若不是放在 heap 中,那是放在哪裡?

沒有 GC 的話,value type & primitive 佔用的記憶體會被釋放嗎?

IngramChen 積分 1

value type 就不會在 heap,不需要被 GC (跟 primitive 一樣)

natsu 積分 0 編輯於

Reduced memory usage: No additional memory is used to store object metadata, such as flags facilitating synchronization, identity, and garbage collection.

但是這樣的話 value types 要怎麼被 GC 回收?

不過從 jvisualvm1 看起來,通常 java application 比較佔記憶體的大都是 char[], byte[], int[], ...,所以 value types 確實有機會減少記憶體的使用

Primitives do not currently support qualified method calls or field access (i.e. use of the dot operator)

Primitive types 也不能表達 null... 所以還是需要 wrapper class

The Minimal Value Types article goes into great detail on this initial exploratory implementation and although this first cut includes many approximations of the eventual implementation (such as the use of an annotation to denote a value type rather than an express keyword for this purpose), it provides a promising path for the eventual inclusion of value types into Java.

可能需要增加新的 annotation,所以舊的程式沒辦法直接用...

不是已經有 string pool 的概念了嗎?類似的方法套用到 value types 不知可不可行?

chchwy 積分 0

Atom 跟 Visual Studio Code 幾乎同時推出即時協作功能。以後可以直接坐在座位上 code review 了。

chchwy 積分 0

現在我們公司是用 Twitter 的 Fabric。不知道這個有什麼差別?

Kros 積分 0

又多了一個免費的 Analytics, Crash Report
真懷疑之前做 crash report 的公司還賺得到錢嗎...