• Complain

Joshua Engel - Programming for the Java¿ Virtual Machine

Here you can read online Joshua Engel - Programming for the Java¿ Virtual Machine full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. year: 1999, publisher: Addison-Wesley Professional, genre: Computer. Description of the work, (preface) as well as reviews are available. Best literature library LitArk.com created for fans of good reading and offers a wide selection of genres:

Romance novel Science fiction Adventure Detective Science History Home and family Prose Art Politics Computer Non-fiction Religion Business Children Humor

Choose a favorite category and find really read worthwhile books. Enjoy immersion in the world of imagination, feel the emotions of the characters or learn something new for yourself, make an fascinating discovery.

Joshua Engel Programming for the Java¿ Virtual Machine
  • Book:
    Programming for the Java¿ Virtual Machine
  • Author:
  • Publisher:
    Addison-Wesley Professional
  • Genre:
  • Year:
    1999
  • Rating:
    5 / 5
  • Favourites:
    Add to favourites
  • Your mark:
    • 100
    • 1
    • 2
    • 3
    • 4
    • 5

Programming for the Java¿ Virtual Machine: summary, description and annotation

We offer to read an annotation, description, summary or preface (depends on what the author of the book "Programming for the Java¿ Virtual Machine" wrote himself). If you haven't found the necessary information about the book — write in the comments, we will try to find it.

The core of Java technology, the Java virtual machine is an abstract computing machine that enables the Java platform to host applications on any computer or operating system without rewriting or recompiling. Anyone interested in designing a language or writing a compiler for the Java virtual machine must have an in-depth understanding of its binary class format and instruction set. If you are programming with the Java programming language, knowledge of the Java virtual machine will give you valuable insight into the Java platforms security capabilities and cross-platform portability. It will increase your understanding of the Java programming language, enabling you to improve the security and performance of your programs. The author employs a tutorial approach that provides a detailed look into the central workings of the technology and teaches the reader how to write real programs for the Java virtual machine. He describes methods for becoming a better programmer through an advanced understanding of the Java virtual machine and Java technology. Programming for the Java Virtual Machine offers comprehensive coverage of all the major elements of the Java virtual machine--classes and objects, control instructions, debugging, class loaders, compiling the Java programming language, performance issues, security, and threads and synchronization. The book provides an introduction to the Java Virtual Machine Specification (JVMS), with a collection of topics that help programmers understand the Java virtual machine and the JVMS better. In addition, the book features implementations of Prolog and Scheme, a language that runs on top of the Java virtual machine, generating Java virtual machine code as it runs and using a Java virtual machine class loader to load the generated code into the system. You will find detailed information on such topics as: *The Java virtual machine verification algorithm *How Java virtual machine security works, and what it can and cant do *Using class loaders to incorporate code and dynamically generated code from the Internet, the Java Foundation Classes, database queries, and other languages *The mechanics of compiling the Java programming language for the Java virtual machine *Implementing other languages using the Java virtual machine, including Scheme, Prolog, Sather, Eiffel, and regular expressions Numerous examples illustrate techniques and concepts, and exercises with solutions help you gain practical experience. 0201309726B04062001

Joshua Engel: author's other books


Who wrote Programming for the Java¿ Virtual Machine? Find out the surname, the name of the author of the book and a list of all author's works by series.

Programming for the Java¿ Virtual Machine — read online for free the complete book (whole text) full work

Below is the text of the book, divided by pages. System saving the place of the last page read, allows you to conveniently read the book "Programming for the Java¿ Virtual Machine" online for free, without having to search again every time where you left off. Put a bookmark, and you can go to the page where you finished reading at any time.

Light

Font size:

Reset

Interval:

Bookmark:

Make
Examples Programming for the Java Virtual Machine By Joshua Engel - photo 1
Examples
Programming for the Java Virtual Machine
By Joshua Engel
Publisher: Addison Wesley
Pub Date: June 22, 1999
ISBN: 0-201-30972-6
Pages: 512

The core of Java technology, the Java virtual machine is an abstract computing machine that enables the Java platform to host applications on any computer or operating system without rewriting or recompiling. Anyone interested in designing a language or writing a compiler for the Java virtual machine must have an in-depth understanding of its binary class format and instruction set. If you are programming with the Java programming language, knowledge of the Java virtual machine will give you valuable insight into the Java platform's security capabilities and cross-platform portability. It will increase your understanding of the Java programming language, enabling you to improve the security and performance of your programs.

The author employs a tutorial approach that provides a detailed look into the central workings of the technology and teaches the reader how to write real programs for the Java virtual machine. He describes methods for becoming a better programmer through an advanced understanding of the Java virtual machine and Java technology. Programming for the Java Virtual Machine offers comprehensive coverage of all the major elements of the Java virtual machine--classes and objects, control instructions, debugging, class loaders, compiling the Java programming language, performance issues, security, and threads and synchronization. The book provides an introduction to the Java Virtual Machine Specification (JVMS), with a collection of topics that help programmers understand the Java virtual machine and the JVMS better. In addition, the book features implementations of Prolog and Scheme, a language that runs on top of the Java virtual machine, generating Java virtual machine code as it runs and using a Java virtual machine class loader to load the generated code into the system.

