Java特点的优化
发布日期:2023-03-23浏览量:92
java言语自己也有不少优化技巧可以运用,比力常用的如运用stringbuilder,优化自界说hascode( equals() tostring()要领,优先运用原始数据类型,不在轮回中运用try.catch, copy 时运用system.arraycopy)号令,除了这些通用技巧外,咱们再引见- 些优化要领,分述以下。
(1)削减编码
java的编码运转比力慢是java的-大硬伤, 在不少场景下只有波及字符串的操纵(如输人输出操纵、1o操纵)都比力耗cpu,不论它是磁盘1o仍是网络i/o,由于都需求将字符转换成字节,而这个转换必需编码。因而,削减编码就能够大大晋升机能。那末怎样才气削减编码呢?比方,在网页输出时可以直接进行流输出,即用resp. getoutpusstream0)写数据,把一些静态的数据提早转化成byte, 比及真正往外写的时辰再直接用outputstream(写, 就能够削减静态数据的编码转换。别的,不少存储零碎直接存储成字节也是为了削减字符的编码。
(2)运用局部变量
在不少情况下,程序员为了更便当地一次处置一个要求, 普通会创立一-堆对象,再把这些对象一纵贯报下去,直到要求执行完成,才会销毁对象。这类操纵会招致对象永劫间不克不及收受接管,低落内存的运用率,以是要鼓舞更多地运用局部变量。比方,挪用要领时通报的参数以及在挪用中创立的姑且变量都保留在栈中,如许速率较快;其余变量像静态变量、实例变量等,都在堆中创立速率较慢。栈中创立的变量,跟着要领的运转完毕,这些内容就没有了也不需求分外的渣滓收受接管。
(3)削减要领挪用
常常看到一些代码如ob.getxxx0,它的作用只不外是获取某个变量对应的值,可是在一段代码中却需求屡次挪用一这类操纵完 全没有须要,可以把这个要领挪用的返回后果用一个局部变量保留下来,而后直接用这个局部变量就能够了,如许能削减要领挪用的次数(由于每回次要领挪用jvm都要创立要领栈)。其余一些教训以下。
●把对象作为hashmap的key;
●web.xml设置版本信息可以削减启动时annotation 的扫描时间;
●logger创立没有运用static修饰符招致线程梗阻;
●少用thread.getstacktraceo;
●网站制作正则运算尽可能cache。
相关文章: