• Post Reply Bookmark Topic Watch Topic
  • New Topic

How to fix java method size limit 65k  RSS feed

 
shivendra tripathi
Ranch Hand
Posts: 263
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
In my application, we are generating java code in which method size is increasing more than 65k. I am trying to divide it in sub routines, but not very successful in my attempt.
Looking here for suggestions/code to overcome the issue, or is there a way to compile method with size more than 65k.
 
Campbell Ritchie
Marshal
Posts: 56541
172
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
That is the compiled size of the method, not the size of the code. BTW: 65536 is 64k not 65. More details here in the JVM specification.

But why on earth would anybody want such large methods in the first place?
 
shivendra tripathi
Ranch Hand
Posts: 263
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks for response and correction. The method is getting generated to create mapping for xml elements , and xml file feeded is quite large. We use recursion to take care of multi level parent child, siblings relationship. Now any thoughts to overcome this issue?
 
Henry Wong
author
Sheriff
Posts: 23295
125
C++ Chrome Eclipse IDE Firefox Browser Java jQuery Linux VI Editor Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

This issue has been on Sun enhancement request list, since... well, for as long as I can remember. I think that it is safe to not depend on Sun to fix this limitation.

Your only work-around is to modify your code generator, to generate code using many methods, instead of one big method.

Henry
 
David Newton
Author
Rancher
Posts: 12617
IntelliJ IDE Ruby
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
+1; you'll need to change the code generator.
 
shivendra tripathi
Ranch Hand
Posts: 263
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks for your time guys. I did fix it by breaking the code into sub routines. Just wondering, Does java has some limit for class size as well ?
 
Ulf Dittmer
Rancher
Posts: 42972
73
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The first entry under the link Campbell posted says "yes, there is a limit".
 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!