Java性能调优
文章平均质量分 86
Iovems
这个作者很懒,什么都没留下…
展开
-
3.Java程序优化-核心数据结构
List接口 ArrayList,Vector和LinkedList中,ArrayList和Vector使用数组实现,可以认为ArrayList和Vector封装了对内部数组的操作。对ArrayList和Vector的操作,等价于对内部数组对象的操作。 ArrayList和Vector几乎使用了相同的算法,它们唯一的区别是对多线程的支持。ArrayList没有对任何一个方法做...原创 2018-04-01 20:14:47 · 1041 阅读 · 0 评论 -
5.Java程序优化-直接内存访问
Buffer提供了可以直接访问系统物理内存的类-DirectBuffer。DirectBuffer继承自ByteBuffer,ByteBuffer任然在JVM堆上分配内存,其最大内存,受到最大堆的限制。而DirectBuffer直接分配到物理内存中,并不占用堆空间。 在对ByteBuffer进行访问的时候,系统会使用一个“内核缓冲区”进行间接的操作。而DirectBuff...原创 2018-03-27 09:05:23 · 1556 阅读 · 0 评论 -
2.Java程序优化-字符串优化处理之StringBuffer和StringBuilder
为什么需要使用StringBuffer或StringBuilder类 由于String对象是不可变的,所以在需要对字符串进行修改时,如果使用String,String对象总是会生成新的对象,所以,其性能比较差。 在这个时候,推荐使用StringBuffer和StringBuilder类。StringBuilder result = new StringBuilder...原创 2018-03-22 20:48:32 · 1109 阅读 · 0 评论 -
1.Java程序优化-字符串优化处理
String对象及其特点 String并不是Java的基本数据类型,从String的代码实现来说,它主要包括三个部分:char数组,偏移量和String的长度。char数组表示String的内容,它是String对象所表示的字符串的超集。String的真实内容还需要由偏移量和长度在这个char数组中进行定位和截取。 String对象具有三个基本特点: 不变性:S...原创 2018-03-22 10:06:56 · 611 阅读 · 0 评论 -
14.并行程序优化-协程
Mark:等会写;原创 2018-04-07 21:02:43 · 1148 阅读 · 0 评论 -
13.并行程序优化-无锁的并行计算
为了确保数据的线程安全,使用"锁"是最直接的方式。但是,在高并发时,对"锁"的激烈竞争可能会成为系统的瓶颈。 为此,我们提出了一种非阻塞同步的方法,这种方法不需要锁(因此,称之为无锁),但依然能确保数据在高并发环境下保持多线程之间的一致性。 我们接下来讲的就是,这种无锁的同步方法,是怎么实现的?以及怎么用?非阻塞的同步/无锁 这一段只是概述,如果对...原创 2018-04-07 21:02:04 · 1474 阅读 · 0 评论 -
12.并行程序优化-锁的性能和优化
Mark:等会写;原创 2018-04-07 21:01:27 · 1177 阅读 · 0 评论 -
11.并行程序优化-并发控制方法
Mark:等会写;原创 2018-04-07 20:54:50 · 1233 阅读 · 0 评论 -
10.并行程序优化-JDK并发数据结构
Mark:等会写;原创 2018-04-07 20:54:13 · 1088 阅读 · 0 评论 -
9.并行程序优化-JDK多任务执行框架
Mark:等会写;原创 2018-04-07 20:53:39 · 1162 阅读 · 0 评论 -
8.并行程序优化-并行程序设计模式
Mark:等会写;原创 2018-04-07 20:52:46 · 1351 阅读 · 0 评论 -
7.Java程序优化-有助于改善性能的编程技巧
慎用异常 经常使用的try-catch捕获异常对系统性能而言是非常糟糕的。 虽然在一次try-catch中,无法察觉到它对性能带来的损失。但一旦把try-catch放在循环当中,就会给系统性能带来极大的伤害。//try-catch在循环内,这段代码耗时110msint a=0;for(int i=0;i<100000000;i++){ try{ ...原创 2018-04-07 15:42:26 · 1585 阅读 · 0 评论 -
4.Java程序优化-NIO
前言 Java标准I/O中,提供了基于流的I/O实现,即InputStream和OutputStream,以字节为单位处理数据,并且非常容易建立各种过滤器。 NIO是New I/O的简称,具有以下的几个特点: 1.为所有的原始类型提供(Buffer)缓存支持; 2.使用Java.nio.charset.Charset作为字符集编码解码解...原创 2018-03-26 20:29:17 · 974 阅读 · 0 评论 -
6.Java程序优化-引用类型
前言 有4个级别的引用:强引用,软引用,弱引用和虚引用。在这4个引用级别中,只有强引用FinalReference类是包内可见的,其他3中引用类型均为public,可以在应用程序中直接使用。强引用 类似于指针,通过引用可以对堆中的对象进行操作。当创建一个对象时,该对象被分配到堆中,通过这个对象的引用才能对这个对象进行操作。StringBuffer str = new Strin...原创 2018-03-27 15:00:07 · 883 阅读 · 0 评论