Java to binary

Those of you of a sensitive disposition please read no further.
Okay, can anyone else give me information regarding the production of binary executables from Java sources (or bytecode).

Funny, I asked this question just a few days ago. The response I got was that the compilers out there aren't very good. You might want to take a stab at converting the code to a language such as C++ with ahead-of-time compiling. Why, may I ask, do you want to compile?

Similar Messages

  • Import Export Imges in JAVA to binary code with firebirds

    I'm having problems with a java netbeans. I want a start a disccus about how we can import and export images from and to, binary code. We can play with Blob variables, but i dont know how can we insert to a Firebird database and how we can read this image.
    Any help or any comment is great.
    Thank you!!

    Hi,
    I'm not sure how much help you'll find here as firebird is not an oracle product. You might find someone who can provide sample code for doing the above into oracle/mysql here. I would suggest asking in the database general forum though rather than this one - you should be able to get a moderator to move it if you can;t do it yourself.
    Cheers,
    Rich

  • Java and binary operations (roll)

    Is there any roll operations in java?
    1011 rolled to the right would become 1101
    1011 rolled to the left would bcome 0111
    How can I accomplish this?

    Why do you need that?I'm making a huffman encoder and need binary paths. I shift individual paths into a long path, but when an individual path exceeds the total number of bits I need to store the highest bits into the remaining of the path. Its easier to mask the lower segment than the higher in a collection of bits, so I would like to roll the path to the high bits end up at the lower part of the path and then mask the path so it contains a correct number of bits and shift it into the remaining bits.
    example:
    current path - 10110010110010000
    path - 1000
    notice the three last bits (000). This is where I want to 'store' 1000. Since 1000 is four bits I need to take the 3 highest bits (100) store these and store the last bit in a new long path. I can mask the lowest by doing 'path &= ((int)Math.pow(2, bit) - 1)' but this is not possible with high bits.
    Nille

  • Extend Domain to include BPM -- Enterprise manager crashes Java binary

    Hello,
    I thought I would share a rather puzzling issue.  I have been working with a Soa Suite Domain for quite some time now, and have it configured with a java email servers, JMS, Db Adapters, and I wanted to extend this domain so I backed it up and extended it to include BPM.  Later when opening EM, I would suddenly get a message saying that the Java SE Binary had stopped working.
    There are very few mentions on the net for weblogic, this one being the only one I could find JAVA (TM) Platform SE Binary Stopped Working on SOA Enterprise manager
    In my case, it turns out that I had an email server that was using one version of java, while the domain was working on the java version in the installation directory.  I went to the control panel, system, environmental variables and took the path of the java that the email server was using, and entered in the java version of the weblogic domain.  No problems so far....
    Stuart

    Looks like you have conflict with your java home and you are running 2 different JREs. Keep the latest and try launching EM console again and post the exception if you get any.
    Thanks,
    Vijay

  • Need Help with a String Binary Tree

    Hi, I need the code to build a binary tree with string values as the nodes....i also need the code to insert, find, delete, print the nodes in the binarry tree
    plssss... someone pls help me on this
    here is my code now:
    // TreeApp.java
    // demonstrates binary tree
    // to run this program: C>java TreeApp
    import java.io.*; // for I/O
    import java.util.*; // for Stack class
    import java.lang.Integer; // for parseInt()
    class Node
         //public int iData; // data item (key)
         public String iData;
         public double dData; // data item
         public Node leftChild; // this node's left child
         public Node rightChild; // this node's right child
         public void displayNode() // display ourself
              System.out.print('{');
              System.out.print(iData);
              System.out.print(", ");
              System.out.print(dData);
              System.out.print("} ");
    } // end class Node
    class Tree
         private Node root; // first node of tree
         public Tree() // constructor
         { root = null; } // no nodes in tree yet
         public Node find(int key) // find node with given key
         {                           // (assumes non-empty tree)
              Node current = root; // start at root
              while(current.iData != key) // while no match,
                   if(key < current.iData) // go left?
                        current = current.leftChild;
                   else // or go right?
                        current = current.rightChild;
                   if(current == null) // if no child,
                        return null; // didn't find it
              return current; // found it
         } // end find()
         public Node recfind(int key, Node cur)
              if (cur == null) return null;
              else if (key < cur.iData) return(recfind(key, cur.leftChild));
              else if (key > cur.iData) return (recfind(key, cur.rightChild));
              else return(cur);
         public Node find2(int key)
              return recfind(key, root);
    public void insert(int id, double dd)
    Node newNode = new Node(); // make new node
    newNode.iData = id; // insert data
    newNode.dData = dd;
    if(root==null) // no node in root
    root = newNode;
    else // root occupied
    Node current = root; // start at root
    Node parent;
    while(true) // (exits internally)
    parent = current;
    if(id < current.iData) // go left?
    current = current.leftChild;
    if(current == null) // if end of the line,
    {                 // insert on left
    parent.leftChild = newNode;
    return;
    } // end if go left
    else // or go right?
    current = current.rightChild;
    if(current == null) // if end of the line
    {                 // insert on right
    parent.rightChild = newNode;
    return;
    } // end else go right
    } // end while
    } // end else not root
    } // end insert()
    public void insert(String id, double dd)
         Node newNode = new Node(); // make new node
         newNode.iData = id; // insert data
         newNode.dData = dd;
         if(root==null) // no node in root
              root = newNode;
         else // root occupied
              Node current = root; // start at root
              Node parent;
              while(true) // (exits internally)
                   parent = current;
                   //if(id < current.iData) // go left?
                   if(id.compareTo(current.iData)>0)
                        current = current.leftChild;
                        if(current == null) // if end of the line,
                        {                 // insert on left
                             parent.leftChild = newNode;
                             return;
                   } // end if go left
                   else // or go right?
                        current = current.rightChild;
                        if(current == null) // if end of the line
                        {                 // insert on right
                             parent.rightChild = newNode;
                             return;
                   } // end else go right
              } // end while
         } // end else not root
    } // end insert()
         public Node betterinsert(int id, double dd)
              // No duplicates allowed
              Node return_val = null;
              if(root==null) {       // no node in root
                   Node newNode = new Node(); // make new node
                   newNode.iData = id; // insert data
                   newNode.dData = dd;
                   root = newNode;
                   return_val = root;
              else // root occupied
                   Node current = root; // start at root
                   Node parent;
                   while(current != null)
                        parent = current;
                        if(id < current.iData) // go left?
                             current = current.leftChild;
                             if(current == null) // if end of the line,
                             {                 // insert on left
                                  Node newNode = new Node(); // make new node
                                  newNode.iData = id; // insert data
                                  newNode.dData = dd;
                                  return_val = newNode;
                                  parent.leftChild = newNode;
                        } // end if go left
                        else if (id > current.iData) // or go right?
                             current = current.rightChild;
                             if(current == null) // if end of the line
                             {                 // insert on right
                                  Node newNode = new Node(); // make new node
                                  newNode.iData = id; // insert data
                                  newNode.dData = dd;
                                  return_val = newNode;
                                  parent.rightChild = newNode;
                        } // end else go right
                        else current = null; // duplicate found
                   } // end while
              } // end else not root
              return return_val;
         } // end insert()
         public boolean delete(int key) // delete node with given key
              if (root == null) return false;
              Node current = root;
              Node parent = root;
              boolean isLeftChild = true;
              while(current.iData != key) // search for node
                   parent = current;
                   if(key < current.iData) // go left?
                        isLeftChild = true;
                        current = current.leftChild;
                   else // or go right?
                        isLeftChild = false;
                        current = current.rightChild;
                   if(current == null)
                        return false; // didn't find it
              } // end while
              // found node to delete
              // if no children, simply delete it
              if(current.leftChild==null &&
                   current.rightChild==null)
                   if(current == root) // if root,
                        root = null; // tree is empty
                   else if(isLeftChild)
                        parent.leftChild = null; // disconnect
                   else // from parent
                        parent.rightChild = null;
              // if no right child, replace with left subtree
              else if(current.rightChild==null)
                   if(current == root)
                        root = current.leftChild;
                   else if(isLeftChild)
                        parent.leftChild = current.leftChild;
                   else
                        parent.rightChild = current.leftChild;
              // if no left child, replace with right subtree
              else if(current.leftChild==null)
                   if(current == root)
                        root = current.rightChild;
                   else if(isLeftChild)
                        parent.leftChild = current.rightChild;
                   else
                        parent.rightChild = current.rightChild;
                   else // two children, so replace with inorder successor
                        // get successor of node to delete (current)
                        Node successor = getSuccessor(current);
                        // connect parent of current to successor instead
                        if(current == root)
                             root = successor;
                        else if(isLeftChild)
                             parent.leftChild = successor;
                        else
                             parent.rightChild = successor;
                        // connect successor to current's left child
                        successor.leftChild = current.leftChild;
                        // successor.rightChild = current.rightChild; done in getSucessor
                   } // end else two children
              return true;
         } // end delete()
         // returns node with next-highest value after delNode
         // goes to right child, then right child's left descendents
         private Node getSuccessor(Node delNode)
              Node successorParent = delNode;
              Node successor = delNode;
              Node current = delNode.rightChild; // go to right child
              while(current != null) // until no more
              {                                 // left children,
                   successorParent = successor;
                   successor = current;
                   current = current.leftChild; // go to left child
              // if successor not
              if(successor != delNode.rightChild) // right child,
              {                                 // make connections
                   successorParent.leftChild = successor.rightChild;
                   successor.rightChild = delNode.rightChild;
              return successor;
         public void traverse(int traverseType)
              switch(traverseType)
              case 1: System.out.print("\nPreorder traversal: ");
                   preOrder(root);
                   break;
              case 2: System.out.print("\nInorder traversal: ");
                   inOrder(root);
                   break;
              case 3: System.out.print("\nPostorder traversal: ");
                   postOrder(root);
                   break;
              System.out.println();
         private void preOrder(Node localRoot)
              if(localRoot != null)
                   localRoot.displayNode();
                   preOrder(localRoot.leftChild);
                   preOrder(localRoot.rightChild);
         private void inOrder(Node localRoot)
              if(localRoot != null)
                   inOrder(localRoot.leftChild);
                   localRoot.displayNode();
                   inOrder(localRoot.rightChild);
         private void postOrder(Node localRoot)
              if(localRoot != null)
                   postOrder(localRoot.leftChild);
                   postOrder(localRoot.rightChild);
                   localRoot.displayNode();
         public void displayTree()
              Stack globalStack = new Stack();
              globalStack.push(root);
              int nBlanks = 32;
              boolean isRowEmpty = false;
              System.out.println(
              while(isRowEmpty==false)
                   Stack localStack = new Stack();
                   isRowEmpty = true;
                   for(int j=0; j<nBlanks; j++)
                        System.out.print(' ');
                   while(globalStack.isEmpty()==false)
                        Node temp = (Node)globalStack.pop();
                        if(temp != null)
                             System.out.print(temp.iData);
                             localStack.push(temp.leftChild);
                             localStack.push(temp.rightChild);
                             if(temp.leftChild != null ||
                                  temp.rightChild != null)
                                  isRowEmpty = false;
                        else
                             System.out.print("--");
                             localStack.push(null);
                             localStack.push(null);
                        for(int j=0; j<nBlanks*2-2; j++)
                             System.out.print(' ');
                   } // end while globalStack not empty
                   System.out.println();
                   nBlanks /= 2;
                   while(localStack.isEmpty()==false)
                        globalStack.push( localStack.pop() );
              } // end while isRowEmpty is false
              System.out.println(
         } // end displayTree()
    } // end class Tree
    class TreeApp
         public static void main(String[] args) throws IOException
              int value;
              double val1;
              String Line,Term;
              BufferedReader input;
              input = new BufferedReader (new FileReader ("one.txt"));
              Tree theTree = new Tree();
         val1=0.1;
         while ((Line = input.readLine()) != null)
              Term=Line;
              //val1=Integer.parseInt{Term};
              val1=val1+1;
              //theTree.insert(Line, val1+0.1);
              val1++;
              System.out.println(Line);
              System.out.println(val1);          
    theTree.insert(50, 1.5);
    theTree.insert(25, 1.2);
    theTree.insert(75, 1.7);
    theTree.insert(12, 1.5);
    theTree.insert(37, 1.2);
    theTree.insert(43, 1.7);
    theTree.insert(30, 1.5);
    theTree.insert(33, 1.2);
    theTree.insert(87, 1.7);
    theTree.insert(93, 1.5);
    theTree.insert(97, 1.5);
              theTree.insert(50, 1.5);
              theTree.insert(25, 1.2);
              theTree.insert(75, 1.7);
              theTree.insert(12, 1.5);
              theTree.insert(37, 1.2);
              theTree.insert(43, 1.7);
              theTree.insert(30, 1.5);
              theTree.insert(33, 1.2);
              theTree.insert(87, 1.7);
              theTree.insert(93, 1.5);
              theTree.insert(97, 1.5);
              while(true)
                   putText("Enter first letter of ");
                   putText("show, insert, find, delete, or traverse: ");
                   int choice = getChar();
                   switch(choice)
                   case 's':
                        theTree.displayTree();
                        break;
                   case 'i':
                        putText("Enter value to insert: ");
                        value = getInt();
                        theTree.insert(value, value + 0.9);
                        break;
                   case 'f':
                        putText("Enter value to find: ");
                        value = getInt();
                        Node found = theTree.find(value);
                        if(found != null)
                             putText("Found: ");
                             found.displayNode();
                             putText("\n");
                        else
                             putText("Could not find " + value + '\n');
                        break;
                   case 'd':
                        putText("Enter value to delete: ");
                        value = getInt();
                        boolean didDelete = theTree.delete(value);
                        if(didDelete)
                             putText("Deleted " + value + '\n');
                        else
                             putText("Could not delete " + value + '\n');
                        break;
                   case 't':
                        putText("Enter type 1, 2 or 3: ");
                        value = getInt();
                        theTree.traverse(value);
                        break;
                   default:
                        putText("Invalid entry\n");
                   } // end switch
              } // end while
         } // end main()
         public static void putText(String s)
              System.out.print(s);
              System.out.flush();
         public static String getString() throws IOException
              InputStreamReader isr = new InputStreamReader(System.in);
              BufferedReader br = new BufferedReader(isr);
              String s = br.readLine();
              return s;
         public static char getChar() throws IOException
              String s = getString();
              return s.charAt(0);
         public static int getInt() throws IOException
              String s = getString();
              return Integer.parseInt(s);
    } // end class TreeApp

    String str = "Hello";
              int index = 0, len = 0;
              len = str.length();
              while(index < len) {
                   System.out.println(str.charAt(index));
                   index++;
              }

  • Help running Java apps in Mac OS 10.1.3

    I'm currently taking an intro course to Java and I've been using the OS 10.1.3 Unix Shell to compile and run my assignments, using the "javac" command to compile my classes and the "java" command to run them. It's been working fine until a few days ago when every class I started to compile from that day on wouldn't run. The previous classes I've compiled run fine, however if I re-compile them and attempt to run them I incur the same problem.
    I get this error :
    Exception in thread "main" java.lang.NoClassDefFoundError:
    followed by the classname.
    The best I can figure is that I've accidently changed some option in the java system, but now I have no idea as to how to change it back. I've asked my CS professor what to do but ofcoarse he's a PC user and when he hears Mac he just replies "I don't know about Macs" eventhough I've tried telling him that OS X is unix based. Anyways, if there are any well informed Mac OS 10.1.3 users out there, please help me so that I can resume my CS assignments on my Mac.
    Thanks,
    Craig

    1. Are you certain that you have all of your java files compiled
    and that their class files are in your classpath? Did you import
    the class TestWeeklyEmployee in your java file that has your
    main method? Do all of your class filenames have the same
    name (minus the .java or .class) as the class in the file?All of the java files needed to run the class are in the same directory, and they all have the correct names, You see I'm able to run my programs perfectly on other machines, infact I have to test them in the computer labs before I turn them in. So I know that my probrem isn't a syntax error.
    2. when you start the terminal, type the following:
    echo $CLASSPATH
    and make sure that the output it gives has the . [dot] that you
    added via the .cshrc file at the end or that only a dot gets
    displayed. If it does not have your dot in the output, then you will
    have to use the -classpath option to the java runtime binary to
    tell it where your classes are located.I tried typing echo $CLASSPATH but I got this error message:
    CLASSPATH: Undefined variable.
    And I had directly copied the code you wrote into my .cshrc file.
    3. When you try to run your java program, are you sure that you > are in the directory where all of the class files are located? use
    the "ls" command to see if your class files are in the current
    directory. (you may want to search the web for a UNIX tutorial or
    a UNIX for beginners type of article so that you can feel more
    comfortable using the Terminal application)Yes all of my classes are in the same directory and yes I'm in the correct directory when compiling and attempting to run my programs.
    4. Assuming that 3 is true: If you run your program using the
    "java -classpath . MyClassWithAMainMethod" do you still get an
    error? If you do, then I am pretty sure that you have neglected to
    import a class that your main method is trying to instantiate or
    that you have not compiled the source of the class in question >
    (or both).All classes are imported correctly and yes I have compiled the class. As I said it works fine when I compile and run on other machines, just not mine.
    Are you trying to install the developer tools from the developer
    cds? If you are and you have since updated your OS to 10.1.x,
    then I would not expect project builder to work. The same thing
    happened to me when I upgraded to 10.1.x. Sounds like you
    may need to install the latest developer tools which can be
    downloaded for free from the Apple Developer Connection site
    (http://www.apple.com/developer). Installing the latest developer
    tools should get things right for you.The developer tools that I'm attemping to run are not from the CD, they're the current downloadable version from apple developer. I've contacted apple developer support with my problem with project builder, but they blew me off.
    So now that we've eliminated these possibilities, any other ideas?
    Thanks,
    Craig

  • Binary file text file

    I need to read binary file (actualy text file was saved in binary format) and convert to text file. After finished program, I must store this text file to binary format for use in next time. Anyone have any idea or suggestion will be usefull and great thanks

    I need to read binary file (actualy text file was
    saved in binary format) and convert to text file.
    After finished program, I must store this text file
    to binary format for use in next time. Anyone have
    any idea or suggestion will be usefull and great
    thanksLook, every bit of text stored in a computer is stored in a binary format. The familiar ASCII bytes format is merely the most common of them. But, to the filing system, it's just another binary file.
    Java deals with many different ways of encoding text as binary. Mostly these are called "character encodings". The second most common one is UTF-8 which stores non-latin chacters as multi byte sequences. Also java can store and retrieve text from mixed file formats in which only part of the data is text.
    You'll get nowhere unless you can find out what binary format the text is stored in.
    In general java handles binary using Stream objects and text using Reader and Writer objects.

  • Execute a linux command on java

    Hi i'm trying to execute a c binary on java ,
    the binary is Tcpreplay tool , i tried with the class Runtime but it didn't work plz can any one help me thanks a lot

    ok these are the details
    this is what i tried
    import java.io.* ;
    public class test1
    private static Runtime runtime=Runtime.getRuntime();
    private static Process test ;
    public static void main (String[] args )
    try {
    test=runtime.exec("tcpreplay --intf1=eth1 --intf2=eth2 --cachefile=trace-http.cache trace-http.pcap ") ;
    catch (IOException ex)
    System.out.println("Problem with execution");
    another detail is there is no exception reported

  • Java VM hangs when I start Derby Server

    Hey everyone,
    Help will be much appreciated so cheers in advance.
    I've made a desktop app through Netbeans that runs fine within the IDE but can't get it to work from outside (unless I've connected to the server from within Netbeans first so guessing its not the app itself rather the conenction to the server?)
    I'm using Java version 1.6.0_17 and am confuzled as to why the VM hangs when I try to start the Derby server from a Batch file.
    my batch file reads:
    set DERBY_HOME = M:\Business\Registers\Lodgements Registers\LodgementsDB\Sun\JavaDB
    Path = %DERBY_HOME%\bin;%Path%
    java -jar "%DERBY_HOME%\lib\derbyrun.jar" server start
    java -jar "M:\Business\Registers\Lodgements Registers\LodgementsDB\Lodgements\dist\Lodgements.jar"
    echo "Press any key to shutdown Server"
    pause
    java -jar "%DERBY_HOME%\lib\derbyrun.jar" server shutdown
    I've checked the Derby log file and its reading
    2010-02-16 09:00:37.530 GMT : Apache Derby Network Server - 10.5.3.0 - (802917) started and ready to accept connections on port 1527
    Just running java -jar "M:\Business\Registers\Lodgements Registers\LodgementsDB\Lodgements\dist\Lodgements.jar"
    gives all the usual java.sql.SQLNonTransientConnectionException .... I gather because it can't find the database if the server isn't open.
    The only other info I have to go on is the problem reporting in Vista which states the obvious (that the Java SE binary stopped working and was closed, tagging it with an AppHangB1)
    Also, in advance, is there a more common way of starting the server from outside nettbeans (eg code) that doesn't rely on command prompt- seems daft to me not to have this (and yes I am a first time derby user, used the Toplink persistence libs throughout my code if that helps?).

    Nothing is hanging, this is a misunderstanding of how a batch file works. A batch file is processed line by line, and only when the execution of the task or program (in this case your first call to Java) returns, execution will continue on the next line. As the first call starts Derby and only completes when Derby is stopped, your batch file will not continue with the next line until you kill Derby.
    You either need to start Derby separately, inside your application or using a batch command to launch Derby in a separate process so the batch file won't wait until completion. AFAIK this can be achieved using the command START (eg START java (rest of the commandline))

  • Exception in thread "main" java.lang.NoClassDefFoundError: javax/media/jai/

    Exception in thread "main" java.lang.NoClassDefFoundError: javax/media/jai/
    After I got this exception, I tried the following solution:
    I downloaded the Windows package for JAI from this link:
    https://jai-imageio.dev.java.net/binary-builds.html
    Then I went to the Projects window > Libraries (Netbeans IDE) and browsed to the two jar files in that download. The two jar files are now showing under the Libraries node and, accordingly, they are listed in my Classpath as this:
    ..\..\..\Desktop\jai-imageio-1_2-pre-dr-b04-lib-windows-i586-07_Apr_2009\lib\ext\jai_imageio.jar
    ..\..\..\Desktop\jai-imageio-1_2-pre-dr-b04-lib-windows-i586-07_Apr_2009\lib\ext\clibwrapper_jiio.jar
    There also a couple of DLL files which I wasn't sure how to add.
    So why am I still getting this error? Maybe it's the wrong version of JAI?

    This research made me VERY late for work and I've been swamped all day. Didn't have a chance to post my solution earlier.
    "It appears that you have downloaded wrong package... try downloading and installing the stable release " jai_imageio-1_1-lib-windows-i586-jdk.exe ".
    I didn't know how to install that one. I tried clicking it and got an error msg. Then I added it as a reference (I browsed to it from the Libraries node) which "seemed" to work (allowed me to run my app using F6) but then it wouldn't produce a deployment package when I seleced Run > Clean and Build. So I went back and downloaded the "Daily Build" which unzips to two jar files
    jai_imageio.jar
    clibwrapper_jiio.jar
    and immedliately Run > Clean and Build produced a deployment package. (All of this is to get PDFbox running in my app). I also needed jai_core.jar which I believe was from this page:
    http://code.google.com/p/mapmap/downloads/detail?name=jai_core.jar&can=2&q=
    specifically this link:
    http://mapmap.googlecode.com/files/jai_core.jar
    By the way I am using a "Daily Build" for PDFbox (0.7.4) which came from the "FOP" downloads here:
    http://www.jeremias-maerki.ch/download/fop/pdf-images/
    but I still needed the older pdfbox 0.7.3 download just to extract the Fontbox.jar from it. I needed a codec from this page as well:
    http://www.findjar.com/jar/geoserver/jai/jars/jai_codec-1.1.3-alpha.jar.html
    the codec was offered as a one-link download:
    http://www.findjar.com/jar/geoserver/jai/jars/jai_codec-1.1.3-alpha.jar.html
    The upshot of all this is that I can now work with more types of PDF files than before - but still not all of them. I'm getting another error on some of them (I'll have to reproduce this at home).

  • What Java compiler for Java Card development ?

    What Java compiler and options should be used for Java Card development with the goal of generating correct, and (secondarily) small or/and fast code after conversion to Java Card bytecode using converter ?
    In particular
    - Is use of JDK 7 approved by Oracle for Java Card development? That would solve security problems associated with (the web components of the JRE of) some earlier JDK, including the latest JDK6. The JCDK 3.0.4 release notes states "+the commercial version of Java Development Kit (JDK software) version 6 Update 10 (JDK 6 Update 10) or later is required+, but that does not answer that question.
    - Anyone had _bad_ experience (like incorrect or disastrous code) with the Java compiler bundled with Eclipse ? I have seen at least one case where org.eclipse.jdt.core_3.7.3.v20120119-1537.jar produced slightly more compact code than javac.
    - Anyone had _bad_ experience with javac in jdk1.3 ? In an applet involving a "finally" clause, I've seen it generating more compact code than later javac (which in my test triplicated the code for the finally clause).

    What Java compiler and options should be used for Java Card development with the goal of generating correct, and (secondarily) small or/and fast code after conversion to Java Card bytecode using converter ?-target -source may be required to generate compatible byte code. Depending on the CAP file converter being used debug information may also help. Remember that Java Card is a subset of the Java language (also there are short opcodes that Java doesn't have etc) so a lot of the work for optimisation is done by the converter or the JCRE. You can look at the JCA code generated to determine what works best for your applets. There are also some ways of stripping out dead code etc from JCA files (return statements after a throw etc) to reduce your code size. Most of the speed optimisations come from your code (avoiding context switches and unnecessary security/access checks).
    The compactness of your Java Card binary may not be directly related to the size of your compiled Java code. It can depend on the converter you use and any optimisaitons the JCRE might try to do when the code is loaded.
    - Is use of JDK 7 approved by Oracle for Java Card development? That would solve security problems associated with (the web components of the JRE of) some earlier JDK, including the latest JDK6. Java Card does not use any of the libraries from the JDK/JRE. All of the libraries are provided by the JCRE on the smartcard.
    The JCDK 3.0.4 release notes states "+the commercial version of Java Development Kit (JDK software) version 6 Update 10 (JDK 6 Update 10) or later is required+, but that does not answer that question.Anything above JDK6u10 is supported. If you use Java 7 you may need to add a -source and -target flag when compiling.
    - Anyone had _bad_ experience (like incorrect or disastrous code) with the Java compiler bundled with Eclipse ? I have seen at least one case where org.eclipse.jdt.core_3.7.3.v20120119-1537.jar produced slightly more compact code than javac.We generally use the Eclipse compiler as we find that we get more deterministic builds. When CAP files are sent for security review it is helpful to have the reviewer able to generate a CAP file that matches the one you sent to confirm the binary is what you say it is.
    - Anyone had _bad_ experience with javac in jdk1.3 ? In an applet involving a "finally" clause, I've seen it generating more compact code than later javac (which in my test triplicated the code for the finally clause).We do not use anything less than Java 6 for compilation.
    - Shane

  • How can I merge two TIFF images in one...?

    I need some help please, I am looking for a way to "resize" black & white single TIFF images.
    The process I need to do is like cutting a small image and paste it over a new blank letter-size image (at 300 dpi), like a template.
    Or better yet, is there a way to do something like this...?
    Open image...
    image.*width* = 2550;
    image.*height* = 3300;
    image.save();Some APIs and topics in the internet do or talk about resizing, but the final images get stretched or shrinked and I need them not to do so at all.
    Also, I do not need to display the images, only to get the TIFF images processed and saved back to a file.
    How can I do this with Java and JAI? Unfortunately I am almost new to this and I don't know how difficult it might be to deal with images.

    If 2550 x 3300 isn't the original aspect ratio of the image, then the image is going to looked streched or shrinked in at least one dimension. There is no way around that. It would be like resizing a 2 pixel by 2 pixel image into a 3 pixel by 6 pixel image. The image would look like it's height shrunk or it's width stretched. Had I resized it to 3 pixels by 3 pixels or 6 pixels by 6 pixels, though, then it wouldn't look shrunken or streched.
    Open image...
    image.*width* = 2550;
    image.*height* = 3300;
    image.save();*1)* To open a TIFF image you can use the javax.swing.ImageIO class. It has these static methods
    read(File input)
    read(ImageInputStream stream)
    read(InputStream input)
    read(URL input) You can use which ever method you want. But first you need to install [JAI-ImageIO|https://jai-imageio.dev.java.net/binary-builds.html]. The default ImageReaders that plug themselves into the ImageIO package are BMP, PNG, GIF, and JPEG. JAI-ImageIO will add TIFF, and a few other formats.
    The downside is that if clients want to you use your program on their machine then they to will need to install JAI-ImageIO to read the tiffs. To get around this, you can go to your Java/jdk1.x.x_xx/jre/lib/ext/ folder and copy the jai_imageio.jar file (after you've installed JAI-ImageIO). You can also obtain this jar from any one of the zip files of the [daily builds|https://jai-imageio.dev.java.net/binary-builds.html#Daily_builds]. If you add this jar to your program's classpath and package it together with your program, then clients won't need to install JAI-ImageIO and you'll still be able to read TIFF's. The downside of simply adding the jar to the classpath is that you won't be able to take advantage of a natively accelerated JPEG reader that comes with installing JAI-ImageIO (instead, ImageIO will use the default one).
    *2)* Once you've installed [JAI-ImageIO|https://jai-imageio.dev.java.net/binary-builds.html] and used ImageIO.read(...), you'll have a BufferedImage. To resize it you can do the following
    BufferedImage newImage = new BufferedImage(2550,3300,BufferedImage.TYPE_BYTE_BINARY);
    Graphics2D g = newImage.createGraphics();
    g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
    g.drawImage(oldImage,0,0,2550,3300,null);
    g.dispose();Here, I simply drew the old image (the one returned by ImageIO.read(...)) onto a new BufferedImage object of the appropriate size. Because you said they were black and white TIFF's, I used BufferedImage.TYPE_BYTE_BINARY, which is a black and white image. If you decide to use one the BufferedImage types that support color, then a 2550x3330 image would require at least 25 megabytes to hold into memory. On the other hand, a binary image of that size will only take up about one meg.
    I specified on the graphics object that I wanted Bilinear Interpolation when scaling. The default is Nearest Neighbor interpolation, which while fast, dosen't look very good. Bilinear offers pretty good results scaling both up or down at fast speeds. Bicubic interpolation is the next step up. If you find the resized image to be subpar, then come back and post. There are a couple of other ways to resize an image.
    Note, however, if 2550 x 3300 is not the same aspect ratio as the the TIFF image you loaded, then the resized image will look shrunk or stretched along one dimension. There is absolutely no way around this no matter what resizing technique you use. You'll need an image whose original dimensions are in a 2550/3300 = .772 ratio if you want the resized image to not look like it's streched (you can crop the opened image if you want).
    *3)* Now we save the "newImage" with the same class we read images with: ImageIO . It has these static methods
    write(RenderedImage im, String formatName, File output)
    write(RenderedImage im, String formatName, ImageOutputStream output)
    write(RenderedImage im, String formatName, OutputStream output)You'll suply the resized BufferedImage as the first parameter, "tiff" as the second parameter and an appropriate output for the third parameter. It's pretty much a one line statement to read or write an image. All in all, the whole thing is about 7 lines of code. Not bad of all.
    Now as for the 300 dpi thing, there is a way to set the dpi in the Image's metadata. I'm pretty good at reading an image's metadata, but I've never really tried writing out my own metadata. I know you can set the dpi, and I have a somewhat vague idea how it might be done, but it's not something I've tried before. I think I'll look more into it.

  • Removing a single object when multiple objects share the same name?

    The below code uses a for loop to make spheres as in this thread:
    http://forum.java.sun.com/thread.jspa?forumID=21&threadID=320945
    However, the name is always sphere. I have another part of the code that,
    using collision detection, removes a sphere using the tg.removeChild(); command when another sphere (created elsewhere) is
    within a set proximity. But how do I specify which sphere it should remove when they are all called 'sphere'? Can I use a
    object ID to get around this and if so, how?
        public void makeSpheres()
           Color3f lightColour = new Color3f(0.0f, 0.0f, 1.0f);    //Blue light
           Vector3f lightDirection = new Vector3f(4.0f, -7.0f, -12.0f);
           for (int i=0; i==5; i++)
               Sphere sphere = new Sphere(0.25f);
               BoundingSphere bounds = new BoundingSphere(new Point3d( getXCoords(), getYCoords(), getZCoords()), 100.0);
               DirectionalLight light = new DirectionalLight(lightColour, lightDirection);     //Each sphere has a blue light
               light.setInfluencingBounds(bounds);
               TransformGroup tg=new TransformGroup();  //Create new TG
               Transform3D transform=new Transform3D();
               Vector3f vector = new Vector3f(setXCoords(),setYCoords(),setZCoords());  //Set Position
               transform.setTranslation(vector);
               tg.setTransform(transform);            //Add sphere to scenegraph
               tg.addChild(sphere);
               Play2.objRoot.addChild(tg);
           }

    Basically, you get a reference to the object you click on through one of the Pick tools from the Pickfast api. Then you iterate over the scenegraph until you find the object your picktool returned. Then you remove it. Check out the examples at
    https://java3d.dev.java.net/binary-builds.html
    If there are a known finite number of spheres you can keep references to them in a list or a Switch.
    regards

  • Original Image Resolution and Color getting Distorted

    Hi All,
    I am using JAI for reading images from a source i have to read the images and than have to split the images
    initially i was using ImageIO.read() method to read images but for some images it was throwing error as
    javax.imageio.IIOException: Unsupported Image Type
         at com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(Unknown Source)
         at com.sun.imageio.plugins.jpeg.JPEGImageReader.read(Unknown Source)
         at javax.imageio.ImageIO.read(Unknown Source)
         at javax.imageio.ImageIO.read(Unknown Source)
         at deepzoomconvertor.Main.loadImage(Main.java:370)
         at deepzoomconvertor.Main.processImageFile(Main.java:238)
         at deepzoomconvertor.Main.reteriveAllImages(Main.java:221)
         at deepzoomconvertor.Main.main(Main.java:86)so in such exception cases i am trying to read the images using JAI and i am successful in reading images
    here is the piece of code i am using for this
      BufferedImage result = null;
       SeekableStream ss=SeekableStream.wrapInputStream(new FileInputStream(file), false);
               ParameterBlock pb = new ParameterBlock();
               pb.add(ss);
               RenderedOp rm=JAI.create("JPEG", pb);
               result=rm.getAsBufferedImage();
                 return result;it able to split images but the quality of images are poor it losts its original color format.
    can any one have any idea how to do it while retaining the quality of image color and resolution
    Thanks in advance
    Umesh

    The JPEG you are reading is a cmyk color space one. They're not common, but they do occasionally pop up in a collection of random jpeg images.
    The default JPEGImageReader that comes with the jdk cannot read them. And it will throw an exception - the exact same one you got - stating it can't. JAI's behavior is a little worse. It will read the image without exception, when in fact it to can't read it. It doesn't handle the cmyk aspect right, so you get a messed up image.
    The native JPEGImageReader that comes with installing [JAI-ImageIO|https://jai-imageio.dev.java.net/binary-builds.html] can read them. It appropriately decodes the ICC_Profile embedded within the JPEG and you get a cmyk BufferedImage. But if you wish to render this TYPE_CUSTOM BufferedImage, go grab a coffee while you wait for it to slooooowwwllly paint. You'll have to do a ColorConverOp to turn the cmyk BufferedImage into an rgb one (so Java2D can render it fast).
    Having done all this you'll find that 1) ColorConvertOp makes the image too bright and 2) The native PNGImageReader that comes with installing JAI-ImageIO has an affinity for returning TYPE_CUSTOM BufferedImages (arggg!!!).
    I'll help you fix points (1) and (2) if you get that far. Maybe the best choice is to simply give up on cmyk jpegs. They're only used in printing press environments, and people only use color space aware applications (like Photoshop) to manipulate them in any meaningful way.

  • JAI install PROBLEM...HELP HELP HELP

    I have jdk 6 update 16 and Im trying to install JAI 1.1.2 or 1.1.3 so I can use it in my programs. When I try to install it [jdk or jre of JAI] then I get a message:
    "The program requires the installation of Java 2 SDK version 1.3. Aborting Setup.". I'm trying to install it on Windows Seven AND on Windows XP but I get the same message on both O.S. Please help. How will I make it install???

    The old build 1.1.2 requires java 2.
    Just download the jdk version 1.1.3 from "https://jai.dev.java.net/binary-builds.html" and you will get it installed.
    I just try it 2 hours before ;)

Maybe you are looking for

  • Memory Leak with JPopupMenu

    It seems there is a memory leak with JPopupMenu. The following program demonstrates this leak. If you run the program, click on show form, and then close the form, the used memory will be GCd appropriately. If you click on show form, then right click

  • A question on a build method in a Binary Tree Program

    So I'm working on making 20 Questions in java and I'm supposed to make a construct that calls a build method. I'll post my code as I have it so far. The game is supposed to work so that there's an original question and then if the user selects yes, t

  • Problem with document size and images in KM Repository

    Hi, We get a problem in KM that when we upload documents example pdf and so we donot get respective document icon and also the document size always shows as 0 Bytes. Any suggestions? Thanks, Manish

  • Iphone 4 wont backup

    when syncing my iphone 4, i get and error in itunes 'itunes cannot backup iphone because an error occured' . I've tried the right click back-up, restarting the phone and computer and everything has the latest software and updates

  • Force Damons to Start in rc.conf?

    I just started using Arch and normally when I install a few applications on Debian / CentOS, during the package manager (apt-get or yum) install process, it will install and start the daemon for this and also make it to that if the machine is reboote