You will find detailed information on such topics as:

  • The Java virtual machine verification algorithm

  • How Java virtual machine security works, and what it can and can't do

  • Using class loaders to incorporate code and dynamically generated code from the Internet, the Java Foundation Classes, database queries, and other languages

  • The mechanics of compiling the Java programming language for the Java virtual machine

  • Implementing other languages using the Java virtual machine, including Scheme, Prolog, Sather, Eiffel, and regular expressions

15.3 Security Architecture and Security Policy

The Java platform builds a security architecture on top of the protections promised by the JVM. A security architecture is a way of organizing the software that makes up the Java platform so that potentially harmful operations are isolated from unprivileged code but available to privileged code. Most code is unprivileged; only carefully selected pieces of code are privileged to perform potentially dangerous operations. The security architecture is responsible for making sure that unprivileged code does not masquerade as privileged code.

The core of the Java platform security architecture under Java platforms 1.0 and 1.1 is the SecurityManager class. This class decides which pieces of code can perform certain operations and which cannot. Collectively, these decisions are called the security policy . The security policy is enforced by the Java platform classes, which check the SecurityManager before proceeding with any operations under the control of the SecurityManager.

[1] On the Java 2 platform, the core of the security architecture is shifted to a class called AccessController, which falls outside the scope of this book. See http//java.sun.com for more information.

Only one instance of the SecurityManager can be installed, and once it is installed it cannot be removed. It is called the security manager . By default, there is no security manager, and all operations are permitted. The class java.lang.System is responsible for ensuring that there is only one security manager. It provides the static methods getSecurityManager and setSecurityManager to get and set the security manager.

The SecurityManager class has a set of methods that are called by the Java platform code before proceeding with certain potentially harmful operations. These methods throw a SecurityException if the operation is forbidden. If no exception is thrown, then the caller may assume that the operation is permitted, and it can proceed with the operation. describes the operations that are checked by the SecurityManager in the Java 1.02 platform.

The security manager uses a variety of factors to determine whether an operation is permitted or not. These factors include the source of the code attempting the operation and the preferences of the user (discussed further in ). First we present an example of how the security architecture and the security policy interact.

Table 15.1. Security checks
MethodOperation checkedCalled by
checkAccept (String host, int port)Accepting a socket connection from host on portServerSocket.accept
checkAccess (Thread g)Modifying the thread g

Thread.stop

Thread.suspend

Thread.resume

Thread.setPriority

Thread.setName

Thread.setDaemon

checkAccess (ThreadGroup g)Modifying the thread group g

ThreadGroup.

ThreadGroup.setDaemon

ThreadGroup.setMaxPriority

ThreadGroup.stop

ThreadGroup.resume

ThreadGroup.destroy

checkConnect (String host, int port)Opening a socket to host on portSocket.connect
checkCreateClassLoader()Creating a class loaderClassLoader.
checkDelete(String file)Deleting a fileFile.delete
checkExec(String cmd)Creating a subprocessRuntime.exec
checkExit(int status)Exiting the JVMRuntime.exit
checkLink(String lib)Loading a library

Runtime.load

Runtime.loadLibrary

checkListen(int port)Listening at a portSocket.listen
checkPackageAccess (String package)Attempting to access packageClassLoader.loadClass
checkPackageDefinition (String package)Defining a class in packageClassLoader.loadClass
checkPropertiesAccess()Reading or writing properties

System.getProperties

System.setProperties

checkPropertyAccess (String property)Reading the property named propertySystem.getProperty
checkRead (FileDescriptor fd)Reading from the file descriptor fdFileInputStream.
checkRead(String file)Reading from the file named fileFileInputStream.
checkSetFactory()Setting a socket factory

ServerSocket

SetSocketFactory

checkWrite (FileDescriptor fd)Writing to a file descriptorFileOutputStream.
checkWrite(String f)Writing to a file named fileFileOutputStream.
15.3.1 Example
Next page
Light

Font size:

Reset

Interval:

Bookmark:

Make

Similar books «Programming for the Java¿ Virtual Machine»

Look at similar books to Programming for the Java¿ Virtual Machine. We have selected literature similar in name and meaning in the hope of providing readers with more options to find new, interesting, not yet read works.


Reviews about «Programming for the Java¿ Virtual Machine»

Discussion, reviews of the book Programming for the Java¿ Virtual Machine and just readers' own opinions. Leave your comments, write what you think about the work, its meaning or the main characters. Specify what exactly you liked and what you didn't like, and why you think so.