<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Reloading Java Classes 101: Objects, Classes and ClassLoaders</title>
	<atom:link href="http://zeroturnaround.com/blog/reloading-objects-classes-classloaders/feed/" rel="self" type="application/rss+xml" />
	<link>http://zeroturnaround.com/blog/reloading-objects-classes-classloaders/</link>
	<description>Improving Java Development</description>
	<lastBuildDate>Wed, 16 May 2012 14:41:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
	<item>
		<title>By: Anonymous</title>
		<link>http://zeroturnaround.com/blog/reloading-objects-classes-classloaders/comment-page-1/#comment-1262</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Sun, 08 Apr 2012 15:28:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.zeroturnaround.com/?p=173#comment-1262</guid>
		<description>Hi Jevgeni,

This was a really great presentation. Thank you a lot for it.

I have only one remark about minute 24:30:

You say that it was Joshua Bloch or Gilad Bracha that published a paper 
about the brokenness of Java classes. While both of them have numerous 
contributions to the Java platform I think the paper you mean is:

Vijay Sarswat: Java is not type-safe.

The article is available here: http://www.cis.upenn.edu/~bcpierce/courses/629/papers/Saraswat-javabug.html

This is an older paper by Vijay and he has not put it on his site, I will write to him about this.

I am mentioning this because researchers live and die by their publications and it just it 

I am giving the abstract here:


      Abstract:
      A language is type-safe if the only operations that can be 
