Wednesday, October 12, 2011

Java Review: Tuesday, October 12, 2011

Java Run-time Exceptions


  • Class IllegalStateException
  • example
    • throw new IllegalStateException();
  • use to catch programming development errors.
  • exception should never occur unless there is a programming error.
  • Class RuntimeException
  • not checked
  • not extra code
  • danger of being a 'lazy programmer'
  • can use to side step catch and specify requirements
  • Runtime exceptions represent problems that are the result of programming problems
  • If the client can reasonable be expected to recover from an exception, make it a checked exception
Garbage Collection in Java VMs


  • Big memory
    • works with
      • JVMs
      • HotSpot
      • IBM JDK
      • JRockit
      • what about Dalvik?
    • off-heap store
      • not subject to Java GC
    • Terracotta's tiered cache
    • Enterprise Ehcache
    • store up to a terabyte in the off-heap
  • Android, designing from performance
  • requesting GC
    • System.gc();
  • no guarantee it will run

Java Constants and Conditional Compile


  • No textual preprocessor
  • constants and conditional compilation
  • use public static final boolean constant for  a regular if statement in regular code
  • Have class using the constant interface implement the constant interface



Tuesday, October 11, 2011

Tech Review: Monday, October 10, 2011

C# null-coalescing operator



  • From C# Reference for VS 2010
  • example
    • int? x = null;
    • int y = x ?? -1;
    • string s = null;
    • Console.WriteLine (s ?? "Unspecified");
  • used to define a default value for a nullable value type
  • it returns the left-hand operand if it is not null; otherwise it returns the right operand
  • not in Java, but some would like to add the feature
  • more about not in Java
  • coalescing mean "to grow together"
  • does this sound like a good description of what the operator is doing?

Regions in Java


I know the above picture is not about 'Regions in Java' code, but it looked nice.

  • Basically, there are no region pre-compiler directives in Java
  • There is support in some IDEs
    • NetBeans
      • // <editor-fold defaultstate="collapsed" desc="Your Fold Comment">
      • ...
      • // <editor-fold>
    • Eclipse
      • does it automatically for methods, imports, etc.
      • Not declaration like in NetBeans
      • Could you add one?
    • Emacs?
Velocity Android 2.0 Internet Table 7" $100

Velocity Micro T103 Cruz Android 2 Internet Tablet
  • almost what I want
  • missing the camera
  • Multi touch capacitive screen
Viewsonic gTablet 10.1" Android 2.2:  $270
Viewsonic gTablet 10.1" 16GB Internet Tablet
  • This is what I want except the price and Android version


Simple C# Program



  • the main routine starts with a Capital 'M' in C#
  • starts with a lower case 'm' in Java
