SmartArrays and Java Frequently Asked Questions

Size: px
Start display at page:

Download "SmartArrays and Java Frequently Asked Questions"

Transcription

1 SmartArrays and Java Frequently Asked Questions What are SmartArrays? A SmartArray is an intelligent multidimensional array of data. Intelligent means that it has built-in knowledge of how to perform operations on the data. Multidimensional means that the data is organized along zero or more dimensions. A vector is a one-dimensional array, a matrix has two dimensions, a 3-cube has 3 dimensions, a 4-cube has 4 dimensions, etc. You can also have scalar arrays, which are a single element of data with zero dimensions. These arrays are created and managed by SmartArrays, a software component that creates arrays and performs manipulations and calculations them. This component is a native library that is accessed from Java through a Java class SmArray. It can easily be used from server side or client side Java code. What are the benefits of SmartArrays with Java? SmartArrays are a natural complement to Java, taking advantage of the things that Java does well, and expanding Java s power in new ways. Multidimensional arrays: SmartArrays makes it easy to represent data cubes such as are used in OLAP and multidimensional analysis applications. Rapid Development: SmartArrays provides high-level software building blocks that work on entire arrays of data. These can be rapidly assembled to express algorithms that otherwise would require much more thought and more code in straight Java. Fewer bugs, easier maintenance: The logic inside SmartArrays is robust and reliable, and applications built with SmartArrays are easier to modify and enhance. High Performance: SmartArrays logic is written in optimized C++, and uses sophisticated algorithms. Calculations can run many times faster than the same operations expressed in straightforward Java programs.. What kinds of applications are array-oriented? Actually, arrays are everywhere once you learn how to see them. A spreadsheet is a matrix. So is a table in a relational database. A text file is a vector of bytes.. A photograph represented as a bitmap is can be thought of as a matrix of pixels, or a 3-cube of rows, columns, and red-greenblue levels. A movie is a cube of photographs. SmartArrays and Java - FAQ James G. Wheeler 2/5/02 page 1

2 Typically, the more experience you have with using arrays, the more readily you will see places to use them. Getting the hang of array-oriented thinking doesn t happen overnight, any more than object-oriented thinking comes immediately to a programmer used to procedural programming. But the more you use SmartArrays, the easier it will be for you to spot the right place to use arrays in your programs. As you do, you ll find that your computations that used to seem complicated now appear simple, and you will attempt more sophisticated calculations that seemed too hard before. In practice, one of the most natural places to use SmartArrays is with financial or marketing data, where one often needs to organize a large volume of data elements along multiple dimensions. For example, sales information might be represented as a 4-cube organized by product, customer, date, and salesman. Putting this information into a 4-dimensional array makes it easy to create reports viewing the data along any two axes (a practice sometimes called spinning the cube ). SmartArrays enables applications to go much further, however, performing calculations of any kind on the data in the cube, projecting future sales, etc. What is the difference between SmartArrays and a Java array class library? Other Java class libraries exist that provide some form of multidimensional arrays. The standard Java Collections framework provides for arrays of Java objects, and IBM s AlphaWorks has a Numerically Intensive Java package that includes arrays and implements a suite of standard linear algebra subroutines. Such array classes can be useful, but are no substitute for SmartArrays. As a high-performance array engine, SmartArrays provides unique capabilities that are not available with other products. Among the important distinctions are: 1. The SmartArrays engine is not written in Java, but in highly optimized C++. As a result it does not suffer from the performance problems of bytecode-interpreted Java. This can make a profound difference when calculations operate on large quantities of data. 2. SmartArrays can be used with other languages besides Java, including C, C++, Visual Basic, Delphi, etc. Multiple object models are supported, including COM/DCOM and CORBA, in addition to JNI (Java Native Interface) calls. 3. SmartArrays can be configured to run as a server that can provide array services to multiple clients at once, and it is inherently networkable, allowing a Java program on one machine to manipulate arrays of data on another. 4. SmartArrays can handle very large arrays. The current version handles individual arrays up to 4 gigabytes in size, with as many as 255 dimensions, and this limit will be raised as 64-bit machine architectures come into production use. Memory used by SmartArrays is separate from the Java Virtual Machine s memory manager and is managed in a way that is tuned for large arrays. 5. SmartArrays provides a complete set of array-oriented primitive functions, including arithmetic and math functions, structural manipulations, sorting, searching, etc. How are SmartArrays made available to my Java program? Each SmartArray is created, owned, and managed by a SmartArrays engine. Under Windows, the engine is a DLL (dynamic link library) that can be called from any program. For a Java program, the engine is called by the JVM (Java Virtual Machine) that executes Java programs on the machine where SmartArrays is installed. SmartArrays and Java - FAQ James G. Wheeler 2/5/02 page 2

