The purpose of this document to describe the native serialization of various data types which Geode understand.

Size: px
Start display at page:

Download "The purpose of this document to describe the native serialization of various data types which Geode understand."

Transcription

1 Geode Data Typ Purpose Data Typ Calculate Collection/Array Size Write And Read String Purpose The purpose of this document to dcribe the native serialization of various data p which Geode understand. Data Typ Geode supports all the Java primitive data p and Java arrays and collections.. Custom Java objects can be serialized through Geode PdxSerializable and DataSerializable interfac. The Application can attach its data serializer through the Geode DataSerializer and PdxSer ializer interfac. Objects implementing java.io.serializable can be serialized with Geode as well. In Geode, every supported data is associated with a single-e. To serialize any date Geode first writ the. For variable sized objects, it then writ the gth of the serialized object followed by the serialized. For fixed data p it just writ the serialized in Big Endian e order. For native serialization, strings are serialized using the Java Modified UTF-8 Format. Data Ty Geode Region Key Typ Ty Value Serialized Byt Dcription Null 41 = 0x29 null 0x29 Boolean YES 53 = 0x35 true 0x35 Character YES 54 = 0x36 'a' 0x36 0x00 0x61 Byte YES 55 = 0x37 1 0x37 Short YES 56 = 0x x38 0x03 0xE8 Integer YES 57 = 0x p e 0x39 0x00 0x00 0x 03 0xE8