Listeners and Events (Actions) in Java


  • lesson on writing event listeners
  • action listener
    • public class Beeper ... implements ActionListener {
  • adding an action listener to something
    • button.addActionLisener ( new Beeper() )
  • implement the method that does the action
    • public void actionPerformed (ActionEvent e) {
  • complete Beeper example
Java Color Map


  • color map in java
  • Copyright
    • Carnegie Mellon
    • Sun
    • Mitsubishi
Java List Interface and ArrayList Class



  • Class ArrayList<E>
  • Example
    • List list = Collections.synchronizedList (new ArrayList(...));
Java Collection Interface and Collections Class

  • static void sort (List list)
  • reverse (List list)
Java Queue Interface and PriorityQueue Class



  • new elements are put (enqueued) on the back of the queue
  • element are pulled (dequeued) from the front of the queue
  • First In First Out (FIFO)
  • Interface Queue<E>
  • offer (E o) // enqueue
    • adds an element to the tail of the queue
  • poll () // dequeue
    • returns a removed element from the queue
    • null is empty
  • Class PriorityQueue<E>
  • boolean add (E o)
  • boolean offer (E o)
  • E poll ()
Java Map Interface and HashMap Class

  • Interface Map<K,V>
  • V put (K key, V value)
  • V get (Object key)
  • Class HashMap<K,V>
  • Example:
    • Map m = Collections.synchronizedMap (new HashMap (...));


Chrome Remote Desktop


  • BETA
  • allow users to remotely access another computer through the Chrome browser or Chromebook
  • An add on
  • can easily miss the Icon after installation 















Wednesday, September 21, 2011

Tech Review: Wednesday, September 21, 2011

Working with porting C# to Java today.

  • It is sort of like a class because you can override method inside the enum.
    • @Override public String toString() {....}
Struct like objects in Java:  
  • Has lots of really nice and clear comparisons.
  • I need to read the whole thing
Ternary or conditional operator in Java:  http://www.janeg.ca/scjp/oper/ternary.html
  • operand1 ? operand2 : operand3;
    • operand1 must be a boolean value or experssion
The C# dictionary is similar to the Java Map interface:  
The ArrayList Generic Class in Java:
The C# ICollection interface:

A Java tutorial on collection interfaces:  
Today I was confused as to why code would compile in my simple command line program and not in Eclipse.
  • Sometimes the error messages in Eclipse are miss leading
  • I was trying to write code in the class body outside a method
  • if (child == null) child = new Lista(c, null);
A tutorial on Eclipse:

Java Properties and C# properties are not the same thing at all:  http://download.oracle.com/javase/1.4.2/docs/api/java/util/Properties.html
  • C# properties are a value in the object
  • Java properties are a way of saving the state to a file and reading it back
Another very nice Java/C# Comparison:  http://www.harding.edu/fmccown/java_csharp_comparison.html
  • This one would be best to read first
Java random number generation:
In doing Repast Simphony development, the RandomHelper class should be used:
A very nice example of a Java singleton implementation:  http://www.javaworld.com/javaworld/jw-04-2003/jw-0425-designpatterns.html

Default parameters in Java:
Declaring generic arrays:
  • http://forums.techarena.in/software-development/1117589.htm
    • HashMap <?,?> [] x = new HashMap <?,?>[3];
      • this work but I could access 'x'
    • Best to avoid and wrap in a list instead
      • List<HashMap<Class, Class> x = new ArrayList<HashMap<Class1, Class2>(3);
      • the above code may not be correct, but it has the idea
C# ArgumentException can be changed to a Java IllegalArgumentException:  https://forums.oracle.com/forums/thread.jspa?threadID=472866

  • performance advantages in C#
For each Loop in Java:
Generics and array construction in Java:
Comparison between Java HashMap and .NET Hastable:  http://www.microsoft.com/mspress/books/sampchap/6173.aspx#116

  • List myList = new ArrayList (collection);
  • Collections.sort (mylist);


Wednesday, September 7, 2011

Repast Simphony Projections

  • Interface Projection
    • http://repast.sourceforge.net/docs/api/repastjava/repast/simphony/space/projection/Projection.html
    • interface ContinuousSpace
      • AbstractContinuousSpace
      • ContextPhysics
      • ContextSpace
      • DefaultContinuousSpace 
      • DefaultPhysicsSpace
      • Projected3DSpace
    • interface Geography
      • ContextGeography
      • DefaultGeography
    • interface Grid
      • AbstractGrid, 
      • ContextFastSingleGrid, 
      • ContextGrid, 
      • DefaultGrid, 
      • FastDenseSingleOccuGrid, 
      • Projected3DGrid
    • interface NetWork
      • ContextJungNetwork, 
      • DirectedJungNetwork, 
      • JungNetwork, 
      • UndirectedJungNetwork
    • interface PysicsSpace
      • ContextPhysics
      • DefaultPhysicsSpace
    • Implementing Classes
      • Abstract
        1. AbstractContinuousSpace, 
        2. AbstractGrid, 
      • Concrete 
        1. ContextFastSingleGrid, 
        2. ContextGeography, 
        3. ContextGrid, 
        4. ContextJungNetwork, 
        5. ContextPhysics, 
        6. ContextSpace, 
        7. DefaultContinuousSpace, 
        8. DefaultGeography, 
        9. DefaultGrid, 
        10. DefaultPhysicsSpace, 
        11. DefaultProjection, 
        12. DirectedJungNetwork, 
        13. FastDenseSingleOccuGrid, 
        14. JungNetwork, 
        15. Projected3DGrid, 
        16. Projected3DSpace, 
        17. UndirectedJungNetwork

Monday, August 22, 2011

How Do I Include a Class

If the class is not in a package, simple put the compiled class file in the same directory and the class you are compiling.

If the class is in a package, build a directory structure beneight the directory of the file you are trying to compile that mirrors the package structure.