3 This detail is invisible to your Java code, because the functionality of the SmartArrays engine is wrapped with Java classes. Your program imports these classes and calls them as it would any Java class. The actual calling mechanism is through JNI (the Java Native Interface) which is the standard protocol for calling external libraries from Java. What does a SmartArray look like to Java? The fundamental Java class for working with SmartArrays is SmArray: This represents a single SmartArray. It contains a link to the actual data (stored in memory owned by the SmartArrays engine), and implements more than 150 built-in array methods that can operate on that data. What kinds of operations can SmartArrays do? SmartArrays provides a comprehensive suite of built-in primitive functions, each of which works on entire arrays of data. These are called primitives because they can be combined together in an infinite variety of ways to perform more complex calculations and data manipulations. Besides the primitive functions, SmartArrays has a database interface for creating arrays with data from a database, a file interface for moving data into and out of files, and a formula engine that executes Excel-style formulas on individual data cells in an array. SmartArrays also provides a facility for plug-in extensions, so new custom operations on arrays can be added. How to I create arrays of data? Here s a simple example that creates a one-dimensional array (vector) containing the number s100, 200, and 300: SmArray my_array = SmArray.vector( 100, 200, 300 ); The following creates a new scalar, containing the integer value 99: SmArray ninetynine = SmArray.scalar(99); This creates a new floating-point SmartArray vector from data in a Java vector: float[] data = { 1.0, 1.5, 2.0, 2.5, 3.0 }; SmArray smartdata = my_server.newfloatvector( data ); The following creates a 3-cube with a specified shape. The shape of {3,4,5} means that the array will have 3 planes by 4 columns by 5 rows. The data supplied is repeated to fill the entire array, resulting in each row containing the same 5 values: int[] shape = {3,4,5}; int[] data = {100,200,300,400,500}; SmArray my_cube = new SmArray( shape, data ); How do I calculate with arrays? Here are some examples, using the array data created above. // multiply all the numbers in <my_cube> by 1000 SmArray data2 = mycube.times( 1000 ); SmartArrays and Java - FAQ James G. Wheeler 2/5/02 page 3

4 // calculate the sum of <my_cube> along the rows (last axis); yields // a 3x4 matrix. SmArray sum = my_cube.reduce( Sm.plus ); // calculate the maximum value of each row of data; 3x4 matrix result SmArray max = my_cube.reduce( Sm.max ); Notice how we can use different functions with the Reduce operator: The auxiliary class Sm contains mnemonically named constants for all of the built-in methods Sm.plus to find the sum, Sm.max to find the largest. This same pattern works with any of the calculation methods. // catenate matrix <max> onto my_cube, making it a 3x4x6 cube my_cube = my_cube.catenate( max ); Catenating a 3x4matrix onto a 3x4x5 cube, producing a 3x4x6 cube How to I move data between SmartArrays and Java? Class SmArray provides a set of handy methods for initializing arrays with Java data, and moving the data into and out of arrays. A few examples: int[] jdata = new int[]{ 4, 5, 2 1 }; // regular Java array SmArray sdata = new SmArray( jdata ); // into a SmArray int[] jdata_reversed = sdata.reverse().getints(); // back into Java int v0 = sdata.getint( 2 ); What kinds of data can I store in a SmartArray? SmartArrays can hold numeric data in several forms: boolean (one bit per data element) integer (32-bits) real (64-bit) Character data can be stored as: 1-byte characters 2-byte Unicode characters atomic Unicode strings. These are sequences of character that are treated as a single element of data. You can also create arrays of arrays, where each element is another array. These are called nested arrays. SmartArrays is different from Java or C++ in that it automatically converts data to an appropriate type. Thus, you can add a boolean matrix to an integer matrix and get an integer result. You can multiply two integer arrays together and the result will normally be integer. If, however, any of the multiplications overflows (the result is too large to store in a 32-bit integer), SmartArrays will automatically produce a floating-point array that contains the correct answer. SmartArrays and Java - FAQ James G. Wheeler 2/5/02 page 4

5 How can I use SmartArrays in server-side programs? When the SmartArrays server DLL and Java classes are installed on a server machine, any server-side Java program can use SmartArrays standalone applications, servlets, custom Enterprise JavaBeans, etc. Client PC Server Web brower client page Network or Internet Java Servlet SmartArrays Database Server Array Array Using SmartArrays on a server, controlled by a client-side applet How can I use SmartArrays in standalone client programs? The SmartArrays server DLL can also be installed on a client PC and create arrays locally. The DLL is small enough (about 400Kbytes) that it can be downloaded on demand from a server. How can I use SmartArrays with database data? SmartArrays has a built-in interface to SQL data sources. This provides all of the features needed to work with a database, including metadata queries ( what are the columns of this table? ), which create arrays containing the result information. It is possible to perform queries on the database, with the entire result materializing as a SmartArray. These arrays can then be manipulated in ways that are clumsy or slow using SQL. You can also post data from a SmartArray into a database. What platforms does SmartArrays run on? SmartArrays currently runs 32-bit Windows (2000, NT, 98, 95); a Unix version is planned for the leading Unix environments (AIX, Solaris, HP/UX, Linux). Because SmartArrays is written in pure C++ and does not use third-party class libraries, it is very portable. Copyright 2000, SmartArrays, Inc. Java is a trademark of Sun Microsystems, Inc. SmartArrays is a trademark of SmartArrays, Inc. SmartArrays and Java - FAQ James G. Wheeler 2/5/02 page 5

Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming

Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming Java has become enormously popular. Java s rapid rise and wide acceptance can be traced to its design

More information

Java The History. Java Meets the Internet. The Java Platform. Simplicity. Java Meets the Internet. Advanced Java Programming Introduction

