Annotations – Part 2: Let’s Assert!

Ok, previously we get into conclusion that JDK 5.0 annotation feature can be used for implementing obfuscation safe reflection API usage. What other tricks it could perform. One interesting issue when developing large scale software is to ensure that API specifications are honored properly. Within java language context this means that API spec is strictly…

Read more

To synchronize, or to not

Reading Java VM specification gives interesting insights of the synchronized keyword usage. VM Specification: Threads and Locks For good fun, read chapter 8.11. I.e. … Because there is no synchronization, it is at the option of the implementation whether or not to store the assigned values back to main memory! … This means that if…

Read more

PHP is becoming popular…

At least based into TIOBE Programming Community Index for November 2005 PHP: Documentation PEAR – The PHP Extensions Learning PHP 1 Learning PHP 2 Learning PHP 3 PHPBuilder PHP Editor Review – Review PHP Tutorial PHP Tutorials: The SiteWizard Practical PHP Programming Zend Technologies – PHP Tutorials for Absolute Beginners

Read more

Obfuscation safe reflection

Q: How to ensure that code can be obfuscated, but reflection API benefits for action invoking could be used? A: In JDK 5.0 solution exists, just use annotations. So how to do such. 1) Define appropriate annotation [code lang=”java”] @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) public @interface Call { int value(); } [/code] 2) Define reflection action to use…

Read more