关闭

关于Java代码中一个方法代码超出65535字节详解

1179人阅读 评论(0) 收藏 举报
分类:

由于java使用UNICODE标准字符集,为16位,因此一共能表示2的16次方个字符,即65535个。

由于java虚拟机的限制,在java中变量、方法的代码长度是不能大于65535字节的,针对此问题我总结了相关的解决办法。

1. 数据库

这是最为传统的,也是大多数人第一想到到的办法了。

2. 文件

这其实是替代数据库的另一种方法了。

3. 类

将复杂的类细化为多个类。

4. 方法

将复杂的方法细化为多个方法。

其实,介绍这四种方案并不是我本篇想要说的重点,而是要从程序性能的角度来诉述。有时一些相对静态的数据,虽然可以保存在数据库或文件里,但数据库和文件都要涉及到连接、io等性能问题,可能有人会说,我可以将静态数据预加载(即只获取一次,然后存入到静态变量里),但是数据量较大的数据都存入静态变量里,带来的就是系统对内存资源的消耗,在我看来同样是有取舍的。

而如果放入到类或方法里,就能很好解决上述问题。java文件之间的调用,速度的瓶颈已经降低到了JVM级别,无论从速度上还是能耗上都会令你满意,从读取速度上,他绝对比读取数据库快很多。从能耗上,我们不必再将大量的数据放到静态变量里了,什么时候用什么时候new即可。

条条大路通罗马,解决问题总是有着很多方法的,因此不要仅仅局限于“常理”,灵活运用技术才是成长的捷径。各位以后不放试试将一些数据以类或方法的形式去存储。

在我即将发布第四版的日期工具类中,就是一个很好的例子。大家可以参考参考,细细品味其中的各种优点(速度、性能、能耗、耦合性等)。

版权声明:本文为博主原创文章,未经博主允许不得转载。


1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:3171次
    • 积分:101
    • 等级:
    • 排名:千里之外
    • 原创:8篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档
    最新评论