Memoization in Java Using Dynamic Proxy Classes started 8/21/2003; 5:43:11 PM - last post 8/22/2003; 11:13:42 AM | | Chris Rathman - Memoization in Java Using Dynamic Proxy Classes  8/21/2003; 5:43:11 PM (reads: 1918, responses: 4) | | | Memoization in Java Using Dynamic Proxy Classes | | Memoization has been touched on number of times on LtU, but rarely in connection with Java. Memoization is a technique borrowed from functional programming languages like Lisp, Python, and Perl for giving functions a memory of previously computed values. Memoizing a function adds a transparent caching wrapper to the function, so that function values that have already been calculated are returned from a cache rather than being recomputed each time. Version 1.3 of the Java™ 2 SDK, Standard Edition, introduced support for dynamic proxy classes: special classes that can choose which interfaces they implement when created at runtime... By using this feature, it is possible to write a generic caching wrapper class, called Memoizer, that determines at runtime which interface it implements. Can't say that I liked the method chosen for dynamic proxies in Java. A bit too long winded and cumbersome for my taste. Good to see that someone is trying to put them to use for something. Posted to OOP by Chris Rathman on 8/21/03; 5:44:51 PM | |  | | Ehud Lamm - Re: Memoization in Java Using Dynamic Proxy Classes  8/22/2003; 4:41:29 AM (reads: 728, responses: 0) | | | Memoization is a technique borrowed from functional programming languages like Lisp, Python, and Perl... Curious choice, as examples of functional languages, wouldn't you say?  | | Chris Rathman - Re: Memoization in Java Using Dynamic Proxy Classes  8/22/2003; 7:14:12 AM (reads: 710, responses: 1) | | | Well, lisp is always thrown into a list whenever you mention some language paradigm. Something along the lines of - object oriented programming languages like Lisp, C++ and Java - or was that AI languages like Lisp and Prolog. :-) Python and Perl have a lot of tweakers and experimenters, so the first exposure many people have to functional programming styles is through one of these two languages.  | | | | | I liked the idea until i realised that normally stateless calculating methods are static in java. Toobad about the syntax, these reflection things can make java alot more dynamic.  | | Ehud Lamm - Re: Memoization in Java Using Dynamic Proxy Classes  8/22/2003; 1:59:09 PM (reads: 686, responses: 0) | | | I wasn't really concerned about language features per se, but rather on programmers perceptions. If Perl and Python are functional, we really should stop worrying about functional languages becoming mainstream...  | | |
|