2 Long YES 58 = 0x3A 1000 t y p e 0x3A by t 0x03 0xE8 Float YES 59 = 0x3B 1000f p e 0x3B 0x44 0x7A 0x00 0x00 Double YES 60 = 0x3C 1000d t y p e 0x3C by t 0x40 0xF1 0x40 0x00 0x00 ASCII_STRING YES 87 = 0x57 "hello" id 0x57 This reprents ASCII string with maximum gth 0xFFFF. Code snipt to serialize and derialize the string. 0x68 0x65 0x4 0 0x40 0x6F UTF_STRING YES 42 = 0x2A This reprents UTF string with maximum gth 0xFFFF. Code snipt to serialize and derialize the string. HUGE_ASCII_STRING YES 88 = 0x58 This reprents ASCII string with gth greater than 0xFFFF. C ode snipt to serialize and derialize the string. HUGE_UTF_STRING YES 89 = 0x59 This reprents UTF string with gth greater than 0xFFFF. C ode snipt to serialize and derialize the string. e[] This we plan to support 46 = 0x2E e[] {1,2 0x2E

3 short[] 47 = 0x2F short[] {1,2 p e 0x2F 0x00 0x00 int[] 48 = 0x30 int[] {1,2 t y p e 0x30 by t 0x00 0x00 0x00 long[] 49 = 0x31 long[] {1 t y p e 0x31 by t 0x00 float[] 50 = 0x32 float[] {2.0f p e 0x32 0x40 0x00 0x00 0x00 double[] 51 = 0x33 double[] {2.0d t y p e 0x33 by t 0x40 0x00 0x00 0x00 0x00

4 string[] 64 = 0x40 String[]{"hello", "world" "he llo" 0x40 0x57 - ASCII_ STRING 0x68 0x65 0x6c 0x6c 0x6f "wo rld" 0x57 - ASCII_ STRING - 0x77 0x6f 0x72 0x6c 0x64 Map 67 = 0x43 Map s = new HashMap<>(); s.put("hello", "world") "hel lo" "wo rld" 0x43 0x57 - ASCII_STRING 0x68 0x65 0x6c 0x6c 0x6f 0x57 - ASCII_ STRING - 0x77 0x6f 0x72 0x6c 0x64

5 Set 66 = 0x42 Set s = new HashSet(); s.add("hello"); s.add("world"); "hel lo" "wo rld" 0x42 0x57 - ASCII_STRING 0x68 0x65 0x6c 0x6c 0x6f 0x57 - ASCII_STRI NG - 0x77 0x6f 0x72 0x6c 0x64 List 10 = 0x0a List s = new LinkedList(); s.add("hello"); s.add("world"); "hel lo" "wo rld" 0x0a 0x57 - ASCII_STRING 0x68 0x65 0x6c 0x6c 0x6f 0x57 - ASCII_STRI NG - 0x77 0x6f 0x72 0x6c 0x64 ArrayList 65=0x41 List s = new ArrayList(); s.add("hello"); s.add("world"); "hel lo" "wo rld" 0x41 0x57 - ASCII_STRING 0x68 0x65 0x6c 0x6c 0x6f 0x57 - ASCII_STRI NG - 0x77 0x6f 0x72 0x6c 0x64

6 PDX_SERIALIZATION 93=0x5D Java Object can implement PdxSerializable interface to serialize data in pdx format PDX_SERIALIZER The application can implement PdxSerializer interface and then install with geode cache to serialize data in pdx format. DATA_SERIALIZATIO N USER_SERIALIZATIO N Java Object can implement DataSerializable interface to serialize data. The application can implement DataSerializer interface and then install with geode cache to serialize data. JAVA_SERIALIZATIOn 44= 0x2C Calculate Collection/Array Size Geode calculat the size of collection or Array in following way Write Array Length function Read Array Length Function

7 public static final e NULL_ARRAY = -1; // array is null /** GemFire 5.7 */ private static final e SHORT_ARRAY_LEN = -2; // array encoded as unsigned short in next 2 // /** GemFire 5.7 */ public static final e INT_ARRAY_LEN = -3; // array encoded as int in next 4 private static final int MAX_BYTE_ARRAY_LEN = ((e) -4) & 0xFF; public static void writearraylength(int, DataOutput out) throws IOException { if ( == -1) { (NULL_ARRAY); else if ( <= MAX_BYTE_ARRAY_LEN) { (); else if ( <= 0xFFFF) { (SHORT_ARRAY_LEN); out.writeshort(); else { (INT_ARRAY_LEN); out.writeint(); public static int readarraylength(datainput in) throws IOException { e code = in. readbyte(); if (code == NULL_ARRAY) { return -1; else { int rult = uetoint (code); if (rult > MAX_BYTE_ARRAY_LEN) { if (code == SHORT_ARRAY_LEN) { rult = in. readunsignedshort(); else if (code == INT_ARRAY_LEN) { rult = in. readint(); else { throw new IllegalStateException ("unexcted array gth code=" + code); return rult; Write And Read String The String is serialized in following way. It distinguish ASCII string and its size.

8 Write String Read String public static void writestring(string value, DataOutput out) throws IOException { InternalDataSerializer. checkout(out); final boolean isdebugenabled = logger. SERIALIZER); if (isdebugenabled) { (LogMarker. SERIALIZER, "Writing String \"{\"", value); if (value == null) { if (isdebugenabled) { "Writing NULL_STRING"); (DSCODE. NULL_STRING); else { // [bruce] writeutf is exnsive - it creat a char [] to fetch // the string's contents, iterat over the array to compute the // encoded gth, creat a e[] to hold the encoded, // iterat over the char[] again to create the encode, // then writ the. Since we usually deal with ISO // strings, we can accelerate this by accsing chars directly // with charat and fill a single-e buffer. If we run into // a multie char, we revert to using writeutf() int = value. gth(); int utflen = ; // added for bug public static String readstring(datainput in, e header) throws IOException { if (header == DSCODE. STRING_BYTES) { int = in. readunsignedshort(); if (logger. SERIALIZER)) { "Reading STRING_BYTES of = {", ); e[] buf = new e []; in.readfully(buf, 0, ); return new String(buf, 0); // intentionally using deprecated constructor else if (header == DSCODE.STRING) { if (logger. SERIALIZER)) { "Reading utf STRING"); return in.readutf(); else if (header == DSCODE.NULL_STRING) { if (logger. SERIALIZER)) { "Reading NULL_STRING"); return null; else if (header == DSCODE.HUGE_STRING_BYTES) { int = in.readint(); if (logger. SERIALIZER)) {

9 for (int i = 0; i < ; i++) { char c = value.charat (i); if ((c <= 0x007F) && (c >= 0x0001)) { // nothing needed else if (c > 0x07FF) { utflen += 2; else { utflen += 1; // Note we no longer have an early out when we detect the first // non-ascii char because we need to compute the utflen for bug // This is not a rformance problem because most strings are ascii // and they never did the early out. boolean writeutf = utflen > ; if (writeutf) { if (utflen > 0xFFFF) { if (isdebugenabled) { "Writing utf HUGE_STRING of ={", ); (DSCODE.HUGE_STRING); out.writeint(); out.writechars (value); else { if (isdebugenabled) { "Writing utf STRING of = {", ); (DSCODE.STRING); out.writeutf "Reading HUGE_STRING_BYTES of ={", ); e[] buf = new e []; in.readfully(buf, 0, ); return new String(buf, 0); // intentionally using deprecated constructor else if (header == DSCODE.HUGE_STRING) { int = in.readint(); if (logger. SERIALIZER)) { "Reading HUGE_STRING of = {", ); char[] buf = new char []; for (int i = 0; i < ; i++) { buf[i] = in. readchar(); return new String(buf); else { String s = "Unknown String header " + header; throw new IOException (s);

10 (value); else { if ( > 0xFFFF) { if (isdebugenabled) { "Writing HUGE_STRING_BYTES of ={", ); (DSCODE.HUGE_STRING_BYTES); out.writeint(); out.writebyt (value); else { if (isdebugenabled) { "Writing STRING_BYTES of = {", ); (DSCODE.STRING_BYTES); out.writeshort (); out.writebyt (value);

Memory, Data, & Addressing II CSE 351 Spring

Memory, Data, & Addressing II CSE 351 Spring Memory, Data, & Addressing II CSE 351 Spring 2018 http://xkcd.com/138/ Review Questions 1) If the word size of a machine is 64-bits, which of the following is usually true? (pick all that apply) a) 64

More information

Hardware: Logical View

Hardware: Logical View Hardware: Logical View CPU Memory Bus Disks Net USB Etc. 1 Hardware: Physical View USB I/O controller Storage connections CPU Memory 2 Hardware: 351 View (version 0) instructions? Memory CPU data CPU executes

More information

Content. Information Coding. Where are we? Where are we? Bit vectors (aka Words )

Content. Information Coding. Where are we? Where are we? Bit vectors (aka Words ) Information Coding Lecturer: Guillaume Beslon Original Author: Lionel Morel Computer Science and Information Technology - INSA Lyon Fall 2018 1 / 36 2 / 36 Where are we? Where are we? Programmers......

More information

CSC Java Programming, Fall Java Data Types and Control Constructs

CSC Java Programming, Fall Java Data Types and Control Constructs CSC 243 - Java Programming, Fall 2016 Java Data Types and Control Constructs Java Types In general, a type is collection of possible values Main categories of Java types: Primitive/built-in Object/Reference

More information

Final Exam. 11 May 2018, 120 minutes, 26 questions, 100 points

Final Exam. 11 May 2018, 120 minutes, 26 questions, 100 points Name: CS520 Final Exam 11 May 2018, 120 minutes, 26 questions, 100 points The exam is closed book and notes. Please keep all electronic devices turned off and out of reach. Note that a question may require

More information

Java Basic Datatypees

Java Basic Datatypees Basic Datatypees Variables are nothing but reserved memory locations to store values. This means that when you create a variable you reserve some space in the memory. Based on the data type of a variable,

More information

TORRIX RS485. Technical Documentation. with MODBUS Protocol. Edition: Version: 3 Art. no.:

TORRIX RS485. Technical Documentation. with MODBUS Protocol. Edition: Version: 3 Art. no.: Technical Documentation TORRIX RS485 with MODBUS Protocol Edition: 2017-03 Version: 3 Art. no.: 350187 FAFNIR GmbH Schnackenburgallee 149 c 22525 Hamburg Tel.: +49 / 40 / 39 82 07 0 Fax: +49 / 40 / 390

More information

CODA Online Data Formats

CODA Online Data Formats CODA Online Data Formats Evio Header Formats Bank : 32 bits MSB (31) LSB (0) Length (32 bit words, exclusive) Tag (16 bits) (2) Type (6) Num (8) Segment : Padding Tag (8 bits) (2) Type (6) Length (16)

More information

1B1a Arrays. Arrays. Indexing. Naming arrays. Why? Using indexing. 1B1a Lecture Slides. Copyright 2003, Graham Roberts 1

1B1a Arrays. Arrays. Indexing. Naming arrays. Why? Using indexing. 1B1a Lecture Slides. Copyright 2003, Graham Roberts 1 Ba Arrays Arrays A normal variable holds value: An array variable holds a collection of values: 4 Naming arrays An array has a single name, so the elements are numbered or indexed. 0 3 4 5 Numbering starts

More information

Performing input and output operations using a Byte Stream

Performing input and output operations using a Byte Stream Performing input and output operations using a Byte Stream public interface DataInput The DataInput interface provides for reading bytes from a binary stream and reconstructing from them data in any of

More information

1B1b. Classes in Java Part III. Review. Static. Static (2) Example. Static (3) 1B1b Lecture Slides. Copyright 2004, Graham Roberts 1

1B1b. Classes in Java Part III. Review. Static. Static (2) Example. Static (3) 1B1b Lecture Slides. Copyright 2004, Graham Roberts 1 1B1b Classes in Java Part III Review We have seen that classes: declare instance variables. declare methods. may have constructors. Now want to start filling in further details. 1 2 Static Why are some

More information

CPSC 213. Introduction to Computer Systems. Numbers and Memory. Unit 1a

CPSC 213. Introduction to Computer Systems. Numbers and Memory. Unit 1a CPSC 213 Introduction to Computer Systems Unit 1a Numbers and Memory 1 The Big Picture Build machine model of execution for Java and C programs by examining language features and deciding how they are

More information

Final Exam. 12 December 2018, 120 minutes, 26 questions, 100 points

Final Exam. 12 December 2018, 120 minutes, 26 questions, 100 points Name: CS520 Final Exam 12 December 2018, 120 minutes, 26 questions, 100 points The exam is closed book and notes. Please keep all electronic devices turned off and out of reach. Note that a question may

More information

Getting started with Java

Getting started with Java Getting started with Java by Vlad Costel Ungureanu for Learn Stuff Programming Languages A programming language is a formal constructed language designed to communicate instructions to a machine, particularly

More information

Topics Power tends to corrupt; absolute power corrupts absolutely. Computer Organization CS Data Representation

Topics Power tends to corrupt; absolute power corrupts absolutely. Computer Organization CS Data Representation Computer Organization CS 231-01 Data Representation Dr. William H. Robinson November 12, 2004 Topics Power tends to corrupt; absolute power corrupts absolutely. Lord Acton British historian, late 19 th

More information

Introduction to Programming Using Java (98-388)

Introduction to Programming Using Java (98-388) Introduction to Programming Using Java (98-388) Understand Java fundamentals Describe the use of main in a Java application Signature of main, why it is static; how to consume an instance of your own class;

More information

Action Message Format -- AMF 3

Action Message Format -- AMF 3 Adobe Systems Inc. Category: ActionScript Serialization Action Message Format -- AMF 3 Copyright Notice Copyright (c) Adobe Systems Inc. (2002-2006). All Rights Reserved. Abstract Action Message Format

More information

CSB541 Network Programming 網路程式設計. Ch.2 Streams 吳俊興國立高雄大學資訊工程學系

CSB541 Network Programming 網路程式設計. Ch.2 Streams 吳俊興國立高雄大學資訊工程學系 CSB541 Network Programming 網路程式設計 Ch.2 Streams 吳俊興國立高雄大學資訊工程學系 Outline 2.1 Output Streams 2.2 Input Streams 2.3 Filter Streams 2.4 Readers and Writers 2 Java I/O Built on streams I/O in Java is organized

More information

IF96017 MODBUS COMMUNICATION PROTOCOL

IF96017 MODBUS COMMUNICATION PROTOCOL CONTENTS 1.0 ABSTRACT 04/07/14 Pagina 1 di 9 MULTIFUNCTION FIRMWARE 1.00 COMMUNICATION PROTOCOL IF96017 MODBUS COMMUNICATION PROTOCOL 2.0 DATA MESSAGE DESCRIPTION 2.1 Parameters description 2.2 Data format

More information

bytes per disk block (a block is usually called sector in the disk drive literature), sectors in each track, read/write heads, and cylinders (tracks).

bytes per disk block (a block is usually called sector in the disk drive literature), sectors in each track, read/write heads, and cylinders (tracks). Understanding FAT 12 You need to address many details to solve this problem. The exercise is broken down into parts to reduce the overall complexity of the problem: Part A: Construct the command to list

More information

Binghamton University. CS-211 Fall Pointers

Binghamton University. CS-211 Fall Pointers Pointers 1 What is a pointer? Says I m not important what s important is over there Points AT or TO something else 2 Memory Array of bytes Each element has a value 0 1 2 3 xffff fffd xffff fffe xffff ffff

More information

SC2004MBS 20x4 Characters MODBUS RTU Slave LCD

SC2004MBS 20x4 Characters MODBUS RTU Slave LCD SC004MBS 0x4 Characters MODBUS RTU Slave SC004MBS is a MODBUS slave device that receives data from a Master MODBUS device and display them on the panel. The is 0 x 4 characters in size and each character

More information

Binghamton University. CS-211 Fall Pointers vs. Arrays

Binghamton University. CS-211 Fall Pointers vs. Arrays Pointers vs. Arrays 1 Array Values are Contiguous Right next to each other in memory int vec[6] int m [4][3]; vec[0] vec[1] vec[2] vec[3] vec[4] vec[5] m[0][0] m[0][1] m[0][2] m[1][0] m[1][1] m[1][2] m[2][0]

More information

CSCI 2212: Intermediate Programming / C Chapter 15

CSCI 2212: Intermediate Programming / C Chapter 15 ... /34 CSCI 222: Intermediate Programming / C Chapter 5 Alice E. Fischer October 9 and 2, 25 ... 2/34 Outline Integer Representations Binary Integers Integer Types Bit Operations Applying Bit Operations

More information

CS211 Computers and Programming Matthew Harris and Alexa Sharp July 9, Boggle

CS211 Computers and Programming Matthew Harris and Alexa Sharp July 9, Boggle Boggle If you are not familiar with the game Boggle, the game is played with 16 dice that have letters on all faces. The dice are randomly deposited into a four-by-four grid so that the players see the

More information

Survey. Motivation 29.5 / 40 class is required

Survey. Motivation 29.5 / 40 class is required Survey Motivation 29.5 / 40 class is required Concerns 6 / 40 not good at examination That s why we have 3 examinations 6 / 40 this class sounds difficult 8 / 40 understand the instructor Want class to

More information

Programming refresher and intro to C programming

Programming refresher and intro to C programming Applied mechatronics Programming refresher and intro to C programming Sven Gestegård Robertz sven.robertz@cs.lth.se Department of Computer Science, Lund University 2018 Outline 1 C programming intro 2

More information

14.3 Handling files as binary files

14.3 Handling files as binary files 14.3 Handling files as binary files 469 14.3 Handling files as binary files Although all files on a computer s hard disk contain only bits, binary digits, we say that some files are text files while others

More information

Voyager Interoperability Guide Version 1.1 for Voyager 8.0

Voyager Interoperability Guide Version 1.1 for Voyager 8.0 Voyager Interoperability Guide Version 1.1 for Voyager 8.0 Table of Contents Introduction... 3 Audience... 3 Prerequisites... 3 Overview... 3 Contacting Technical Support... 3 The Distributed Data Model...

More information

Chapter 17 Binary I/O. Liang, Introduction to Java Programming, Eleventh Edition, (c) 2017 Pearson Education, Inc. All rights reserved.

Chapter 17 Binary I/O. Liang, Introduction to Java Programming, Eleventh Edition, (c) 2017 Pearson Education, Inc. All rights reserved. Chapter 17 Binary I/O 1 Motivations Data stored in a text file is represented in human-readable form. Data stored in a binary file is represented in binary form. You cannot read binary files. They are

More information

CS360 Midterm 1 - February 21, James S. Plank. Put all answers on the answer sheet. In all of these questions, please assume the following:

CS360 Midterm 1 - February 21, James S. Plank. Put all answers on the answer sheet. In all of these questions, please assume the following: CS360 Midterm 1 - February 21, 2017 - James S. Plank Put all answers on the answer sheet. In all of these questions, please assume the following: Pointers and longs are 4 bytes. The machine is little endian

More information

Modbus Register Map: Galaxy 5000 & Galaxy 5500

Modbus Register Map: Galaxy 5000 & Galaxy 5500 Modbus Map: Galaxy 5000 & Galaxy 5500 Notes: 1. 16-bit registers are transmitted MSB first (i.e. big-endian). 2. INT32 UINT16 and and UINT32 are are most-significant word in in n+0, least significant word

More information

ECE331 Homework 4. Due Monday, August 13, 2018 (via Moodle)

ECE331 Homework 4. Due Monday, August 13, 2018 (via Moodle) ECE331 Homework 4 Due Monday, August 13, 2018 (via Moodle) 1. Below is a list of 32-bit memory address references, given as hexadecimal byte addresses. The memory accesses are all reads and they occur

More information

Memory, Data, & Addressing II

Memory, Data, & Addressing II Memory, Data, & Addressing II CSE 351 Autumn 2018 Instructor: Justin Hsia Teaching Assistants: Akshat Aggarwal An Wang Andrew Hu Brian Dai Britt Henderson James Shin Kevin Bi Kory Watson Riley Germundson

More information

Lecture 7. File Processing

Lecture 7. File Processing Lecture 7 File Processing 1 Data (i.e., numbers and strings) stored in variables, arrays, and objects are temporary. They are lost when the program terminates. To permanently store the data created in

More information

TECH TIP. Tritex Modbus Protocol Specification

TECH TIP. Tritex Modbus Protocol Specification Tritex Modbus Protocol Specification Introduction This document describes Tritex s implementation of the MODBUS communication protocol used for transferring data between a serial host and an Exlar drive.

More information

M1 Computers and Data

M1 Computers and Data M1 Computers and Data Module Outline Architecture vs. Organization. Computer system and its submodules. Concept of frequency. Processor performance equation. Representation of information characters, signed

More information

Representation of Information

Representation of Information Representation of Information CS61, Lecture 2 Prof. Stephen Chong September 6, 2011 Announcements Assignment 1 released Posted on http://cs61.seas.harvard.edu/ Due one week from today, Tuesday 13 Sept

More information

TORRIX RS485. Technical Documentation. with MODBUS Protocol. Edition: Version: 2 Art. no.:

TORRIX RS485. Technical Documentation. with MODBUS Protocol. Edition: Version: 2 Art. no.: Technical Documentation TORRIX RS485 with MODBUS Protocol Edition: 2016-05 Version: 2 Art. no.: 350187 FAFNIR GmbH Schnackenburgallee 149 c 22525 Hamburg Tel.: +49 / 40 / 39 82 07 0 Fax: +49 / 40 / 390

More information

3. Java - Language Constructs I

3. Java - Language Constructs I Educational Objectives 3. Java - Language Constructs I Names and Identifiers, Variables, Assignments, Constants, Datatypes, Operations, Evaluation of Expressions, Type Conversions You know the basic blocks

More information

Array. Prepared By - Rifat Shahriyar

Array. Prepared By - Rifat Shahriyar Java More Details Array 2 Arrays A group of variables containing values that all have the same type Arrays are fixed length entities In Java, arrays are objects, so they are considered reference types

More information

Computer Organization & Systems Exam I Example Questions

Computer Organization & Systems Exam I Example Questions Computer Organization & Systems Exam I Example Questions 1. Pointer Question. Write a function char *circle(char *str) that receives a character pointer (which points to an array that is in standard C

More information

CS C Primer. Tyler Szepesi. January 16, 2013

CS C Primer. Tyler Szepesi. January 16, 2013 January 16, 2013 Topics 1 Why C? 2 Data Types 3 Memory 4 Files 5 Endianness 6 Resources Why C? C is exteremely flexible and gives control to the programmer Allows users to break rigid rules, which are

More information

1 Introduction. 1.1 Overview. 1.2 Supported Hardware. 1.3 Recommended Hardware. 1.4 Installation

1 Introduction. 1.1 Overview. 1.2 Supported Hardware. 1.3 Recommended Hardware. 1.4 Installation 1 Introduction 1.1 Overview The RobotOpen Arduino Library provides an easy to use abstraction layer to quickly begin programming and controlling your robots with RobotOpen. The 1.0.x release is currently

More information

Modbus Register Map: Galaxy 300

Modbus Register Map: Galaxy 300 Modbus Map: Galaxy 300 Notes: 1. 16-bit are transmitted MSB first (i.e. big-endian). 2. INT32 UINT16 and and UINT32 are are most-significant word in in n+0, least significant word in in n+1 n+1 (i.e. (i.e.

More information

Princeton University. Computer Science 217: Introduction to Programming Systems. Data Types in C

Princeton University. Computer Science 217: Introduction to Programming Systems. Data Types in C Princeton University Computer Science 217: Introduction to Programming Systems Data Types in C 1 Goals of C Designers wanted C to: Support system programming Be low-level Be easy for people to handle But

More information

Memory, Data, & Addressing I

Memory, Data, & Addressing I Memory, Data, & Addressing I CSE 351 Autumn 2017 Instructor: Justin Hsia Teaching Assistants: Lucas Wotton Michael Zhang Parker DeWilde Ryan Wong Sam Gehman Sam Wolfson Savanna Yee Vinny Palaniappan http://xkcd.com/953/

More information

IntWritable w1 = new IntWritable(163); IntWritable w2 = new IntWritable(67); assertthat(comparator.compare(w1, w2), greaterthan(0));

IntWritable w1 = new IntWritable(163); IntWritable w2 = new IntWritable(67); assertthat(comparator.compare(w1, w2), greaterthan(0)); factory for RawComparator instances (that Writable implementations have registered). For example, to obtain a comparator for IntWritable, we just use: RawComparator comparator = WritableComparator.get(IntWritable.class);

More information

0x42c Documentation. Release José Manuel Díez

0x42c Documentation. Release José Manuel Díez 0x42c Documentation Release 1.3.3.7 José Manuel Díez Sep 27, 2017 Contents 1 FAQ 3 2 Kernel functions 5 2.1 [0x002] kern_return........................................... 5 2.2 [0x003] kern_strcmp...........................................

More information

Where we are going (today)

Where we are going (today) Where we are going (today) Q: How do we arrange bits in the memory of the computer? (why do we care? we want the computer to store many individual numbers) A: bytes and words 10110000 00001110 01000010

More information

Basic I/O - Stream. Java.io (stream based IO) Java.nio(Buffer and channel-based IO)

Basic I/O - Stream. Java.io (stream based IO) Java.nio(Buffer and channel-based IO) I/O and Scannar Sisoft Technologies Pvt Ltd SRC E7, Shipra Riviera Bazar, Gyan Khand-3, Indirapuram, Ghaziabad Website: www.sisoft.in Email:info@sisoft.in Phone: +91-9999-283-283 I/O operations Three steps:

More information

CSE 351: The Hardware/Software Interface. Section 2 Integer representations, two s complement, and bitwise operators

CSE 351: The Hardware/Software Interface. Section 2 Integer representations, two s complement, and bitwise operators CSE 351: The Hardware/Software Interface Section 2 Integer representations, two s complement, and bitwise operators Integer representations In addition to decimal notation, it s important to be able to

More information

Binghamton University. CS-211 Fall Pointers vs. Arrays

Binghamton University. CS-211 Fall Pointers vs. Arrays Pointers vs. Arrays 1 Pointers in C Pointers are a special data type The VALUE of a pointer is an address The TYPE of a pointer is pointer to pointer to character pointer to integer pointer

More information

MTAT Applied Cryptography

MTAT Applied Cryptography MTAT.07.017 Applied Cryptography Abstract Syntax Notation One (ASN.1) University of Tartu Spring 2014 1 / 20 Abstract Syntax Notation One Notation to describe abstract types and values Describes information

More information

Application Note. Introduction AN2471/D 3/2003. PC Master Software Communication Protocol Specification

Application Note. Introduction AN2471/D 3/2003. PC Master Software Communication Protocol Specification Application Note 3/2003 PC Master Software Communication Protocol Specification By Pavel Kania and Michal Hanak S 3 L Applications Engineerings MCSL Roznov pod Radhostem Introduction The purpose of this

More information

Do not start the test until instructed to do so!

Do not start the test until instructed to do so! Instructions: Print your name in the space provided below. This examination is closed book and closed notes, aside from the permitted one-page formula sheet. No calculators or other electronic devices

More information

MTAT Applied Cryptography

MTAT Applied Cryptography MTAT.07.017 Applied Cryptography Abstract Syntax Notation One (ASN.1) University of Tartu Spring 2017 1 / 19 Abstract Syntax Notation One Notation to describe abstract types and values Describes information

More information

AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS

AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS PAUL L. BAILEY Abstract. This documents amalgamates various descriptions found on the internet, mostly from Oracle or Wikipedia. Very little of this

More information

SOFTWARE DEVELOPMENT 1. Strings and Enumerations 2018W A. Ferscha (Institute of Pervasive Computing, JKU Linz)

SOFTWARE DEVELOPMENT 1. Strings and Enumerations 2018W A. Ferscha (Institute of Pervasive Computing, JKU Linz) SOFTWARE DEVELOPMENT 1 Strings and Enumerations 2018W (Institute of Pervasive Computing, JKU Linz) CHARACTER ENCODING On digital systems, each character is represented by a specific number. The character

More information

JAVA WRAPPER CLASSES

JAVA WRAPPER CLASSES JAVA WRAPPER CLASSES Description Each of Java's eight primitive data types has a class dedicated to it. These are known as wrapper classes, because they "wrap" the primitive data type into an object of

More information

1 Shyam sir JAVA Notes

1 Shyam sir JAVA Notes 1 Shyam sir JAVA Notes 1. What is the most important feature of Java? Java is a platform independent language. 2. What do you mean by platform independence? Platform independence means that we can write

More information

CPS 104 Computer Organization and Programming

CPS 104 Computer Organization and Programming CPS 104 Computer Organization and Programming Lecture-3 : Memory, Bit Operations. Sep. 3, 1999 Dietolf (Dee) Ramm http://www.cs.duke.edu/~dr/cps104.html CPS104 Lec3.1 GK&DR Fall 1999 Administrivia Homework

More information

Tutorial 1: C-Language

Tutorial 1: C-Language Tutorial 1: C-Language Problem 1: Data Type What are the ranges of the following data types? int 32 bits 2 31..2 31-1 OR -2147483648..2147483647 (0..4294967295 if unsiged) in some machines int is same

More information

Files and IO, Streams. JAVA Standard Edition

Files and IO, Streams. JAVA Standard Edition Files and IO, Streams JAVA Standard Edition Java - Files and I/O The java.io package contains nearly every class you might ever need to perform input and output (I/O) in Java. All these streams represent

More information

6.092: Java for 6.170

6.092: Java for 6.170 6.092: Java for 6.170 Lucy Mendel MIT EECS MIT 6.092 IAP 2006 1 Course Staff Lucy Mendel Corey McCaffrey Rob Toscano Justin Mazzola Paluska Scott Osler Ray He Ask us for help! MIT 6.092 IAP 2006 2 Class

More information

Expressions and Data Types CSC 121 Spring 2015 Howard Rosenthal

Expressions and Data Types CSC 121 Spring 2015 Howard Rosenthal Expressions and Data Types CSC 121 Spring 2015 Howard Rosenthal Lesson Goals Understand the basic constructs of a Java Program Understand how to use basic identifiers Understand simple Java data types

More information

Microcontroller Systems. ELET 3232 Topic 8: Structures, Arrays, & Pointers

Microcontroller Systems. ELET 3232 Topic 8: Structures, Arrays, & Pointers Microcontroller Systems ELET 3232 Topic 8: Structures, Arrays, & Pointers 1 Agenda Become familiar with and apply: Arrays Structures Pointers 2 Array Arrays A data set of a particular data type All elements

More information

CE4DMID01 COMMUNICATION PROTOCOL CONTENTS 1.0 INTRODUCTION

CE4DMID01 COMMUNICATION PROTOCOL CONTENTS 1.0 INTRODUCTION 11/11/2011 Pagina 1 di 11 ELECTRICITY ENERGY METER FIRMWARE 1.3 CE4DMID01 COMMUNICATION PROTOCOL CONTENTS 1.0 INTRODUCTION 2.0 DATA MESSAGE DESCRIPTION 2.1 Data field description 2.2 Data format 2.3 Description

More information

15CS45 : OBJECT ORIENTED CONCEPTS

15CS45 : 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 information

CSE351: Memory, Data, & Addressing I

CSE351: Memory, Data, & Addressing I CSE351: Memory, Data, & Addressing I CSE 351 Spring 2017 Instructor: Ruth Anderson Teaching Assistants: Dylan Johnson Kevin Bi Linxing Preston Jiang Cody Ohlsen Yufang Sun Joshua Curtis http://xkcd.com/138/

More information

Static Imports, Default Values, Number Types and More!

Static Imports, Default Values, Number Types and More! Static Imports, Default Values, Number Types and More! Introduction In this article from my free Java 8 course, I will explain various topics that haven t yet been covered in this series. Static Imports

More information

Object Oriented Programming and Design in Java. Session 2 Instructor: Bert Huang

Object Oriented Programming and Design in Java. Session 2 Instructor: Bert Huang Object Oriented Programming and Design in Java Session 2 Instructor: Bert Huang Announcements TA: Yipeng Huang, yh2315, Mon 4-6 OH on MICE clarification Next Monday's class canceled for Distinguished Lecture:

More information

A Quick Tour p. 1 Getting Started p. 1 Variables p. 3 Comments in Code p. 6 Named Constants p. 6 Unicode Characters p. 8 Flow of Control p.

A Quick Tour p. 1 Getting Started p. 1 Variables p. 3 Comments in Code p. 6 Named Constants p. 6 Unicode Characters p. 8 Flow of Control p. A Quick Tour p. 1 Getting Started p. 1 Variables p. 3 Comments in Code p. 6 Named Constants p. 6 Unicode Characters p. 8 Flow of Control p. 9 Classes and Objects p. 11 Creating Objects p. 12 Static or

More information

CS 33. Data Representation, Part 1. CS33 Intro to Computer Systems VII 1 Copyright 2017 Thomas W. Doeppner. All rights reserved.

CS 33. Data Representation, Part 1. CS33 Intro to Computer Systems VII 1 Copyright 2017 Thomas W. Doeppner. All rights reserved. CS 33 Data Representation, Part 1 CS33 Intro to Computer Systems VII 1 Copyright 2017 Thomas W. Doeppner. All rights reserved. Number Representation Hindu-Arabic numerals developed by Hindus starting in

More information

CS435 Introduction to Big Data Spring 2018 Colorado State University. 2/12/2018 Week 5-A Sangmi Lee Pallickara

CS435 Introduction to Big Data Spring 2018 Colorado State University. 2/12/2018 Week 5-A Sangmi Lee Pallickara W5.A.0.0 CS435 Introduction to Big Data W5.A.1 FAQs PA1 has been posted Feb. 21, 5:00PM via Canvas Individual submission (No team submission) Source code of examples in lectures: https://github.com/adamjshook/mapreducepatterns

More information

Under the Hood: Data Representations, Memory and Bit Operations. Computer Science 104 Lecture 3

Under the Hood: Data Representations, Memory and Bit Operations. Computer Science 104 Lecture 3 Under the Hood: Data Representations, Memory and Bit Operations Computer Science 104 Lecture 3 Homework #1 Due Feb 6 Reading TAs Finish Chapter 1 Start Chapter 2 Admin +1 UTA: Michael Zhou Lindsay is Head

More information

CS Programming In C

CS Programming In C CS 24000 - Programming In C Week Two: Basic C Program Organization and Data Types Zhiyuan Li Department of Computer Science Purdue University, USA 2 int main() { } return 0; The Simplest C Program C programs

More information

ICS Instructor: Aleksandar Kuzmanovic TA: Ionut Trestian Recitation 2

ICS Instructor: Aleksandar Kuzmanovic TA: Ionut Trestian Recitation 2 ICS 2008 Instructor: Aleksandar Kuzmanovic TA: Ionut Trestian Recitation 2 Data Representations Sizes of C Objects (in Bytes) C Data Type Compaq Alpha Typical 32-bit Intel IA32 int 4 4 4 long int 8 4 4

More information

Introduction to Programming (Java) 4/12

Introduction to Programming (Java) 4/12 Introduction to Programming (Java) 4/12 Michal Krátký Department of Computer Science Technical University of Ostrava Introduction to Programming (Java) 2008/2009 c 2006 2008 Michal Krátký Introduction

More information

1 Epic Test Review 2 Epic Test Review 3 Epic Test Review 4. Epic Test Review 5 Epic Test Review 6 Epic Test Review 7 Epic Test Review 8

1 Epic Test Review 2 Epic Test Review 3 Epic Test Review 4. Epic Test Review 5 Epic Test Review 6 Epic Test Review 7 Epic Test Review 8 Epic Test Review 1 Epic Test Review 2 Epic Test Review 3 Epic Test Review 4 Write a line of code that outputs the phase Hello World to the console without creating a new line character. System.out.print(

More information

CMPSC 311 Exam 2. March 27, 2015

CMPSC 311 Exam 2. March 27, 2015 Name: Section: 11:15 1:25 CMPSC 311 Exam 2 March 27, 2015 Closed book, closed neighbor, no electronic tools or additional papers. You may not share or discuss exam questions with anyone. 1 Short Questions

More information

5/23/2015. Core Java Syllabus. VikRam ShaRma

5/23/2015. Core Java Syllabus. VikRam ShaRma 5/23/2015 Core Java Syllabus VikRam ShaRma Basic Concepts of Core Java 1 Introduction to Java 1.1 Need of java i.e. History 1.2 What is java? 1.3 Java Buzzwords 1.4 JDK JRE JVM JIT - Java Compiler 1.5

More information

Binghamton University. CS-211 Fall Pointers

Binghamton University. CS-211 Fall Pointers Pointers 1 Memory The act of keeping track of something over time Remembering is the concept of storing information A memory is no good unless you can retrieve that information In a computer, we remember

More information

Where we are going (today)

Where we are going (today) Where we are going (today) Q: How do we arrange bits in the memory of the computer? (why do we care? we want the computer to store many individual numbers) A: bytes and words 10110000 00001110 01000010

More information

JAVA V Source files Java, winter semester

JAVA V Source files Java, winter semester JAVA Source files 17.10.2017 1 Unicode programs ~ Unicode comments, identifiers, char and string constants the rest is in ASCII (

More information

Java Programming Lecture 9

Java Programming Lecture 9 Java Programming Lecture 9 Alice E. Fischer February 16, 2012 Alice E. Fischer () Java Programming - L9... 1/14 February 16, 2012 1 / 14 Outline 1 Object Files Using an Object File Alice E. Fischer ()

More information

wybuild & wyupdate File Specifications

wybuild & wyupdate File Specifications wybuild & wyupdate File Specifications Version: 2.6.18 August 2012 General This document is licensed under the BSD License. Copyright 2017 wyday. Any questions can be asked on the wyday forum. File format

More information

Lab5 2-Nov-18, due 16-Nov-18 (2 weeks duration) Lab6 16-Nov-19, due 30-Nov-18 (2 weeks duration)

Lab5 2-Nov-18, due 16-Nov-18 (2 weeks duration) Lab6 16-Nov-19, due 30-Nov-18 (2 weeks duration) CS1021 AFTER READING WEEK Mid-Semester Test NOW Thurs 8th Nov @ 9am in Goldsmith Hall (ALL students to attend at 9am) Final 2 Labs Lab5 2-Nov-18, due 16-Nov-18 (2 weeks duration) Lab6 16-Nov-19, due 30-Nov-18

More information

Imports. Lexicon. Java/Lespérance 1. PROF. Y. LESPÉRANCE Dept. of Electrical Engineering & Computer Science

Imports. Lexicon. Java/Lespérance 1. PROF. Y. LESPÉRANCE Dept. of Electrical Engineering & Computer Science Lexicon CS1022 MOBIL COMPUTING PROF Y LSPÉRANC Dept of lectrical ngineering & Computer Science 1 2 Imports 3 Imported Class = DelegaKon 4 Java/Lespérance 1 Lexicon Class Header Class Body, a Block import

More information

First Semester Examination Introduction to Computer Systems (COMP2300/COMP6300)

First Semester Examination Introduction to Computer Systems (COMP2300/COMP6300) First Semester Examination 2011 Introduction to Computer Systems (COMP2300/COMP6300) Writing Period: 3 hour duration Study Period: 15 minutes duration Permitted Materials: One A4 page with notes on both

More information

VISY-Command. Technical Documentation. with Modbus Protocol. Edition: Version: 1 Art. no.:

VISY-Command. Technical Documentation. with Modbus Protocol. Edition: Version: 1 Art. no.: Technical Documentation with Modbus Procol Edition: 2017-04 Version: 1 Art. no.: 350253 FAFNIR GmbH Schnackenburgallee 149 c 22525 Hamburg Germany Tel.: +49 / 40 / 39 82 07-0 Fax: +49 / 40 / 390 63 39

More information

Binary Encodings for JavaScript Object Notation: JSON-B, JSON-C, JSON-D

Binary Encodings for JavaScript Object Notation: JSON-B, JSON-C, JSON-D Internet Engineering Task Force P. Hallam-Baker Internet-Draft Comodo Group Inc. Intended status: Standards Track June 11, 2013 Expires: December 13, 2013 Binary Encodings for JavaScript Object Notation:

More information

BluPrints Thermal Receipt Printer

BluPrints Thermal Receipt Printer BluPrints Thermal Receipt Printer Developer Guide (3inch-80/mm) E - 22, Sector 51, Noida - 201301 UttarPradesh Website : http://www.bluprints.in/ VERSION CONTROL: 5.0 / Jan 2018 PLEASE NOTE THAT THIS SDK

More information

PRE32 RS232 protocol v1.21 Tomas Andersson

PRE32 RS232 protocol v1.21 Tomas Andersson PRE32 RS232 protocol 2014-11-07 v1.21 Tomas Andersson Description This document describes the RS232 protocol used to control the PRE32 device. Command structure Commands are sent to the device using the

More information

Expressions and Data Types CSC 121 Fall 2015 Howard Rosenthal

Expressions and Data Types CSC 121 Fall 2015 Howard Rosenthal Expressions and Data Types CSC 121 Fall 2015 Howard Rosenthal Lesson Goals Understand the basic constructs of a Java Program Understand how to use basic identifiers Understand simple Java data types and

More information

COMMUNICATION MODBUS PROTOCOL

COMMUNICATION MODBUS PROTOCOL COMMUNICATION MODBUS PROTOCOL BOZZA_V04 Conto D6-Pd 05/12/2017 Pag. 1/15 CONTENTS 1.0 ABSTRACT... 2 2.0 DATA MESSAGE DESCRIPTION... 3 2.1 Parameters description... 3 2.2 Data format... 4 2.3 Description

More information

Introduction to Java https://tinyurl.com/y7bvpa9z

Introduction to Java https://tinyurl.com/y7bvpa9z Introduction to Java https://tinyurl.com/y7bvpa9z Eric Newhall - Laurence Meyers Team 2849 Alumni Java Object-Oriented Compiled Garbage-Collected WORA - Write Once, Run Anywhere IDE Integrated Development

More information

Conto D2 COMMUNICATION PROTOCOL CONTENTS 1.0 INTRODUCTION

Conto D2 COMMUNICATION PROTOCOL CONTENTS 1.0 INTRODUCTION PR 121 rev. 0 11/11/2011 Pagina 1 di 9 ELECTRICITY ENERGY METER FIRMWARE 1.6 Conto D2 COMMUNICATION PROTOCOL CONTENTS 1.0 INTRODUCTION 2.0 DATA MESSAGE DESCRIPTION 2.1 Data field description 2.2 Data format

More information

COMP 2355 Introduction to Systems Programming

COMP 2355 Introduction to Systems Programming COMP 2355 Introduction to Systems Programming Christian Grothoff christian@grothoff.org http://grothoff.org/christian/ 1 Functions Similar to (static) methods in Java without the class: int f(int a, int

More information

PROGRAMMING FUNDAMENTALS

PROGRAMMING FUNDAMENTALS PROGRAMMING FUNDAMENTALS Q1. Name any two Object Oriented Programming languages? Q2. Why is java called a platform independent language? Q3. Elaborate the java Compilation process. Q4. Why do we write

More information