The Source for Java Technology Collaboration
User: Password:



Mark Lam's Blog

April 2007 Archives


Meeting up @ JavaOne 2007

Posted by mlam on April 28, 2007 at 12:39 PM | Permalink | Comments (3)

Previously, some of you have suggested to meet up at JavaOne since we'll all be there. So, here's my availability this year:

tues 5/8  @ 12:00pm - 1:10pm - lunch time
             7:10pm - 8:50pm
weds 5/9  @ 12:00pm - 1:10pm - lunch time
thur 5/10 @ 12:00pm - 1:10pm - lunch time
             6:50pm - 7:30pm
             9:00pm - 9:50pm 

If anyone is interested in meeting up to talk about VM internals or implementation issues (particularly CVM's), embedding the Java platform in devices, or just want to say hi and introduce yourselves, please leave a comment about when you would like to meet. If you are new to the Java platform (or not) and was hoping that someone can tell you about how the guts of it work, then here's your chance to talk to a Java virtual machine engineer and get some free one on one time for your questions.

As for places to meet, I would prefer to stay around the JavaOne pavilion or meeting halls, but if you have suggestions for alternate good places to meet, let me know.

I'll leave a comment in this blog by the middle of or late next week on a finalized place and time to meet (assuming there is interest). I want to leave some of my free time for checking out all the cool stuff that will be shown on the pavilion floor (and I heard that there will be lots of cool stuff to check out this year).

I'm also one of the panelists at BOF-5734 "Architecture and Implementation of Multitasking Java ME Systems Panel" at 8pm on Tuesday, May 8. So, come, listen, and join in the discussion.

And in case you don't already know, some of my esteemed colleagues have also set up a social gathering at the Thirsty Bear where you'll get to meet some folks from Sun as well as other mobile and embedded community members. Make sure to check it out if you can. Unfortunately, due to a prior engagement, I will not be able to attend that gathering myself.

Hope to see you at JavaOne.

Java and More Embedded Considerations

Posted by mlam on April 22, 2007 at 03:46 AM | Permalink | Comments (0)

Previously, I talked about why an embedded systems developer would choose to develop on the Java platform. If you have read that article and are intrigued by the benefits that the Java platform offers, then the next step is probably to ask some more deep probing questions like ...

Do I really need the Java platform?
Sure, the Java platform offers many benefits. But is it needed for my specific device?

Well, if you want the benefits of a runtime interpreted scripting language (i.e. isolation, upgradeability, etc.), then, as I have explained previously, your best bet is with the Java platform.

You may not need the Java platform if your device has the following characteristics:

  1. static functionality: the software functionality never needs to be upgraded in the field, not even for bug fixes. Or, it is cheaper to replace the device than to replace the software (although this isn't very eco-responsible). Or you can live with the cost of providing the service and infrastructure to completely re-flash the software in deployed devices. Under these conditions, you do not need the Java platform's dynamic class loading/unloading feature.

  2. simple software: the software application is extremely simple. When the number of lines of code is low enough, the complexity of the software may be manageable, and not be overwhelming. Hence, the likelihood of your programmers being able to understand the entire system is higher, and the number of details for them to remember is lower. Under this condition, you can live without the Java platform's isolation property and language features (e.g. protection from stray pointers, automatic garbage collection, structured locking, etc.), and still be able to get a reasonable amount of developer productivity.

    I will also talk more about "simple software" from the perspective of performance and footprint below.

  3. small and restricted developer group: if the group of developers is small, then they are easier to manage. The likelihood that their code will accidentally step on each other's code is less. If there is only one developer group for the software and you will never need other groups or third parties to develop software for your device, then there is no risk of their code trampling on your code. Under these circumstances, you may not need the Java platform's isolation property and security features.

  4. software can always be trusted: If there will never be any software deployed on your device that is from an untrusted source (i.e. can perform attacks on or crash your device), then you may not need the Java platform's isolation property and security features. Or alternatively, if you don't care if they attack and crash your device, then you may not need the Java platform.

Generally, if your situation doesn't fit into one of the above profiles, then it is likely that you will benefit from developing on the Java platform.

Continue Reading...



Why choose Java?

Posted by mlam on April 17, 2007 at 03:09 AM | Permalink | Comments (12)

Or as the lawyers will probably correct me, the question in the title would more accurately be phrased as "Why Choose the Java platform?". If you've been following my blog, you may notice that I haven't written in a while. This is because I've been really busy with my day job. One of the things that the job brought me on recently was a road trip to meet with some customers.

On this trip, I had the pleasure of having a conversation with an esteemed fellow embedded systems developer who was trying to understand the Java platform. He asked, "Why Java?". Such a simple question (simple only in its phrasing), but so pertinent. In his case, he was relatively new to Java, but has been doing embedded systems development for a long time. What he was asking was actually (1) why the Java platform is relevent for his projects (i.e. an embedded systems device), and (2) why he should choose it over available alternatives.

To be honest, I was a little caught off guard by this question. I had to pause for a while to think. On the spot, the only way I could think of to answer his question in the proper context was to tell him my personal story of how I came to choose the Java platform myself. This was the same event that motivated me to learn about the internals of a Java VM which got me hooked, and eventually led me to come work for Sun. I thought that the answer to this question that he asked may also be pertinent and interesting to other embedded systems developers who may not yet know of the advantages of the Java platform. So, I decided to share it with you here.

Continue Reading...





Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds