2018年10月20日

第五章 JVM调优(待续)

摘要: Java虚拟机内存模型 JVM内存分配参数 垃圾收集基础 常用调优案列和方法 实用JVM参数 实战JVM调优 阅读全文

posted @ 2018-10-20 09:07 胡子就不刮 阅读(91) 评论(0) 推荐(0) 编辑

第四章 并行程序开发及优化(待续)

摘要: 并行程序设计模式 JDK多任务执行框架 JDK并发数据结构 并发控制方法 锁的性能和优化 无锁的并行计算 协程 阅读全文

posted @ 2018-10-20 09:04 胡子就不刮 阅读(97) 评论(0) 推荐(0) 编辑

第三章 Java程序优化(待续)

摘要: 字符串优化处理 String对象及其特点 String对象是java语言中重要的数据类型,但它并不是Java的基本数据类型。在C语言中,对字符串的处理最通常的做法是使用char数组,但这种方式的弊端是显而易见的,数组本身无法封装字符串操作所需的基本方法。而在Java语言中,String对象可以认为是 阅读全文

posted @ 2018-10-20 09:02 胡子就不刮 阅读(105) 评论(0) 推荐(0) 编辑

第二章 设计优化(待续)

摘要: 善用设计模式 单例模式 单例模式是设计模式中使用最为普遍的模式之一。它是一种对象创建模式,用于产生一个对象的具体事例,它可以确保系统中一个类只产生一个实例。在Java语言中,这样的行为带来两大好处: 因此对于系统的关键组件和被频繁使用的对象,使用单例模式便可以有效地改善系统的性能。 单例模式的核心在 阅读全文

posted @ 2018-10-20 09:00 胡子就不刮 阅读(118) 评论(0) 推荐(0) 编辑

2018年10月17日

第一章 Java性能调优概述

摘要: 性能概述 看懂程序的性能 一般来说,程序的性能能通过以下几个方面来表现: 执行速度:程序的反映是否迅速,响应时间是否足够短 内存分配:内存分配是否合理,是否过多地消耗内存或者存在泄漏 启动时间:程序从运行到可以正常处理业务需要花费多长时间 负责承受能力:当系统压力上升时,系统的执行速度、响应时间的上 阅读全文

posted @ 2018-10-17 22:42 胡子就不刮 阅读(184) 评论(0) 推荐(0) 编辑

2018年10月3日

第十章 Executor框架

摘要: 在Java中,使用线程来异步执行任务。Java线程的创建与销毁需要一定的开销,如果我们为每一个任务创建一个新线程来执行,这些线程的创建与销毁将消耗大量的计算资源。同时,为每一个任务创建一个新线程来执行,这种策略可能会使处于高负荷状态的应用最终崩溃。 Java的线程既是工作单元,也是执行机制。从JDK 阅读全文

posted @ 2018-10-03 17:01 胡子就不刮 阅读(190) 评论(0) 推荐(0) 编辑

第九章 Java中线程池

摘要: Java中的线程池是运用场景最多的并发框架,几乎所有需求异步或并发执行任务的程序都可以使用线程池。在开发过程中,合理地使用线程池能够带来3个好处。 线程池的实现原理 当向线程池提交一个任务之后,线程池是如何处理这个任务呢?如图 从图中可以看出,当提交一个新任务到线程池时,线程池的处理流程如下 (1) 阅读全文

posted @ 2018-10-03 16:53 胡子就不刮 阅读(155) 评论(0) 推荐(0) 编辑

第八章 Java中的并发工具类

摘要: 等待多线程完成的CountDownLatch countDownLatch允许一个或多个线程等待其他线程完成操作。 countDownLatch的构造函数接受一个int类型的参数作为计数器,如果你想等待N个点完成,这里就传入N 当我们调用countDownLatch的countDown方法时,N就会 阅读全文

posted @ 2018-10-03 10:49 胡子就不刮 阅读(113) 评论(0) 推荐(0) 编辑

2018年10月2日

第七章 Java中的13个原子操作类

摘要: 当程序更新一个变量时,如果多线程同时更新这个变量,可能得到期望之外的值,比如变量i = 1;A线程更新i + 1,B线程也更新i + 1,经过两个线程操作之后可能i不等于3,而是等于2,。因为A和B线程在更新变量i的时候拿到的i都是1,这就是线程不安全的更新操作,通常我们会使用synchronize 阅读全文

posted @ 2018-10-02 21:12 胡子就不刮 阅读(147) 评论(0) 推荐(0) 编辑

2018年10月1日

第六章 Java并发容器和框架

摘要: ConcurrentHashMap的实现原理与使用 ConcurrentHashMap是线程安全且高效的hashmap。本节让我们一起研究一下该容器是如何在保证线程安全的同时又能保证高效的操作。 为什么要使用ConcurrentHashMap 在并发编程中使用HashMap可能导致程序死循环。而使用 阅读全文

posted @ 2018-10-01 22:39 胡子就不刮 阅读(164) 评论(0) 推荐(0) 编辑

导航