Dynamic Class Loading
|
|
- Terence Lane
- 6 years ago
- Views:
Transcription
1 Dynamic Class Loading Philippe Collet Partially based on notes from Michel Buffa Master 1 IFI Interna,onal h4p://dep,nfo.unice.fr/twiki/bin/view/minfo/soceng1213 P. Collet 1
2 Agenda Principle of a ClassLoader Writing a custom ClassLoader Architecture to load plugins How to reload plugins P. Collet 2
3 Definition of a ClassLoader The JVM contains a ClassLoader ClassLoaders allows for loading classes from the filesystem, but also from multiple locations (DB, network, etc.) Role: convert a class name in an array of bytes representing a class Class c = loadclass(string classname, boolean resolveit); P. Collet 3
4 On ClassLoaders All JVMs have a «system» ClassLoader This default CL implements a method loadclass() that searches in the CLASSPATH for.class,.jar or.zip files One can create new CL by deriving from class ClassLoader and by redefining loadclass() and the methods it uses (findclassfromclass, ResolveClass ) P. Collet 4
5 Time of class loading It depends! In general when: Foo f = new Foo(); Static references such as: System.out, Foo.class, forname("foo"); P. Collet 5
6 Writing your own ClassLoader? Interest? Load classes from the web Load classes from a DB Load classes «differently» Don t work with applets! From JDK1.2 on, an URLClassLoader is provided P. Collet 6
7 Steps for writing a ClassLoader Sub-class ClassLoader and implement the method loadclass 1. Check the class name, determining whether it has already been loaded 2. Check whether this is a system class 3. Attempt to load it 4. Define the class for the VM 5. Resolve it by loading its dependencies 6. Return the class From JDK1.3 on: sub-class SecureClassLoader to respect recommendations relative to the new Java security policy P. Collet 7
8 Example of custom ClassLoader public synchronized Class loadclass(string classname, boolean resolveit) throws ClassNotFoundException { Class result; Byte []classdata; // 1) search in the cache whether the class has already been loaded result = (Class) classes.get(classname); if(result!= null) return result; // 2) find out whether this is a system class. Very important because one // could change the security manager! try { result = super.findsystemclass(classname); return result; } catch(classnotfoundexception e) { System.out.println("Pas une classe système!"); } // 3) load the class from OUR REPOSITORY (e.g., web ou DB) classdata = getimplfromdatabase(classname); if(classdata == null) { throw new ClassNotFOundException() } P. Collet 8
9 Example of custom ClassLoader (cont d)... // 4) Define the class (by parsing). Actually the method will check the // validity of Bytecode and make other verifications // The result is stored in a specific data structures within the JVM result = defineclass(classdata, 0, classdata.length); // 5) Resolve class, i.e. apply the same process to superclasses and dependent // classes. if(resolveit) resolveclass(result); // Before returning the final result, put the class into the cachehe classes.put(classname, result); // 6) return result Return result; } P. Collet 9
10 Example of a code that reads a class... byte [] result; try { FIS fis = new FIS("store\\ " + classname + ".impl"); result = new byte[fis.available()]; fis.read(result); } catch(exception e) { } return null; P. Collet 10
11 Example of a code that reads a class from the web... URL url = new URL(urlClassName); URLConnection uc = new URLConnection(url); int length = uc.getcontentlength(); IS is = uc.getinputstream(); byte []data = new byte[length]; is.read(data); is.close(); return data;... P. Collet 11
12 Using a custom ClassLoader Class c = ccl.loadclass("foo"); Object o = c.newinstance(); ((Foo) o).f(); Don t work, as only the new cl knows Foo! System ClassLoader ((Foo)o) ccl Class Foo P. Collet 12
13 The need for an interface Only the new CL knows Foo. If one wants to cast the object, a common Interface must be created and be known by the default (system) CL. For example, Plugin is known by the default CL (SystemClassLoader). System ClassLoader Interface MyPlugin ((MyPlugin)o) ccl Class loaded Form the classpath Class Foo P. Collet 13
14 Writing some plugins Simple rule: read plugins from a directory Define a usage interface on plugins Each plugin must implement this interface Each class will be a plugin Then, one simply needs: 1. Read the content of a directory 2. For each class name in the plugins directory Class c = Class.forName(className); Plugin p = (PluginDraw) c.newinstance(); p.draw(); // methode present in Plugin.java P. Collet 14
15 Plugins again... Difficulties when No default constructor Plugins are in a.jar or in a DB Look for ressources? Images, sounds, etc. Class.forName(className) is the equivalent of loadclass(classname) that was studied for the custom ClassLoader Plugins are everywhere!!! Photoshop, IE, Firefox, Chrome P. Collet 15
16 Plugins: ideal model Ideal model = A directory for plugins (.class files) and jar files in the directory The application «discovers» files and «absorbs» plugins that are inside Each jar contains A class that implements the interface Plugin.java Other classes it needs (ie depends on) Images, icons, sounds, docs, etc. that the plugin needs as well P. Collet 16
17 Plugins: ideal model But there is a problem when two many classes are present in the plugin How to test that a class is really a plugin without trying to load it, which is taking time Class.forName() is long Class.newInstance() too Eclipse, for example, contains more than 800 plugins that are loaded at startup Some plugins extend other plugins and thus depend on them The loading order is important for consistency P. Collet 17
18 How to manage plugins? The solution often uses a descriptor, a «map» of plugins Eclipse follows a specific format to describe plugins, their dependencies (with some XML files) Problem #1 with plugins is the loading time But advantages are numerous P. Collet 18
19 Developing an application extensible by plugins A SDK to develop plugins must be provided So that developers can compile and test plugins without the code of the main application What must be provided? Necessary classes and interfaces One or more exemple plugins, with a compiling aid (ant file for example) Documentation, tutorials, etc. P. Collet 19
20 Changing plugins without restarting the main application/server Principle of Servlet/Jsp servers: Classes and jars are added The server is not restarted Example Java application servers (large majority of front-end/ business tier on current linux based servers) 24/7 exploitation (never stopped nor rebooted) Plugins are dropped down and discovered on the fly P. Collet 20
21 Hot (Re-)Loading Principle : change the classloader for each plugin loading Each classloader manages its own «cache» of classes If the classloader is reinstantiated, one can load/reload plugins at runtime An URLClassLoader will be used for this implementation One only needs to re-scan every X (5 for example) seconds the plugin directory re-scan on-demand (a menu for example) P. Collet 21
22 P. Collet 22
Java Security. Compiler. Compiler. Hardware. Interpreter. The virtual machine principle: Abstract Machine Code. Source Code
Java Security The virtual machine principle: Source Code Compiler Abstract Machine Code Abstract Machine Code Compiler Concrete Machine Code Input Hardware Input Interpreter Output 236 Java programs: definitions
More informationSecurity SYSTEM SOFTWARE 1
Security SYSTEM SOFTWARE 1 Security Introduction Class Loader Security Manager and Permissions Summary SYSTEM SOFTWARE 2 Security Mechanisms in Java Virtual machine erroneous array accesses forbidden casts
More informationWednesday, June 23, JBoss Users & Developers Conference. Boston:2010
JBoss Users & Developers Conference Boston:2010 Zen of Class Loading Jason T. Greene EAP Architect, Red Hat June 2010 What is the Class class? Represents a class, enum, interface, annotation, or primitive
More informationIntroflection. Dave Landers BEA Systems, Inc.
Introflection Dave Landers BEA Systems, Inc. dave.landers@bea.com Agenda What is Introflection? Primary Classes and Objects Loading Classes Creating Objects Invoking Methods Java Beans Proxy What is Introflection?
More informationThe Dark Sides of Integration. Anton Arhipov JRebel,
The Dark Sides of Integration Anton Arhipov JRebel, ZeroTurnaround @antonarhipov Observe results Make a change Build, deploy, wait Where the time goes? Where the time goes? Build Container start Just don
More informationUnderstanding ClassLoaders WebSphere 5.1, 6.0 and 6.1
IBM Software Group Understanding ClassLoaders WebSphere 5.1, 6.0 and 6.1 Speaker: Paul Van Norman WebSphere Support Technical Exchange Agenda Classloader overview Classloader delegation mode & policies
More informationJava Class Loading and Bytecode Verification
Java Class Loading and Bytecode Verification Every object is a member of some class. The Class class: its members are the (definitions of) various classes that the JVM knows about. The classes can be dynamically
More informationJava Code Coverage Mechanics
at by Evgeny Mandrikov Java Code Coverage Mechanics #DevoxxFR Evgeny Mandrikov @_Godin_.com/Godin one of JaCoCo and Eclipse EclEmma Project Leads Disclaimer /* TODO don't forget to add huge disclaimer
More informationJava Code Coverage Mechanics Evgeny Mandrikov Marc Hoffmann #JokerConf 2017, Saint-Petersburg
Java Code Coverage Mechanics Evgeny Mandrikov Marc Hoffmann #JokerConf 2017, Saint-Petersburg Evgeny Mandrikov @_Godin_ Godin Marc Hoffmann @marcandsweep marchof JaCoCo and Eclipse EclEmma Project Leads
More informationCSE P 501 Compilers. Java Implementation JVMs, JITs &c Hal Perkins Winter /11/ Hal Perkins & UW CSE V-1
CSE P 501 Compilers Java Implementation JVMs, JITs &c Hal Perkins Winter 2008 3/11/2008 2002-08 Hal Perkins & UW CSE V-1 Agenda Java virtual machine architecture.class files Class loading Execution engines
More informationJava Code Coverage Mechanics. by Evgeny Mandrikov at EclipseCon Europe 2017
Java Code Coverage Mechanics by Evgeny Mandrikov at EclipseCon Europe 2017 Evgeny Mandrikov @_Godin_ Godin Marc Hoffmann @marcandsweep marchof JaCoCo and Eclipse EclEmma Project Leads /* TODO Don't forget
More informationJBoss Tattletale 1.1 Developer's Guide
JBoss Tattletale 1.1 Developer's Guide Betraying all your project's naughty little secrets Copyright 2009 Red Hat Middleware Table of Contents 1. About JBoss Tattletale...1 1.1. The team...1 1.2. Thanks
More informationModule Road Map. 7. Version Control with Subversion Introduction Terminology
Module Road Map 1. Overview 2. Installing and Running 3. Building and Running Java Classes 4. Refactoring 5. Debugging 6. Testing with JUnit 7. Version Control with Subversion Introduction Terminology
More informationDo you really get classloaders?
Do you really get classloaders? Jevgeni Kabanov CEO & Founder of ZeroTurnaround (how awesome is that?) Free! social.jrebel.com Over 50 million builds, redeploys & restarts prevented for 30,000+ Java developers
More informationWhat is Groovy? Almost as cool as me!
What is Groovy? Groovy is like a super version of Java. It can leverage Java's enterprise capabilities but also has cool productivity features like closures, builders and dynamic typing. From http://groovy.codehaus.org/
More informationTechniques for Building J2EE Applications
Techniques for Building J2EE Applications Dave Landers BEA Systems, Inc. dave.landers@4dv.net dave.landers@bea.com Why are we Here? Discuss issues encountered with J2EE Application deployment Based on
More informationCS 11 java track: lecture 1
CS 11 java track: lecture 1 Administrivia need a CS cluster account http://www.cs.caltech.edu/ cgi-bin/sysadmin/account_request.cgi need to know UNIX www.its.caltech.edu/its/facilities/labsclusters/ unix/unixtutorial.shtml
More informationJava language. Part 1. Java fundamentals. Yevhen Berkunskyi, NUoS
Java language Part 1. Java fundamentals Yevhen Berkunskyi, NUoS eugeny.berkunsky@gmail.com http://www.berkut.mk.ua What Java is? Programming language Platform: Hardware Software OS: Windows, Linux, Solaris,
More informationBefore you start working with Java, you need to set up a Java development
Setting Up the Java Development Environment Before you start working with Java, you need to set up a Java development environment. This includes installing the Java Standard Edition (SE) Development Kit
More informationArchitecture of so-ware systems
Architecture of so-ware systems Lecture 13: Class/object ini
More informationJavac and Eclipse tutorial
Javac and Eclipse tutorial Author: Balázs Simon, BME IIT, 2013. Contents 1 Introduction... 2 2 JRE and JDK... 2 3 Java and Javac... 2 4 Environment variables... 3 4.1 Setting the environment variables
More informationAgenda. CSE P 501 Compilers. Java Implementation Overview. JVM Architecture. JVM Runtime Data Areas (1) JVM Data Types. CSE P 501 Su04 T-1
Agenda CSE P 501 Compilers Java Implementation JVMs, JITs &c Hal Perkins Summer 2004 Java virtual machine architecture.class files Class loading Execution engines Interpreters & JITs various strategies
More informationThe Java Technical Details. ICW Lecture 3 Tom Chothia
The Java Technical Details ICW Lecture 3 Tom Chothia Reminder of Last Time: Your programs defines Classes. Each class defines Objects. An Object is defined as having a number of Fields that store data......and
More informationAnalysis Tool Project
Tool Overview The tool we chose to analyze was the Java static analysis tool FindBugs (http://findbugs.sourceforge.net/). FindBugs is A framework for writing static analyses Developed at the University
More informationHPE Security Fortify Plugins for Eclipse
HPE Security Fortify Plugins for Eclipse Software Version: 17.20 Installation and Usage Guide Document Release Date: November 2017 Software Release Date: November 2017 Legal Notices Warranty The only warranties
More informationMAVEN INTERVIEW QUESTIONS
MAVEN INTERVIEW QUESTIONS http://www.tutorialspoint.com/maven/maven_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Maven Interview Questions have been designed specially to get
More informationEfficient Java (with Stratosphere) Arvid Heise, Large Scale Duplicate Detection
Efficient Java (with Stratosphere) Arvid Heise, Large Scale Duplicate Detection Agenda 2 Bottlenecks Mutable vs. Immutable Caching/Pooling Strings Primitives Final Classloaders Exception Handling Concurrency
More informationThe Terminator to Android Hardening Services. Yueqian Zhang, Xiapu Luo, Haoyang Yin Department of Computing The Hong Kong Polytechnic University
The Terminator to Android Hardening Services Yueqian Zhang, Xiapu Luo, Haoyang Yin Department of Computing The Hong Kong Polytechnic University 1 Source: Trend Micro Percentage of top 10 apps in each category
More information1Integrate Built-in Function Programmer Guide
1Integrate Built-in Function Programmer Product version: v 1.4 Document version: v 1.1.3 Document date: 08/02/2017 Copyright 2017 1Spatial Group Limited. All rights reserved. No part of this document or
More informationBackground. Reflection. The Class Class. How Objects Work
Background Reflection Turing's great insight: programs are just another kind of data Source code is text Manipulate it line by line, or by parsing expressions Compiled programs are data, too Integers and
More informationUSING THE OOSIML/JAVA. With a Terminal Window
USING THE OOSIML/JAVA With a Terminal Window On Linux Operating System José M. Garrido Department of Computer Science December 2017 College of Computing and Software Engineering Kennesaw State University
More informationPace University. Fundamental Concepts of CS121 1
Pace University Fundamental Concepts of CS121 1 Dr. Lixin Tao http://csis.pace.edu/~lixin Computer Science Department Pace University October 12, 2005 This document complements my tutorial Introduction
More informationHow are classes loaded into the Java Virtual Machine (JVM)? from the local file system (CLASSPATH). by an instance of ClassLoader
36 ClassLoader How are classes loaded into the Java Virtual Machine (JVM)? from the local file system (CLASSPATH). by an instance of ClassLoader... and when? - When they are needed the first time. class
More informationDatabase Explorer Quickstart
Database Explorer Quickstart Last Revision: Outline 1. Preface 2. Requirements 3. Introduction 4. Creating a Database Connection 1. Configuring a JDBC Driver 2. Creating a Connection Profile 3. Opening
More informationReflection (in fact, Java introspection)
Reflection (in fact, Java introspection) Prof. Dr. Ralf Lämmel Universität Koblenz-Landau Software Languages Team Elevator speech So programs are programs and data is data. However, programs can be represented
More informationPackaging and Deploying Java Based Solutions to WebSphere Message Broker V7
IBM Software Group Packaging and Deploying Java Based Solutions to WebSphere Message Broker V7 Jeff Lowrey (jlowrey@us.ibm.com) WebSphere Message Broker L2 Support 15 September 2010 WebSphere Support Technical
More informationOutline. Introduction to Java. What Is Java? History. Java 2 Platform. Java 2 Platform Standard Edition. Introduction Java 2 Platform
Outline Introduction to Java Introduction Java 2 Platform CS 3300 Object-Oriented Concepts Introduction to Java 2 What Is Java? History Characteristics of Java History James Gosling at Sun Microsystems
More informationWhat s NetBeans? Like Eclipse:
What s NetBeans? Like Eclipse: It is a free software / open source platform-independent software framework for delivering what the project calls "richclient applications" It is an Integrated Development
More informationJAVA. Reflection API. Java, summer semester
JAVA Reflection API 26.2.2013 1 Overview Reflection changes structure/state of objects Introspection exploring a structure of objects similar to RTTI in C++ but more powerful allows obtaining information
More informationDeveloping Android applications in Windows
Developing Android applications in Windows Below you will find information about the components needed for developing Android applications and other (optional) software needed to connect to the institution
More informationNotes of the course - Advanced Programming. Barbara Russo
Notes of the course - Advanced Programming Barbara Russo a.y. 2014-2015 Contents 1 Lecture 2 Lecture 2 - Compilation, Interpreting, and debugging........ 2 1.1 Compiling and interpreting...................
More informationChoosing output format. Dynamically choosing format
Choosing output format Dynamically choosing format Problem Our code should choose an output format based on input from the user. So, we need a way to dynamically choose a formatter class based on some
More informationRMI Example RMI. CmpE 473 Internet Programming RMI
CmpE 473 Internet Programming Pınar Yolum pinar.yolum@boun.edu.tr Department of Computer Engineering Boğaziçi University RMI Examples from Advanced Java: Internet Applications, Art Gittleman Remote Method
More informationAndroid Sdk Install Documentation Eclipse. Ubuntu >>>CLICK HERE<<<
Android Sdk Install Documentation Eclipse Ubuntu 12.04 These are instructions to install the Android SDK onto Ubuntu. If you are only I'm skipping the Eclipse install, sorry if you wanted. Just trying
More informationAdvanced Enterprise Debugging
ThoughtWorks Neal Ford TS-4588 Advanced Enterprise Debugging ThoughtWorker/Meme Wrangler ThoughtWorks www.thoughtworks.com 2007 JavaOne SM Conference TS-4588 What This Session Covers Forensic debugging
More informationJDB - QUICK GUIDE JDB - INTRODUCTION
http://www.tutorialspoint.com/jdb/jdb_quick_guide.htm JDB - QUICK GUIDE Copyright tutorialspoint.com JDB - INTRODUCTION Debugging is a technical procedure to find and remove bugs or defects in a program
More informationReverse Engineering of Managed Languages
Reverse Engineering of Managed Languages IT Security Bootcamp 2017 Dorottya Papp Agenda Reverse engineering Managed languages Introduction: what makes a programming language managed? Intermediate language
More informationZero Turnaround in Java Jevgeni Kabanov
Zero Turnaround in Java Jevgeni Kabanov ZeroTurnaround Lead Aranea and Squill Project Co-Founder Turnaround cycle Make a change Check the change Build, deploy, wait DEMO: SPRING PETCLINIC TURNAROUND Outline
More informationFindBugs review of Glassfish v2 b09
FindBugs review of Glassfish v2 b09 William Pugh Univ. of Maryland http://www.cs.umd.edu/~pugh/ FindBugs Open source static analysis tool for finding defects in Java programs Analyzes classfiles Generates
More informationClassloader J2EE rakendusserveris (Bea Weblogic Server, IBM WebSphere)
Tartu Ülikool Matemaatika-informaatika Teaduskond Referaat Classloader J2EE rakendusserveris (Bea Weblogic Server, IBM WebSphere) Autor: Madis Lunkov Inf II Juhendaja: Ivo Mägi Tartu 2005 Contents Contents...
More informationBEA WebLogic Server R Using FastSwap TM to Minimize Redeployment
BEA WebLogic Server R Using FastSwap TM to Minimize Redeployment Version: 10.3 Tech Document Date: October 2007 Table of Contents Overview of Class Redefinition... 3 Hasn t this been attempted before?...
More informationSelenium with Java Syllabus
Selenium with Java Syllabus Training Duration: 55-60 hours (3 class in a week 3 hours per class) Module 1: Test Automation and Selenium Basics Session 1: Overview on Test Automation Disadvantages of Manual
More informationGoogle App Engine: Java Technology In The Cloud
Google App Engine: Java Technology In The Cloud Toby Reyelts, Max Ross, Don Schwarz Google 1 Goals > Google App Engine > Java on App Engine > The App Engine Datastore > Demo > Questions 2 2 What Is Google
More informationAgenda. Why OSGi. What is OSGi. How OSGi Works. Apache projects related to OSGi Progress Software Corporation. All rights reserved.
OSGi Overview freeman.fang@gmail.com ffang@apache.org Apache Servicemix Commiter/PMC member Apache Cxf Commiter/PMC member Apache Karaf Commiter/PMC member Apache Felix Commiter Agenda Why OSGi What is
More informationSchema Null Cannot Be Resolved For Table Jpa
Schema Null Cannot Be Resolved For Table Jpa (14, 19) The abstract schema type 'Movie' is unknown. (28, 35) The state field path 'm.title' cannot be resolved to a valid type. at org.springframework.web.servlet.
More information15CS45 : OBJECT ORIENTED CONCEPTS
15CS45 : OBJECT ORIENTED CONCEPTS QUESTION BANK: What do you know about Java? What are the supported platforms by Java Programming Language? List any five features of Java? Why is Java Architectural Neutral?
More informationCS321 Languages and Compiler Design I. Winter 2012 Lecture 2
CS321 Languages and Compiler Design I Winter 2012 Lecture 2 1 A (RE-)INTRODUCTION TO JAVA FOR C++/C PROGRAMMERS Why Java? Developed by Sun Microsystems (now Oracle) beginning in 1995. Conceived as a better,
More informationjgap freetts gruntspud jedit columba jfreechart
SQL injections 100% 80% 60% 40% 20% 0% jgap freetts gruntspud jedit columba jfreechart !" #$ %& "" '( ()(* +, - ./0 static Class Class.forName(String classname) java.lang.class 0 +**Class.forName( java.lang.string
More informationWriting a Client Application for Genesis II Contributors: Chris Sosa Last Modified: 06/05/2007
Writing a Client Application for Genesis II Contributors: Chris Sosa (sosa@virginia.edu) Last Modified: 06/05/2007 Introduction The purpose of this White Paper is to discuss the use of the University of
More informationASSIGNMENT 5 Data Structures, Files, Exceptions, and To-Do Lists
ASSIGNMENT 5 Data Structures, Files, Exceptions, and To-Do Lists COMP-202B, Winter 2009, All Sections Due: Tuesday, April 14, 2009 (23:55) You MUST do this assignment individually and, unless otherwise
More informationWhy Java is practical for modern operating systems. JNode.org
Why Java is practical for modern operating systems JNode.org Ewout Prangsma Contents Introduction History Characteristics Architecture Plugin framework Driver framework Future Java benefits Introduction
More informationLearning objectives. The Java Environment. Java timeline (cont d) Java timeline. Understand the basic features of Java
Learning objectives The Java Environment Understand the basic features of Java What are portability and robustness? Understand the concepts of bytecode and interpreter What is the JVM? Learn few coding
More informationAdding a Module System to Java
Adding a Module System to Java Rok Strniša Computer Laboratory, University of Cambridge Email: Rok.Strnisa@cl.cam.ac.uk URL: http://www.cl.cam.ac.uk/~rs456/ May 8, 2008 @ The British Computer Society Joint
More informationCS506 Web Design & Development Final Term Solved MCQs with Reference
with Reference I am student in MCS (Virtual University of Pakistan). All the MCQs are solved by me. I followed the Moaaz pattern in Writing and Layout this document. Because many students are familiar
More information[ANALYSIS ASSIGNMENT 10]
2009 Pidgin Carlos Simões Higino Silva João Carlos Almeida Miguel Graça Oliveira [ANALYSIS ASSIGNMENT 10] INTRODUCTION The purpose of this project is to evaluate a testing tool chosen by the team and provide
More informationChair of Software Engineering. Java and C# in depth. Carlo A. Furia, Marco Piccioni, Bertrand Meyer. Java: reflection
Chair of Software Engineering Carlo A. Furia, Marco Piccioni, Bertrand Meyer Java: reflection Outline Introductory detour: quines Basic reflection Built-in features Introspection Reflective method invocation
More informationThis tutorial is designed for all Java enthusiasts who want to learn document type detection and content extraction using Apache Tika.
About the Tutorial This tutorial provides a basic understanding of Apache Tika library, the file formats it supports, as well as content and metadata extraction using Apache Tika. Audience This tutorial
More informationJava Security HotJava to Netscape and Beyond
Java Security HotJava to Netscape and Beyond Drew Dean Ed Felten Dan Wallach Department of Computer Science Princeton University 4/5/96 Introduction Q Remote Code is Everywhere Q Java - A new language
More informationModule 3: Installing Eclipse
Module 3: Installing Eclipse Objective To learn how to Eclipse To Eclipse on your laptop This is an optional module Contents Software prerequisites Installing Eclipse Installing CDT and PTP LACSI 2006
More informationCore JAVA Training Syllabus FEE: RS. 8000/-
About JAVA Java is a high-level programming language, developed by James Gosling at Sun Microsystems as a core component of the Java platform. Java follows the "write once, run anywhere" concept, as it
More informationIntrospec*on and reflexivity
Introspec*on and reflexivity Principles and applica*on to Java Philippe Collet From a Michel Buffa s lecture Master 1 IFI / Interna:onal 2013-2014 h@p://dep:nfo.unice.fr/twiki/bin/view/minfo/sojeng1314
More informationJigsaw and OSGi: What the Heck Happens Now?
Jigsaw and OSGi: What the Heck Happens Now? Neil Bartlett neil.bartlett@paremus.com Jigsaw and OSGi: WTF Happens Now? Neil Bartlett neil.bartlett@paremus.com Agenda WTF is a Module System? How do OSGi
More information25. DECUS Symposium THE Application Development Environment for OpenVMS
NetBeans THE Application Development Environment for OpenVMS Sunil Kumaran, Thomas Siebold Agenda What is NetBeans some history Major Features / Demonstrations NetBeans on OpenVMS Questions 5/2/2002 DECUS
More informationObjects, Distribution, and the Internet. Update on Java. Introduction, fundamentals and basic concepts. Outline
Objects, Distribution, and the Internet Update on Java CIMPA INRIA UNESCO School Mérida,Universidad de los Andes (Venezuela) January 7-18, 2002 Richard Grin Richard.Grin@unice.fr University de Nice - Sophia
More informationBrekeke PBX Version 2 ARS Plug-in Developer s Guide Brekeke Software, Inc.
Brekeke PBX Version 2 ARS Plug-in Developer s Guide Brekeke Software, Inc. Version Brekeke PBX Version 2 ARS Plug-in Developer s Guide Revised February 2010 Copyright This document is copyrighted by Brekeke
More informationHPE Security Fortify Plugins for Eclipse Software Version: Installation and Usage Guide
HPE Security Fortify Plugins for Eclipse Software Version: 16.10 Installation and Usage Guide Document Release Date: April 2016 Software Release Date: April 2016 Legal Notices Warranty The only warranties
More informationCompiling Techniques
Lecture 10: Introduction to 10 November 2015 Coursework: Block and Procedure Table of contents Introduction 1 Introduction Overview Java Virtual Machine Frames and Function Call 2 JVM Types and Mnemonics
More informationUnder the Hood: The Java Virtual Machine. Lecture 23 CS2110 Fall 2008
Under the Hood: The Java Virtual Machine Lecture 23 CS2110 Fall 2008 Compiling for Different Platforms Program written in some high-level language (C, Fortran, ML,...) Compiled to intermediate form Optimized
More informationReladomo Test Resource
October 16, 2006 Table of Contents 1. Creating test cases using Reladomo objects. 1 2. MithraTestResource Introduction 1 3. MithraTestResource Detailed API.. 3 4.. 4 5. Test data file format.. 5 1. Creating
More informationJPA - INSTALLATION. Java version "1.7.0_60" Java TM SE Run Time Environment build b19
http://www.tutorialspoint.com/jpa/jpa_installation.htm JPA - INSTALLATION Copyright tutorialspoint.com This chapter takes you through the process of setting up JPA on Windows and Linux based systems. JPA
More informationBanner Frequently Asked Questions (FAQs)
Banner Frequently Asked Questions (FAQs) Contents How do I install Java?... 1 Banner prompts me to download and install Java. Is this okay?... 1 What Java version should I use?... 2 How do I check what
More informationAutoVue Integration SDK & Sample Integration for Filesys DMS
AutoVue Integration SDK & Sample Integration for Filesys DMS Installation Guide AutoVue Integration SDK Contents INTRODUCTION...1 SYSTEM REQUIREMENTS...2 INSTALLATION PREREQUISITES...3 Download the Eclipse
More informationScripting Languages in OSGi. Thursday, November 8, 12
Scripting Languages in OSGi Frank Lyaruu CTO Dexels Project lead Navajo Framework Amsterdam www.dexels.com Twitter: @lyaruu Navajo Framework TSL XML based script language Compiled to Java Recently ported
More informationCours / TP. Tutorial to Java Reflection API. Class / ClassLoader / Field-Method Introspection.
Cours / TP Tutorial to Java Reflection API Class / ClassLoader / Field-Method Introspection Arnaud.nauwynck@gmail.com This document: http://arnaud.nauwynck.chez-alice.fr/ Intro-JavaIntrospection.pdf Outline
More informationDynamic code downloading using Java TM (Using the java.rmi.server.codebase Property)
Pagina 1 Dynamic code downloading using Java TM RMI (Using the java.rmi.server.codebase Property) This tutorial is organized as follows: 1. Starting out 2. What is a codebase? 3. How does it work? 4. Using
More informationI/O and Parsing Tutorial
I/O and Parsing Tutorial 22-02-13 Structure of tutorial 1.Example program to access and write to an XML file 2.Example usage of JFlex Tasks program Program to help people plan and manage their work on
More informationBefore you start with this tutorial, you need to know basic Java programming.
JDB Tutorial 1 About the Tutorial The Java Debugger, commonly known as jdb, is a useful tool to detect bugs in Java programs. This is a brief tutorial that provides a basic overview of how to use this
More informationToday. Book-keeping. File I/O. Subscribe to sipb-iap-java-students. Inner classes. Debugging tools
Today Book-keeping File I/O Subscribe to sipb-iap-java-students Inner classes http://sipb.mit.edu/iap/java/ Debugging tools Problem set 1 questions? Problem set 2 released tomorrow 1 2 So far... Reading
More informationFlowTwist: Efficient Context-Sensitive Inside- Out Taint Analysis for Large Codebases
FlowTwist: Efficient Context-Sensitive Inside- Out Taint Analysis for Large Codebases Johannes Lerch, Ben Hermann, Eric Bodden, and Mira Mezini {lastname@cs.tu-darmstadt.de https://github.com/johanneslerch/flowtwist
More informationr = obj2.m( 0, 1 ); s = obj2.f; r = obj2.m( ); r = obj2.anothermethod( 0, 1 ); s = obj2.anotherfield;
REFLECTION ! Objects(access(fields( and(methods(of(other( objects((! A(safe(language( detects(situa7ons( where(the(receiver( object(does(not(have( the(accessed(field(or( method((! Type(systems(can(be(
More informationEquinox Framework: How to get Hooked
Equinox Framework: How to get Hooked Thomas Watson, IBM Lotus Equinox Project co-lead Equinox Framework lead developer 2008 by IBM Corp; made available under the EPL v1.0 March 2008 Tutorial Agenda Equinox
More informationMastering WDK Developer Tips and Tricks. A.J. Whitney
Mastering WDK Developer Tips and Tricks A.J. Whitney ajwhitney@bluefishgroup.com http://www.bluefishgroup.com http://www.dmdeveloper.com Documentum Developer Conference 2004 What is this presentation?
More informationINTROSPECTION. We need to begin with a more basic concept called type introspection
REFLECTION 1 INTROSPECTION We need to begin with a more basic concept called type introspection The ability of a program to examine the type and properties of an object at runtime A few programming languages
More informationPART 1. Eclipse IDE Tutorial. 1. What is Eclipse? Eclipse Java IDE
PART 1 Eclipse IDE Tutorial Eclipse Java IDE This tutorial describes the usage of Eclipse as a Java IDE. It describes the installation of Eclipse, the creation of Java programs and tips for using Eclipse.
More informationAnno Accademico Laboratorio di Tecnologie Web Introduzione ad Eclipse e Tomcat
Universita degli Studi di Bologna Facolta di Ingegneria Anno Accademico 2007-2008 Laboratorio di Tecnologie Web Introduzione ad Eclipse e Tomcat http://www lia.deis.unibo.it/courses/tecnologieweb0708/
More informationNothing to see here...
Nothing to see here... Work in progress. Does not reflect reality, purely the thoughts of a mad man Deployment Models Single JVM Redundant JVM Externalized System Services Fully Distributed Or some other
More informationSELENIUM TRAINING COURSE CONTENT
SECTION 1 : INTRODUCTION SELENIUM TRAINING COURSE CONTENT What is automation testing? When Automation Testing is needed? What is the use of automation testing? Different Automation Tools available in the
More informationNew Features Overview
Features pf JDK 7 New Features Overview Full List: http://docs.oracle.com/javase/7/docs/webnotes/adoptionguide/index.html JSR 334: Small language enhancements (Project Coin) Concurrency and collections
More informationChapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.
Chapter 1 GETTING STARTED SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: WSAD. J2EE business topologies. Workbench. Project. Workbench components. Java development tools. Java projects
More informationCommunication Manager API Release Notes Release 2.1, Build , May
INTRODUCTION Communication Manager API Release Notes Release 2.1, Build 2.1.25, May 2005 03-300136 This document introduces the latest release of the Communication Manager API (Release 2.1), describes
More information