performed on data in the language are those sanctioned by the type of 
the data. Java is not type-safe, though it was intended to be. A Java 
object may read and modify fields (and invoke methods) private to 
another object. It may read and modify internal Java Virtual Machine 
(JVM) data-structures. It may invoke operations not even defined for 
that object, causing completely unpredictable results, including JVM 
crashes (core dumps). Thus Java security, which depends strongly on 
type-safety, is completely compromised.
    


 
</description>
		<content:encoded><![CDATA[<p>Hi Jevgeni,</p>
<p>This was a really great presentation. Thank you a lot for it.</p>
<p>I have only one remark about minute 24:30:</p>
<p>You say that it was Joshua Bloch or Gilad Bracha that published a paper<br />
about the brokenness of Java classes. While both of them have numerous<br />
contributions to the Java platform I think the paper you mean is:</p>
<p>Vijay Sarswat: Java is not type-safe.</p>
<p>The article is available here: <a href="http://www.cis.upenn.edu/~bcpierce/courses/629/papers/Saraswat-javabug.html" rel="nofollow">http://www.cis.upenn.edu/~bcpierce/courses/629/papers/Saraswat-javabug.html</a></p>
<p>This is an older paper by Vijay and he has not put it on his site, I will write to him about this.</p>
<p>I am mentioning this because researchers live and die by their publications and it just it </p>
<p>I am giving the abstract here:</p>
<p>      Abstract:<br />
      A language is type-safe if the only operations that can be<br />
performed on data in the language are those sanctioned by the type of<br />
the data. Java is not type-safe, though it was intended to be. A Java<br />
object may read and modify fields (and invoke methods) private to<br />
another object. It may read and modify internal Java Virtual Machine<br />
(JVM) data-structures. It may invoke operations not even defined for<br />
that object, causing completely unpredictable results, including JVM<br />
crashes (core dumps). Thus Java security, which depends strongly on<br />
type-safety, is completely compromised.</p>
<p> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: bob</title>
		<link>http://zeroturnaround.com/blog/reloading-objects-classes-classloaders/comment-page-1/#comment-1060</link>
		<dc:creator>bob</dc:creator>
		<pubDate>Sun, 20 Nov 2011 04:01:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.zeroturnaround.com/?p=173#comment-1060</guid>
		<description>Thread.currentThread().sleep(3000);

should be written as
Thread.sleep(3000);since sleep is a static method</description>
		<content:encoded><![CDATA[<p>Thread.currentThread().sleep(3000);</p>
<p>should be written as<br />
Thread.sleep(3000);since sleep is a static method</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hdh97</title>
		<link>http://zeroturnaround.com/blog/reloading-objects-classes-classloaders/comment-page-1/#comment-395</link>
		<dc:creator>Hdh97</dc:creator>
		<pubDate>Mon, 20 Jun 2011 02:29:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.zeroturnaround.com/?p=173#comment-395</guid>
		<description>很好的一个网站！</description>
		<content:encoded><![CDATA[<p>很好的一个网站！</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: JRebel实践 part2 behind the scene &#124; Tuo_Huang</title>
		<link>http://zeroturnaround.com/blog/reloading-objects-classes-classloaders/comment-page-1/#comment-394</link>
		<dc:creator>JRebel实践 part2 behind the scene &#124; Tuo_Huang</dc:creator>
		<pubDate>Tue, 26 Oct 2010 12:44:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.zeroturnaround.com/?p=173#comment-394</guid>
		<description>[...] Reloading Java Classes 101: Objects, Classes and ClassLoaders [...]</description>
		<content:encoded><![CDATA[<p>[...] Reloading Java Classes 101: Objects, Classes and ClassLoaders [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stephen</title>
		<link>http://zeroturnaround.com/blog/reloading-objects-classes-classloaders/comment-page-1/#comment-393</link>
		<dc:creator>Stephen</dc:creator>
		<pubDate>Fri, 19 Mar 2010 22:00:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.zeroturnaround.com/?p=173#comment-393</guid>
		<description>This example does not seems right to me, example2 is getting instantiated every time inside while loop where in example1 is outside while loop. You are playing with instances not with classloaders. This example does not support explanation given above.</description>
		<content:encoded><![CDATA[<p>This example does not seems right to me, example2 is getting instantiated every time inside while loop where in example1 is outside while loop. You are playing with instances not with classloaders. This example does not support explanation given above.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Helen Neely</title>
		<link>http://zeroturnaround.com/blog/reloading-objects-classes-classloaders/comment-page-1/#comment-392</link>
		<dc:creator>Helen Neely</dc:creator>
		<pubDate>Wed, 10 Mar 2010 17:47:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.zeroturnaround.com/?p=173#comment-392</guid>
		<description>This is great, I saw the link on TheServerSide and knew I had to check it out.
Nice article</description>
		<content:encoded><![CDATA[<p>This is great, I saw the link on TheServerSide and knew I had to check it out.<br />
Nice article</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: RJC501: How Much Does Turnaround Cost? &#124; ZeroTurnaround.com</title>
		<link>http://zeroturnaround.com/blog/reloading-objects-classes-classloaders/comment-page-1/#comment-391</link>
		<dc:creator>RJC501: How Much Does Turnaround Cost? &#124; ZeroTurnaround.com</dc:creator>
		<pubDate>Tue, 09 Mar 2010 13:16:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.zeroturnaround.com/?p=173#comment-391</guid>
		<description>[...] RJC101: Objects, Classes and ClassLoaders [...]</description>
		<content:encoded><![CDATA[<p>[...] RJC101: Objects, Classes and ClassLoaders [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Reloading Java Classes 401: HotSwap and JRebel — Behind the Scenes &#124; ZeroTurnaround.com</title>
		<link>http://zeroturnaround.com/blog/reloading-objects-classes-classloaders/comment-page-1/#comment-390</link>
		<dc:creator>Reloading Java Classes 401: HotSwap and JRebel — Behind the Scenes &#124; ZeroTurnaround.com</dc:creator>
		<pubDate>Thu, 11 Feb 2010 14:36:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.zeroturnaround.com/?p=173#comment-390</guid>
		<description>[...] RJC101: Objects, Classes and ClassLoaders [...]</description>
		<content:encoded><![CDATA[<p>[...] RJC101: Objects, Classes and ClassLoaders [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Reloading Java Classes 301: Classloaders in Web Development &#8212; Tomcat, GlassFish, OSGi, Tapestry 5 and so on &#124; ZeroTurnaround.com</title>
		<link>http://zeroturnaround.com/blog/reloading-objects-classes-classloaders/comment-page-1/#comment-389</link>
		<dc:creator>Reloading Java Classes 301: Classloaders in Web Development &#8212; Tomcat, GlassFish, OSGi, Tapestry 5 and so on &#124; ZeroTurnaround.com</dc:creator>
		<pubDate>Thu, 14 Jan 2010 09:00:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.zeroturnaround.com/?p=173#comment-389</guid>
		<description>[...] RJC101: Objects, Classes and ClassLoaders [...]</description>
		<content:encoded><![CDATA[<p>[...] RJC101: Objects, Classes and ClassLoaders [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Reloading Java Classes 201: How do ClassLoader leaks happen? &#124; ZeroTurnaround.com</title>
		<link>http://zeroturnaround.com/blog/reloading-objects-classes-classloaders/comment-page-1/#comment-388</link>
		<dc:creator>Reloading Java Classes 201: How do ClassLoader leaks happen? &#124; ZeroTurnaround.com</dc:creator>
		<pubDate>Wed, 09 Dec 2009 12:13:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.zeroturnaround.com/?p=173#comment-388</guid>
		<description>[...] RJC101: Objects, Classes and ClassLoaders [...]</description>
		<content:encoded><![CDATA[<p>[...] RJC101: Objects, Classes and ClassLoaders [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>

