首页 文章 精选 留言 我的

精选列表

搜索[优化],共10005篇文章
优秀的个人博客,低调大师

Java性能优化

1.public static void main(String args) { HashMap<String, String> hm = new HashMap<String, String>; hm.put("111", "222"); Set<Map.Entry<String, String>> entrySet = hm.entrySet; Iterator<Map.Entry<String, String>> iter = entrySet.iterator; while (iter.hasNext) { Map.Entry<String, String> entry = iter.next; System.out.println(entry.getKey + "\t" + entry.getValue); } } 2.尽量重用对象,因为jvm不仅要创建对象还要管理它们给它们分配内存空间,回收它们 这一点上,尽量用StringBuild 和StringBuffer 3.尽量把类定义成final类型,因为性能调优,jvm会内联final 4.尽可能使用局部变量,因为局部变量当方法运行时它存在,当方法运行完了,那么它就会消失,不会增加Java虚拟机的负担,不用去垃圾回收, 不会,而且因为是在栈中所以速度快,静态变量,实例变量都在堆中创建, 5.减少对变量的计算,尤其是在for循环中 6.尽量采用懒加载的策略 7.慎用异常,因为异常会影响性能。 8.不用在循环中使用try catch 9.给以数组为底层实现的工具类和集合设定初始化容量,大大提升性能, HashMap设置大一些,因为自己table表,包括StringBuild和StringBuffer 10.当复制大量的数据时用System.arraycopy 11.乘法和除法,最好采用移位操作,因为可以大大提高性能,底层对于这种移位除法 很好的实现,而且效率高,但要加好注释,不易理解,这个移位是8421码,移一位代表2,移2位代表是4 12.三元操作符虽然和if else 差不多,但是性能上比if else 好太多,尽量用 13.循环体内不要创建对象,在外边的话,内存中就只有一个对象,每次只是指向不同的引用, 14.尽量避免使用静态变量,因为Java虚拟机不会回收这些内存空间, 15.使用数据库连接池和线程池,这两者全是重用对象,前者是避免了重复建立连接和释放连接,后者是避免了线程的创建和销毁 16.把基本类型转变为字符串用.toString是最快的,String.value()次之,+是最慢的, (1)、String.valueOf方法底层调用了Integer.toString方法,但是会在调用前做空判断 (2)、Integer.toString方法就不说了,直接调用了 (3)、i + “”底层使用了StringBuilder实现,先用append方法拼接,再用toString方法获取字符串 17程序运行过程中避免使用反射 18.如果是单线程尽量使用线程不安全的,因为线程安全的有同步机制,同步机制会降低性能。 19.避免使用finalize,该方法会给GC增加很大负担。 20.尽量使用基本类型,因为包装类型一般存的都是堆,而且Java虚拟机还要进行拆箱装箱操作,十分浪费性能 21.尽量使用迭代来代替递归, 22.避免使用Map,不得不使用的话用Entry 23.如果键值非常小使用EnumSet或EnumMap来代替HashSet 或 HashMap

优秀的个人博客,低调大师

Hive高级优化

并发执行 job1: a join b aa job2: c join d cc job3: aa join cc 说明: job1和job2可以并行执行。 JVM重用 它是对map/reduce 运行的任务,一个jvm可以运行多个map 任务。小数据可以使用jvm重用。性能可以提升70% Reduce的数据 默认reduce的任务是一个,可以根据自己的业务进行手动调整,不断测试把它调节到一个合适的值。 推测执行 说明:MapReduce调优,默认启用的,最后把它关闭掉,这只为false。场景:运行reduce时,有的慢,有的快,applicationMaster在另外一个机器上启动一个一模一样的reduce,那个先完成用那个。 Map数据 说明:依照块的大小来

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册