Java in a Nutshell A Desktop Quick Reference 7th Edition Benjamin J. Evans
Java in a Nutshell A Desktop Quick Reference 7th Edition Benjamin J. Evans
Java in a Nutshell A Desktop Quick Reference 7th Edition Benjamin J. Evans
Java in a Nutshell A Desktop Quick Reference 7th Edition Benjamin J. Evans
1. Java in a Nutshell A Desktop Quick Reference 7th
Edition Benjamin J. Evans download
https://textbookfull.com/product/java-in-a-nutshell-a-desktop-
quick-reference-7th-edition-benjamin-j-evans/
Download full version ebook from https://textbookfull.com
2. We believe these products will be a great fit for you. Click
the link to download now, or visit textbookfull.com
to discover even more!
Python in a Nutshell A Desktop Quick Reference 3rd
Edition Alex Martelli
https://textbookfull.com/product/python-in-a-nutshell-a-desktop-
quick-reference-3rd-edition-alex-martelli/
C 7 0 in a Nutshell The Definitive Reference 7th
Edition Joseph Albahari
https://textbookfull.com/product/c-7-0-in-a-nutshell-the-
definitive-reference-7th-edition-joseph-albahari/
Java quick syntax reference Second Edition Olsson
https://textbookfull.com/product/java-quick-syntax-reference-
second-edition-olsson/
A Dictionary of Computer Science (Oxford Quick
Reference) 7th Edition Andrew Butterfield
https://textbookfull.com/product/a-dictionary-of-computer-
science-oxford-quick-reference-7th-edition-andrew-butterfield/
3. Java EE 6 Pocket Guide A Quick Reference for Simplified
Enterprise Java Development 1st Edition Gupta Arun
https://textbookfull.com/product/java-ee-6-pocket-guide-a-quick-
reference-for-simplified-enterprise-java-development-1st-edition-
gupta-arun/
C# 9.0 in a Nutshell: The Definitive Reference 1st
Edition Joseph Albahari
https://textbookfull.com/product/c-9-0-in-a-nutshell-the-
definitive-reference-1st-edition-joseph-albahari/
Android Software Internals Quick Reference: A Field
Manual and Security Reference Guide to Java-based
Android Components 1st Edition James Stevenson
https://textbookfull.com/product/android-software-internals-
quick-reference-a-field-manual-and-security-reference-guide-to-
java-based-android-components-1st-edition-james-stevenson/
Eric Hobsbawm: A Life in History Richard J. Evans
https://textbookfull.com/product/eric-hobsbawm-a-life-in-history-
richard-j-evans/
Managing infectious diseases in child care and schools
a quick reference guide Aronson
https://textbookfull.com/product/managing-infectious-diseases-in-
child-care-and-schools-a-quick-reference-guide-aronson/
6. views. While the publisher and the authors have used good faith efforts to ensure that the
information and instructions contained in this work are accurate, the publisher and the authors
disclaim all responsibility for errors or omissions, including without limitation responsibility for
damages resulting from the use of or reliance on this work. Use of the information and
instructions contained in this work is at your own risk. If any code samples or other technology
this work contains or describes is subject to open source licenses or the intellectual property
rights of others, it is your responsibility to ensure that your use thereof complies with such
licenses and/or rights.
9781492037255
[LSI]
7. Part I. Introducing Java
Part I is an introduction to the Java language and the Java platform. These chapters provide
enough information for you to get started using Java right away:
Chapter 1, Introduction to the Java Environment
Chapter 2, Java Syntax from the Ground Up
Chapter 3, ObjectOriented Programming in Java
Chapter 4, The Java Type System
Chapter 5, Introduction to ObjectOriented Design in Java
Chapter 6, Java’s Approach to Memory and Concurrency
History
Topics
Tutorials
Offers & Deals
Highlights
Settings
Support
Sign Out
8. Chapter 1. Introduction to the Java
Environment
Welcome to Java 11.
That version number probably surprises you as much as it does us. It seems like only yesterday
that Java 5 was the new thing, and yet here we are, 14 years and 6 major versions later.
You may be coming to the Java ecosystem from another language, or maybe this is your first
programming language. Whatever road you may have traveled to get here, welcome—we’re
glad you’ve arrived.
Java is a powerful, generalpurpose programming environment. It is one of the most widely
used programming languages in the world, and has been exceptionally successful in business
and enterprise computing.
In this chapter, we’ll set the scene by describing the Java language (which programmers write
their applications in), the Java Virtual Machine (which executes those applications), and the
Java ecosystem (which provides a lot of the value of the programming environment to
development teams).
We’ll briefly cover the history of the Java language and virtual machine, before moving on to
discuss the lifecycle of a Java program and clear up some common questions about the
differences between Java and other environments.
At the end of the chapter, we’ll introduce Java security, and discuss some of the aspects of Java
that relate to secure coding.
The Language, the JVM, and the Ecosystem
The Java programming environment has been around since the late 1990s. It comprises the Java
language, and the supporting runtime, otherwise known as the Java Virtual Machine (JVM).
At the time that Java was initially developed, this split was considered novel, but recent trends
History
Topics
Tutorials
Offers & Deals
Highlights
Settings
Support
Sign Out
.
9. in software development have made it more commonplace. Notably, Microsoft’s .NET
environment, announced a few years after Java, adopted a very similar approach to platform
architecture.
One important difference between Microsoft’s .NET platform and Java is that Java was always
conceived as a relatively open ecosystem of multiple vendors, albeit led by a steward who owns
the technology. Throughout Java’s history, these vendors have both cooperated and competed
on aspects of Java technology.
One of the main reasons for the success of Java is that this ecosystem is a standardized
environment. This means there are specifications for the technologies that comprise the
environment. These standards give the developer and consumer confidence that the technology
will be compatible with other components, even if they come from a different technology
vendor.
The current steward of Java is Oracle Corporation (who acquired Sun Microsystems, the
originator of Java). Other corporations, such as Red Hat, IBM, Amazon, AliBaba, SAP, Azul
Systems, and Fujitsu are also heavily involved in producing implementations of standardized
Java technologies.
TIP
As of Java 11, the primary reference implementation of Java is the open source
OpenJDK, which many of these companies collaborate on and base their shipping
products upon.
Java actually comprises several different but related environments and specifications, such as
Java Mobile Edition (Java ME), Java Standard Edition (Java SE), and Java Enterprise Edition
(Java EE). In this book, we’ll only cover Java SE, version 11, with some historical notes
related to when certain features were introduced into the platform.
We will have more to say about standardization later, so let’s move on to discuss the Java
language and JVM as separate but related concepts.
What Is the Java Language?
Java programs are written as source code in the Java language. This is a humanreadable
programming language, which is strictly class based and object oriented. The language syntax is
deliberately modeled on that of C and C++ and it was explicitly intended to be familiar to
1
2
10. programmers coming from those languages.
NOTE
Although the source code is similar to C++, in practice Java includes features and a
managed runtime that has more in common with more dynamic languages such as
Smalltalk.
Java is considered to be relatively easy to read and write (if occasionally a bit verbose). It has a
rigid grammar and simple program structure, and is intended to be easy to learn and to teach. It
builds on industry experience with languages like C++ and tries to remove complex features as
well as preserving “what works” from previous programming languages.
Overall, Java is intended to provide a stable, solid base for companies to develop business
critical applications. As a programming language, it has a relatively conservative design and a
slow rate of change. These properties are a conscious attempt to serve the goal of protecting the
investment that organizations have made in Java technology.
The language has undergone gradual revision (but no complete rewrites) since its inception in
1996. This does mean that some of Java’s original design choices, which were expedient in the
late 1990s, are still affecting the language today—see Chapters 2 and 3 for more details.
Java 8 added the most radical changes seen in the language for almost a decade (some would
say since the birth of Java). Features like lambda expressions and the overhaul of the core
Collections code were enormously popular and changed forever the way that Java developers
write code. Since then, the platform has produced a release (Java 9) that adds a major (and long
delayed) feature: the platform modules system (JPMS).
With that release, the project has transitioned to a new, much faster release model where new
Java versions are released every six months—bringing us up to Java 11. The Java language is
governed by the Java Language Specification (JLS), which defines how a conforming
implementation must behave.
What Is the JVM?
The JVM is a program that provides the runtime environment necessary for Java programs to
execute. Java programs cannot run unless there is a JVM available for the appropriate hardware
and OS platform we wish to execute on.
11. Fortunately, the JVM has been ported to run on a large number of environments—anything from
a settop box or Bluray player to a huge mainframe will probably have a JVM available for it.
Java programs are typically started from a command line like this:
java <arguments> <program name>
This brings up the JVM as an operating system process that provides the Java runtime
environment, and then executes our program in the context of the freshly started (and empty)
virtual machine.
It is important to understand that when the JVM takes in a Java program for execution, the
program is not provided as Java language source code. Instead, the Java language source must
have been converted (or compiled) into a form known as Java bytecode. Java bytecode must be
supplied to the JVM in a format called class files (which always have a .class extension).
The JVM provides an execution environment for the program. It starts an interpreter for the
bytecode form of the program that steps through one bytecode instruction at a time. However,
production JVMs also provide a runtime compiler that will accelerate the important parts of the
program by replacing them with equivalent compiled machine code.
You should also be aware that both the JVM and the user program are capable of spawning
additional threads of execution, so that a user program may have many different functions
running simultaneously.
The design of the JVM built on many years of experience with earlier programming
environments, notably C and C++, so we can think of it as having several different goals—
which are all intended to make life easier for the programmer:
Comprise a container for application code to run inside
Provide a secure and reliable execution environment as compared to C/C++
Take memory management out of the hands of developers
Provide a crossplatform execution environment
These objectives are often mentioned together in discussions of the platform.
We’ve already mentioned the first of these goals, when we discussed the JVM and its bytecode
interpreter—it functions as the container for application code.
12. We’ll discuss the second and third goals in Chapter 6, when we talk about how the Java
environment deals with memory management.
The fourth goal, sometimes called “write once, run anywhere” (WORA), is the property that
Java class files can be moved from one execution platform to another, and they will run
unaltered provided a JVM is available.
This means that a Java program can be developed (and converted to class files) on a machine
running macOS, and then the class files can be moved to Linux or Microsoft Windows (or other
platforms) and the Java program will run without any further work needed.
NOTE
The Java environment has been very widely ported, including to platforms that are
very different from mainstream platforms like Linux, macOS, and Windows. In this
book, we use the phrase “most implementations” to indicate those platforms that the
majority of developers are likely to encounter; macOS, Windows, Linux, BSD
Unix, and the like are all considered “mainstream platforms” and count within
“most implementations.”
In addition to these four primary goals, there is another aspect of the JVM’s design that is not
always recognized or discussed—it makes use of runtime information to selfmanage.
Software research in the 1970s and 1980s revealed that the runtime behavior of programs has a
large amount of interesting and useful patterns that cannot be deduced at compile time. The
JVM was the first truly mainstream platform to make use of this research.
It collects runtime information to make better decisions about how to execute code. That means
that the JVM can monitor and optimize a program running on it in a manner not possible for
platforms without this capability.
A key example is the runtime fact that not all parts of a Java program are equally likely to be
called during the lifetime of the program—some portions will be called far, far more often than
others. The Java platform takes advantage of this fact with a technology called justintime (JIT)
compilation.
In the HotSpot JVM (which was the JVM that Sun first shipped as part of Java 1.3, and is still in
use today), the JVM first identifies which parts of the program are called most often—the “hot
methods.” Then, the JVM compiles these hot methods directly into machine code, bypassing the
13. JVM interpreter.
The JVM uses the available runtime information to deliver higher performance than was
possible from purely interpreted execution. In fact, the optimizations that the JVM uses now in
many cases produce performance that surpasses compiled C and C++ code.
The standard that describes how a properly functioning JVM must behave is called the JVM
Specification.
What Is the Java Ecosystem?
The Java language is easy to learn and contains relatively few abstractions, compared to other
programming languages. The JVM provides a solid, portable, highperformance base for Java
(or other languages) to execute on. Taken together, these two connected technologies provide a
foundation that businesses can feel confident about when choosing where to base their
development efforts.
The benefits of Java do not end there, however. Since Java’s inception, an extremely large
ecosystem of thirdparty libraries and components has grown up. This means that a development
team can benefit hugely from the existence of connectors and drivers for practically every
technology imaginable—both proprietary and open source.
In the modern technology ecosystem it is now rare indeed to find a technology component that
does not offer a Java connector. From traditional relational databases, to NoSQL, to every type
of enterprise monitoring system, to messaging systems, to Internet of Things (IoT)—everything
integrates with Java.
It is this fact that has been a major driver of adoption of Java technologies by enterprises and
larger companies. Development teams have been able to unlock their potential by making use of
preexisting libraries and components. This has promoted developer choice and encouraged
open, bestofbreed architectures with Java technology cores.
NOTE
Google’s Android environment is sometimes thought of as being “based on Java.”
However, the picture is actually more complicated. Android code is written in Java
but originally used a different implementation of Java’s class libraries along with a
cross compiler to convert to a different file format for a nonJava virtual machine.
14. The combination of a rich ecosystem and a firstrate virtual machine with an open standard for
program binaries makes the Java platform a very attractive execution target. In fact, there are a
large number of nonJava languages that target the JVM and also interoperate with Java (which
allows them to piggyback off the platform’s success). These languages include Kotlin, Scala,
Groovy, and many others. While all of them are small compared to Java, they have distinct
niches within the Java world, and provide a source of innovation and healthy competition to
Java.
A Brief History of Java and the JVM
Java 1.0 (1996)
This was the first public version of Java. It contained just 212 classes organized in eight
packages. The Java platform has always had an emphasis on backward compatibility, and
code written with Java 1.0 will still run today on Java 11 without modification or
recompilation.
Java 1.1 (1997)
This release of Java more than doubled the size of the Java platform. This release introduced
“inner classes” and the first version of the Reflection API.
Java 1.2 (1998)
This was a very significant release of Java; it tripled the size of the Java platform. This
release marked the first appearance of the Java Collections API (with sets, maps, and lists).
The many new features in the 1.2 release led Sun to rebrand the platform as “the Java 2
Platform.” The term “Java 2” was simply a trademark, however, and not an actual version
number for the release.
Java 1.3 (2000)
This was primarily a maintenance release, focused on bug fixes, stability, and performance
improvements. This release also brought in the HotSpot Java Virtual Machine, which is still
in use today (although heavily modified and improved since then).
Java 1.4 (2002)
This was another fairly big release, adding important new functionality such as a higher
performance, lowlevel I/O API; regular expressions for text handling; XML and XSLT
libraries; SSL support; a logging API; and cryptography support.
15. Java 5 (2004)
This large release of Java introduced a number of changes to the core language itself
including generic types, enumerated types (enums), annotations, varargs methods,
autoboxing, and a new for loop. These changes were considered significant enough to
change the major version number, and to start numbering as major releases. This release
included 3,562 classes and interfaces in 166 packages. Notable additions included utilities
for concurrent programming, a remote management framework, and classes for the remote
management and instrumentation of the Java VM itself.
Java 6 (2006)
This release was also largely a maintenance and performance release. It introduced the
Compiler API, expanded the usage and scope of annotations, and provided bindings to allow
scripting languages to interoperate with Java. There were also a large number of internal bug
fixes and improvements to the JVM and the Swing GUI technology.
Java 7 (2011)
The first release of Java under Oracle’s stewardship included a number of major upgrades to
the language and platform. The introduction of trywithresources and the NIO.2 API
enabled developers to write much safer and less errorprone code for handling resources and
I/O. The Method Handles API provided a simpler and safer alternative to reflection; in
addition, it opened the door for invokedynamic (the first new bytecode since version 1.0
of Java).
Java 8 (2014) (LTS)
This was a huge release—potentially the most significant changes to the language since Java
5 (or possibly ever). The introduction of lambda expressions provided the ability to
significantly enhance the productivity of developers, the Collections were updated to make
use of lambdas, and the machinery required to achieve this marked a fundamental change in
Java’s approach to object orientation. Other major updates include a new date and time API,
and major updates to the concurrency libraries.
Java 9 (2017)
Significantly delayed, this release introduced the new platform modularity feature, which
allows Java applications to be packaged into deployment units and modularize the platform
runtime. Other changes include a new default garbage collection algorithm, a new API for
handling processes, and some changes to the way that frameworks can access the internals.
16. Java 10 (March 2018)
This marks the first release under the new release cycle. This release contained a relatively
small amount of new features (due to its sixmonth development lifetime). New syntax for
type inference was introduced, along with some internal changes (including GC tweaks and
an experimental new compiler).
Java 11 (September 2018) (LTS)
The current version, also developed over a short sixmonth window, this release is the first
modular Java to be considered as a longterm support (LTS) release. It adds relatively few
new features that are directly visible to the developer—primarily Flight Recorder and the
new HTTP/2 API. There are some additional internal changes, but this release is primarily
for stabilization.
As it stands, the only current production versions are Java 8 and 11—the LTS releases. Due to
the highly significant changes that are introduced by modules, Java 8 has been grandfathered in
as an LTS release to provide extra time for teams and applications to migrate to a supported
modular Java.
The Lifecycle of a Java Program
To better understand how Java code is compiled and executed, and the difference between Java
and other types of programming environments, consider the pipeline in Figure 11.
Figure 1-1. How Java code is compiled and loaded
This starts wth Java source, and passes it through the javac program to produce class files—
which contain the source code compiled to Java bytecode. The class file is the smallest unit of
17. functionality the platform will deal with, and the only way to get new code into a running
program.
New class files are onboarded via the classloading mechanism (see Chapter 10 for a lot more
detail on how classloading works). This makes the new type available to the interpreter for
execution.
Frequently Asked Questions
In this section, we’ll discuss some of the most frequently asked questions about Java and the
lifecycle of programs written in the Java environment.
WHAT IS BYTECODE?
When developers are first introduced to the JVM, they sometimes think of it as “a computer
inside a computer.” It’s then easy to imagine bytecode as “machine code for the CPU of the
internal computer” or “machine code for a madeup processor.”
In fact, bytecode is not actually very similar to machine code that would run on a real hardware
processor. Instead, computer scientists would call bytecode a type of intermediate
representation—a halfway house between source code and machine code.
The whole aim of bytecode is to be a format that can be executed efficiently by the JVM’s
interpreter.
IS JAVAC A COMPILER?
Compilers usually produce machine code, but javac produces bytecode, which is not that
similar to machine code. However, class files are a bit like object files (like Windows .dll files,
or Unix .so files)—and they are certainly not human readable.
In theoretical computer science terms, javac is most similar to the front half of a compiler—it
creates the intermediate representation that can then be used later to produce (emit) machine
code.
However, because creation of class files is a separate buildtime step that resembles compilation
in C/C++, many developers consider running javac to be compilation. In this book, we will
use the terms “source code compiler” or "javac compiler” to mean the production of class
files by javac.
We will reserve “compilation” as a standalone term to mean JIT compilation—as it’s JIT
compilation that actually produces machine code.
WHY IS IT CALLED “BYTECODE”?
18. The instruction code (opcode) is just a single byte (some operations also have parameters that
follow them in the bytestream), so there are only 256 possible instructions. In practice, some are
unused—about 200 are in use, but some of them aren’t emitted by recent versions of javac.
IS BYTECODE OPTIMIZED?
In the early days of the platform, javac produced heavily optimized bytecode. This turned out
to be a mistake. With the advent of JIT compilation, the important methods are going to be
compiled to very fast machine code. It’s therefore very important to make the job of the JIT
compiler easier—as there are much bigger gains available from JIT compilation than there are
from optimizing bytecode, which will still have to be interpreted.
IS BYTECODE REALLY MACHINE INDEPENDENT? WHAT ABOUT THINGS LIKE
ENDIANNESS?
The format of bytecode is always the same, regardless of what type of machine it was created
on. This includes the byte ordering (sometimes called “endianness”) of the machine. For readers
who are interested in the details, bytecode is always bigendian.
IS JAVA AN INTERPRETED LANGUAGE?
The JVM is basically an interpreter (with JIT compilation to give it a big performance boost).
However, most interpreted languages (such as PHP, Perl, Ruby, and Python) directly interpret
programs from source form (usually by constructing an abstract syntax tree from the input
source file). The JVM interpreter, on the other hand, requires class files—which, of course,
require a separate source code compilation step with javac.
CAN OTHER LANGUAGES RUN ON THE JVM?
Yes. The JVM can run any valid class file, so this means that nonJava languages can run on the
JVM in one of two ways. First, they could have a source code compiler (similar to javac) that
produces class files, which would run on the JVM just like Java code (this is the approach taken
by languages like Scala).
Alternatively, a nonJava language could implement an interpreter and runtime in Java, and then
interpret the source form of their language directly. This second option is the approach taken by
languages like JRuby (but JRuby has a very sophisticated runtime that is capable of secondary
JIT compilation in some circumstances).
Java Security
Java has been designed from the ground up with security in mind; this gives it a great advantage
over many other existing systems and platforms. The Java security architecture was designed by
security experts and has been studied and probed by many other security experts since the
19. inception of the platform. The consensus is that the architecture itself is strong and robust,
without any security holes in the design (at least none that have been discovered yet).
Fundamental to the design of the security model is that bytecode is heavily restricted in what it
can express—there is no way, for example, to directly address memory. This cuts out entire
classes of security problems that have plagued languages like C and C++. Furthermore, the VM
goes through a process known as bytecode verification whenever it loads an untrusted class,
which removes a further large class of problems (see Chapter 10 for more about bytecode
verification).
Despite all this, however, no system can guarantee 100% security, and Java is no exception.
While the design is still theoretically robust, the implementation of the security architecture is
another matter, and there is a long history of security flaws being found and patched in
particular implementations of Java.
In particular, the release of Java 8 was delayed, at least partly, due to the discovery of a number
of security problems that required considerable effort to fix.
In all likelihood, security flaws will continue to be discovered (and patched) in Java VM
implementations. For practical serverside coding, Java remains perhaps the most secure
generalpurpose platform currently available, especially when kept patched up to date.
Comparing Java to Other Languages
In this section, we’ll briefly highlight some differences between the Java platform and other
programming environments you may be familiar with.
Java Compared to C
Java is object oriented; C is procedural.
Java is portable as class files; C needs to be recompiled.
Java provides extensive instrumentation as part of the runtime.
Java has no pointers and no equivalent of pointer arithmetic.
Java provides automatic memory management via garbage collection.
Java has no ability to lay out memory at a low level (no structs).
Java has no preprocessor.
Java Compared to C++
20. Java Compared to C++
Java has a simplified object model compared to C++.
Java’s dispatch is virtual by default.
Java is always passbyvalue (but one of the possibilities for Java’s values is object
references).
Java does not support full multiple inheritance.
Java’s generics are less powerful (but also less dangerous) than C++ templates.
Java has no operator overloading.
Java Compared to Python
Java is statically typed; Python is dynamically typed.
Java is multithreaded; Python only allows one thread to execute Python at once.
Java has a JIT; the main implementation of Python does not.
Java’s bytecode has extensive static checks; Python’s bytecode does not.
Java Compared to JavaScript
Java is statically typed; JavaScript is dynamically typed.
Java uses classbased objects; JavaScript is prototype based.
Java provides good object encapsulation; JavaScript does not.
Java has namespaces; JavaScript does not.
Java is multithreaded; JavaScript is not.
Answering Some Criticisms of Java
Java has had a long history in the public eye and, as a result, has attracted its fair share of
criticism over the years. Some of this negative press can be attributed to some technical
shortcomings combined with rather overzealous marketing in the first versions of Java.
Some criticisms have, however, entered technical folklore despite no longer being very accurate.
In this section, we’ll look at some common grumbles and the extent to which they’re true for
21. modern versions of the platform.
Overly Verbose
The Java core language has sometimes been criticized as overly verbose. Even simple Java
statements such as Object o = new Object(); seem to be repetitious—the type
Object appears on both the left and right side of the assignment. Critics point out that this is
essentially redundant, that other languages do not need this duplication of type information, and
that many languages support features (e.g., type inference) that remove it.
The counterpoint to this argument is that Java was designed from the start to be easy to read
(code is read more often than written) and that many programmers, especially novices, find the
extra type information helpful when reading code.
Java is widely used in enterprise environments, which often have separate dev and ops teams.
The extra verbosity can often be a blessing when you are responding to an outage call, or when
you need to maintain and patch code that was written by developers who have long since moved
on.
In recent versions of Java, the language designers have attempted to respond to some of these
points, by finding places where the syntax can become less verbose and by making better use of
type information. For example:
// Files helper methods
byte[] contents =
Files.readAllBytes(Paths.get("/home/ben/myFile.bin"));
// Diamond syntax for repeated type information
List<String> l = new ArrayList<>();
// Local variables can be type inferred
var threadPool = Executors.newScheduledThreadPool(2);
// Lambda expressions simplify Runnables
threadPool.submit(() > { System.out.println("On Threadpool"); });
However, Java’s overall philosophy is to make changes to the language only very slowly and
carefully, so the pace of these changes may not satisfy detractors completely.
Slow to Change
The original Java language is now well over 20 years old, and has not undergone a complete
revision in that time. Many other languages (e.g., Microsoft’s C#) have released backward
incompatible versions in the same period, and some developers criticize Java for not doing
22. likewise.
Furthermore, in recent years, the Java language has come under fire for being slow to adopt
language features that are now commonplace in other languages.
The conservative approach to language design that Sun (and now Oracle) has taken an attempt
to avoid imposing the costs and externalities of misfeatures on a very large user base. Many
Java shops have made major investments in the technology, and the language designers have
taken seriously the responsibility of not disrupting the existing user and install base.
Each new language feature needs to be very carefully thought about—not only in isolation, but
in terms of how it will interact with all the existing features of the language. New features can
sometimes have impacts beyond their immediate scope—and Java is widely used in very large
codebases, where there are more potential places for an unexpected interaction to manifest.
It is almost impossible to remove a feature that turns out to be incorrect after it has shipped. Java
has a couple of misfeatures (such as the finalization mechanism) that it has never been possible
to remove safely without impacting the install base. The language designers have taken the view
that extreme caution is required when evolving the language.
Having said that, the new language features that have arrived in recent versions are a significant
step toward addressing the most common complaints about missing features, and should cover
many of the idioms that developers have been asking for.
Performance Problems
The Java platform is still sometimes criticized as being slow—but of all the criticisms that are
leveled at the platform, this is probably the one that is least justified. It is a genuine myth about
the platform.
Release 1.3 of Java brought in the HotSpot Virtual Machine and its JIT compiler. Since then,
there has been over 15 years of continual innovation and improvement in the virtual machine
and its performance. The Java platform is now blazingly fast, regularly winning performance
benchmarks on popular frameworks, and even beating nativecompiled C and C++.
Criticism in this area appears to be largely caused by a folk memory that Java was slow at some
point in the past. Some of the larger and more sprawling architectures that Java has been used
within may also have contributed to this impression.
The truth is that any large architecture will require benchmarking, analysis, and performance
tuning to get the best out of it—and Java is no exception.
23. The core of the platform—language and JVM—was and remains one of the fastest generaluse
environments available to the developer.
Insecure
During 2013 there were a number of security vulnerabilities in the Java platform, which caused
the release date of Java 8 to be pushed back. Even before this, some people had criticized Java’s
record of security vulnerabilities.
Many of these vulnerabilities involved the desktop and GUI components of the Java system, and
wouldn’t affect websites or other serverside code written in Java.
All programming platforms have security issues at times, and many other languages have a
comparable history of security vulnerabilities that have been significantly less well publicized.
Too Corporate
Java is a platform that is extensively used by corporate and enterprise developers. The
perception that it is too corporate is therefore an unsurprising one—Java has often been
perceived as lacking the “freewheeling” style of languages that are deemed to be more
community oriented.
In truth, Java has always been, and remains, a very widely used language for community and
free or open source software development. It is one of the most popular languages for projects
hosted on GitHub and other project hosting sites.
Finally, the most widely used implementation of the language itself is based on OpenJDK—
which is itself an open source project with a vibrant and growing community.
Java ME is an older standard for smartphones and feature phones. Android and iOS are
much more common on phones today, but Java ME is still a large market for embedded
devices.
Java EE has now been transferred to the Eclipse Foundation, where it continues its life as the
Jakarta EE project.
1
2
24. Chapter 2. Java Syntax from the Ground Up
This chapter is a terse but comprehensive introduction to Java syntax. It is written primarily for
readers who are new to the language but have some previous programming experience.
Determined novices with no prior programming experience may also find it useful. If you
already know Java, you should find it a useful language reference. The chapter includes some
comparisons of Java to C and C++ for the benefit of programmers coming from those
languages.
This chapter documents the syntax of Java programs by starting at the very lowest level of Java
syntax and building from there, moving on to increasingly higher orders of structure. It covers:
The characters used to write Java programs and the encoding of those characters.
Literal values, identifiers, and other tokens that comprise a Java program.
The data types that Java can manipulate.
The operators used in Java to group individual tokens into larger expressions.
Statements, which group expressions and other statements to form logical chunks of Java
code.
Methods, which are named collections of Java statements that can be invoked by other Java
code.
Classes, which are collections of methods and fields. Classes are the central program element
in Java and form the basis for objectoriented programming. Chapter 3 is devoted entirely to
a discussion of classes and objects.
Packages, which are collections of related classes.
Java programs, which consist of one or more interacting classes that may be drawn from one
or more packages.
History
Topics
Tutorials
Offers & Deals
Highlights
Settings
Support
Sign Out
25. The syntax of most programming languages is complex, and Java is no exception. In general, it
is not possible to document all elements of a language without referring to other elements that
have not yet been discussed. For example, it is not really possible to explain in a meaningful
way the operators and statements supported by Java without referring to objects. But it is also
not possible to document objects thoroughly without referring to the operators and statements of
the language. The process of learning Java, or any language, is therefore an iterative one.
Java Programs from the Top Down
Before we begin our bottomup exploration of Java syntax, let’s take a moment for a topdown
overview of a Java program. Java programs consist of one or more files, or compilation units, of
Java source code. Near the end of the chapter, we describe the structure of a Java file and
explain how to compile and run a Java program. Each compilation unit begins with an optional
package declaration followed by zero or more import declarations. These declarations
specify the namespace within which the compilation unit will define names, and the namespaces
from which the compilation unit imports names. We’ll see package and import again later
in this chapter in “Packages and the Java Namespace”.
The optional package and import declarations are followed by zero or more reference type
definitions. We will meet the full variety of possible reference types in Chapters 3 and 4 , but
for now, we should note that these are most often either class or interface definitions.
Within the definition of a reference type, we will encounter members such as fields, methods,
and constructors. Methods are the most important kind of member. Methods are blocks of Java
code composed of statements.
With these basic terms defined, let’s start by approaching a Java program from the bottom up by
examining the basic units of syntax—often referred to as lexical tokens.
Lexical Structure
This section explains the lexical structure of a Java program. It starts with a discussion of the
Unicode character set in which Java programs are written. It then covers the tokens that
comprise a Java program, explaining comments, identifiers, reserved words, literals, and so on.
The Unicode Character Set
Java programs are written using Unicode. You can use Unicode characters anywhere in a Java
program, including comments and identifiers such as variable names. Unlike the 7bit ASCII
character set, which is useful only for English, and the 8bit ISO Latin1 character set, which is
useful only for major Western European languages, the Unicode character set can represent
26. virtually every written language in common use on the planet.
TIP
If you do not use a Unicodeenabled text editor, or if you do not want to force other
programmers who view or edit your code to use a Unicodeenabled editor, you can
embed Unicode characters into your Java programs using the special Unicode
escape sequence uxxxx—that is, a backslash and a lowercase u, followed by four
hexadecimal characters. For example, u0020 is the space character, and u03c0
is the character π.
Java has invested a large amount of time and engineering effort in ensuring that its Unicode
support is first class. If your business application needs to deal with global users, especially in
nonWestern markets, then the Java platform is a great choice. Java also has support for multiple
encodings and character sets, in case applications need to interact with nonJava applications
that do not speak Unicode.
Case Sensitivity and Whitespace
Java is a casesensitive language. Its keywords are written in lowercase and must always be
used that way. That is, While and WHILE are not the same as the while keyword. Similarly,
if you declare a variable named i in your program, you may not refer to it as I.
TIP
In general, relying on case sensitivity to distinguish identifiers is a terrible idea. Do
not use it in your own code, and in particular never give an identifier the same name
as a keyword but differently cased.
Java ignores spaces, tabs, newlines, and other whitespace, except when it appears within quoted
characters and string literals. Programmers typically use whitespace to format and indent their
code for easy readability, and you will see common indentation conventions in this book’s code
examples.
Comments
Comments are naturallanguage text intended for human readers of a program. They are ignored
27. by the Java compiler. Java supports three types of comments. The first type is a singleline
comment, which begins with the characters // and continues until the end of the current line.
For example:
int i = 0; // Initialize the loop variable
The second kind of comment is a multiline comment. It begins with the characters /* and
continues, over any number of lines, until the characters */. Any text between the /* and the
*/ is ignored by javac. Although this style of comment is typically used for multiline
comments, it can also be used for singleline comments. This type of comment cannot be nested
(i.e., one /* */ comment cannot appear within another). When writing multiline comments,
programmers often use extra * characters to make the comments stand out. Here is a typical
multiline comment:
/*
* First, establish a connection to the server.
* If the connection attempt fails, quit right away.
*/
The third type of comment is a special case of the second. If a comment begins with /**, it is
regarded as a special doc comment. Like regular multiline comments, doc comments end with
*/ and cannot be nested. When you write a Java class you expect other programmers to use,
provide doc comments to embed documentation about the class and each of its methods directly
into the source code. A program named javadoc extracts these comments and processes them
to create online documentation for your class. A doc comment can contain HTML tags and can
use additional syntax understood by javadoc. For example:
/**
* Upload a file to a web server.
*
* @param file The file to upload.
* @return <tt>true</tt> on success,
* <tt>false</tt> on failure.
* @author David Flanagan
*/
See Chapter 7 for more information on the doc comment syntax and Chapter 13 for more
information on the javadoc program.
Comments may appear between any tokens of a Java program, but may not appear within a
token. In particular, comments may not appear within doublequoted string literals. A comment
28. within a string literal simply becomes a literal part of that string.
Reserved Words
The following words are reserved in Java (they are part of the syntax of the language and may
not be used to name variables, classes, and so forth):
abstract const final int public throw
assert continue finally interface return throws
boolean default float long short transient
break do for native static true
byte double goto new strictfp try
case else if null super void
catch enum implements package switch volatile
char extends import private synchronized while
class false instanceof protected this
Of these, true, false, and null are technically literals. The sequence var is not a
keyword, but instead indicates that the type of a local variable should be typeinferred. The
character sequence consisting of a single underscore, _, is also disallowed as an identifier. There
are also 10 restricted keywords which are only considered keywords within the context of
declaring a Java platform module.
We’ll meet each of these reserved words again later in this book. Some of them are the names of
primitive types and others are the names of Java statements, both of which are discussed later in
this chapter. Still others are used to define classes and their members (see Chapter 3).
Note that const and goto are reserved but aren’t actually used in the language, and that
interface has an additional variant form—@interface, which is used when defining
types known as annotations. Some of the reserved words (notably final and default) have
a variety of meanings depending on context.
Identifiers
An identifier is simply a name given to some part of a Java program, such as a class, a method
within a class, or a variable declared within a method. Identifiers may be of any length and may
contain letters and digits drawn from the entire Unicode character set. An identifier may not
begin with a digit.
In general, identifiers may not contain punctuation characters. Exceptions include the dollar sign
($) as well as other Unicode currency symbols such as £ and ¥.
The ASCII underscore (_) also deserves special mention. Originally, the underscore could be
29. freely used as an identifier, or part of one. However, in recent versions of Java, including Java
11, the underscore may not be used as an identifier.
The underscore character can still appear in a Java identifier, but it is no longer legal as a
complete identifier by itself. This is to support an expected forthcoming language feature
whereby the underscore will acquire a special new syntactic meaning.
TIP
Currency symbols are intended for use in automatically generated source code, such
as code produced by javac. By avoiding the use of currency symbols in your own
identifiers, you don’t have to worry about collisions with automatically generated
identifiers.
The usual Java convention is to name variables using camel case. This means that the first letter
of a variable should be lowerase, but that the first letter of any other words in the identifier
should be uppercase.
Formally, the characters allowed at the beginning of and within an identifier are defined by the
methods isJavaIdentifierStart() and isJavaIdentifierPart() of the class
java.lang.Character.
The following are examples of legal identifiers:
i x1 theCurrentTime current 獺
Note in particular the example of a UTF8 identifier, 獺. This is the Kanji character for “otter”
and is perfectly legal as a Java identifier. The usage of nonASCII identifiers is unusual in
programs predominantly written by Westerners, but is sometimes seen.
Literals
Literals are sequences of source characters that directly represent constant values that appear as
is in Java source code. They include integer and floatingpoint numbers, single characters within
single quotes, strings of characters within double quotes, and the reserved words true, false,
and null. For example, the following are all literals:
1 1.0 '1' 1L "one" true false null
31. 113) In dem um einige Fuß abgelassenen S t r e i t z i g s e e bei
Neustettin ist ein bisher durch Rohrwuchs verdecktes großes
P f a h l b a u t e n r e v i e r entdeckt worden, bei dessen
oberflächlicher Untersuchung viel Kohle und mehrere alte Mahlsteine
gefunden wurden.
(Ill. Ztg. Nr. 1323, Korr. v. u. f. D. Nr. 564.)
114) In B ö h m e n haben sich, nach österreichischen Blättern,
nun auch Reste von P f a h l b a u t e n gefunden, und zwar auf der
Höhe des Erzgebirges im Kreiserwalde bei Sonnenberg. Von den in
ziemlicher Tiefe gefundenen Werkzeugen und Geräthschaften
werden erwähnt: Ein Schleifstein, aus einer Platte von hartem
Sandstein bereitet, ein aus dem Zahn eines Ebers gefertigtes
Weberschiffchen, eine Steinschleuder, Pfriemen zur Bearbeitung von
Lederwaaren, eine Vase, ein Thonkessel, ein Wagen- oder Karrenrad,
eine eichene Kette, ein Angelhaken, eine Dolchspitze, ein kurzes
zweischneidiges Schwert, eine Nadel aus Bronze. Das
Bemerkenswertheste sind jedoch vier dabei befindliche
Menschenschädel.
(Ill. Ztg. Nr. 1321.)
115) Etwa 800 Schritte östlich von dem letzten Hause des Dorfes
P e s t l i n (zwischen Marienwerder und Marienburg), dicht am Wege
nach Zyguß, wurde im Sommer 1867 beim Graben nach Mauergrund
auf ebenem Felde in nur zwei Fuß Tiefe unter der Oberfläche eine
große Anzahl (der Angabe nach über fünfzig) h e i d n i s c h e r
A s c h e n g e f ä ß e verschiedener Form gefunden. Die meisten
derselben sind von den Findern zerschlagen worden. Nur vier Stück,
welche Kinder an sich genommen hatten, haben sich durch Zufall
erhalten und sind, in Folge meines eifrigen Nachforschens, wieder
zum Vorschein und in meinen Besitz gelangt[220]. Nach Angabe der
Landleute standen und lagen die Töpfe dicht bei einander, zum Theil
umgekehrt, in dem groben Sande und haben nichts
Bemerkenswerthes enthalten. In diesem Frühjahre besuchte ich die
Fundstätte, fand aber nur Scherben in großer Anzahl. Bei
32. verschiedenen Nachgrabungen gelang es mir, außer unendlich vielen
Scherben und einigen zerbrochenen, auch einige wohlerhaltene
Gefäße zu finden. Sie standen meist umgekehrt, mit dem Boden
nach oben und waren durchaus leer.
Es befand sich also an dieser Stelle ein großes Todtenfeld,
welches die historische Nachricht (Script. Rer. Prussic. I, 60 u. 357;
J. Voigt, Gesch., II, 620), daß Pestlin schon am Anfang des 13.
Jahrhunderts ein bedeutender Ort war, in trefflichster Weise
bestätigt.
Die Gefäße sind von auffallend schöner Form (dieselbe erinnert
oft an die schönen antiken, griechischen, bemalten Gefäße), zum
Theil mit einem Henkel und leise angedeutetem Ausguß versehen,
von dünnen Wänden und hart gebrannt, so daß sie klingen. Deckel
habe ich nicht gefunden. Der Thon ist von bläulicher Farbe und stark
mit grobem Sand vermischt. Sie zeigen eine schon sehr ausgebildete
Technik (auf der Drehscheibe) und sind mit den einfachsten Mitteln
in sehr verschiedener, stets hübscher und sinniger Weise am Halse
ornamentiert. Fast alle haben am oberen Theil des Bauches
wagrechte Riefelungen. Diese Gefäße stehen also ganz im Gegensatz
zu den sonst in unserer Provinz gefundenen Aschengefäßen, welche
meist ganz roh mit der bloßen Hand geformt sind, dicke Wände
haben und ungebrannt sind. Gestützt auf diese Thatsachen, möchte
ich die Pestliner Gefäße für viel jünger halten, als die meisten sonst
gefundenen, glaube, daß sie aus historischer Zeit stammen, da ganz
Pomesanien der Form nach schon christlich war, die alten Preußen
ihre heidnischen Gebräuche aber noch nicht aufgegeben hatten. Ein
zwischen den Gefäßen gefundenes Fragment eines eisernen
Geräthes scheint meine Ansicht zu bestätigen.
P e s t l i n . R . B e r g a u .
(Aus der Altpreuß. Monatsschr., 6. Heft.)
116) Bei K ö t t e n (Eisenacher Oberland) wurden bei Anlegung
einer neuen Straße riesige S k e l e t t e nebst silbernen
A r m s p a n g e n , mit Perlen besetzt, und Messer in eigenthümlicher
33. Form gefunden. Nach der Ansicht des Professors Dr. J. Klopfleisch
aus Jena, welcher zum Zweck weiterer Nachforschungen die Stelle
besuchte, gehören die genannten Objekte dem heidnischen
Alterthum an.
(Frk. Kur. Nr. 317.)
117)[221] Auf einem Felde nächst H i l d e s h e i m ist, gelegentlich
der Anlage einer Militärschießstätte, 9 Fuß unter dem Erdboden eine
große Anzahl (54 Stück) massiv s i l b e r n e r , theilweise vergoldeter
G e f ä ß e a u f g e f u n d e n worden, die, einen Silberwerth von
wenigstens 3000 Thlrn. repräsentierend, dem Alterthum
entstammen und zu einem Tafelservice gehörten. Gefunden wurden:
Ueberreste eines gegossenen Dreifußes (3 Füße mit Thierklauen, 3
Aufsätze in Form kleiner Hermen des bärtigen Bacchus, verschiedene
Theile der Verbindungsstäbe mit noch beweglichen Scharnieren); ein
½ Meter hoher, glockenförmiger Krater, ganz umzogen von den
reizendsten Ornamenten, in welchen allerhand Figuren, namentlich
Eroten, angebracht sind; 4 Schalen mit Inschriften, im Innern mit
aufgelötheten Hochreliefs (Minerva, Büste einer Kybele, eines Deus
Lunus, des Herakles als Knabe, Schlangen würgend); einfache
Schale; zwei Becher mit Ornamenten und Inschriften; beweglicher
Henkel einer Vase; 5 flache Tafelaufsätze mit Inschriften und je 4
Füßen, an den Langseiten Dithyosen (?), an den Schmalseiten
tauchende Enten; drei Tiegel mit ornamentiertem Griff und
Inschriften; verschiedene Schalen, je über 1 Pfund schwer; drei
glockenförmige Becher mit Händen und Füßen, die äußere Fläche
überfüllt mit bacchischen Symbolen und Masken von Panen, Titanen,
alten und jungen Satyren männlichen und weiblichen Geschlechts,
Hermen etc.; zwei hohe Vasen von konischer Form, umzogen von
Kreisen mit Thierfiguren; ein Salzgefäß; ein Eimer ohne Henkel und
ohne Verzierung; Fragmente anderer Gefäße. Die Reliefs sind
durchweg von getriebener Arbeit, Ornamente und Darstellungen der
Reliefs ausnahmslos der antiken Kunst und Mythologie angehörig;
die lateinischen Inschriften weisen auf Gebrauch in römischer Zeit,
die in der Silbertechnik und dem Styl der Ornamente und Figuren
34. sich aussprechende hohe Kunst auf griechische Künstler, etwa der
augusteischen Zeit, hin.
(Frk. Kur. Nr. 316, nach der Köln. Ztg.)
118) Im Z a l a r e r Comitat (Ungarn), nicht weit von Also-
Lendva, stieß man beim Ackern auf eine Urne, welche in ihrem
Innern an 1000 Stück S i l b e r - u n d K u p f e r m ü n z e n , goldene
und silberne Ringe, Armbänder und Halsketten barg. Eine der
Silbermünzen, welche Prof. Wagner in Ofen erhielt, trägt vorn die
Inschrift: „Imp. Cae. C. Vib. Volusiano Augg.“ und die Rückseite zeigt
die Worte: „Pietas Augg.“, sowie die Abbildung einer auf dem Altar
opfernden Vestalin. Cajus Vibius Volusianus war der Sohn des Vibius
Trebonianus Gallus und dessen Mitregent seit 252 n. Chr., daher die
Inschrift der Kehrseite „Pietas Augustorum“, da derselbe sammt
seinem Vater 253 von seinen eigenen rebellischen Prätorianern
umgebracht wurde.
(Ill. Ztg. Nr. 1320.)
119) Wie bereits mitgetheilt (auch in der vor. Nr. dies. Bl.), wurde
in dem Walde der württemb. Gemeinde L u s t n a u vor Kurzem unter
einer Eiche ein Topf aufgefunden, welcher S i l b e r m ü n z e n
enthielt. Es waren dies über 6000 Stück kleine, schüsselförmige, blos
auf einer Seite geprägte Münzen in der Größe eines Groschens,
einige, doppelt geprägt, in der Größe eines Sechsers, und einige,
circa 200, gleichfalls mit doppeltem Gepräge, kamen einem frühern
Zwölfkreuzerstück gleich. Die Münzen scheinen aus dem 14. und 15.
Jahrh. zu stammen und kursierten in der Gegend von Tübingen,
indem eine größere Anzahl derselben der gräflich Hohenberg’schen
Münzstätte zu Rottenburg am Neckar entsprungen sind und den
Namen des Erzherzogs Leopold Graf von Tirol tragen, welcher 1396
mit Württemberg, Augsburg, Oettingen, Ulm, Esslingen, Gmünd
einen Münzvertrag schloß. Der Topf, in welchem sich die Münzen
befanden, ist ein Essighafen, welcher unten zwei Henkel und ein
Zapfenloch hat. Der größere Theil der Münzen wurde an das k.
Münzkabinet in Stuttgart gesendet.
35. (Korr. v. u. f. D. Nr. 540, nach d. Schw. M.)
120) In L ü t t i c h will man ein G e m ä l d e v o n Te n i e r s
aufgefunden haben. Ein Speisewirth hat das Bild, welches ganz mit
Schimmel bedeckt war, in einer Auction erstanden. Es stellt den
heiligen Antonius dar, wie er vom Teufel versucht wird. Dem Besitzer
sind bereits hohe Preise von Kunstfreunden geboten worden.
(Monatsrosen 1869, Nr. 1.)
121) In Nr. 2 des diesjährigen Anzeigers habe ich nähere
Nachricht von der höchst bedeutenden Sammlung mittelalterlicher
Paramente in der Marienkirche zu D a n z i g gegeben. Jetzt kann ich
die erfreuliche Nachricht hinzufügen, daß dieselbe binnen Kurzem
auch weiteren Kreisen zugänglich gemacht werden soll, indem zu
Ostern k. J. im Verlage von Kasemann in Danzig ein großes Werk
erscheinen wird, welches photographische Abbildungen aller
interessanten Stücke nebst einem beschreibenden Text von Hinz
enthalten wird.
R . B e r g a u .
122) Seit dem 7. Oktober erscheint in B e r l i n eine n e u e
W o c h e n s c h r i f t f ü r K u n s t unter dem Titel: „Blätter für
bildende Kunst“, Organ des Preußischen Kunstvereins,
herausgegeben unter Mitwirkung namhafter Fachmänner von C.
Schönau. Wenn sich das Blatt auch als „Organ des Preußischen
Kunstvereins“ ankündigt, so will es doch auch die allgemeinen
Kunstinteressen in ausgedehntestem Maße vertreten. Es bringt
größere abhandelnde Artikel, Mittheilungen aus dem Berliner
Kunstleben, auswärtige Original-Correspondenzen, Kritiken neuer
Werke, eine Rundschau auf dem Gebiete der Kunstliteratur,
Biographieen und Charakteristiken hervorragender Künstler etc. Die
Redaktion hat im Programm den Grundsatz aufgestellt, eine
durchaus unparteiische Kritik üben zu wollen. Für Künstler und für
die Mitglieder des Preußischen Kunstvereins hat der Herausgeber
den Abonnementspreis auf 1 Thlr. pro Quartal bei directer Bestellung
36. in der Redaktion in Berlin, Dorotheenstrasse 31, ermäßigt. Für
andere Abonnenten im In- und Auslande beträgt das Abonnement 1
Thlr. 10 Sgr. vierteljährlich.
123) An der Mauerseite, wo in R e g e n s b u r g ehedem der
Hallerthurm stand, ist eine G e d e n k t a f e l angebracht worden,
welche die Inschrift trägt: „Hier wurde der Hallerthurm, im Jahre
1542 vom Bauherrn Haller mit einer Uhr versehen, früher das
Ostenthor (Porta orientalis), zur Erweiterung der Durchfahrt im März
1868 abgebrochen. Vor diesem Thore fiel bei einem Ausfall gegen
Kaiser Otto’s Heer der tapfere Pfalzgraf Arnulf, von Pfeilen
durchbohrt, im Jahre 954.“
(Augsb. Postztg. Nr. 256.)
37. Mittheilungen.
>Es sind in den letzten Jahren wiederholt in der
„A l l g e m e i n e n Z e i t u n g “ und anderen Blättern, so jüngst in Nr.
273 der Spener’schen Zeitung in Berlin, Artikel, mit „A.“
unterzeichnet, über das germanische Museum erschienen, die zwar
mitunter das unter meiner Leitung Erreichte sehr anerkennend
hervorheben, dabei aber wieder Ansichten aufstellen, die ich so
wenig theile, daß ich mich verpflichtet fühle, öffentlich zu
constatieren, daß ich nicht nur in gar keiner Beziehung zu diesen
Artikeln stehe, sondern auch lebhaft bedauere, dieselben nicht
verhindern zu können, indem ich wohl fühle, daß sie durch
Hervorhebung von Dingen, die längst von competenter Seite
entschiedene Verurtheilung erfahren haben, dem Rufe des Institutes
schaden müßten, wenn sie als von der Vorstandschaft desselben
ausgehend angesehen würden.
N ü r n b e r g , den 25. November 1868.
Der I. Vorstand des germanischen Museums.
A . E s s e n w e i n .
Berichtigung. In der vorigen Nummer des Anzeigers ist auf Sp.
309, Zeile 13 v. o. „M ä n n e r n “ statt Mannen, und ebendas. Zeile
19 „w i t t e n b e r g i s c h e n “ statt „wirttenbergischen“ zu lesen.
Müller’s neuestes Künstlerlexikon.
Leben und Werke der Künstler aller Zeiten und Völker, der
berühmtesten Baumeister, Bildhauer, Maler, Kupferstecher,
Formschneider, Lithographen etc., von den frühesten Kunstepochen
bis zur Gegenwart. 3 Bände. 137 Bogen. broch. (Ladenpreis 26 fl.
oder 15 Thlr. 18 Sgr.)
38. Herabgesetzter Preis 10 fl. oder 6 Thlr.
Verlag von Ebner & Seubert in Stuttgart, zu beziehen durch
alle Buchhandlungen.
>B i t t e .
Kennt einer der verehrl. Leser des Anzeigers ein Exemplar von
„G e i s t l i c h e L i e d e r auffs new gebessert zu Wittemberg,
D. M. L u t h e r . MDXXIX“ kl. 8[222].
so bitte ich dringend um gefällige Mittheilung darüber.
N ü r n b e r g . Dr. F r o m m a n n .
Verantwortliche Redaction: A . E s s e n w e i n . Dr. G . K . F r o m m a n n . Dr. A .
v. E y e .
Verlag der literarisch-artistischen Anstalt des germanischen Museums in Nürnberg.
S e b a l d ’sche Buchdruckerei in Nürnberg.
39. Nürnberg. Das Abonnement des Blattes, welches alle
Monate erscheint, wird ganzjährig angenommen und beträgt
nach der neuesten Postconvention bei allen Postämtern und
Buchhandlungen Deutschlands incl. Oesterreichs 3 fl. 36 kr.
im 24 fl.-Fuß oder 2 Thlr. preuß.
Für Frankreich abonniert man in Straßburg bei C. F.
Schmidt, in Paris bei der deutschen Buchhandlung von F.
Klincksieck, Nr. 11 rue de Lille, oder bei dem Postamt in
Karlsruhe; für England bei Williams & Norgate, 14 Henrietta-
Street Covent-Garden in London; für Nord-Amerika bei den
Postämtern Bremen und Hamburg.
Alle für das german. Museum bestimmten Sendungen auf
dem Wege des Buchhandels werden durch den Commissionär
der literar.-artist. Anstalt des Museums, F. A. B r o c k h a u s in
Leipzig, befördert.
40. ANZEIGER
FÜR KUNDE DER DEUTSCHEN VORZEIT.
Neue Folge. Fünfzehnter Jahrgang.
ORGAN DES GERMANISCHEN MUSEUMS.
1868. Nº 12. December.
41. Wissenschaftliche Mittheilungen.
Noch ein Wort über den deutschen
kaiserlichen Doppeladler.
„Adhuc sub judice lis est.“
Im elften Bande des Anzeigers für Kunde der deutschen Vorzeit
von 1864 (Nr. 1–4) habe ich mir erlaubt, einen kleinen „Beitrag zur
Geschichte des heraldischen Doppeladlers“ mitzutheilen, zu welchem
Dr. A. Erbstein einen werthvollen „numismatischen Beitrag“ (in Nr. 5
u. 6 dess. Jahrg.) geliefert hat. Vgl. auch die Nachträge im Jhg.
1865, Sp. 236 u. 420 ff.
Die Akten über diesen interessanten Gegenstand sind zwar noch
nicht geschlossen; allein es hat leider den Anschein, daß der für uns
weitaus wichtigste Theil der Frage: wann und warum der
(morgendländische?) Doppeladler den (abendländischen?)
e i n f a c h e n A d l e r im Wappen der deutschen Kaiser verdrängt
hat, m i t v o l l e r S i c h e r h e i t nicht mehr wird beantwortet
werden können.
Meine früher bestimmt ausgesprochene Ansicht, daß erst Kaiser
Sigismund den Doppeladler als kaiserliches Wappen angenommen
habe, glaube ich aber jetzt theilweise berichtigen zu müssen.
Nachdem meine Zweifel über die Richtigkeit der Zutheilung der
beiden Denare K. Otto’s IV. und K. Conrad’s IV. durch den erwähnten
„numismatischen Beitrag“ gehoben worden sind, und nachdem mein
gelehrter Freund Lisch mir die unter Nr. 1 abgebildete Zeichnung der
Fahne Karl’s des Großen[223] aus der meklenburgischen Reimchronik
Ernst’s von Kirchberg, vom Jahre 1378, mitgetheilt hat[224], glaube
ich annehmen zu dürfen, daß der Doppeladler doch schon seit dem
Ende des 12. Jahrh. — also seit seinem Erscheinen in der deutschen
42. Nr. 1.
Heraldik überhaupt — als kaiserliches Wappen, wenn
auch anfänglich und bis zu Sigismund nicht vom Kaiser
selbst, und nicht ausschließlich, also mit dem einfachen
abwechselnd[225], geführt und abgebildet worden ist.
Zu den bereits erwähnten Beispielen des
Vorkommens des Doppeladlers als kaiserlichen
Wappens aus der Zeit zwischen 1197 und 1378 kommt
noch die bekannte Goldmünze K. Ludwig’s des
Bayern[226] (1314–1347).
Die Behauptung L. v. Ledebur’s, daß K. Ludwig
schon 1323 den Doppeladler im Siegel geführt habe,
beruht auf einem Irrthum. Der Kaiser führte nämlich
auf seinem, gewöhnlich als Rücksiegel gebrauchten,
kleineren Siegel, wie hier unter Nr. 2 abgebildet, einen
rückwärtsehenden, sog. „wiedersehenden“ Adler in natürlicher
Stellung, mit der schönen, echt königlichen Devise[227].
Die Bemerkung in der Urkunde von 1323: „Geben zu
Babenberg... under dem wiedersehenden Adler besiegelt“, hat wol
meinen gelehrten Freund zu der Annahme verleitet, Ludwig habe auf
diesem Siegel den Doppeladler geführt[228].
43. Nr. 2.
Römer-Büchner hat das Wort „wiedersehend“ auch
mißverstanden und über dessen Bedeutung zwei viel zu gesuchte
Hypothesen aufgestellt[229].
Auf dem großen Siegel III. A. 2. b K. Ludwig’s sehen wir auf der
Spitze des Scepters einen (heraldischen, einfachen) Adler und zu
beiden Seiten des Thrones (?) zwei wiedersehende Adler, auf den
beiden, unter den Füßen des Kaisers liegenden Löwen stehend.
Letztere beiden Adler, ebenso wie die Löwen, sind aber hier keine
(heraldischen) W a p p e n bilder, sondern nur (symbolische, auch auf
das Wappen sich beziehende) S i e g e l bilder[230]. Das zeigt schon
der ganze Typus dieser Thiere. Einer ganz ähnlichen, wahrscheinlich
d i e s e m Siegel nachgebildeten Zusammenstellung begegnen wir,
beinahe gleichzeitig, auf dem Siegel König Johann’s von Frankreich v.
J. 1352 (abgebild. im nouv. traité de diplom. V, Taf. C, Fig. 79). Auf
diesem Siegel haben die Adler nur eine rein decorative Bedeutung,
ohne alle Beziehung zu dem W a p p e n , welches auf dem
Hauptsiegel nur durch die Lilie auf der Spitze des Scepters vertreten,
dagegen auf dem Rücksiegel (IV. A. 2.) enthalten ist.
44. Ueber vermeintliche Kaisersiegel mit dem Doppeladler vor
Sigismund schreibt Römer-Büchner a. a. O., S. 41: „Zwar gibt
Gudenus in praefat. Sylloges Disp. pag. 20 Nachricht von einem
zweiköpfigen Adler im kaiserlichen Contresiegel Karl’s IV.; da uns
jedoch kein ähnliches Siegel vorgekommen ist, so wird sich diese
Angabe auf ein falsches Siegel oder falsche Abzeichnungen gründen,
wie wir z. B. bei v. Birken, Fuggerischer Ehrenspiegel des Erzhauses
Oesterreich, S. 170, 178, 185 u. 350, die falschen Siegel mit dem
zweiköpfigen Adler von Friedrich I. von 1166, Heinrich (VII) von
1228, Friedrich II. von 1245 und Karl IV. von 1368 finden.“
Was K. Karl IV. betrifft, so gilt von den beiden als Schildhaltern
verwendeten Adlern auf seinem großen Siegel III. B. 2. b. dasselbe,
was ich oben von den beiden Adlern auf dem Siegel III. A. 2. b. K.
Ludwig’s des Bayern gesagt habe.
Seit Kaiser Sigismund blieb aber der Doppeladler das stereotype
Wappen unserer Kaiser, während die deutschen Könige den
e i n f a c h e n fortführten.
Bemerkenswerth für die vorliegende Frage bleibt immerhin, wie
ich schon früher erwähnt, der Umstand, daß Sigismund, der schon
als Reichsverweser 1402 den Doppeladler auf seinem Siegel IV. A. 1
geführt hatte[231], als römischer König und Erbe von Böhmen
(„romanorum rex et bohemie heres“, wie die Legende lautet) i. J.
1411 den e i n f a c h e n A d l e r im Siegel führte, dagegen i. J. 1419
als römischer König und König von Böhmen („romanorum ac
bohemie rex“) wieder den Doppeladler annahm, den er auch als
Kaiser beibehielt.
Nach den gewöhnlichen Regeln der damals sehr ausgebildeten
und angesehenen Heroldskunst erscheint dieser Wechsel als ein
auffallender Widerspruch, indem der Doppeladler unter den
angeführten Verhältnissen das eine Mal als eine sog. Minderung, das
andere als eine sog. Mehrung des Wappens zu blasonieren wäre.
So, wie ich die Frage jetzt ansehe, erscheint mir der Doppeladler
auf dem Rücksiegel König Wenzel’s von 1376, auf den Siegeln der
45. Herzoge Wilhelm und Albrecht I. von Bayern, der Söhne K. Ludwig’s
d. Bayern, der Herzogin Katharina von Oesterreich, der Tochter K.
Karl IV., der Stiefschwester K. Wenzel’s, ebenso als der
k a i s e r l i c h e , wie auf dem Siegel der Juden von Augsburg (als
kaiserliche und Reichs-Kammerknechte) von 1298, auf dem
Landfriedensiegel vom Jahr 1335, auf den Stadtsiegeln von Breslau
aus dem 13. (?) Jahrh., von Friedberg 1334, von Lübeck 1369, von
Antwerpen 1370, von den Seestädten 1368, auf dem der Stadt
Solothurn von 1394 (und zwar auf diesem g e k r ö n t ; wol das
ä l t e s t e Beispiel eines g e k r ö n t e n Doppeladlers); ferner auf den
flandrischen Goldmünzen im 13. Jahrh. und denen der Kurfürsten
von Trier im 14. Jahrh., am Galgenthor und am Eschenheimer Thurm
in Frankfurt a. M. von 1343–48. Ja, selbst auf allen Siegeln, deren
Inhaber in einem höheren oder niederen ministerialen Verhältnisse
zum deutschen Reiche, resp. seinem Oberhaupte, gestanden, dürfte
d i e s e Auffassung von der Bedeutung des Doppeladlers — ob ganz
oder theilweise angebracht — die richtige sein. Das würde u. a. von
dem unter Fig. XIV meines Beitrags zur Gesch. d. heraldischen
Doppeladlers abgebildeten Siegel der kaiserl. Burggrafen von
Henneberg und dem unter Fig. VI mit dem Wappen der Burgmannen
von Gelnhausen der Fall sein.
Während in den beiden Originalhandschriften der
Richenthal’schen Chronik, der Aulendorfer wie der Constanzer, und in
der Ausgabe von Anton Sorg vom J. 1483 der e i n f a c h e A d l e r
mit „römisch reich“ und der Doppeladler mit „Keysertum“ bezeichnet
und in dem Reichsbanner der e i n f a c h e A d l e r abgebildet ist,
sehen wir bereits auf Blatt 53 der kostbaren Bilderhandschrift aus
dem Ende des 15. Jahrh. in der fürstlich Waldburg-Wolfegg’schen
Bibliothek, sowohl auf dem großen kaiserlichen Banner als wie auf
den Fähnlein und Dächern der Zelte, überall nur den Doppeladler.
46. Nr. 5.
❏
GRÖSSERES BILD
Bei diesem Stande der Sache war es von großem Interesse für
mich, als ich auf den unter Nr. 5 abgebildeten Grabstein K. Rudolf’s
von Habsburg im Dome zu Speyer[232] aufmerksam gemacht wurde
und einen Abguß des Brustschildes mit dem Doppeladler erhielt.
47. Durch dieses Denkmal schien der bisher fehlende historische
Zusammenhang zwischen dem ersten Erscheinen dieses kaiserlichen
Wappenbildes zu Anfang des 13. Jahrh.[233] und den Siegeln K.
Sigismund’s hergestellt und dessen Vorkommen auf der erwähnten
Goldmünze K. Ludwig des Bayern erklärt zu sein.
Je wichtiger aber dieses Denkmal für die Entscheidung der
vorliegenden Frage war, um so genauer mußte untersucht werden,
ob wir es wirklich hier mit einer g l e i c h z e i t i g e n Arbeit zu thun
haben.
D a g e g e n , d. h. für eine s p ä t e r e Ausführung des
Monumentes, sprachen:
I. Der Stil des Ganzen und die sehr individuelle Auffassung der
Figur, die nach Essenwein nicht mehr auf das 13. Jahrhundert
hinzudeuten scheinen und nach v. Eye eher der Zeit Karl’s IV.
entsprechen;
II. der Umstand, daß der Grabstein des Kaisers von Marmor
gewesen sein soll, der vorliegende aber von Sandstein ist, und nicht
im Dome, sondern in der Ruine des Johanniterhofes im Schutte
gefunden wurde; und
III. der Doppeladler an und für sich[234] und seine für die
damalige Zeit ungewöhnliche Form[235].
F ü r die Gleichzeitigkeit des Denkmals sprachen jedoch:
I. Die Angabe Ottokar’s von Horneck in seiner Reimchronik, daß
der Steinmetz die Figur Rudolf’s genau nach dem Leben gearbeitet
habe, und als derselbe eine Falte im Gesicht mehr bekommen, ihm
eigens nachgereist sei, um ihn nochmals genau zu betrachten und
auf seinem Bilde auch diese Falte nachzutragen; wie denn auch der
Ausdruck des Gesichtes wirklich P o r t r ä t zu sein scheint.
II. So sehr die oben (unter III) angeführten heraldischen
Bedenken auch zu beachten sind, für u n b e d i n g t
e n t s c h e i d e n d möchte ich sie doch nicht erklären.
48. Der vorliegende Fall ist einer von den vielen auf dem weiten,
aber theilweise noch immer sehr dunkeln Gebiete, der
Alterthumsforschung, der sich eben so leicht zum Beweise für als
g e g e n eine aufgestellte Behauptung gebrauchen läßt.
Man kann nämlich mit eben so viel Wahrscheinlichkeit
behaupten, der Doppeladler auf der Pektoralschließe des Grabsteines
K. Rudolf’s beweise, daß derselbe erst lange nach seinem Tode
verfertigt worden sei, als man behaupten kann, daß dieses Grabmal
den Beweis liefere, daß schon Rudolf von Habsburg den Doppeladler
als k a i s e r l i c h e s W a p p e n geführt habe.
B e w i e s e n ist aber damit das Eine eben so wenig wie das
Andere.
Ich bin kein Freund solcher apodiktischer Behauptungen und
begnüge mich gerne damit, die Frage nach ihren beiden Seiten
angeregt und zu ihrer endlichen (?) Lösung das Meinige beigetragen
zu haben; et je ne crois même en savoir moins pour cela.
Wenn auch allerdings im Mittelalter, namentlich vor der zweiten
Hälfte des 15. Jahrh., die heraldischen Typen in den einzelnen
Perioden (etwa von 50 zu 50 Jahren) so ziemlich ausgeprägt und
constant waren, so kommt doch auch sehr viel darauf an, ob eine
Wappenfigur auf Münzen, Siegeln oder auf Denkmälern dargestellt
wurde und welchem Lande der ausführende Künstler angehörte. Bei
auffallenden Formverschiedenheiten und Abweichungen von der
gewöhnlichen, landläufigen Regel sind b e i d e Momente wohl zu
beachten und ohne urkundlichen Beweis, der selbst durch Siegel
nicht immer geführt werden kann, ist es nach meinem
unmaßgeblichen Ermessen meist mißlich und gewagt, im einzelnen
Falle darüber unbedingt abzuurtheilen und Hypothesen aufzustellen,
die so wenig Wahrscheinlichkeit für sich haben.
Was aber am meisten dafür spricht, daß der Speyerer Grabstein
nicht der ursprüngliche, und somit der auf demselben befindliche
Doppeladler für die vorliegende Frage ganz ohne Werth ist, das ist
eine Vergleichung desselben, resp. unseres obigen Holzschnittes, mit
49. einem Bilde in der berühmten Ambraser Sammlung, wovon wir eine
Abbildung des entsprechenden Theiles des Originals unter Nr. 6
mittheilen.
Freiherr E. v. Sacken schreibt darüber an Essenwein bei
Uebersendung einer Photographie dieses Bildes: „Was den Grabstein
Rudolf’s von Habsburg anbelangt, so weiß ich nur aus schriftlichen
Nachrichten, — ich selbst war nicht in Speyer — daß derselbe durch
die Franzosen 1689 und 1793 bis zur Unkenntlichkeit zerstört wurde.
Schmidt sagt mir, es sei noch gegenwärtig der alte Grabstein dort,
der aber sehr bedeutend restauriert ist. Ob Ihr Gypsabguß von
diesem restaurierten oder einem darnach gefertigten neuen Steine
sei, kann ich nicht bestimmen.
50. Nr. 6.
Die in Wasserfarben gemalte, aber auch schon etwas verblaßte
Copie in der Ambraser Sammlung, von der ich eine Photographie
beilege, ist jedenfalls unter K. Maximilian I. nach dem noch intacten
Steine gefertigt[236]. Das Bild ist 6 Fuß groß und sehr gut,
wahrscheinlich von dem Tiroler Kaspar Rosenthaler, der auch den
großen habsburgischen Stammbaum in der Ambraser Sammlung
malte. Die Inschrift stimmt genau mit Ihrem Holzschnitte überein,
ebenso die Figur im allgemeinen, nicht so Kopf und Hände, die an
51. dem Originale des Holzschnittes ohne Zweifel restauriert sind; auch
Krone und Scepter sind anders geformt, und die Linke hält nicht den
Reichsapfel, sondern die Büchse mit dem bei der Krönung
gebrauchten Salböle. Auf dem Originale des Holzschnittes ist wol
auch der D o p p e l adler auf dem Brustschilde eine neuere
Restauration; denn auf unserem Bilde ist deutlich der e i n köpfige
schwarze Adler zu sehen.“
Mantelschließen mit Wappen finden sich häufig auf unseren
ältesten Grabmälern, z. B. auf den Grabsteinen Graf Otto’s von
Botenlauben, † 1244, und seiner Gemahlin Beatrix, † 1250, in der
Kirche von Frauenrode (abgebildet bei Hefner-Alteneck, Trachten
etc., I. Taf. 59 u. 60); auf mehreren Erbach’schen und auf dem
Grabmal Graf Ulrich’s von Württemberg und seiner Gemahlin Agnes,
einer gebornen Herzogin von Liegnitz, beide † 1265.
„Ulrich’s irdische Reste“ — schreibt mein gelehrter Freund von
Stälin (in s. wirtemb. Gesch. II, 484 u. 485) — „wurden zuerst in
Beutelsbach beigesetzt, im J. 1321 nach Stuttgart gebracht; in der
dortigen Stiftskirche befindet sich sein steinernes Grabdenkmal,
welches den Grafen mit seiner Gemahlin Agnes in ganzen Figuren
darstellt und nicht sehr lange nach deren Tode, vielleicht für die
neue Beisetzung der Gebeine in Stuttgart, gefertigt wurde.“
Da die Abbildung bei Sattler, Topogr. Gesch. 40, S. 34, ganz
unrichtig ist, so theile ich hier unter Nr. 7 (in ½ Größe des Originals)
eine genaue Zeichnung der Mantelschließe der Gräfin mit, auf
welcher sich ihr Alliancewappen in eigenthümlicher
Zusammenstellung befindet[237].
52. Nr. 7.
Zum Schlusse muß ich mir aber doch noch erlauben, meine
bescheidenen Bedenken gegen einige in dem erwähnten
„numismatischen Beitrage“ aufgestellten Behauptungen
auszusprechen.
Das sehr frühe Vorkommen des Doppeladlers auf Geweben und
als reines Ornament ist bekannt. Allein den heraldischen und ganz
besonders den deutschen, kaiserlichen Doppeladler kann ich
durchaus nicht für „ein Kind des Webstuhls“ halten.
Mag der Ursprung und die Bedeutung des Doppeladlers im Orient
noch zu dunkel sein, in der deutschen Heraldik liegt ihm sicher eine
tiefere Bedeutung zu Grunde, als die bloße mechanische
Nachbildung fremdländischer Gewebe[238].
So sehr ich die allgemein anerkannte Autorität des Herrn Dr. A.
Erbstein auf dem Gebiete der Münzkunde verehre, so kann ich doch,
was das Verständniß unserer mittelalterlichen Wappenkunde betrifft
(um deren tieferen Sinn sich die Münzmeister aus verschiedenen
technischen und aus Zweckmäßigkeitsgründen oft sehr wenig
gekümmert zu haben scheinen), mich seinem Urtheile nicht ebenso
unterwerfen.
Ich muß daher die von competenten Richtern längst aufgestellte
Behauptung aufrecht erhalten, daß der Doppeladler durch das
monogrammatische Zusammenschieben — wie es v. Ledebur ganz
53. treffend bezeichnet — zweier heraldischer Adler entstanden und in
dieser Beziehung im kaiserlichen Wappen ein symbolisches (die
Vereinigung des deutschen und des römischen Reiches
bezeichnendes) Wappenbild ist und weder ein heraldisches
Monstrum, noch ein blos symmetrisches Ornament.
Auffallend ist es, wie einer unserer größten Gelehrten[239]
behaupten konnte, daß bei dieser Annahme „Schwierigkeiten
darüber entstehen, auf welchen Beziehungen diese Verbindung
beruhe,“ nachdem derselbe doch unmittelbar vorher in seiner
historischen Erörterung der „Z e i c h e n , F a h n e n u n d F a r b e n
d e s d e u t s c h e n R e i c h s “[240] selbst anführt, daß der
D o p p e l a d l e r , „a l s b e s o n d e r e s Z e i c h e n d e r
r ö m i s c h - k a i s e r l i c h e n W ü r d e i m G e g e n s a t z d e r
d e u t s c h - k ö n i g l i c h e n , d i e n u n v o r z u g s w e i s e
d u r c h d e n e i n f a c h e n A d l e r b e z e i c h n e t w e r d e n
s o l l t e “, angenommen worden sei.
Den Vergleich zwischen dem doppelgeschwänzten heraldischen
Löwen[241] und dem Doppeladler (nicht dem blos doppelköpfigen,
wovon ich nur e i n Beispiel kenne: die geschmacklosen Schildhalter
auf dem großen Doppelsiegel Kaiser Sigismund’s[242], wovon
dasselbe gilt, was oben von den Schildhaltern auf dem Siegel K.
Ludwig IV. gesagt ist) kann ich eben so wenig gelten lassen, als
zwischen diesem s t e t s a u s z w e i g a n z g l e i c h e n
H ä l f t e n bestehenden Adler mit den von mir bereits a. a. O.
erwähnten Storchen und Hühnern mit zwei Köpfen und ähnlichen
heraldischen sowohl, wie ornamentalen Figuren mit mehreren
Köpfen an einem Leibe oder mehreren Leibern, bei welchem von
einem Zusammenschieben zweier Thiere nicht die Rede ist.
Was meine aus Italien geschöpfte Angabe über das Wappen der
Caetani betrifft, so kann ich zur Begründung derselben jetzt noch
eine neuere Notiz aus derselben Quelle beibringen. Das
ursprüngliche Wappen der Caetani waren allerdings zwei blaue
Flüsse im goldenen Felde (d’or à une bande jumelle ondée d’azur);
jetzt führen sie diese Flüsse schräg-rechts. Kurz vor Bonifaz VIII. soll
54. jedoch ein Aquapita Caetani eine Giovanna d’Aquila geheiratet und
deren redendes Wappen, den Adler, seinem Wappen einverleibt
haben. In dem rothseidenen Pluviale quaest. sollen die
(e i n f a c h e n ) Adler von Silber gestickt sein; ebenso soll sich aber
auch das frühere Wappen in Silber gestickt darauf befinden. Relata
refero.
K u p f e r z e l l . F.- K .
55. Die Ausstellung des internationalen
archäologischen Congresses zu Bonn.
(Schluß.)
Die Goldschmiedekunst der Renaissance vertraten vorzüglich
zwei Prachtpokale im größten Maßstabe, die eigentlich als
Tafelaufsätze zu betrachten sind, beide aus dem Besitze des
preußischen Königshauses, der eine dem Benevenuto Cellini
zugeschrieben, der andere dem Wenzel Jamnitzer. Aus dem 17.
Jahrhundert war eine silberne Taufschüssel mit Kanne, der
evangelischen Gemeinde zu Cleve gehörig, zu sehen.
Eine Anzahl romanischer und gothischer Leuchter aus Bronze
fehlte auf der Ausstellung nicht, von denen der interessanteste ohne
Zweifel im Besitze des Herrn H. Garthe in Köln sich befindet. Eine
Reihe von Siegelstempeln, eine Serie von Münzen u. A. war speciell
für die Fachmänner von Werth. Im höchsten Grade wichtig war eine
große Anzahl messingener Aquamanilien, von denen die
Antiquitätenhandlung von Goldschmidt in Frankfurt, die auch sonst
manches Interessante geliefert hatte, allein 43 Stück, aus dem
Besitze des † Hofbuchhändlers Hahn in Hannover stammend,
ausstellte. In allen Größen waren hier Löwen, Hunde, Pferde,
Drachen u. s. w. vertreten. Es zeigte sich im Ganzen, daß diese
Gefäße, wie wir im Anzeiger, Jahrg. 1867, Sp. 260, frageweise
andeuteten, wol vorzugsweise dem profanen Gebrauch gedient
haben müssen; wie ja z. B. auch die zwei silbernen Löwen im
Rathhause zu Lüneburg, aus dem 16. Jahrhundert, unzweifelhaft
Profangefäße sind. Von wenigen Gefäßen der ganzen hier zur Schau
gestellten Reihe möchten wir ein sehr hohes Alter annehmen; viele
gehören sicher erst dem 16. Jahrhunderte an. Von den
phantastischen Gestalten die interessantesten zu nennen, ist schwer.
Am meisten fiel ein Mädchenkopf auf, aus dem 14. Jahrhundert mit
süß lächelnder Physiognomie; eine Umschrift sagte: „Ancilla bin ich
56. genannt, zu hove bin ich gerne erkannt.“ Zwei Aquamanilien in
Gestalt von Hähnen waren fast identisch. Der eine trug auf zwei
Flügelfedern die Inschrift: Anno Dni MCLV Cesaris Frid anno quarto
in honorem dni S. Andreae. Barrast Refus me cpav. Wir glauben die
Inschrift als spätere Fälschung annehmen und die Entstehungszeit
beider Hähne in’s 14. Jahrh. setzen zu müssen. Ein Ritter zu Pferde
(Eigenthum des Fürsten von Hohenzollern) gehört wol erst dem 15.
Jahrh. an. Die spätesten, aber nicht uninteressanten waren
jedenfalls eine Seejungfrau und ein knieender, vorn und rückwärts
höckeriger Mann. Die ganze Reihe gewährte in der That einen
höchst überraschenden Einblick in die Mannigfaltigkeit, mit der selbst
gleiche Motive durchgebildet wurden, und gab einen deutlichen
neuen Beleg für den phantastischen Sinn unserer Vorfahren. Aber
auch als ein weiteres Resultat ließ sich feststellen, daß alle diese
Gegenstände Produkte einer eigenen, für den Weltmarkt und
Weltbedarf arbeitenden Industrie sind, die das massenhaft Erzeugte
wol mittelst der Messen und Märkte in großer Zahl überall hin zur
beliebigen Auswahl sandte. Von wo sie ausgegangen, ob von
Nürnberg zugleich mit den geschlagenen Becken, ob vom Rheine
oder den Niederlanden, ob, wie de Linas meinte, trotz der theilweise
deutschen Inschriften, von Dinant, wagen wir nicht zu entscheiden.
Wir kommen nun noch an eine Serie: die Manuscripte.
Die Entwickelung der Buchschrift, die innere Ausstattung der
Bücher durch Miniaturen und Initialen ist längst erkannt und
festgestellt. Es handelte sich also hier keineswegs um neue
Entdeckungen; doch ist es stets von höchster Wichtigkeit, nicht blos
einen Kunstzweig vereinzelt in seiner Entwicklung zu verfolgen,
sondern auch zwischen der Fortbildung einzelner Kunstzweige
Parallelen zu ziehen. So war es von hohem Interesse, neben der
Entwicklung des Emails auch die der Miniaturmalerei im gleichen
Zeitraum vor Augen zu haben; abgesehen aber davon haben,
einzelne an und für sich einen hohen Werth. Dieser zeigte sich in
erster Linie an dem Evangelienbuch aus Echternach in der Gothaer
Bibliothek, dem Weihgeschenke Kaiser Otto’s III. und seiner Mutter
Theophania. In höchst kostbarer Ausstattung und von wunderbarer
57. Erhaltung zeigt es die vier Evangelien, in Goldbuchstaben
geschrieben, mit vielen Initialen; den Anfang jedes Evangeliums
zeichnen einige interessante, besonders reich durch Malerei
geschmückte Blätter aus, die theils ornamental mit einzelnen
eingeflochtenen allegorischen Figuren, theils figural gehalten sind.
Die ganze heilige Geschichte läuft jedoch in einer Reihe von Blättern
fort und ist nicht an die Erzählungsfolge gebunden, wie sie im Texte
erscheint: Nichtsdestoweniger ist die Folge der Blätter in vier Theile
getrennt, von denen jedem Evangelium einer vorgeheftet ist, ohne
Rücksicht darauf, ob das betreffende Evangelium gerade diese
Erzählungen enthält oder nicht. Nachklänge der Antike finden sich
noch in diesen Malereien, wie sie sich in den byzantinischen
Miniaturen, woran die vorliegenden anschließen, in
ununterbrochener Folge erhalten und fortgebildet haben. Ein zweites
Manuscript aus Echternach, vom 12. Jahrhundert, mit späteren
Zusätzen, zeigte hübsche Miniaturen der älteren Periode, daneben
schöne Federzeichnungen des 13.–14. Jahrhunderts. An eine Reihe
von Evangelien, Lectionarien, Brevieren, Vulgaten u. A., vom 10.–15.
Jahrh., aus der Dombibliothek zu Trier, dem Archiv zu Düsseldorf und
aus Privatbesitz, wozu besonders Herr H. Garthe aus Köln sehr
werthvolles Material beigesteuert, konnte man die alten Studien neu
auffrischen und mit Vergnügen in kostbaren Exemplaren die
Geschichte der Miniaturmalerei verfolgen. Des Inhaltes wegen
erwähnen wir hier noch einen Tractatus de virtutibus et viciis, 13.
Jhdt., einen schön ausgestatteten astronomischen Tractat des 13.
Jahrh., das Cartular des Erzbischofs Balduin von Trier mit den
interessanten Miniaturen und Federzeichungen, welche die Wahl,
Krönung, den Römerzug und Tod Kaiser Heinrich’s VII. darstellen,
sowie eine Matrikel der Universität Köln vom 14.–18. Jahrh., die, mit
Ausnahme des Balduineums, im Besitze des Herrn H. Garthe in Köln
sich befinden.
Wir können hier unsern Lesern kein vollständiges Verzeichniß
geben, ja selbst auf manche sehr wichtige und interessante Werke
nicht eingehen; wir hatten nur die Absicht, hervorzuheben, von
welcher Bedeutung die Ausstellung war, die aus jeder Zeitperiode
58. und von jedem Gebiete etwas Wichtiges vorgeführt hat. Wir
schließen mit dem früher schon ausgesprochenen Wunsche, daß
ähnliche Ausstellungen recht häufig im Interesse des Studiums
veranstaltet werden möchten. Es gibt keine öffentliche Sammlung,
die in der Lage wäre, alle kunstgeschichtlich wichtigen Stücke, oder
auch nur so viele vorzuführen, daß wir die ganze Kunst- und
Kulturgeschichte in ihren Werken ersten Ranges studieren könnten.
Die meisten Sammlungen bestehen der Mehrzahl nach aus
keineswegs unwichtigen, aber jenen ausgezeichneten Werken
gegenüber doch immer untergeordneten Gegenständen, und das
Studium der Kunstgeschichte, das sich ausschließlich auf eine
einzelne solcher Sammlungen gründete, würde ein falsches Resultat
ergeben. Die Zerstreuung dieser höchst bedeutenden Werke, läßt
das Wichtigste für das Studium, die unmittelbare Vergleichung, nicht
zu, und so bedarf die Wissenschaft derartiger Ausstellungen, die das
sonst zerstreute Material zeitweise neben einander bringt.
N ü r n b e r g . A . E s s e n w e i n .
59. Archäologische Funde in Böhmen.
(Mit einer Tafel Abbildungen.)
Im Anschlusse an meine, nun schon seit Jahren in diesen Blättern
fortgesetzten Mittheilungen über archäologische Funde in Böhmen
gebe ich hier wieder nähere Details über einige Funde, die mir theils
durch Autopsie, theils durch schriftliche Berichte von
Alterthumsfreunden, mit denen ich in Verbindung stehe, bekannt
wurden. Auch diesmal wieder habe ich mehrere Funde aus jenem
reichen Gebiete zwischen Erzgebirge, Eger und Elbe, dem
sogenannten Flachland des Saazer und Leitmeritzer Kreises, zu
berichten.
B r ü x , S t a d t i n B ö h m e n , a n d e r B i e l a . Nach einer
mir vom dortigen städtischen Herrn Rentmeister Cori, einem
wackeren Alterthumsfreunde, zugegangenen Mittheilung wurden in
der nächsten Nähe der Stadt Brüx im Jahre 1865 zwei Gräber mit
Steinobjekten entdeckt. Das eine lag östlich der Stadt, am linken
Ufer der Biela, ungefähr 300 Klafter von diesem Flüßchen selbst
entfernt, eine Klafter tief in der Erde. Es enthielt, von Steinen
umgeben, ein Skelett, das aber, sowie die daneben stehenden
Todtentöpfe, ungeschickterweise zerschlagen wurde. Neben dem
Skelette lagen ferner zwei Steinobjekte: ein Hammer von Serpentin,
12 Centim. lang, 5 Centim. breit, das Stielloch in der Mitte; das
hintere Ende des Hammers ist walzenförmig zugerundet (Fig. 1);
dann ein Meißel von dunkelgrauem Feuerstein 6,1 Centim. lang, an
der scharfen Schneide 4,5 Centim. breit. Beide Objekte sind ganz
glatt zugeschliffen und sehr zierlich gearbeitet. Sie kamen in die
Sammlung Czernin nach Petersburg. — Ungefähr 1000 Klafter von
dieser Fundstelle entfernt, traf man bald darauf am rechten
Bielaufer, drei Fuß tief in der Erde, beim Roden eines Ackers zum
Hopfenbau ein ähnliches Grab; es war kreisrund, am Boden mit
einem Kranze weißer Kieselsteine umlegt. Der Durchmesser dieses
60. Steinkranzes betrug drei Fuß. In der Mitte lag neben Knochenresten
und Gefäßfragmenten eine Steinaxt (Serpentin), streng keilförmig
zugeschliffen, das 2,8 Centim. im Durchmesser haltende Stielloch
dem breiteren Ende näher. Die Axt ist 22 Centim. lang, 9 Centim.
breit, also sehr wuchtig; sie kam an die Brüxer Realschule.
S t e i n w a s s e r , Dorf, zwei Stunden südlich von Brüx. Bei
Grabungen auf einem Felde stießen die Arbeiter in einer Tiefe von 3
Fuß auf zwei Skelettgräber. In dem einen lag ein Skelett ohne
jegliche Beigabe; in dem zweiten fanden sich neben dem Skelette
Fragmente eines aus großen, hohlen Bronzehalbkugeln bestehenden
Armringes. Dasselbe ist dem bei Lindenschmitt „Alterthümer unserer
heidnischen Vorzeit“, Heft IX, Taf. I abgebildeten, bei Passau
gefundenen, vollständig ähnlich. Mehrere solcher Armringe wurden
schon früher in der nächsten Nähe von Steinwasser auf dem
Todtenfelde von Morawes gefunden. Die einzelnen Buckeln haben
einen Längedurchmesser von 4,1 Centim., Breitedurchmesser 3,2
Centim. Der Verschluß geschah durch einen Dornfortsatz, der in eine
Nuth des nächsten Buckels umgebogen werden konnte. Erhalten
sind vier solcher Buckeln; ihrer Größe nach zu urtheilen bestand das
ganze Armband aus sieben Buckeln. Die Schädel kamen an Dr. A.
Weisbach, die Bronzeobjekte an mich.
W e b e r s c h a n , Dorf zwischen Brüx und Postelberg, eine
Stunde nördlich von letzterer Stadt entfernt. Beim Lehmgraben traf
ein Grundbesitzer 2½ Schuh unter der Erde ein Aschengrab. Es war
kreisrund und in demselben stand eine Urne, die leider zerschlagen
wurde; in ihr lagen nebst Asche, Erde und Knochen eine 7,5 Centim.
lange, schwache Bronzenadel mit scheibenförmigem Kopfe, Fig. 2;
eine 3,2 Centim. lange Bronzepfeilspitze, Fig. 3; endlich ein 21,8
Gramme schweres Bronzeklümpchen, wahrscheinlich ein beim
Leichenbrand zusammengeschmolzenes Objekt. Sämmtliche
gefundene Gegenstände kamen an mich.
N e h a s i t z , Dorf zwischen Brüx und Saaz. Die Grabungen auf
dem bei Nehasitz gelegenen, in diesen Blättern schon wiederholt
erwähnten Todtenfelde wurden auch im Jahre 1867, freilich meist
61. nur im agricolen Interesse, fortgesetzt und lieferten eine ziemlich
ergiebige Ausbeute an Bronzen, Urnen und Geräthen aus Stein, Bein
und Hirschhorn sammt einer großen Anzahl Knochen mitbestatteter
Thiere. Während dreier Tage war ich bei den Grabungen auf dem
genannten Todtenfelde selbst anwesend. Wahrscheinlich dürften die
Abgrabungen bei Nehasitz bald zu Ende kommen. Ich gehe eben
damit um, die gewonnenen Resultate zusammenzustellen und in
einer eigenen Monographie zu veröffentlichen.
Von Jahr zu Jahr mehren sich die Funde in diesem Theil des
nordwestlichen Böhmens; sie beweisen, wie stark diese Gegend,
freilich eine der gesegnetsten und fruchtbarsten Böhmens, seit den
ältesten Zeiten bewohnt gewesen ist. Die ungemein zahlreichen
Gräber zeigen sehr bedeutende Verschiedenheiten in der
Construction, wie in der Art der Beigaben und deuten auf zeitlich
weit getrennte Perioden hin. Die wichtigsten Formen sind:
1. P l a t t e n g r ä b e r i n d e r E r d e m i t S k e l e t t e n u n d
S t e i n o b j e k t e n . Solche wurden schon im vorigen Jahrhundert
(1788 und 1792) bei Weboschan, unweit Teplitz, entdeckt; sie waren
6 Fuß lang, an den Seiten mit Steinplatten ausgelegt und mit einer
Steinplatte geschlossen. In der Steinkiste lag je ein Skelett; als
Beigaben fanden sich in dem einen Grabe zwei Urnen, in einem
zweiten nebst zwei Urnen drei Steinobjekte, und zwar zwei Aexte
(Basalt) und ein Keil (Hornstein). In dieselbe Klasse gehören auch
die beiden merkwürdigen, im Jahre 1866 bei Kojetitz, einem Gute
des Herrn Bachofen von Echt, zwischen Prag und Melnik,
aufgefundenen Plattengräber. Sie waren an der Erdoberfläche mit
einem Steinkreise von 9 Klaftern Durchmesser umstellt; in der Mitte
des Steinkreises stieß man 2½ Fuß tief unter der Erdoberfläche auf
eine große, roh zubehauene Kalksteinplatte; darunter lag ein Skelett,
zu dessen Häupten eine Urne aus schwarzem, wenig gebranntem
Thon, die einzige ärmliche Beigabe des Todten. Im zweiten Grabe
traf man unter einer ähnlichen Steinplatte zwei Skelette, das eines
Erwachsenen und das eines Kindes. Die Beigaben bestanden aus
einer Urne, einem Steinkeil aus Serpentin und zwei Pfriemen von vier
und acht Zoll Länge, aus gespaltenen Röhrenknochen verfertigt und
62. scharf zugespitzt[243]. Hierher zu rechnen ist auch das eine der
Gräber von Brüx, sowie zwei ähnliche von Hawran, einem Dorfe
nächst Brüx.
2) R u n d g r ä b e r : a) mit Steinobjekten; hierher gehört das
zweite der oben beschriebenen Gräber von Brüx; b) mit
Bronzeobjekten. Die Skelettgräber dieser Art liegen 2½-9 Fuß tief
unter der Erde, ihr Durchmesser wechselt zwischen 4–12 Fuß. Sie
sind vollkommen kreisrund, entweder brunnenartig, oder nach unten
sich verengend; die Leiche ruht darin bald in hockender Stellung
bestattet, bald auf dem Boden des Grabes ausgestreckt, im letzteren
Falle stets mit dem Kopfe nach Norden; in einzelnen Fällen ist sie auf
ein Steinlager gebettet, oder mit Steinen umlegt. Neben den Skelett-
finden sich auch B r a n d g r ä b e r ; sie sind weniger tief (1½ Fuß)
und haben einen Durchmesser von circa 2–4 Fuß. Sie enthalten eine
größere, die Asche bergende Urne, worinnen außerdem meist noch
mehrere kleine Gefäße, Töpfchen, Schüsseln und Schalen stehen.
Auch in den Skelettgräbern finden sich regelmäßig ähnliche Gefässe.
Skelett- wie Brandgräber enthalten außerdem Bronzeobjekte, soviel
mir bekannt ist, vorzugsweise Schmuckgegenstände, Armringe,
Fibeln, Nadeln, dann Thonscheiben und Kügelchen von Thon und
Stein. Beispiele dieser Bestattungsweise liefern die Todtenfelder von
Nehasitz und von Morawes.
3) P l a t t e n g r ä b e r i n d e r E r d e , mit Bronzen. a)
Skelettgräber; sie sind viereckig lang, an den Seiten mit Steinplatten
ausgelegt, mit einer Steinplatte geschlossen, und enthalten als
Beigaben nebst Bronzeobjekten, ebenfalls meist
Schmuckgegenstände. Auch hier findet sich die hockende
Bestattungsweise neben der liegenden. Beispiele liefern Schallan bei
Teplitz und Saaz[244]. b) Brandgräber, 4 Fuß lang, 2 Fuß breit, an den
Wänden mit Steinplatten ausgelegt und mit einer Steinplatte
überdeckt. In der aschenhaltigen Erde standen je 4 Urnen mit
Asche, Erde, Knochenfragmenten und einzelnen Bronzeobjekten.
Beispiele dieser Bestattungsweise lieferten Teplitz und Bilin[245].
63. 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.
Let us accompany you on the journey of exploring knowledge and
personal growth!
textbookfull.com