How to get familiar with “what happens underneath of Java”? [closed]

I did not study CS nor IT. I just became a developer, now working with Java. Actually, since I now work with a big company writing high-scalable web applications, I think I need to be better with details.

I have no understanding of what happens underneath of Java. Java Performance, Server-Side Java might be the buzz words?!! I am very poor with those more of low-level details but I do not know where to look honestly.

I started looking for some keywords in Amazon, ended up reading books like “pragmatic programmer”, “clean code”, “code complete” which IMO they are not what I am looking for.

Could you please give me some learning resources (books, articles, blog posts, online trainings) for this matter? I also read this post as well: Approaching Java/JVM internals
But I think I need a pre-step before jumping into the OpenJDK, right?!

2

What you want to learn involves studying CS. You technically could learn about what the JVM is doing under the covers, but without some Compsci it will all be just a jumble.

The book I had in college for this topic was Programming Language Pragmatics, IIRC. It had a good overview of parsing, semantic analysis, and such but was still fairly gentle. The dragon book is also a classic on the subject, but will be less gentle in its approach.

It sounds to me, though, that you have reached the stage in your craft that you are looking into the realm of computer science, which is a big milestone. Go ahead, jump in, and enjoy the ride. 🙂

Some of the answers suggest a bottom up approach (learn CS or some close equivalent).

You could spend a year plus learning CS and still not have an answer to “what happens underneath of Java”?

Whilst I am of a CS background, I had similar questions about .NET.
These are the things I have done to bring my knowledge of .NET up to scratch.

  1. Implement my own basic class. Simple use case, implemented a LinkedList for IEnumerable<T>, Iterable<T>.
  2. Compare my implementation with Microsoft’s/Oracle. You’ll find a lot of things they take into consideration that you did not.
  3. Read about the topic. For e.g. if you’re implementing your own Map / IDictionary<TKey, TValue>, what is the best bucket size? Why should the bucket size be a prime number? What’s a good HashCode() fuction implementation? When do you resize the bucket?
  4. Performance, compare your implementation and the native implementation. It will likely lead you down the route of bounds checking, Closable / IDisposable, garbage collection & its generations.
  5. “Academic” papers, once you’ve exhausted the above, you can learn a lot more detail from academic papers. E.g. dated Paper on IO in Windows & .NET, or Patterns of Parallel Programming.
  6. There is bound to be some decent interview questions you’ve come across, try implementing an answer and look for the most efficient one. They’ll generally test your knowledge (depth and breadth) as a good measure of progress.

Implementing a collection is just an example. Could easily be an algorithm (BinarySearch) or an IO library.

To address the absence of Computer Science, I’ve stuck “Computer Science Moudles” in google, loads of good hits

In no particular order, aim to cover java classes that touch on these topics,

  1. Abstract Data Structures
  2. Algorithms
  3. Software Engineering (design patterns), interesting to see how they’re used in a good open source project for e.g.
  4. Human Computer Interaction
  5. Operating System (think the java side of processor / memory / IO, threads / GC etc…)

If you have a lot of time, learn C then read the textbook for a Computer Architecture class.

If that level of commitment is too big, read a book on Java performance tuning. A good book will describe why a given parameter has a given effect, how objects are layed out in memory, how a generational garbage collector works, etc.

You can also join the Adopt OpenJDK programme that’s run by Java User Groups around the world to help people ease into the world of OpenJDK. See http://adoptopenjdk.java.net for details.

Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa Dịch vụ tổ chức sự kiện 5 sao Thông tin về chúng tôi Dịch vụ sinh nhật bé trai Dịch vụ sinh nhật bé gái Sự kiện trọn gói Các tiết mục giải trí Dịch vụ bổ trợ Tiệc cưới sang trọng Dịch vụ khai trương Tư vấn tổ chức sự kiện Hình ảnh sự kiện Cập nhật tin tức Liên hệ ngay Thuê chú hề chuyên nghiệp Tiệc tất niên cho công ty Trang trí tiệc cuối năm Tiệc tất niên độc đáo Sinh nhật bé Hải Đăng Sinh nhật đáng yêu bé Khánh Vân Sinh nhật sang trọng Bích Ngân Tiệc sinh nhật bé Thanh Trang Dịch vụ ông già Noel Xiếc thú vui nhộn Biểu diễn xiếc quay đĩa Dịch vụ tổ chức tiệc uy tín Khám phá dịch vụ của chúng tôi Tiệc sinh nhật cho bé trai Trang trí tiệc cho bé gái Gói sự kiện chuyên nghiệp Chương trình giải trí hấp dẫn Dịch vụ hỗ trợ sự kiện Trang trí tiệc cưới đẹp Khởi đầu thành công với khai trương Chuyên gia tư vấn sự kiện Xem ảnh các sự kiện đẹp Tin mới về sự kiện Kết nối với đội ngũ chuyên gia Chú hề vui nhộn cho tiệc sinh nhật Ý tưởng tiệc cuối năm Tất niên độc đáo Trang trí tiệc hiện đại Tổ chức sinh nhật cho Hải Đăng Sinh nhật độc quyền Khánh Vân Phong cách tiệc Bích Ngân Trang trí tiệc bé Thanh Trang Thuê dịch vụ ông già Noel chuyên nghiệp Xem xiếc khỉ đặc sắc Xiếc quay đĩa thú vị
Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa
Thiết kế website Thiết kế website Thiết kế website Cách kháng tài khoản quảng cáo Mua bán Fanpage Facebook Dịch vụ SEO Tổ chức sinh nhật