首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏面朝大海春暖花开

    java反射,代码优化

    java的反射机制属实强大,能解决好些问题 在接手别人写的代码的时候,有一个bean类的get方法特别low,我都看不下去 重复代码写五遍,我都觉得太不合理。之后将其中代码抽取出来修改了下。 temp.add(mapC); temp.add(mapD); temp.add(mapE); return temp; } 将其中的相同代码抽出来有个问题 public Map<String, String> getAnswerMap(String option,Boolean f2){ Map<String, String> map = = -1; } if(f2){ map.put("checked", String.valueOf(false)); }else{

    60130发布于 2018-09-12
  • 来自专栏专注于java领域技术分析

    Java 代码性能优化

    代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗? 代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候就必须考虑每个可以优化的细节了,一个一个细小的优化点累积起来, 代码优化的目标是 减小代码的体积 提高代码运行的效率 代码优化细节 1、尽量指定类、方法的final修饰符 带有final修饰符的类是不可派生的。 Java编译器会寻找机会内联所有的final方法,内联对于提升Java运行效率作用重大,具体参见Java运行期优化。此举能够使性能平均提高50%。 在C/C++中,”if (i == 1)”判断条件成立,是以0与非0为基准的,0表示false,非0表示true,如果有这么一段代码: int i =2; if(i ==1){ ... }else{ .

    75520发布于 2020-09-08
  • 来自专栏Android 进阶

    Java 代码优化建议

    Java 编译器会寻找机会内联所有的 final 方法,内联对于提升 Java 运行效率作用重大,具体可以查阅 Java 运行期优化相关资料,此举能够使性能平均提高 50%。 尽量重用对象。 这个肯定大家都没有疑问的,性能优化的实现而已。 乘法和除法使用移位操作。
    //不好的示范   for (val = 0; val < 100000; val += 5) {     a = val * 8;     b = val / 2;   }   //
    //样板代码:可以使用类似如下的代码作判断。   这毫无意义,如果代码中出现 "The value of the local variable i is not used"、"The import java.util is never used",那么请删除这些无用的内容

    1K10发布于 2020-04-23
  • 来自专栏JAVA

    JAVA代码优化,接口优化,SQL优化 (小技巧)

    这里写目录标题 第一章:Java代码优化的30个小技巧 1.用String.format拼接字符串 不知道你有没有拼接过字符串,特别是那种有多个参数,字符串比较长的情况。 在java中提供了synchronized关键字给我们的代码加锁。 通常有两种写法:在方法上加锁 和 在代码块上加锁。 (ArrayList.java:851) at com.sue.jump.service.test1.Test2.main(Test2.java:24) 这种在foreach循环中调用remove方法删除元素 说实话,Java代码优化是一个比较大的话题,它里面可以优化的点非常多,我没办法一一列举完。在这里只能抛砖引玉,介绍一下比较常见的知识点,更全面的内容,需要小伙伴们自己去思考和探索。 2. sql优化 如果优化了索引之后,也没啥效果。 接下来试着优化一下sql语句,因为它的改造成本相对于java代码来说也要小得多。

    86510编辑于 2024-11-20
  • 来自专栏BinGo's Blog

    JAVA代码优化十九式!

    JAVA中好的代码可以带来性能的提升,本节将讲解一些常用的代码优化招式,从而让我们在编码中保持好的编程习惯,让代码保持最优状态,当然也可以将这些招式引入到你们的代码评审中,让整个团队都写出更好的代码2.减少变量的作用范围 注意变量的作用范围,尽量减少对象的创建。如下面的代码,变量 a 每次进入方法都会创建,可以将它移动到 if 语句内部。 locals=1, args_size=1 0: getstatic #2 // Field java/lang/System.out:Ljava Method java/lang/StringBuilder.toString:()Ljava/lang/String; 29: astore_1 30: iinc 2, 1 33: 如果你对性能有非常苛刻的要求,则使用 invoke 包下的 MethodHandle 对代码进行着重优化,但它的编程不如反射方便,在平常的编码中,反射依然是首选。

    45310编辑于 2022-11-01
  • 来自专栏JAVA

    Spring 代码优化技巧(大全2)

    Spring 代码优化技巧 十. 如果不能获取到数据,则直接方法体中的代码获取到数据,然后放到caffine缓存中。 十二. @ConditionalOnBean 问题2可以通过@ConditionalOnBean注解解决,代码如下: @Configuration public class TestConfiguration 2.各依赖包之间可能会存在版本兼容性问题,项目引入这些jar包后,可能没法正常启动。 3.如果有些参数没有配好,启动服务也会报错,没有默认配置。 文章来源:1,2,3,4,5,6 记录自己学习的每一天;

    31910编辑于 2024-11-20
  • 来自专栏公众号:程序员白楠楠

    代码优化大盘点:35 个 Java 代码优化魔鬼细节

    前言 代码 优化 ,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗? 代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候就必须考虑每个可以优化的细节了,一个一个细小的优化点累积起来, 代码优化的目标是: 减小代码的体积 提高代码运行的效率 代码优化细节 1、尽量指定类、方法的final修饰符 带有final修饰符的类是不可派生的。 Java编译器会寻找机会内联所有的final方法,内联对于提升Java运行效率作用重大,具体参见Java运行期优化。此举能够使性能平均提高50% 。 可以使用类似如下的代码作判断: ? foreach循环的底层实现原理就是迭代器Iterator,参见Java语法糖1:可变长度参数以及foreach循环原理。

    81830发布于 2020-12-08
  • 来自专栏狗哥的专栏

    谈谈代码Java IO业务代码优化之路

    这段代码有点丑,于是我闻到了学习的味道. 在改良之前,我们先来回顾一下JavaIO的接口定义. 2.JavaIO 接口知识回顾 2.1 低级抽象接口:InputStream 和 OutputStream 这里有同学可能问了,为啥叫它低抽象接口呢 implements Readable, Closeable { 我们可以看到,这个抽象类是用来面向character的,也就是字符.字符的抽象等级必然比字节高,因为字符靠近上层,即人类. 2.3 优化输入和输出 着手优化 之前,我们提到了这段代码写得搓的地方: 首先是对两个Stream的消费,很显然,在多核环境下,我们同时也只能够消费其中一个Stream. :线程消费,高级抽象. 3.1 使用Kotlin 3.1.1 Kotlin IO 闲话不多说,先贴代码为敬: import java.io.InputStream import java.io.InputStreamReader

    36010编辑于 2024-01-09
  • 来自专栏CSDN

    Java日常开发代码优化

    Java日常开发代码优化 缘由 不积跬步无以至千里,不积小流无以成江河。 如果说考虑的工期等因素,代码能按期正常无bug运行上线就算项目完成,如果想让项目运行的更流程,用户体验更好,必要的代码细节还是需要仔细考虑的,每次优化一点点,日积月累的优化也是会有质的改变的。 优化 1.尽量重用对象 特别是 String 对象的使用,出现字符串连接时应该使用 StringBuilder/StringBuffer 代替。 试想,如果能预估到字符数组中大概要存放5000个字符而不指定长度,最接近5000的2次幂是4096,每次扩容加的2不管,那么: 在4096 的基础上,再申请8194个大小的字符数组,加起来相当于一次申请了 参考文献:提高千倍效率的 Java 代码小技巧

    35410编辑于 2024-03-28
  • 来自专栏复盘总结文章集合

    Java代码优化总结(长期更新)

    前言 2016年3月修改,结合自己的工作和平时学习的体验重新谈一下为什么要进行代码优化代码优化一样,也许一个两个的优化,对于提升代码的运行效率意义不大,但是只要处处都能注意代码优化,总体来说对于提升代码的运行效率就很有用了。 这个观点,在现在看来,是要进行代码优化的一个原因,但不全对。 代码优化的目标是: 1、减小代码的体积 2、提高代码运行的效率 本文的内容有些来自网络,有些来自平时工作和学习,当然这不重要,重要的是这些代码优化的细节是否真真正正地有用。 那本文会保持长期更新,只要有遇到值得分享的代码优化细节,就会不定时地更新此文。 代码优化细节 (1)尽量指定类、方法的final修饰符 带有final修饰符的类是不可派生的。 Java编译器会寻找机会内联所有的final方法,内联对于提升Java运行效率作用重大,具体参见Java运行期优化。此举能够使性能平均提高50%。

    88030发布于 2019-07-02
  • 来自专栏JAVA后端开发

    JAVA中SaveOrUpdate的代码优化

    java开发中,经常要做一个保存功能,该功能一般是如下这么写。 if(exists(object)){ update(object); }else { insert(object); } 上述代码是先查询存不存在,如果存在,就更新,不存在则插入. 很多项目都有这种代码,按普通逻辑来说,这个没毛病。 但实际想想,那三行代码其实有优化的空间. 优化如下: if(update(object)==0){ insert(object); } 上述代码先做一个更新记录,如果没更新到记录,则证明需要做插入动作,这样就省下了查询的动作,性能有了优化

    2.1K30发布于 2019-07-04
  • 来自专栏Linyb极客之路

    java代码优化的若干细节

    代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗? 代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候就必须考虑每个可以优化的细节了,一个一个细小的优化点累积起来, 代码优化的目标是 减小代码的体积 提高代码运行的效率 代码优化细节 1、尽量指定类、方法的final修饰符 带有final修饰符的类是不可派生的。 Java编译器会寻找机会内联所有的final方法,内联对于提升Java运行效率作用重大,具体参见Java运行期优化。此举能够使性能平均提高50%。 12290个大小的字符数组,如果一开始能指定5000个大小的字符数组,就节省了一倍以上的空间 (2)把原来的4096个字符拷贝到新的的字符数组中去 这样,既浪费内存空间又降低代码运行效率。

    65040发布于 2018-07-26
  • 来自专栏Java帮帮-微信公众号-技术文章全总结

    Java代码效率优化【面试+提高】

    JAVA代码效率优化 最近在想自己编程时是否注意过代码的效率问题,得出的答案是:没有。 代码只是实现了功能,至于效率高不高没怎么关注,这应该是JAVA程序员进阶的时候需要考虑的问题,不再是单纯的实现功能,也不是完全依赖GC而不关注内存中发生了什么,而要考虑到代码的性能。 下面是网上找的一篇关于JAVA代码优化的文章,觉得不错,就转载了。这里面设计到了JAVA基础和J2EE方面的优化建议,有时间会整理一下,现在先转载。 Java编译器会寻找机会内联(inline)所有的 final方法(这和具体的编译器实现有关)。此举能够使性能平均提高50% 。 2、尽量重用对象。 当StringBuffer达到最大容量的时候,它会将自身 容量增加到当前的2倍再加2,也就是(2*旧值+2)。

    1.4K130发布于 2018-03-15
  • 来自专栏精讲JAVA

    优化 Java 中的多态代码

    来源:ImportNew - 进林 优化Java中的多态代码 Oracle的Java是一个门快速的语言,有时候它可以和C++一样快。 编写Java代码时,我们通常使用接口、继承或者包装类(wrapper class)来实现多态,使软件更加灵活。不幸的是,多态会引入更多的调用,让Java的性能变得糟糕。 部分问题是,Java不建议使用完全的内联代码,即使它是非常安全的。 和往常一样,我的benchmarking代码可以在网上获取到。 总结 一些Java版本可能不完全支持频繁的内联函数调用,即使它可以并且应该支持。这会造成严重的性能问题。 对于消耗大的函数,可行的解决方法是自己手动优化多态和实现内联函数调用。使用 instanceof 关键字,你可以为一些特定的类编写代码并且(因此)保留多态的灵活性。

    1.3K20发布于 2018-07-30
  • 来自专栏Java小技巧

    Java | if-else代码优化方案

    优化方案一:提前return,去除不必要的else 如果if-else代码块包含return语句,可以考虑通过提前return,把多余else⼲掉,使代码更加优雅。 condition){ return } //doSomething 优化方案二:使用条件三目运算符 使⽤条件三⽬运算符可以简化某些if-else,使代码更加简洁,更具有可读性。 ⽤java8的Optional进行优化优化前: if(param.equals(value1)) { doAction1(someParams); } else if(param.equals(value2)) { doAction2 优化方案八:策略模式+工厂方法消除if else 假设需求为,根据不同勋章类型,处理相对应的勋章服务,优化前有以下代码: public double getAdjustedCapital(){

    85720编辑于 2022-05-23
  • 避开JVM,带你从代码层面优化Java代码

    前言在Java中,提到“优化”这两个字,很多人首先都会想到JVM优化。的确,JVM提供了很多参数,让优化工作看起来更为直观。 我在大数据开发中,遇到过大数据量的数据转换、接入,为了避免程序的OOM,除了在前期增加处理主机之外,后来更多的是在代码层面进行优化。所以今天就看看我在代码开发时,可以从代码层做哪些优化代码语言:java复制// 必须是2的幂int bufferSize = 1024;/**DaemonThreadFactory:线程池,create threads for processors.ProducerType 结语在java的开发中,很多时候都会以实现功能为最终目的,而往往会忽略相同功能的不同选择,会带给自己代码性能和技术层面的提升。 这篇文章只是整个java开发中可优化部分的缩影,尤其在高并发多线程、锁这一方面可优化的地方还有很多。

    38210编辑于 2024-08-16
  • 来自专栏Java放弃之路

    避开JVM,带你从代码层面优化Java代码

    前言 在Java中,提到“优化”这两个字,很多人首先都会想到JVM优化。的确,JVM提供了很多参数,让优化工作看起来更为直观。 我在大数据开发中,遇到过大数据量的数据转换、接入,为了避免程序的OOM,除了在前期增加处理主机之外,后来更多的是在代码层面进行优化。所以今天就看看我在代码开发时,可以从代码层做哪些优化。 dataObject.data2String(sb); clone()有哪些优势? 结语 在java的开发中,很多时候都会以实现功能为最终目的,而往往会忽略相同功能的不同选择,会带给自己代码性能和技术层面的提升。 这篇文章只是整个java开发中可优化部分的缩影,尤其在高并发多线程、锁这一方面可优化的地方还有很多。

    82361编辑于 2024-08-16
  • 避开JVM,带你从代码层面优化Java代码

    前言在Java中,提到“优化”这两个字,很多人首先都会想到JVM优化。的确,JVM提供了很多参数,让优化工作看起来更为直观。 我在大数据开发中,遇到过大数据量的数据转换、接入,为了避免程序的OOM,除了在前期增加处理主机之外,后来更多的是在代码层面进行优化。所以今天就看看我在代码开发时,可以从代码层做哪些优化代码语言:java复制public class ByteArrayEvent { private byte[] bytes; public void setBytes(byte[] bytes 代码语言:java复制// 必须是2的幂int bufferSize = 1024;/**DaemonThreadFactory:线程池,create threads for processors.ProducerType 代码语言:java复制private Object[] data;private static final String KAFKA_SEPARATOR = "|";public DataObject(

    34010编辑于 2024-08-24
  • 来自专栏Java学习网

    Java性能优化技巧,提高代码运行效率之J2EE篇

    前面介绍的改善性能技巧适合于大多数Java应用,接下来要讨论的问题适合于使用JSP或JDBC的应用。 二、J2EE篇 2.1 使用缓冲标记   2.2 始终通过会话Bean访问实体Bean   2.3 选择合适的引用机制   2.4 在部署描述器中设置只读属性   2.5 然而,如果不求助于JNI,Java不能确定网卡的MAC地址;如果使用JNI,则程序就要依赖于特定的OS。 还有其他几种办法,但这些办法同样都有各自的局限。 除了这些显而易见的选择之外,另一个提高性能的好选择可能就是把所有的字符数据都保存为Unicode(代码页13488)。Java以Unicode形式处理所有数据,因此,数据库驱动程序不必再执行转换过程。 但应该记住:如果采用这种方式,数据库会变得更大,因为每个Unicode字符需要2个字节存储空间。

    85120发布于 2020-11-23
  • 来自专栏Java技术栈

    44个Java代码性能优化总结

    代码优化的最重要的作用应该是:避免未知的错误。在代码上线运行的过程中,往往会出现很多我们意想不到的错误,因为线上环境和开发环境是非常不同的,错误定位到最后往往是一个非常小的原因。 代码优化的目标是: 1、减小代码的体积 2、提高代码运行的效率 代码优化细节 (1)尽量指定类、方法的final修饰符 带有final修饰符的类是不可派生的。 Java编译器会寻找机会内联所有的final方法,内联对于提升Java运行效率作用重大,具体参见Java运行期优化。此举能够使性能平均提高50%。 在C/C++中,"if (i==1)"判断条件成立,是以0与非0为基准的,0表示false,非0表示true,如果有这么一段代码: int i = 2; if (i == 1) { ... } 后记 优秀的代码来自每一点点小小的优化,关注每一个细节,不仅仅能提升程序运行效率,同样可以规避许多未知的问题。

    2K121发布于 2018-04-02
领券