
This is a quick blog to outline my upcoming job change and how it affects JSR-310.
For a fun Friday hack, this blog entry describes a program to generate a regular expression to recognize all the valid strings of integers in a given base, that is, a regular expression (regex) which accepts all in-range strings but rejects strings that would cause an overflow if converted.
It's not uncommon to find Dekker-like idioms in modern concurrent programs. On platforms with weaker memory models -- say where a store followed by a load in program order can be reordered by the architecture to appear as a load and then a store in the effective memory order (sometimes called the "visibility order") -- programs must use barrier instructions to enforce memory ordering to implement ...
Last week Apple released their latest product destined to change the world (the iPad). At least that's what they want us to believe. Perhaps the biggest controversy over the thing is the lack of Flash capability. However this being java.net I have to wonder out loud, where is Java capability, and more importantly why isn't as much controversy being raised over Java being missing? ...
A small project I worked on during JDK 7 milestones 05 and 06 was the introduction of a java.util.Objects class to serve as a home for static utility methods operating on general objects
(6797535,
6889858,
6891113).
Those utilities include null-safe or null-tolerant methods for
comparing two objects,
computing the hash code of an object,
and returning a string for an object, operations ...
Thanks to Kelly,
the new component delivery model
for jaxp and jax-ws is now available in both JDK 7, as of build 72 of milestone 5, and OpenJDK 6, coming in build 18
(6856630).
I have had pleasant associations with Sun now for nearly 22 years. As a graduate student at UC Santa Barbara, my advisor showed off the row of shiny new Sun workstations in a sweltering lab which had been hastily converted but had no air-conditioning. I soon learned that these Sun machines could take anything that the heat and the graduate students could throw at ...
Java developers are familiar with dynamic linking. Class files are a kind of intermediate format with symbolic references. At runtime, a class loader will load, link, and initialize new types as needed. Typically the full classpath a class loader uses for searching will have several logically distinct sub components, including the boot classpath, endorsed standards, extension directories, and the user-specified classpath. The manifest of ...
Composite components are a great feature of JSF 2.0. The canonical example is a login component with fields for the username and password:
This really pisses me off. Read it here, especially the last comment:
I've modified ikvmc to use IKVM.Reflection and largely rewritten ikvmstub to directly work with the ikvm internals instead of using the java reflection API. Both ikvmc and ikvmstub can now process assemblies independent from the .NET runtime they run on. This opens up the possibility to start investigating the possibility of Silverlight support.
One of the more subtle aspects of javac syntax trees is that every tree node has position information associated with it. This information is used to identify the location of errors with the source text, and is used by IDEs when refactoring or reformatting code. Ensuring the information is accurate is tricky, and with a number of projects ongoing to update the Java language, ...
Though I've yet to receive my red pill or my blue pill, I cannot let this eve pass without a formal farewell to the company I've called home since college. Just the other day I came across my original Sun badge while cleaning out an old box:
I've finally managed to produce the Windows installer for Hudson, as originally raised by Håkan Reis. Please try it out and let me know how it works.
While benchmarking a concurrent application on Linux I ran into an odd problem worth relating. Specifically, I'm using ubuntu 9.10 with linux kernel 2.6.31-1 running on a 1x4x2 Core2 i7-920 "Nehalem" (1 package; 4 cores/package; 2 logical processors/core via hyperthreading). I'd noticed that our scaling numbers were a bit odd, with more than the usual fall off past 4 threads (it's a 1x4x2 system ...
One surprisingly tricky piece of the Java platform is the launcher, the set of C code that uses the JNI invocation API to get the JVM started and begin running the main class. While conceptually simple, the launcher is complicated by straddling the boundary between the host system and the JVM, often wrestling with native platform issues like thread configuration that need to be ...
In November 2008 I introduced IKVM.Reflection.Emit, today I'm introducing IKVM.Reflection. It superseded IKVM.Reflection.Emit and also includes the ability to read managed assemblies. In addition, I've also added many other features that aren't directly needed for ikvmc, but are useful for other applications. Almost the complete reflection API has now been implemented and there are several API extensions to support managed PE features that reflection ...
JSR 294 is often, and incorrectly, described as a module system. In fact, JSR 294 provides language and VM features for the benefit of module systems such as OSGi and Jigsaw, similar to how JSR 292 provides VM features for the benefit of dynamic language runtimes such as JRuby and Jython. Where JSR 292 standardizes linkage protocols, but not linkage behavior, JSR 294 standardizes ...
It‘s said that one image is best than thousands of words. Good luck everybody, and thanks guys, for all the hard work, for Java, Solaris, for all the great things. For “The Network is the Computer”. I owe you most of my professional existence. And a beer.
In 19 days, I will be at FOSDEM. If you want to heard about JSR 292 and lambdas or DaVinci VM project, you can join us, it's free.
...One nice thing about JSF 2.0 is that they have taken good ideas from elsewhere, such as the “project stage” concept from Rails. If you set the project stage to ”development”, you get detailed error and warning messages. If you set it to “production”, you get more aggressive caching. Better diagnostics or better performance? The choice is yours, and that is good.
JSF 2 introduces an EL variable flash. Anything you set persists for one post-redirect-get cycle. (In contrast, anything in the request scope is gone after a redirect.) A typical use of the flash is for messages. A managed bean method might put a message in the flash,
Yesterday, I released 0.42 and as seemingly always happens a bug was reported right after that. So with that we're now on the road to the 0.42 Update 1 release. This is release candidate 0. Changes:
It's exactly one year ago that I started to work for Sun. Nice! I wasn't sure that I will make the anniversary facing the merger with Oracle. Anyway, I learned a lot in this first year and I'm really looking forward to the next years at Sun (or whatever the company will be called then).