Java The History. Java Meets the Internet. The Java Platform. Simplicity. Java Meets the Internet. Advanced Java Programming Introduction Introduction, Tel-Aviv University Spring 06 Java The History 1991 Sun Microsystems initiates project Green with the intent to develop a programming language for digitally controlled consumer devices and

More information

Chapter 1 Basic Concepts

Chapter 1 Basic Concepts Chapter 1 Basic Concepts 1.1 Welcome to Assembly Language 1 1.1.1 Good Questions to Ask 2 1.1.2 Assembly language Applications 5 1.1.3 Section Review 6 1.2 Virtual Machine Concept 7 1.2.1 History of PC

More information

CS 16: Assembly Language Programming for the IBM PC and Compatibles

CS 16: Assembly Language Programming for the IBM PC and Compatibles CS 16: Assembly Language Programming for the IBM PC and Compatibles First, a little about you Your name Have you ever worked with/used/played with assembly language? If so, talk about it Why are you taking

More information

Number Systems and. Data Representation

Number Systems and. Data Representation Number Systems and Data Representation 1 Lecture Outline Number Systems Binary, Octal, Hexadecimal Representation of characters using codes Representation of Numbers Integer, Floating Point, Binary Coded

More information

System Requirements. SAS Profitability Management 2.21. Deployment

System Requirements. SAS Profitability Management 2.21. Deployment System Requirements SAS Profitability Management 2.2 This document provides the requirements for installing and running SAS Profitability Management. You must update your computer to meet the minimum requirements

More information

Software: Systems and Application Software

Software: Systems and Application Software Software: Systems and Application Software Computer Software Operating System Popular Operating Systems Language Translators Utility Programs Applications Programs Types of Application Software Personal

More information

Chapter 1. Introduction to Computers, Programs, and Java

Chapter 1. Introduction to Computers, Programs, and Java Chapter 1 Introduction to Computers, Programs, and Java 1 Objectives To Know the basics To write a simple Java program To know error types To Know basic syntax of a Java program 2 Programs Computer programs,

More information

OLAP Introduction and Overview

OLAP Introduction and Overview 1 CHAPTER 1 OLAP Introduction and Overview What Is OLAP? 1 Data Storage and Access 1 Benefits of OLAP 2 OLAP Variations 3 What Is a Cube? 3 Understanding the Cube Structure 4 Dimensions, Levels and Hierarchies

More information

Assembly Language for Intel-Based Computers, 4 th Edition. Chapter 1: Basic Concepts. Chapter Overview. Welcome to Assembly Language

Assembly Language for Intel-Based Computers, 4 th Edition. Chapter 1: Basic Concepts. Chapter Overview. Welcome to Assembly Language Assembly Language for Intel-Based Computers, 4 th Edition Kip R. Irvine Chapter 1: Basic Concepts Slides prepared by Kip R. Irvine Revision date: 10/27/2002 Chapter corrections (Web) Printing a slide show

More information

IBM Cognos 8 Business Intelligence Analysis Discover the factors driving business performance

IBM Cognos 8 Business Intelligence Analysis Discover the factors driving business performance Data Sheet IBM Cognos 8 Business Intelligence Analysis Discover the factors driving business performance Overview Multidimensional analysis is a powerful means of extracting maximum value from your corporate

More information

GCSE Computer Science Revision Checklist

GCSE Computer Science Revision Checklist Algorithms Understand what an algorithm is What algorithms are used for and be able to interpret algorithms Flowcharts Pseudocode Structured English Written Descriptions Program Code Be able to create

More information

The SAS Cost and Profitability Management client is only available on a Windows operating system.

The SAS Cost and Profitability Management client is only available on a Windows operating system. SAS Cost and Profitability Management 8. This document provides the requirements for installing and running the fourth maintenance release of SAS Cost and Profitability Management 8. (M4). You must update

More information

Introduction to JAVA Programming Language. Lecture 2

Introduction to JAVA Programming Language. Lecture 2 Introduction to JAVA Programming Language Lecture 2 1 Origins of the Java Language Java was created by Sun Microsystems team led by Patrick Naughton and James Gosling (1991) Originally named Oak (Gosling

More information

SQL Server 2005 Features Comparison

SQL Server 2005 Features Comparison Page 1 of 10 Quick Links Home Worldwide Search Microsoft.com for: Go : Home Product Information How to Buy Editions Learning Downloads Support Partners Technologies Solutions Community Previous Versions

More information

Bits and Bytes. Chris Riesbeck, Fall 2011

Bits and Bytes. Chris Riesbeck, Fall 2011 Bits and Bytes Chris Riesbeck, Fall 2011 Why don t computers use Base 10? Base 10 number representation Digit in many languages also refers to fingers (and toes) Decimal (from latin decimus) means tenth

More information

An Introduc+on to Computers and Java CSC 121 Fall 2016 Howard Rosenthal

An Introduc+on to Computers and Java CSC 121 Fall 2016 Howard Rosenthal An Introduc+on to Computers and Java CSC 121 Fall 2016 Howard Rosenthal Lesson Goals Learn the basic terminology of a computer system Understand the basics of high level languages, including java Understand

More information

Chapter II Binary Data Representation

Chapter II Binary Data Representation Chapter II Binary Data Representation The atomic unit of data in computer systems is the bit, which is actually an acronym that stands for BInary digit. It can hold only 2 values or states: 0 or 1, true

More information

An Overview of Java. overview-1

An Overview of Java. overview-1 An Overview of Java overview-1 Contents What is Java Major Java features Java virtual machine Java programming language Java class libraries (API) GUI Support in Java Networking and Threads in Java overview-2

More information

LATIHAN State the definition of program and programming language.

LATIHAN State the definition of program and programming language. LATIHAN 5.1 1. State the definition of program and programming language. PROGRAM A computer program is a series of organised instructions that directs a computer to perform tasks. Without programs, computers

More information

Computer/Information Science Course Descriptions

Computer/Information Science Course Descriptions Computer/Information Science Course Descriptions COMS 1003: Introduction to Computer Based Systems Provides students with both computer concepts and hands-on applications. Although little or no prior computer

More information

C/C++ Compiler Suite 2.1 for converting MATLAB

C/C++ Compiler Suite 2.1 for converting MATLAB C/C++ Compiler Suite 2.1 for converting MATLAB applications that contain math, GUIs, and graphics into freely distributable stand-alone C and C++ code The C/C++ Compiler Suite consists of three components:

More information

SQR Performance & Efficiency

SQR Performance & Efficiency SQR Performance & Efficiency SQR, a specialized language for database processing and reporting and performance considerations are an important aspect of application development. This papers examines some

More information

Assembly Language for Intel-Based Computers, 4 th Edition. Chapter 1: Basic Concepts

Assembly Language for Intel-Based Computers, 4 th Edition. Chapter 1: Basic Concepts Assembly Language for Intel-Based Computers, 4 th Edition Kip R. Irvine Chapter 1: Basic Concepts Slides prepared by Kip R. Irvine Revision date: 07/21/2002 Chapter corrections (Web) Assembly language

More information

CSC 551: Web Programming. Spring 2004

CSC 551: Web Programming. Spring 2004 CSC 551: Web Programming Spring 2004 Java Overview Design goals & features platform independence, portable, secure, simple, object-oriented, Programming models applications vs. applets vs. servlets intro

More information

Web Design & Development. Java Features

Web Design & Development. Java Features Java Features This handout is a traditional introduction to any language features. You might not be able to comprehend some of the features fully at this stage but don t worry, you ll get to know about

More information

Oracle Forms Developer Release 6i

Oracle Forms Developer Release 6i Oracle Forms Developer Release 6i New Features Patch 2 for Windows or UNIX October 2000 Part No. A86781-01 The following new features are supported in Oracle Developer 6i Patch 2 and documented in "Deploying

More information

Introduction to Java Programming

Introduction to Java Programming Introduction to Java Programming Lecture 1 CGS 3416 Spring 2016 January 7, 2016 Main Components of a computer CPU - Central Processing Unit: The brain of the computer ISA - Instruction Set Architecture:

More information

Introduction to Java. 1-1 Copyright (c) N. Afshartous

Introduction to Java. 1-1 Copyright (c) N. Afshartous Introduction to Java 1-1 Copyright (c) 1999-2004 N. Afshartous Version 3.0 Copyright (c) 1997,1998,1999 N Afshartous - All rights reserved. This product and related documentation are protected by copyright

More information

BEGIN PROGRAMMING: A-Z GLOSSARY

BEGIN PROGRAMMING: A-Z GLOSSARY Begin programming: Build your first mobile game BEGIN PROGRAMMING: A-Z GLOSSARY This glossary explains some of the words and phrases that we use in the course. It s a work in progress, so if there s anything

More information

HOW INTERSYSTEMS TECHNOLOGY ENABLES BUSINESS INTELLIGENCE SOLUTIONS

HOW INTERSYSTEMS TECHNOLOGY ENABLES BUSINESS INTELLIGENCE SOLUTIONS HOW INTERSYSTEMS TECHNOLOGY ENABLES BUSINESS INTELLIGENCE SOLUTIONS A white paper by: Dr. Mark Massias Senior Sales Engineer InterSystems Corporation HOW INTERSYSTEMS TECHNOLOGY ENABLES BUSINESS INTELLIGENCE

More information

Bits and Bytes. Today.! Why bits?! Binary/hexadecimal! Byte representations! Boolean algebra! Expressing in C

Bits and Bytes. Today.! Why bits?! Binary/hexadecimal! Byte representations! Boolean algebra! Expressing in C Bits and Bytes Today! Why bits?! Binary/hexadecimal! Byte representations! Boolean algebra! Expressing in C Fabián E. Bustamante, 2007 Why don t computers use Base 10?! Base 10 number representation Digit

More information

Session 5 Programming Languages

Session 5 Programming Languages 15.561 Information Technology Essentials Session 5 Programming Languages Copyright 2005 Thomas Malone, Stuart Madnick Acknowledgments: Slides marked SM are adapted from Stuart Madnick, MIT. Outline Types

More information

Writing Portable Programs COS 217

Writing Portable Programs COS 217 Writing Portable Programs COS 217 1 Goals of Today s Class Writing portable programs in C Sources of heterogeneity Data types, evaluation order, byte order, char set, Reading period and final exam Important

More information

Chapter 1 Preliminaries

Chapter 1 Preliminaries Chapter 1 Preliminaries Chapter 1 Topics Reasons for Studying Concepts of Programming Languages Programming Domains Language Evaluation Criteria Influences on Language Design Language Categories Language

More information

System Requirements. SAS Profitability Management 2.2. Deployment

System Requirements. SAS Profitability Management 2.2. Deployment System Requirements SAS Profitability Management 2.2 This document provides the requirements f installing and running SAS Profitability Management 2.2 software. You must update your computer to meet these

More information

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives Introduction to Programming and Algorithms Module 1 CS 146 Sam Houston State University Dr. Tim McGuire Module Objectives To understand: the necessity of programming, differences between hardware and software,

More information

06/29/2012 Page 1 of 14

06/29/2012 Page 1 of 14 Module: SA Munis System Requirements for Munis Version 9.3 Topic: System Requirements for Munis Version 9.3 MUNIS Version 9.3 System Requirements MUNIS Version 9.3 Table of Contents Overview 2 Windows

More information

IBM Cognos 10: Enhancing query processing performance for IBM Netezza appliances

IBM Cognos 10: Enhancing query processing performance for IBM Netezza appliances IBM Software Business Analytics Cognos Business Intelligence IBM Cognos 10: Enhancing query processing performance for IBM Netezza appliances 2 IBM Cognos 10: Enhancing query processing performance for

More information

Why Don t Computers Use Base 10? Lecture 2 Bits and Bytes. Binary Representations. Byte-Oriented Memory Organization. Base 10 Number Representation

Why Don t Computers Use Base 10? Lecture 2 Bits and Bytes. Binary Representations. Byte-Oriented Memory Organization. Base 10 Number Representation Lecture 2 Bits and Bytes Topics Why bits? Representing information as bits Binary/Hexadecimal Byte representations» numbers» characters and strings» Instructions Bit-level manipulations Boolean algebra

More information

SAS Activity-Based Management Software Release 6.4 for Windows

SAS Activity-Based Management Software Release 6.4 for Windows System Requirements SAS Activity-Based Management Software Release 6.4 for Windows This document provides the requirements for installing and running SAS Activity-Based Management Server. You must update

More information

Introduction to Computers and Programming

Introduction to Computers and Programming C H A P T E R 1 Introduction to Computers and Programming Topics Introduction Hardware and Software How Computers Store Data How a Program Works Using Python Introduction Computers can be programmed Designed

More information

Chapter 3 Methodology

Chapter 3 Methodology Chapter 3 Methodology 3.1 Introduction Software system as a whole developed in four steps, beginning with planning, designing, implementing and ending with testing, and to avoid loss of money and effort

More information

System Requirements. SAS Profitability Management 2.3. Deployment Options. Supported Operating Systems and Versions. Windows Server Operating Systems

System Requirements. SAS Profitability Management 2.3. Deployment Options. Supported Operating Systems and Versions. Windows Server Operating Systems System Requirements SAS Profitability Management 2.3 This document provides the requirements for installing and running SAS Profitability Management. You must update your computer to meet the minimum requirements

More information

Java in Education. Choosing appropriate tool for creating multimedia is the first step in multimedia design

Java in Education. Choosing appropriate tool for creating multimedia is the first step in multimedia design Java in Education Introduction Choosing appropriate tool for creating multimedia is the first step in multimedia design and production. Various tools that are used by educators, designers and programmers

More information

Software. Managing Software Assets. Major types of software BIOS

Software. Managing Software Assets. Major types of software BIOS Software Managing Software Assets A software program is a series of statements or instructions to the computer. The process of writing or coding programs is termed programming; and the individuals who

More information

Primitive Data Types Summer 2010 Margaret Reid-Miller

Primitive Data Types Summer 2010 Margaret Reid-Miller Primitive Data Types 15-110 Summer 2010 Margaret Reid-Miller Data Types Data stored in memory is a string of bits (0 or 1). What does 1000010 mean? 66? 'B'? 9.2E-44? How the computer interprets the string

More information

Capacity Planner Technical FAQ

Capacity Planner Technical FAQ Capacity Planner Technical FAQ Table of Contents Requirements... 2 Installation... 3 Discovery and Collection... 3 Utilization and Performance Counters... 5 Hyperthreading... 7 Application Conflicts...

More information

Java and the JVM. Martin Schöberl

Java and the JVM. Martin Schöberl Java and the JVM Martin Schöberl Overview History and Java features Java technology The Java language A first look into the JVM Disassembling of.class files Java and the JVM 2 History of a Young Java 1992

More information

4. SYSTEMS OF LINEAR EQUATIONS

4. SYSTEMS OF LINEAR EQUATIONS . SYSTMS OF LINR QUTIONS.. Linear quations linear equation is an equation of the form a x + a x +... + a n x n = d where the a i s and d, are constants. The a i s are called coefficients, and the x i s

More information

The Assembly Language Level

The Assembly Language Level The Assembly Language Level Translators can be divided into two groups. When the source language is essentially a symbolic representation for a numerical machine language, the translator is called an assembler,

More information

High Performance Java

High Performance Java High Performance Java Marco Ronchetti Dipartimento di Informatica e Telecomunicazioni Università di Trento marco.ronchetti@dit.unitn.it High Performance Java Why Java? What is Java? Is Java a viable solution

More information

Introduction to PHP. Server-Side Web Languages. Uta Priss School of Computing Napier University, Edinburgh, UK

Introduction to PHP. Server-Side Web Languages. Uta Priss School of Computing Napier University, Edinburgh, UK Introduction to Server-Side Web Languages Uta Priss School of Computing Napier University, Edinburgh, UK Copyright Napier University Intro Slide 1/14 Outline Server-Side Web Languages Copyright Napier

More information

PRODUCT SHEET. Transbase The SQL Core System. Transbase Product Features

PRODUCT SHEET. Transbase The SQL Core System. Transbase Product Features Transbase The SQL Core System Transbase is a relational database system which conforms to the current SQL standards. It is especially suitable for embedding in applications and web services due to its

More information

Programming Languages

Programming Languages Programming Languages BASIC TERMS A computer language is a set of symbols and rules used in constructing programs called syntax. Algorithm :- Step by step description that the program must perform arithmetical

More information

Outline. Java An Introduction. Java Virtual Machine. same compiled program running on many different types of computers.

Outline. Java An Introduction. Java Virtual Machine. same compiled program running on many different types of computers. Java An Introduction Outline The Java Virtual Machine Java essential language features data types operators References: Internet Course notes by E.Burris Computing Fundamentals with Java, by Rick Mercer

More information

Today s topics. Java programs. Java Virtual Machine (JVM) Bytecodes. HelloWorld.java javac HelloWorld.class

Today s topics. Java programs. Java Virtual Machine (JVM) Bytecodes. HelloWorld.java javac HelloWorld.class Today s topics Java programs Parsing Java Programming Notes from Tammy Bailey Reading Great Ideas, Chapter 3 & 4 Java programs are created as text files using a text editor (like emacs) Save to disk with.java

More information

The.NET Framework and C#

The.NET Framework and C# The.NET Framework and C# What is.net? When I first came across the Microsoft.NET concept some years ago, I found difficult to grasp the idea behind the pile of methodologies and technologies that Microsoft

More information

Computer Architecture

Computer Architecture Outline Data representation Computer Architecture Data types S. Coudert and R. Pacalet December 1, 2016 Programming languages Representation of common data types Addresses, pointers and programming language

More information

Principles of Computer Operations

Principles of Computer Operations c h a p t e r 9 Principles of Computer Operations Following Instructions lawrence snyder Instruction Execution Engines What computers can do Deterministically perform or execute instructions to process

More information

Lecture 4 Representing Data on the Computer. Ramani Duraiswami AMSC/CMSC 662 Fall 2009

Lecture 4 Representing Data on the Computer. Ramani Duraiswami AMSC/CMSC 662 Fall 2009 Lecture 4 Representing Data on the Computer Ramani Duraiswami AMSC/CMSC 662 Fall 2009 x = ±(1+f) 2 e 0 f < 1 f = (integer < 2 52 )/ 2 52-1022 e 1023 e = integer Effects of floating point Effects of floating

More information

Why developers should use ODBC instead of native proprietary database interfaces

Why developers should use ODBC instead of native proprietary database interfaces P RODUCT O VERVIEW Why developers should use ODBC instead of native proprietary database interfaces The financial and technical basis for using ODBC with wire protocol drivers instead of native database

More information

System Requirements for Software Supported by SAS Foundation

System Requirements for Software Supported by SAS Foundation System Requirements for Software Supported by SAS 9.1.3 Foundation This document contains high-level system requirements for SAS software that is not included as part of SAS Foundation. The majority of

More information

UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division. A Model of Programming Languages

UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division. A Model of Programming Languages UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division CS61B Spring 1998 P. N. Hilfinger A Model of Programming Languages 1 Programming Models One

More information

A Layered Architecture based on Java for Internet and Intranet Information Systems

A Layered Architecture based on Java for Internet and Intranet Information Systems A Layered Architecture based on Java for Internet and Intranet Information Systems Fidel CACHEDA, Alberto PAN, Lucía ARDAO, Ángel VIÑA Departamento de Electrónica y Sistemas Facultad de Informática, Universidad

More information

CS115 Principles of Computer Science

CS115 Principles of Computer Science CS5 Principles of Computer Science Chapter Introduction Prof. Joe X. Zhou Department of Computer Science CS5 Intro. Objectives To review computer basics, programs, and operating systems To understand the

More information

Handout 1. Introduction to Java programming language. Java primitive types and operations. Reading keyboard Input using class Scanner.

Handout 1. Introduction to Java programming language. Java primitive types and operations. Reading keyboard Input using class Scanner. Handout 1 CS603 Object-Oriented Programming Fall 15 Page 1 of 11 Handout 1 Introduction to Java programming language. Java primitive types and operations. Reading keyboard Input using class Scanner. Java

More information

Compilation and Interpretation; Overview of Java Virtual Machine. Ata Kaban University of Birmingham

Compilation and Interpretation; Overview of Java Virtual Machine. Ata Kaban University of Birmingham Compilation and Interpretation; Overview of Java Virtual Machine Ata Kaban University of Birmingham 1 Levels of programming High level e.g. Java, C, Prolog, Haskell, etc Easier for humans Lowest level

More information

A451 Computer Systems Checklist

A451 Computer Systems Checklist Topic 1: Fundamentals of Computer Systems A451 Computer Systems Checklist define a computer system describe the importance of computer systems in the modern world explain the need for reliability in computer

More information

OVERVIEW OF COMPUTER SYSTEMS. A.1 Introduction. A.2 What is a Computer?

OVERVIEW OF COMPUTER SYSTEMS. A.1 Introduction. A.2 What is a Computer? 5670appa.qxd_lbI 10/2/03 4:00 PM Page 229 S U P P L E M E N T I A OVERVIEW OF COMPUTER SYSTEMS A.1 Introduction This supplement introduces computer basics. Specifically, it discusses computer hardware

More information

Java and Database JDBC

Java and Database JDBC Java and Database JDBC Contents Client-Server JDBC JDBC Drivers JDBC API 2 Client-Server The Architecture Introduction A Client is defined as a requester of services and a Server is defined as the provider

More information

What Is the Java TM 2 Platform, Enterprise Edition?

What Is the Java TM 2 Platform, Enterprise Edition? Page 1 de 9 What Is the Java TM 2 Platform, Enterprise Edition? This document provides an introduction to the features and benefits of the Java 2 platform, Enterprise Edition. Overview Enterprises today

More information

SAS Activity-Based Management Software Release for Windows

SAS Activity-Based Management Software Release for Windows System Requirements SAS Activity-Based Management Software Release 6.4.2 for Windows This document provides the requirements for installing and running SAS Activity-Based Management Server. You must update

More information

Building Applications Using Micro Focus COBOL

Building Applications Using Micro Focus COBOL Building Applications Using Micro Focus COBOL Abstract If you look through the Micro Focus COBOL documentation, you will see many different executable file types referenced: int, gnt, exe, dll and others.

More information

SIT102 Introduction to Programming

SIT102 Introduction to Programming SIT102 Introduction to Programming After working through this session you should: Understand the relationships between operating systems, their user interfaces, and programs; Understand the difference

More information

Chapter 1: Introducing Java

Chapter 1: Introducing Java Chapter 1: Introducing Java 1. What is Java? Java is a programming language offering many features that make it attractive for mathematical illustration. First, it is a high-level language providing a

More information

Data representation, data types and data structures

Data representation, data types and data structures You need to understand: Data representation, data types and data structures Representation of data as bit patterns Describe and use the binary number system and the hexadecimal notation as shorthand for

More information

IBM DB2 Web Query for System i: Frequently Asked Questions

IBM DB2 Web Query for System i: Frequently Asked Questions IBM DB2 Web Query for System i: Frequently Asked Questions 1. What was announced? IBM is delivering a new Web-based query and report writing product that offers enhanced capabilities over the IBM Query

More information

1. Overview of the Java Language

1. Overview of the Java Language 1. Overview of the Java Language What Is the Java Technology? Java technology is: A programming language A development environment An application environment A deployment environment It is similar in syntax

More information

Oracle 11g is by far the most robust database software on the market

Oracle 11g is by far the most robust database software on the market Chapter 1 A Pragmatic Introduction to Oracle In This Chapter Getting familiar with Oracle Implementing grid computing Incorporating Oracle into everyday life Oracle 11g is by far the most robust database

More information

ABSTRACT INTRODUCTION SAS VISUAL ANALYTICS ARCHITECTURE. Paper SAS

ABSTRACT INTRODUCTION SAS VISUAL ANALYTICS ARCHITECTURE. Paper SAS ABSTRACT Paper SAS146-2014 Considerations for Adding SAS Visual Analytics to an Existing SAS Business Intelligence Deployment Christine Vitron and James Holman, SAS Institute Inc. If you have an existing

More information

This supplement introduces computer basics. Specifically, it discusses computer hardware components, programming languages, and operating systems.

This supplement introduces computer basics. Specifically, it discusses computer hardware components, programming languages, and operating systems. Computers Basics This supplement introduces computer basics. Specifically, it discusses computer hardware components, programming languages, and operating systems. J.1 What is a computer? A computer is

More information

Connectivity Pack for Microsoft Guide

Connectivity Pack for Microsoft Guide HP Vertica Analytic Database Software Version: 7.0.x Document Release Date: 2/20/2015 Legal Notices Warranty The only warranties for HP products and services are set forth in the express warranty statements

More information

SequeLink Server for ODBC Socket

SequeLink Server for ODBC Socket P RODUCT O VERVIEW Server for ODBC Socket Overview DataDirect is highly scalable, server-based middleware that gives you a complete platform for data connectivity. Common Servers offer the performance

More information

CS 201 Review. Introduction to Java Programming: Daniel Liang

CS 201 Review. Introduction to Java Programming: Daniel Liang CS 201 Review Introduction to Java Programming: Daniel Liang The Goals of CS 201 were: Chapter 1: To understand the meaning of Java language specification, API, JDK, and IDE (1.6). To write a simple Java

More information

Compaq Batch Scheduler for Windows NT

Compaq Batch Scheduler for Windows NT Compaq Batch Scheduler for Windows NT Mainframe-Caliber Automated Job Scheduling Software for Windows NT This white paper addresses extending the capabilities of Windows NT to include automated job scheduling

More information

SOLUTION BRIEF. Advanced ODBC and JDBC Access to Salesforce Data. www.datadirect.com

SOLUTION BRIEF. Advanced ODBC and JDBC Access to Salesforce Data. www.datadirect.com SOLUTION BRIEF Advanced ODBC and JDBC Access to Salesforce Data 2 CLOUD DATA ACCESS In the terrestrial world of enterprise computing, organizations depend on advanced JDBC and ODBC technologies to provide

More information

The IBM Cognos Platform for Enterprise Business Intelligence

The IBM Cognos Platform for Enterprise Business Intelligence The IBM Cognos Platform for Enterprise Business Intelligence Highlights Optimize performance with in-memory processing and architecture enhancements Maximize the benefits of deploying business analytics

More information

Chapter 1. Chapter 1 Topics. Preliminaries

Chapter 1. Chapter 1 Topics. Preliminaries Chapter 1 Preliminaries ISBN 0-321-33025-0 Chapter 1 Topics Reasons for Studying Concepts of Programming Languages Programming Domains Language Evaluation Criteria Influences on Language Design Language

More information

IBM Enterprise COBOL for z/os, Version 4.1

IBM Enterprise COBOL for z/os, Version 4.1 Integrate COBOL and Web-based business processes with a service-oriented architecture IBM Enterprise COBOL for z/os, Version 4.1 Highlights Supports Java interoperability with COBOL programs through object-oriented

More information

Chapter 7D The Java Virtual Machine

Chapter 7D The Java Virtual Machine This sub chapter discusses another architecture, that of the JVM (Java Virtual Machine). In general, a VM (Virtual Machine) is a hypothetical machine (implemented in either hardware or software) that directly

More information

Data Structure. Lecture 3

Data Structure. Lecture 3 Data Structure Lecture 3 Data Structure Formally define Data structure as: DS describes not only set of objects but the ways they are related, the set of operations which may be applied to the elements

More information

PROGRESS DATADIRECT QA AND PERFORMANCE TESTING EXTENSIVE TESTING ENSURES DATA CONNECTIVITY THAT WORKS

PROGRESS DATADIRECT QA AND PERFORMANCE TESTING EXTENSIVE TESTING ENSURES DATA CONNECTIVITY THAT WORKS Progress DataDirect Connect DATA SHEET PROGRESS DATADIRECT QA AND PERFORMANCE TESTING EXTENSIVE TESTING ENSURES DATA CONNECTIVITY THAT WORKS Progress DataDirect ODBC, JDBC and ADO.NET data connectivity

More information

Chapter 03: Computer Arithmetic. Lesson 05: Arithmetic Multiplication Circuits

Chapter 03: Computer Arithmetic. Lesson 05: Arithmetic Multiplication Circuits Chapter 03: Computer Arithmetic Lesson 05: Arithmetic Multiplication Circuits 1 Objective Learn Booth encoding Learn fast multiplication by bit pairing 2 Multiplication Process By Booth s Encoding Algorithm

More information

Making the Business Case for Migrating VMS Oracle Applications to the Web

Making the Business Case for Migrating VMS Oracle Applications to the Web OpenVMS Technical Journal V14 Making the Business Case for Migrating VMS Oracle Applications to the Web Jennifer McNeill Vice President, Oracle Practice Unify/CipherSoft Corporation Introduction... 2 Migration

More information

Chapter 2. Instruction Set Architecture & Design

Chapter 2. Instruction Set Architecture & Design Chapter 2 Instruction Set Architecture & Design 2.1 Memory Locations and Operations The (main) memory can be modeled as an array of millions of adjacent cells, each capable of storing a binary digit (bit),

More information

Web Pages. Static Web Pages SHTML

Web Pages. Static Web Pages SHTML 1 Web Pages Htm and Html pages are static Static Web Pages 2 Pages tagged with "shtml" reveal that "Server Side Includes" are being used on the server With SSI a page can contain tags that indicate that

More information

Data Sheet VISUAL COBOL 2.2.1 WHAT S NEW? COBOL JVM. Java Application Servers. Web Tools Platform PERFORMANCE. Web Services and JSP Tutorials

Data Sheet VISUAL COBOL 2.2.1 WHAT S NEW? COBOL JVM. Java Application Servers. Web Tools Platform PERFORMANCE. Web Services and JSP Tutorials Visual COBOL is the industry leading solution for COBOL application development and deployment on Windows, Unix and Linux systems. It combines best in class development tooling within Eclipse and Visual

More information

Table of Contents. 04/03/2015 Page 1 of 14

Table of Contents. 04/03/2015 Page 1 of 14 Module: SA Munis System Requirements for Munis Version 10.3 Topic: System Requirements for Munis Version 10.3 MUNIS Version 10.3 System Requirements MUNIS Version 10.3 Table of Contents Overview 2 Supported

More information

OCR- specification GCSE Computer Science Microsoft IT Academy Mapping

OCR- specification GCSE Computer Science Microsoft IT Academy Mapping OCR- specification GCSE Computer Science Microsoft IT Academy Mapping 2.1.1 Fundamentals of Computer Systems Computer Systems Objectives MOAC course and lesson(s) MVA course and module(s) (a) define a

More information