什么是Java对象分配率? - ImportNew



什么是Java对象分配率? - ImportNew

类似"不可持续的内存分配率"和"你需要维持低的内存分配率"这样的短语看起都像是属于 Java 冠军(Java Champions)的专有词汇。复杂、吓人、充满神秘色彩。

这些词语经常出现,但是如果你深入了解这些概念,它的神秘色彩就烟消云散了。这篇文章将试着揭开上面这些术语的神秘面纱。

什么是内存分配率?我们为什么要关心它?

内存分配率是指单位时间内分配内存的总数量,通常用 MB/sec 表示。不过,如果你乐意,也可以用 PB/year 来表示。这就是全部的内容――没那么神秘,仅仅是指 Java 代码在一定时期内内存分配的大小。

不过只知道这一点没有太大的意义。如果你能忍受,我将带你在实践中应用这个概念。高分配率意味着你的程序存在性能问题。从实践角度来说,主要影响是使得 GC(Garbage Collection) 成为了瓶颈。从硬件角度来说,即使常用的硬件也能支持每核几 GB/sec 的分配率。而实际上,你的分配率不会超过 1 GB/sec/core。所以你可以放心,硬件基本不可能成为应用的瓶颈。

所以,当我们关注 GC 的时候,就可以和真实情况类比了――如果你创建很多的成员,之后就需要做很多清理工作。我们知道,JVM 建立垃圾回收机制需要知道内存分配率,由此来改变 GC 执行的频率和 GC 停顿的时间。


Read full article from 什么是Java对象分配率? - ImportNew


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts