战狂粗人张

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 23 下一页

2020年3月24日

摘要: 一.为什么要用线程池 (1)减少资源的开销 ; (2)减少了创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务。 (3)提高响应速度 ,每次请求到来时,由于线程的创建已经完成,故可以直接执行任务,因此提高了响应速度。 提高线程的可管理性 ,线程是一种稀缺资源,若不加以限制,不仅会占用 阅读全文
posted @ 2020-03-24 21:29 战狂粗人张 阅读(166) 评论(0) 推荐(0) 编辑

摘要: 一.基础概念 1.Executors创建线程池: Java中创建线程池很简单,只需要调用Executors中相应的便捷方法即可,比如Executors.newFixedThreadPool(int nThreads),但是便捷不仅隐藏了复杂性,也埋下了潜在的隐患(OOM,线程耗尽)。 Executo 阅读全文
posted @ 2020-03-24 20:16 战狂粗人张 阅读(132) 评论(0) 推荐(0) 编辑

2020年2月12日

摘要: 一.概述 简单来说 MySQL 主要分为 Server 层和存储引擎层: 1、Server 层: 主要包括连接器、查询缓存、分析器、优化器、执行器等,所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图,函数等,还有一个通用的日志模块 binglog 日志模块。 2、存储引擎: 主要负责数 阅读全文
posted @ 2020-02-12 14:35 战狂粗人张 阅读(130) 评论(0) 推荐(0) 编辑

摘要: 线程分析篇 Java 语言能够很好的实现多线程应用程序。当对一个多线程应用程序进行调试或者开发后期做性能调优的时候,往往需要了解当前程序中所有线程的运行状态,是否有死锁、热锁等情况的发生,从而分析系统可能存在的问题。 在 VisualVM 的监视标签内,可以查看当前应用程序中所有活动线程(Live 阅读全文
posted @ 2020-02-12 14:20 战狂粗人张 阅读(196) 评论(0) 推荐(0) 编辑

摘要: CPU分析篇 CPU 性能分析的主要目的是统计函数的调用情况及执行时间,或者更简单的情况就是统计应用程序的 CPU 使用情况。 没有程序运行时的 CPU 使用情况如下图: 运行一段 占用CPU 的小程序,代码如下 package jvisualVM; public class MemoryCpuTe 阅读全文
posted @ 2020-02-12 14:19 战狂粗人张 阅读(126) 评论(0) 推荐(0) 编辑

摘要: 内存分析篇 VisualVM 通过检测 JVM 中加载的类和对象信息等帮助我们分析内存使用情况,我们可以通过 VisualVM 的监视标签对应用程序进行内存分析。 一.内存堆Heap 首先我们来看内存堆Heap使用情况,我本机eclipse的进程在visualVM显示如下: 随便写个小程序占用内存大 阅读全文
posted @ 2020-02-12 14:12 战狂粗人张 阅读(122) 评论(0) 推荐(0) 编辑

2020年2月10日

摘要: 概述 开发大型 Java 应用程序的过程中难免遇到内存泄露、性能瓶颈等问题,比如文件、网络、数据库的连接未释放,未优化的算法等。 随着应用程序的持续运行,可能会造成整个系统运行效率下降,严重的则会造成系统崩溃。 为了找出程序中隐藏的这些问题,在项目开发后期往往会使用性能分析工具来对应用程序的性能进行 阅读全文
posted @ 2020-02-10 15:24 战狂粗人张 阅读(314) 评论(0) 推荐(0) 编辑

摘要: 准备模拟内存泄漏样例 1、定义静态变量HashMap 2、分段循环创建对象,并加入HashMap 代码如下: import java.util.HashMap; import java.util.Map; public class CyclicDependencies { //声明缓存对象 priv 阅读全文
posted @ 2020-02-10 15:08 战狂粗人张 阅读(197) 评论(0) 推荐(0) 编辑

摘要: JVisualVM 简介 VisualVM 是Netbeans的profile子项目,已在JDK6.0 update 7 中自带,能够监控线程,内存情况,查看方法的CPU时间和内存中的对 象,已被GC的对象,反向查看分配的堆栈(如100个String对象分别由哪几个对象分配出来的)。 在JDK_HO 阅读全文
posted @ 2020-02-10 14:49 战狂粗人张 阅读(212) 评论(0) 推荐(0) 编辑

2020年1月28日

摘要: 一.需求 一般业界,对订单数据的分库分表,有两类思路:按照订单号来切分、按照用户id来切分。 二.按照订单号来做 hash分散订单数据 把订单号看作是一个字符串,做 hash,分散到多个服务器去。 具体到哪个库、哪个表存储数据呢?订单号里面的数字来记录着。 如果要查询某用户的所有订单呢? 由于是根据 阅读全文
posted @ 2020-01-28 16:51 战狂粗人张 阅读(571) 评论(0) 推荐(0) 编辑

上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 23 下一页