`

Java性能调优

 
阅读更多

Java I/O

IO性能常常是应用程序性能瓶颈,优化IO性能就显得极为系要。在进行I0操作时,匿遵循以下原则:尽可能少的访问磁盘;尽可能少的访问底层的操作系统;尽可能少的方法调用;尽可能少处理个别的处理字节和字符。基于以上原则,可以通过以下技巧提高IO速度:

<!--[if !supportLists]-->1、<!--[endif]-->使用缓冲提高I/0性能

常用方法有: a、使用用于字符的BufferedReader和用于字节的BufferInputStream

   b、使用读取方法一次读取一大块数据 

 

<!--[if !supportLists]-->2、<!--[endif]-->InputStreamReader高效,OutpuStreamWriter高效

当使用Unicode字符串时,Writer类的开销比较大。因为它要使Uoicode到字节(byte)的转换。因此,如果可能,在使用Writer类之前就实现转换或用OutputStream类代替Writer类来使用。

 

<!--[if !supportLists]-->3、<!--[endif]-->在适当的时候用byte替代char

1char要用2个字节保存字符,而byte只需要1个,因此用byte保存字符消耗的内存和需要执行的动作指令更少。用byte避免了Unicode转换。

        

<!--[if !supportLists]-->4、<!--[endif]-->尽早释放资源

java 编程过程中,进行数据库连接,I/O 流操作,在使用完毕后,及时关闭以释放资源。因为对这些大对象的操作会造成系统大的开销。

 

 

线程使用技巧

<!--[if !supportLists]-->1、<!--[endif]-->在使用大量线程(Treading)的场合使用线程池管理

生成和启动线程是个相对较慢的过程,生成大量的线程会严重影响java程序的性能。

通过使用线程池,有线程管理器来生成新线程或分配现有线程,节省生成线程的时间。

 

2、防止过多的同步

        不必要的同步常常会造成程序性能的下降,调用同步方法比调用非同步方法要花费更多的时间。如果程序是单线程,则没有必要使用同步。

 

3、同步方法而不要同步整个代码段

对某个方法或函数进行同步比对整个代码段进行同步的性能要好。

 

4、在追求速度的场合,用ArrayListHashMap代替VectorHashtable

VectorHashtable实现了同步以提高线程安全性,但速度较没有实现同步的ArrayListHa shMap要慢,可以根据需要选择使用的类。

 

5、使用notify()而不是notifyAll()

使用哪个方法要取决于程序的没计,但应尽可能使用notify(),因为notify()只唤醒等待指定对象的线程,比唤醒所有等待线稃的notifyAll0速度更快。

 

6、不要在循环中调用 synchronized(同步)方法   

方法的同步需要消耗相当大的资料,在一个循环中调用它绝对不是一个好主意。

 

<!--[if !supportLists]-->7、<!--[endif]-->单线程应尽量使用 HashMap, ArrayList

除非必要,否则不推荐使用 HashTable,Vector,她们使用了同步机制,而降低了性能。  

分享到:
评论

相关推荐

    阿里巴巴Java性能调优实战(2021华山版)

    阿里巴巴Java性能调优实战(2021华山版) 本资源摘要信息来自阿里巴巴Java性能调优实战(2021华山版),旨在帮助Java开发者掌握性能调优的实战经验和技术。 性能调优的重要性 性能调优是软件开发中一个非常重要的...

    阿里巴巴Java性能调优实战(2021华山版).pdf

    阿里巴巴Java性能调优实战

    阿里+Java+开发手册、阿里巴巴Java性能调优实战

    《阿里+Java+开发手册、阿里巴巴Java性能调优实战》是两本专注于Java开发和性能优化的专业书籍,分别以嵩山版和华山版的形式呈现,由阿里巴巴集团编写。这两本书籍结合了阿里巴巴在实际业务场景中的丰富经验,旨在...

    阿里巴巴Java性能调优实战(2021-2022华山版)+Java架构核心宝典+性能优化手册100技巧.rar

    阿里巴巴Java性能调优华山版是一套系统性能调优教程,!通过这份笔记的学习,你将会有一个系统的调优头脑和策略!快了何止100%?需要的朋友可下载试试! 众所周知性能调优可以使系统稳定,用户体验更佳,甚至在...

    阿里巴巴java性能调优实战手册

    "阿里巴巴java性能调优实战手册" 本手册旨在为Java开发者提供一份实践性的性能调优指南,帮助他们解决在实际项目中遇到的性能问题。作者通过自己的经验和实践,总结了Java性能调优的重要性和必要性,并分享了自己的...

    Java性能调优 6步实现项目性能全面升级+面试高频性能问题讲解.rar

    Java性能调优 6步实现项目性能全面升级+面试高频性能问题讲解视频教程分享,性能优化的N种企业级解决方案,囊括了【数据库优化】、【Tomcat优化】、【JVM优化】、【垃圾回收】、【Netty优化】、【Nginx优化】、...

    Java性能调优大全

    Java性能调优是一个复杂而重要的领域,涉及到程序的运行效率、资源消耗以及系统的稳定性。这份“Java性能调优大全”提供了全面的指南,包括VisualVM的使用、JVM的性能优化、OMM(可能是指Oracle Management Monitor...

    阿里巴巴Java性能调优实战(2021华山版).docx

    阿里巴巴Java性能调优实战(2021华山版) 本资源提供了一份阿里巴巴Java性能调优实战指南,旨在帮助Java开发者提高系统性能。该指南共分七大模块,每个模块都涵盖了Java应用服务的不同方面的性能优化。 第一个模块...

    Java性能调优PPT

    ### Java性能调优知识点概述 #### 一、高性能Java代码编写原则 - **算法与数据结构**:选择合适的数据结构可以极大地提升程序运行效率。例如,对于查找操作频繁的场景,哈希表(如`HashMap`)比链表或数组更高效。...

    阿里巴巴Java性能调优实战(2021华山版).rar

    《阿里巴巴Java性能调优实战(2021华山版)》是一本专注于Java应用程序性能优化的专业书籍,由阿里巴巴的技术专家团队倾力打造。这本书基于阿里巴巴的实际业务场景,结合丰富的实践经验,为Java开发者提供了深入、...

    Java性能调优命令

    以下是一些常用的Java性能调优命令及其用法和相关知识点。 1. jps命令用于列出所有的JVM实例。通过该命令,开发者可以快速查看本机上所有Java应用程序的进程ID。例如,使用`jps`可以列出本机所有的JVM实例。 2. ...

    47-Java性能调优实战.zip

    本专题“47-Java性能调优实战”聚焦于电商系统的分布式事务处理,旨在帮助开发者掌握如何有效地解决内存持续上升的问题以及优化网络通信和NIO实现。 首先,内存持续上升是Java应用中常见的性能问题,可能导致系统...

    78-Java性能调优实战.zip

    78-Java性能调优实战.zip78-Java性能调优实战.zip78-Java性能调优实战.zip78-Java性能调优实战.zip78-Java性能调优实战.zip78-Java性能调优实战.zip78-Java性能调优实战.zip78-Java性能调优实战.zip78-Java性能调优...

    Java性能调优指南.pptx

    【Java性能调优指南】 在Java开发中,性能调优是一项关键任务,它涉及到程序运行效率、资源利用和系统稳定性。本指南主要关注Java虚拟机(JVM)调优、编码最佳实践以及微基准测试的重要性。 **基本规则** 1. **...

    Java性能调优工具及方法介绍

    Java性能调优工具及方法介绍 可配合工具用于内存泄漏问题快速排查

    Java 性能调优 Java 性能调优 Java 性能调优

    ### Java性能调优概述 #### 一、性能优化的重要性与基本概念 在现代软件开发中,性能优化是一项至关重要的任务。对于Java开发者来说,优化不仅仅意味着让程序运行更快,还包括了减少内存消耗、提高响应速度等多个...

    Java性能调优工具简介

    Java性能调优工具简介,包括Linux系统层面的调优工具介绍和java层面调优的工具介绍

    Java 性能调优 Java 性能调优

    Java 性能调优 Java 性能调优

    java性能调优

    java 性能调优, 来自于内部分享。 java 性能调优, 来自于内部分享。

    java性能调优及原理介绍.rar

    Java性能调优是Java开发中的重要环节,它关乎应用程序的运行效率、资源占用以及用户体验。这份"java性能调优及原理介绍"的压缩包文件,很显然是为了帮助开发者深入理解并掌握这一技能。以下是根据标题和描述提炼出的...

Global site tag (gtag.js) - Google Analytics