(Ebook) The Java Virtual Machine Specification, Java SE 8 Edition by Tim Lindholm & Frank Yellin & Gilad Bracha ISBN 9780133905908, 013390590X - Own the ebook now and start reading instantly
(Ebook) The Java Virtual Machine Specification, Java SE 8 Edition by Tim Lindholm & Frank Yellin & Gilad Bracha ISBN 9780133905908, 013390590X - Own the ebook now and start reading instantly
https://ebooknice.com/product/the-java-language-specification-third-
edition-1798296
https://ebooknice.com/product/the-java-language-specification-java-
se-8-edition-23133642
https://ebooknice.com/product/biota-grow-2c-gather-2c-cook-6661374
https://ebooknice.com/product/oca-java-se-8-programmer-i-
certification-guide-6809262
(Ebook) Programming Scala: Tackle Multi-Core Complexity on the Java
Virtual Machine by Venkat Subramaniam ISBN 9781934356319, 193435631X
https://ebooknice.com/product/programming-scala-tackle-multi-core-
complexity-on-the-java-virtual-machine-1365148
https://ebooknice.com/product/all-about-java-8-lambdas-introducing-
java-8-lambdas-55557692
(Ebook) Java XML and JSON: Document Processing for Java SE by Jeff
Friesen ISBN 9781484243305, 1484243307
https://ebooknice.com/product/java-xml-and-json-document-processing-
for-java-se-7384190
https://ebooknice.com/product/72-tahun-perjalanan-pengabdian-rspad-
gatot-soebroto-26-juli-1950-26-juli-2022-45033080
(Ebook) Java XML and JSON: Document Processing for Java SE by Jeff
Friesen ISBN 9781484243299, 9781484243305, 1484243293, 1484243307
https://ebooknice.com/product/java-xml-and-json-document-processing-
for-java-se-7429198
The Java® Virtual
Machine Specification
Java SE 8 Edition
This page intentionally left blank
The Java® Virtual
Machine Specification
Java SE 8 Edition
Tim Lindholm
Frank Yellin
Gilad Bracha
Alex Buckley
Many of the designations used by manufacturers and sellers to distinguish their products are
claimed as trademarks. Where those designations appear in this book, and the publisher was
aware of a trademark claim, the designations have been printed with initial capital letters
or in all capitals.
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may
be trademarks of their respective owners.
The authors and publisher have taken care in the preparation of this book, but make no
expressed or implied warranty of any kind and assume no responsibility for errors or
omissions. No liability is assumed for incidental or consequential damages in connection
with or arising out of the use of the information or programs contained herein.
This document is provided for information purposes only and the contents hereof are subject
to change without notice. This document is not warranted to be error-free, nor subject to
any other warranties or conditions, whether expressed orally or implied in law, including
implied warranties and conditions of merchantability or fitness for a particular purpose.
We specifically disclaim any liability with respect to this document and no contractual
obligations are formed either directly or indirectly by this document, except as specified in
the Limited License Grant herein at Appendix A. This document is subject to the Limited
License Grant included herein as Appendix A, and may otherwise not be reproduced or
transmitted in any form or by any means, electronic or mechanical, for any purpose, without
our prior written permission.
The publisher offers excellent discounts on this book when ordered in quantity for bulk
purchases or special sales, which may include electronic versions and/or custom covers
and content particular to your business, training goals, marketing focus, and branding
interests. For more information, please contact U.S. Corporate and Government Sales, (800)
382-3419, [email protected]. For sales outside the United States,
please contact International Sales, [email protected].
Visit us on the Web: informit.com/aw
Printed in the United States of America. This publication is protected by copyright, and
permission must be obtained from the publisher prior to any prohibited reproduction,
storage in a retrieval system, or transmission in any form or by any means, electronic,
mechanical, photocopying, recording, or likewise. To obtain permission to use material
from this work, please submit a written request to Pearson Education, Inc., Permissions
Department, One Lake Street, Upper Saddle River, New Jersey 07458, or you may fax your
request to (201) 236-3290.
The Specification provided herein is provided to you only under the Limited License Grant
included herein as Appendix A. Please see Appendix A.
Text printed in the United States on recycled paper at Edwards Brothers Malloy in Ann
Arbor, Michigan. First printing, May 2014.
To Sophia and Susan, in deepest appreciation.
This page intentionally left blank
Table of Contents
1 Introduction 1
1.1 A Bit of History 1
1.2 The Java Virtual Machine 2
1.3 Organization of the Specification 3
1.4 Notation 4
1.5 Feedback 4
vii
The Java® Virtual Machine Specification
viii
The Java® Virtual Machine Specification
ix
The Java® Virtual Machine Specification
x
The Java® Virtual Machine Specification
aastore 364
aconst_null 366
aload 367
aload_<n> 368
anewarray 369
areturn 370
arraylength 371
astore 372
astore_<n> 373
athrow 374
baload 376
bastore 377
bipush 378
caload 379
castore 380
checkcast 381
d2f 383
d2i 384
d2l 385
dadd 386
daload 388
dastore 389
dcmp<op> 390
dconst_<d> 392
ddiv 393
dload 395
dload_<n> 396
dmul 397
dneg 399
drem 400
dreturn 402
dstore 403
dstore_<n> 404
dsub 405
dup 406
dup_x1 407
dup_x2 408
dup2 409
dup2_x1 410
dup2_x2 411
f2d 413
f2i 414
f2l 415
fadd 416
faload 418
fastore 419
fcmp<op> 420
fconst_<f> 422
xi
The Java® Virtual Machine Specification
fdiv 423
fload 425
fload_<n> 426
fmul 427
fneg 429
frem 430
freturn 432
fstore 433
fstore_<n> 434
fsub 435
getfield 436
getstatic 438
goto 440
goto_w 441
i2b 442
i2c 443
i2d 444
i2f 445
i2l 446
i2s 447
iadd 448
iaload 449
iand 450
iastore 451
iconst_<i> 452
idiv 453
if_acmp<cond> 454
if_icmp<cond> 455
if<cond> 457
ifnonnull 459
ifnull 460
iinc 461
iload 462
iload_<n> 463
imul 464
ineg 465
instanceof 466
invokedynamic 468
invokeinterface 473
invokespecial 477
invokestatic 481
invokevirtual 484
ior 489
irem 490
ireturn 491
ishl 492
ishr 493
istore 494
xii
The Java® Virtual Machine Specification
istore_<n> 495
isub 496
iushr 497
ixor 498
jsr 499
jsr_w 500
l2d 501
l2f 502
l2i 503
ladd 504
laload 505
land 506
lastore 507
lcmp 508
lconst_<l> 509
ldc 510
ldc_w 512
ldc2_w 514
ldiv 515
lload 516
lload_<n> 517
lmul 518
lneg 519
lookupswitch 520
lor 522
lrem 523
lreturn 524
lshl 525
lshr 526
lstore 527
lstore_<n> 528
lsub 529
lushr 530
lxor 531
monitorenter 532
monitorexit 534
multianewarray 536
new 538
newarray 540
nop 542
pop 543
pop2 544
putfield 545
putstatic 547
ret 549
return 550
saload 551
sastore 552
xiii
The Java® Virtual Machine Specification
sipush 553
swap 554
tableswitch 555
wide 557
xiv
Preface to the Java SE 8 Edition
all the changes that have been made to the Java Virtual Machine since the Java SE
7 Edition in 2011. In addition, numerous corrections and clarifications have been
made to align with popular implementations of the Java Virtual Machine.
This Edition continues the tradition of specifying the abstract Java Virtual
Machine, serving as documentation for a concrete implementation only as a
blueprint documents a house. An implementation of the Java Virtual Machine must
embody this specification, but is constrained by it only where absolutely necessary.
Notable changes to the Java programming language in Java SE 8 have brought
corresponding changes to the Java Virtual Machine. To maximize binary
compatibility, it has been desirable to specify default methods directly in the
Java Virtual Machine, rather than relying on compiler magic that might not be
portable across vendors or product releases, and is certainly not applicable to
pre-existing class files. In the context of JSR 335, Lambda Expressions for the
Java Programming Language, Dan Smith at Oracle consulted with implementers
to determine how best to integrate default methods into the constant pool and
method structures, the method and interface method resolution algorithms, and the
bytecode instruction set. JSR 335 also introduced private and static methods
in interfaces at the class file level; they too have been carefully integrated with
interface method resolution.
A theme of Java SE 8 is co-evolution of the Java SE platform libraries with the
Java Virtual Machine. A small but useful example is support for method parameter
names at run time: storing such names in the class file structure goes hand in hand
with offering a standard API to retrieve them (java.lang.reflect.Parameter).
This illustrates an interesting development in the class file structure over the years:
the First Edition of this specification defined six attributes, of which three were
deemed critical to the Java Virtual Machine, while this Java SE 8 Edition defines
23 attributes, of which five are deemed critical to the Java Virtual Machine; that is
to say, attributes now exist primarily to support libraries and tools rather than the
Java Virtual Machine itself. To help readers understand the class file structure, this
specification more clearly documents the role of each attribute and the constraints
placed upon it.
xv
PREFACE TO THE JAVA SE 8 EDITION
Many colleagues in the Java Platform Group at Oracle have provided valuable
support to this specification: Mandy Chung, Joe Darcy, Joel Franck, Staffan
Friberg, Yuri Gaevsky, Jon Gibbons, Jeannette Hung, Eric McCorkle, Matherey
Nunez, Mark Reinhold, John Rose, Georges Saab, Steve Sides, Bernard Traversat,
Michel Trudeau, and Mikael Vidstedt. Particular thanks to Dan Heidinga (IBM),
Karen Kinnear, Keith McGuigan, and Harold Seigel for their ironclad commitment
to compatibility and security in popular Java Virtual Machine implementations.
Alex Buckley
Santa Clara, California
March, 2014
xvi
C H A P T E R 1
Introduction
1
1 INTRODUCTION
The Java Virtual Machine is the cornerstone of the Java platform. It is the
component of the technology responsible for its hardware- and operating system-
independence, the small size of its compiled code, and its ability to protect users
from malicious programs.
The Java Virtual Machine is an abstract computing machine. Like a real computing
machine, it has an instruction set and manipulates various memory areas at run time.
It is reasonably common to implement a programming language using a virtual
machine; the best-known virtual machine may be the P-Code machine of UCSD
Pascal.
The first prototype implementation of the Java Virtual Machine, done at Sun
Microsystems, Inc., emulated the Java Virtual Machine instruction set in software
hosted by a handheld device that resembled a contemporary Personal Digital
Assistant (PDA). Oracle's current implementations emulate the Java Virtual
Machine on mobile, desktop and server devices, but the Java Virtual Machine
does not assume any particular implementation technology, host hardware, or
host operating system. It is not inherently interpreted, but can just as well be
implemented by compiling its instruction set to that of a silicon CPU. It may also
be implemented in microcode or directly in silicon.
The Java Virtual Machine knows nothing of the Java programming language, only
of a particular binary format, the class file format. A class file contains Java
Virtual Machine instructions (or bytecodes) and a symbol table, as well as other
ancillary information.
For the sake of security, the Java Virtual Machine imposes strong syntactic and
structural constraints on the code in a class file. However, any language with
functionality that can be expressed in terms of a valid class file can be hosted by
the Java Virtual Machine. Attracted by a generally available, machine-independent
platform, implementors of other languages can turn to the Java Virtual Machine as
a delivery vehicle for their languages.
2
Organization of the Specification 1.3
The Java Virtual Machine specified here is compatible with the Java SE 8 platform,
and supports the Java programming language specified in The Java Language
Specification, Java SE 8 Edition.
3
Random documents with unrelated
content Scribd suggests to you:
The Project Gutenberg eBook of La
mandragola - La Clizia - Belfagor
This ebook is for the use of anyone anywhere in the United States
and most other parts of the world at no cost and with almost no
restrictions whatsoever. You may copy it, give it away or re-use it
under the terms of the Project Gutenberg License included with this
ebook or online at www.gutenberg.org. If you are not located in the
United States, you will have to check the laws of the country where
you are located before using this eBook.
Language: Italian
LA MANDRAGOLA
LA CLIZIA—BELFAGOR
A cura di Vittorio Osimo
Disegni di A. Magrini
1914
Indice
INTRODUZIONE
MANDRAGOLA
COMEDIA DI CALLIMACO E DI LUCREZIA
PROLOGO
La scena è in Firenze.
[I. 1.]
CALLIMACO e SIRO, interlocutori.
[I. 3]
LIGURIO, CALLIMACO.
Li. Io non credo che sia nel mondo el più sciocco uomo di costui; e
quanto la fortuna lo ha favorito! Lui ricco, lui bella donna, savia,
costumata ed atta a governare un regno. E parmi che rare volte si
verifichi quel proverbio ne' matrimonii che dice: Dio fa gli uomini, e'
si appaiano; perché spesso si vede uno uomo ben qualificato sortire
una bestia, e per avverso una prudente donna avere un pazzo. Ma
della pazzia di costui se ne cava questo bene, che Callimaco ha che
sperare. Ma eccolo. Che vai tu appostando, Callimaco?
Ca. Io ti aveva veduto col dottore, e aspettavo che tu ti spiccassi, da
lui per intendere quello avevi fatto.
Li. Egli è uno uomo della qualità che tu sai, di poca prudenzia, di
meno animo; e partesi mal volentieri da Firenze. Pure io ce l'ho
riscaldato, e mi ha detto infine che farà ogni cosa. E credo che,
quando e' ci piaccia questo partito, che noi ve lo condurremo; ma io
non so se noi ci faremo el bisogno nostro.
Ca. Perché?
Li. Che so io? Tu sai che a questi bagni va d'ogni qualità gente, e
potrebbe venirvi uomo a chi madonna Lucrezia piacesse come a te,
che fussi ricco più di te, che avessi più grazia di te; in modo che si
porta pericolo di non durare questa fatica per altri, e che intervenga
che la copia de' concorrenti la faccino più dura, o che
dimesticandosi, la si volge ad un altro, e non a te.
Ca. Io conosco che tu di' el vero. Ma come ho a fare? Che partito ho
a pigliare? Dove mi ho a volgere? A me bisogna tentare qualche
cosa, sia grande, sia periculosa, sia dannosa, sia infame. Meglio è
morire che vivere così. Se io potessi dormire la notte, se io potessi
mangiare, se io potessi conversare, se io potessi pigliare piacere di
cosa veruna, io sarei più paziente ad aspettare el tempo; ma qui non
ci è rimedio, e se io non son tenuto in speranza da qualche partito,
io mi morrò in ogni modo; e veggendo di avere a morire, non sono
per temere cosa alcuna, ma per pigliare qualche partito bestiale,
crudo, nefando.
Li. Non dir cosi, raffrena cotesto impeto dell'animo.
Ca. Tu vedi bene che per raffrenarlo io mi pasco di simili pensieri. E
però è necessario o che noi seguitiamo di mandare costui al bagno,
o che noi entriamo per qualche altra via, che mi pasca d'una
speranza, se non vera, falsa almeno, per la quale io mi nutrisca un
pensiero che mitighi in parte tanti mia affanni.
Li. Tu hai ragione, e io son per farlo.
Ca. Io lo credo, ancora che io sappia ch'e' pari tuoi vivono d'uccellare
li uomini. Nondimanco, io non ti credo essere in quel numero, perché
quando tu il facessi ed io me ne avvedessi, cercherei di valermene, e
perderesti ora l'uso della casa mia, e la speranza d'avere quello che
per lo avvenire t'ho promesso.
Li. Non dubitare della fede mia, che quando e' non ci fussi l'utile che
io sento, e che io spero, ci è che 'l tuo sangue si affà col mio, e
desidero che tu adempia questo tuo desiderio presso a quanto tu.
Ma lasciamo ire questo. El dottore mi ha commesso che io truovi un
medico e intenda a quale bagno sia bene andare. Io voglio che tu
faccia a mio modo, e questo è che tu dica di avere studiato in
medicina, e abbi fatto a Parigi qualche sperienza; lui è per crederlo
facilmente per la semplicità sua, e per essere tu litterato e poterli
dire qualche cosa in grammatica.
Ca. A che ci ha a servir cotesto?
Li. Serviracci a mandarlo a qual bagno noi vorremo, ed a pigliare
qualche altro partito che io ho pensato, che sarà più corto, più certo,
più riuscibile che'l bagno.
Ca. Che di' tu?
Li. Dico che se tu arai animo e se tu confiderai in me, io ti do questa
cosa fatta innanzi che sia domani questa otta. E quando e' fussi uom
che non è, da ricercare se tu se' o non se' medico, la brevità del
tempo, la cosa in sé farà che non ne ragionerà, o che non sarà a
tempo a guastarci el disegno, quando bene e' ne ragionassi.
Ca. Tu mi risusciti. Questa è troppa gran promessa, e pascimi di
troppa grande speranza. Come farai?
Li. Tu el saperrai quando e' fia tempo; per ora non occorre che io te
lo dica, perché el tempo ci mancherà a fare nonché a dire. Tu vanne
in casa e quivi mi aspetta, e io anderò a trovare el dottore; e se io lo
conduco a te, andrai seguitando el mio parlare e accomodandoti a
quello.
Ca. Cosi farò, ancora che tu mi riempia d'una speranza che io temo
non se ne vada in fumo.
Canzone.
[II, l].
LIGURIO, MESSER NICIA, [SIRO].
Li. Come io vi ho detto, io credo che Dio ci abbi mandato costui,
perché voi adempiate il desiderio vostro. Egli ha fatto a Parigi
esperienzie grandissime, e non vi maravigliate se a Firenze e' non ha
fatto professione dell'arte; che n'è suto cagione prima per esser
ricco, secondo perché egli è ad ogni ora per tornare a Parigi.
Ni. Ormai frate sì, cotesto bene importa; perché io non vorrei che mi
mettessi in qualche leccieto e poi mi lasciassi in sulle secche.
Li. Non dubitate di cotesto; abbiate solo paura che non voglia
pigliare questa cura; ma se la piglia, e' non è per lasciarvi infino che
non ne vede el fine.
Ni. Di cotesta parte i' mi vo' fidare di te; ma della scienzia, io ti dirò
ben io, come io li parlo, s'egli è uom di dottrina, perché a me non
venderà egli vesciche.
Li. E perché io vi conosco, vi meno io a lui, acciò gli parliate. E se,
parlato gli avrete, e' non vi pare per presenzia, per dottrina, per
lingua, uno uomo da metterli il capo in grembo, dite che io non sia
desso.
Ni. Or sia, al nome dell'Agnol santo, andiamo. Ma dove sta egli?
Li. Sta in su questa piazza, in quell'uscio che voi vedete a dirimpetto
a voi.
Ni. Sia con buona ora.
Li. Ecco fatto.
Si. Chi è?
Li. Evvi Callimaco?
Si. Si, è.
Ni. Che non di' tu maestro Callimaco?
Li. E' non si cura di simil baie.
Ni. Non dire cosi, fa il tuo debito, e se l'ha per male, scingasi.
[II, 2].
CALLIMACO, MESSER NICIA, LIGURIO.
Ca. Chi è quello che mi vuole?
Ni. Bona dies, domine magister.
Ca. Et vobis bona, domine doctor.
Li. Che vi pare?
Ni. Bene, alle guagnele!
Li. Se voi volete ch'io stia qui con voi, voi parlerete in modo che io
v'intenda, altrimenti noi faremo duo fuochi.
Ca. Che buone faccende?
Ni. Che so io? Vo cercando due cose che un altro per avventura
fuggirebbe: questo è di dare briga a me e ad altri. Io non ho figliuoli,
e vorrene, e per aver questa briga vengo a dare impaccio a voi.
Ca. A me non fia mai discaro fare piacere a voi, ed a tutti li uomini
virtuosi e da bene come voi; e non mi son a Parigi affaticato tanti
anni per imparare, per altro, se non per potere servire a' pari vostri.
Ni. Gran mercé; e quando voi avessi bisogno dell'arte mia, io vi
servirei volentieri. Ma torniamo ad rem nostram. Avete voi pensato
che bagno fussi buono a disporre la donna mia ad impregnare? Ch'io
so che qui Ligurio vi ha detto quello che vi s'abbia detto.
Ca. Egli è la verità; ma a volere adempiere il desiderio vostro, è
necessario sapere la cagione della sterilità della donna vostra,
perché le possono essere più cagioni. Nam causae sterilitatis sunt:
aut in semine, aut in matrice, aut in strumentis seminariis, aut in
virga, aut in causa exstrinseca.
Ni. Costui è il più degno uomo che si possa trovare.
Ca. Potrebbe oltre di questo causarsi questa sterilità da voi per
impotenzia; e quando questo fussi, non ci sarebbe rimedio alcuno.
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade
Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.
ebooknice.com