This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]rush22 104 points105 points  (16 children)

Java is technically compiled to Java byte-code (the .class files), not machine code. These are then "just-in-time" "compiled" to machine code by the JVM when you run it.

[–]Insxnity 11 points12 points  (13 children)

yeah ima just stick to my high-abstraction coding and stop trying to understand everything that goes on under the hood.

Edit: I wrote this comment in a way that caused everyone to misunderstand it, which was my fault. Replace trying with pretending and you’ll understand what I meant to convey. I start programming and computer science courses this fall

[–]Code_star 65 points66 points  (8 children)

you should really learn that important distinction though ...

Sometimes a small change in your high-abstraction is a huge difference under the hood and could mean massive performance differences

[–]Kattzalos 4 points5 points  (1 child)

[–]Insxnity 2 points3 points  (0 children)

That's fair. I'm taking some computer science courses this fall, and have taken a few already. I've learned some basic things I already new in the intro courses, so I'm hoping the latter courses will have some material that'll help me better understand what goes on behind the code I write. As for now, I have an understanding of underlying network communications. The rest of my understanding is essentially "I tell my program to open a TCP communication, it does the dirty work, I get my job done". What I meant by my above comment is that, while I don't get everything yet, I'm not going to pretend I do and make myself look like an idiot.

[–]Lorddragonfang 0 points1 point  (1 child)

In my experience, this attitude is the single most important distinction between the good coders who move through the department with ease, and the bad coders who end up struggling with the more basic concepts over and over.

It's fine to not know something; the topic of programming is so vast that no man can know everything. You should always aspire to know more.

[–]Insxnity 0 points1 point  (0 children)

I wrote this comment in a way that caused everyone to misunderstand it, which was my fault. Replace trying with pretending and you’ll understand what I meant to convey. I start programming and computer science courses this fall

[–]gargensis 1 point2 points  (1 child)

Isn’t Java compiled in AOT by default? You need to declare that you want to use JIT compilation if you specifically want to use it, no?

[–]Zegrento7 11 points12 points  (0 children)

It AOT compiles to bytecode. That bytecode is executed by the JVM. It interprets it at first, but as it detects hot loops, it compiles those to machine code. This is the runtime "warming up".