Java Bytecode Crash Course

preview_player
Показать описание
Рекомендации по теме
Комментарии
Автор

Literally stumbled upon this but ended up watching the whole thing cuz of how brilliantly he explained it. Hats off 👏

mun
Автор

Excellent talk! I've always been afraid of looking under the hood but now I feel a lot more confident to pull out javap and explore what the code actually does.

JoshPius
Автор

This is a great talk that covers a lot of ground on a high level. If you want to dig deeper you should definitely read the Java Virtual Machine Specification. It goes into much more detail than can be covered in this short talk.

heinrich
Автор

That was bloody brilliant, thank you soo much.

Jakob
Автор

OMG I was trying to fix some dumb java asm thing I was making while playing this in the background and didn't realize the method was static cuz I stayed up all night xD. When u mention static invocation doesn't have a this pointer it made me realize that is whats wrong. My dumbass didn't realize it was static for ages and thought maybe it was somehow making the first local var index the first method param. Thank you so much idk how long I would of been stuck with that

johnlongaski
Автор

Thank you so much. Loved your presentation and learning from you

zoom
Автор

this video helps me understand more about bytecode in Java. Thanks speaker.

CodeJava
Автор

Wonderful!!!. Very understandable talk. Thank you

aprasath
Автор

Nice talk! Short question:

32:00:
Instruction Index 8: Why is the long variable l2 loaded from constant pool index #3? I thought it should have been #4
Follow up question: How does the constant pool for this particular example look like?

Thanks you!

MatthiasBloch
Автор

12:29 I thought for a second he said “act sus” xD

johnlongaski
Автор

sometimes, the YouTube algorithm can do wonders. i like it.

thanks for such an awesome talk... :)

now it actually seems easier than asm.

duckydude
Автор

@8:31
I don't understand..
Why he said the program does not use CPU register?
Only use the stack to add two numbers together?
How is that possible?

footballCartoon
Автор

From the sparse explanation about arguments on calls and return values it remains unclear to me weather the VM implements the return stack separately from the data/calculation stack or there is some hidden is going on in the shades. So what is it then for real about argument passing and return addresses on the stack?
Another aspect unclear to me: In 31:41 arguments come as arguments in local variables, but when the call is presented (34:09) the arguments are provided by pushing on the stack, instead of of being passed as arguments in the locals registers. What is it now for real? On the stack or as arguments or in the locals registers? Just wondering ...

asagk
Автор

Very lucid explanation. But the video would've looked a lot nicer if the slides were placed on the left and the speaker on the right.

ZemenFidel
Автор

How can the JVM has a heap of more than 4GB? Surely in 64-bit mode, references use "2 slots".

DF-ssep
Автор

How will locals up to 4 will be written? for example iload_4 and iload_5?

stavros
Автор

11:42, i don't still get why the args_size=1, can anyone help me

hesona
Автор

Use of red as means to highlight code was a very stupid idea.

sussus
Автор

So source code is for babies I wanna know bytecode and why it’s how it is

Darrell-Hunt
Автор

started off really well but was really rushed after about the 40th minute :/

nigabals