- 浏览: 91247 次
- 性别:
- 来自: 北京
最新评论
-
pcpig:
如果不能写的话,尝试修改一下配置文件cat /etc/sel ...
samba使用总结 -
pcpig:
简单启动脚本#!/bin/sh
PROJECT="p ...
Tomcat启动参数修改 -
pcpig:
基于ant的项目发布base_dir=`dirname $0` ...
项目发布脚本 -
pcpig:
同事提醒:网络通讯用gzip由于没有文件结构,压缩效果更好 p ...
消息压缩和解压缩 -
pcpig:
上面第一种方法有问题,第二种方法才是正确的。第一种方法,上线后 ...
spring+ibatis批处理解决
相关推荐
- javacv-platform-1.3.3-src
Navigate to File > Project Structure > app > Dependencies, click +, and select "2 File dependency". Select all the JAR files from the libs subdirectory. After that, the wrapper classes for OpenCV and ...
- Sammie Bae - JavaScript Data Structures and Algorithms - 2019.pdf
7. JavaScript Memory Management 8. Recursion 9. Sets 10. Searching and Sorting 11. Hash Tables 12. Stacks and Queues 13. Linked Lists 14. Caching 15. Trees 16. Heaps 17. Graphs 18. Advanced Strings 19...
- python3.6.5参考手册 chm
PEP 445: Customization of CPython Memory Allocators PEP 442: Safe Object Finalization PEP 456: Secure and Interchangeable Hash Algorithm PEP 436: Argument Clinic Other Build and C API Changes ...
- CE中文版-启点CE过NP中文.exe
Mono now has some new features like instancing of objects Mono instances window is now a treeview where you can see the fields and values "find what addresses this code accesses" can also be used on ...
- Packt.Mastering.Csharp.and.NET.Programming
- **Garbage Collector**: Automatically manages the memory used by programs, freeing up unused objects to prevent memory leaks. - **Concurrent vs. Parallel Computing**: - **Concurrent Computing**: ...
- Object-Oriented Software Construction 2nd
Chapter 8: The run-time structure: objects 217 8.1 OBJECTS 218 8.2 OBJECTS AS A MODELING TOOL 228 8.3 MANIPULATING OBJECTS AND REFERENCES 231 8.4 CREATION PROCEDURES 236 8.5 MORE ON REFERENCES 240 8.6...
- Addison.Wesley.C++.by.Dissection.2002.pdf
- **Operators new and delete:** Explains dynamic memory allocation. - **Vector Instead of Array:** Compares vectors with arrays. - **String Instead of char*:** Compares the `std::string` class with ...
- 2021-2022计算机二级等级考试试题及答案No.17518.docx
8. In Java, the `package` statement should be the first line in a source file, organizing classes and interfaces into a hierarchical structure. 9. The Image control in web development is used to ...
- Mac Programming for Absolute Beginners
- **Memory Management:** Techniques for allocating and deallocating memory to avoid leaks. #### Cocoa Framework The Cocoa framework provides a rich set of APIs for building native Mac applications. ...
- Professional C# 3rd Edition
Assembly Structure 344 Assembly Manifests 346 Namespaces, Assemblies, and Components 346 Private and Shared Assemblies 347 Viewing Assemblies 347 Building Assemblies 348 Cross-Language Support 353 The...
- PHP5 完整官方 中文教程
Extension structure Memory management Working with variables Writing functions Working with classes and objects Working with resources Working with INI settings Working with streams PDO Driver How-To ...
- PHP5中文参考手册
Extension structure Memory management Working with variables Writing functions Working with classes and objects Working with resources Working with INI settings Working with streams PDO Driver How-To ...
- PHP手册2007整合中文版
46. Extension structure 47. Memory management 48. Working with variables 49. Writing functions 50. Working with classes and objects 51. Working with resources 52. Working with INI settings 53. Working...
- PHP官方手册中文版
46. Extension structure 47. Memory management 48. Working with variables 49. Writing functions 50. Working with classes and objects 51. Working with resources 52. Working with INI settings 53. ...
- apktool documentation
apks are nothing more than a zip file containing resources and compiled java. If you were to simply unzip an apk like so, you would be left with files such as classes.dex and resources.arsc. $ unzip...
- Google C++ Style Guide(Google C++编程规范)高清PDF
Table of Contents Header Files The #define Guard Header File Dependencies Inline Functions The -inl.h Files Function Parameter Ordering Names and Order of Includes Scoping Namespaces Nested Classes ...
- ZendFramework中文文档
1. Introduction to Zend Framework 1.1. 概述 1.2. 安装 2. Zend_Acl 2.1. 简介 2.1.1. 关于资源(Resource) 2.1.2. 关于角色(Role) 2.1.3. 创建访问控制列表(ACL) ...2.1.5. 定义访问控制 ...
18 COMENTÁRIOS:
cool. thank you very much.
Interesting!
Reveals the mystery.
How about object locking? Where is the lock stored?
yukuku: the lock information is stored in 3 bits of the first work of the header. It shares that work with the the identity hash code and the age of the object which is for memory management purposes.
Hope it helps!
I meant "it shares that *word*" above :)
Great Post.
Thanks for the post. Very informative.
can you suggest books or links to documentation, where you found this information. would like to read more about this, but most java books only talk about the language itself, and not specifics like this.
You have a problem with the mem layout in long array, it's not 1 byte per element it's 8 bytes per element.
JAlexoid: thanks for the head up, I fixed the typo :)
Anonymous: I found most of this information by studying the OpenJDK source code and reading the documentation provided at http://openjdk.java.net/
Hello Domingos
Excellent article. I was searching these info for very long time. Thanks for sharing.
Another question:
What changes signifies that a particular thread has acquired the lock on an object and how does that relate to 3 bits of header word.
Does the acquiring thread changes the bit order of those 3 bits ? Please let me know, I would like to understand.
Thanks
//Kannan
Hi,
I have one question after reading this article. In following example :
[HEADER: 8 bytes] 8
[a: 1 byte ] 9
[padding: 3 bytes] 12
[c: 4 bytes] 16
[d: 1 byte ] 17
[padding: 7 bytes] 24
[e: 8 bytes] 32
[f: 4 bytes] 36
[padding: 4 bytes] 40
Why padding after "a" is 3 bytes, not 7 bytes? Why padding after "d" is 7 bytes, not 3 bytes?
Thanks
Hi anonymous, this is because a field should be aligned to a granularity that is equivalent to its size. This means that field c has to be aligned to a 4 bytes boundary, hence the 3 bytes padding preceding it. Field e, because it has 8 bytes, has to be aligned to an 8 bytes boundary and therefore has a 7 bytes padding before it.
Great post Domingos. I was wondering, what's your source for this information? Is there any particular Sun JVM architecture reference or something?
Cheers,
/fuad
hi,
I was searching these info for very long time. Thanks for sharing.
thanks again once.
I am confused. Who is the original author of this article. Look at the link below:
http://razanpokhrel.blogspot.com/2010/04/java-developer-on-their-programming.html#links
thanks a ton for the info !!! :)
Check out the following blog for simple explanation of JVM memory structure. It will not take more than 15 min. to assimilate the whole content.
Follow :
JVM memory allocation