上一页 1 ··· 26 27 28 29 30 31 32 33 34 ··· 140 下一页
摘要: 文章目标 当Java项目出现性能瓶颈的时候,通常先是对资源消耗做分析,包括CPU,文件IO,网络IO,内存;之后再结合相应工具查找消耗主体的程序代码。本文主要介绍系统资源消耗的分析过程,以及常用的Java线程分析方法。 CPU分析 在Linux中,CPU主要用于处理中断、内核及用户任务,优先级为:中 阅读全文
posted @ 2017-12-25 14:44 有梦就能实现 阅读(4013) 评论(0) 推荐(1) 编辑
摘要: 在大型的应用中,线程堆栈打印出来特别多,如何从众多的信息中找到真正有用,有价值的信息,我们需要一定的技巧。本文对此详细介绍。 我们可以从三个方面分析:堆栈的局部信息,一次堆栈的统计信息,多个堆栈的对比信息。 从一次的堆栈信息中,我们可以直接获取以下信息: 每一个线程的调用关系,当前线程在调用哪些函数 阅读全文
posted @ 2017-12-25 14:34 有梦就能实现 阅读(683) 评论(0) 推荐(1) 编辑
摘要: 写在前面: 线程堆栈应该是多线程类应用程序非功能问题定位的最有效手段,可以说是杀手锏。线程堆栈最擅长与分析如下类型问题: 系统无缘无故CPU过高。 系统挂起,无响应。 系统运行越来越慢。 性能瓶颈(如无法充分利用CPU等) 线程死锁、死循环,饿死等。 由于线程数量太多导致系统失败(如无法创建线程等) 阅读全文
posted @ 2017-12-25 14:31 有梦就能实现 阅读(870) 评论(0) 推荐(0) 编辑
摘要: 采用Java开发的大型应用系统越来越大,越来越复杂,很多系统集成在一起,整个系统看起来像个黑盒子。系统运行遭遇问题(系统停止响应,运行越来越慢,或者性能低下,甚至系统宕掉),如何速度命中问题的根本原因是我们接下来讲的目的。本系列文章将Java问题定位的方法体系化,提供一种以黑盒子方式进行问题定位的思 阅读全文
posted @ 2017-12-25 14:30 有梦就能实现 阅读(4913) 评论(0) 推荐(0) 编辑
摘要: 对于CPU而言,常见的瓶颈主要有两种:服务器的压力很小,但是CPU的利用率却很高,这样的性能瓶颈相对比较容易定位(好比我只是说了你一句,你就哭了,你的弱点立马就暴露出来了);给服务器施加的压力很大,但是CPU的利用率总是很低,也就是压力上不去,这类瓶颈最常见,定位起来也最困难(类似我对你用尽了各种手 阅读全文
posted @ 2017-12-25 14:25 有梦就能实现 阅读(3076) 评论(0) 推荐(0) 编辑
摘要: 1. 基本数据类型(以int为例,其他类似):Controller代码: 表单代码: 表单中input的name值和Controller的参数变量名保持一致,就能完成数据绑定,如果不一致可以使用@RequestParam注解。需要注意的是,如果Controller方法参数中定义的是基本数据类型,但是 阅读全文
posted @ 2017-12-24 16:15 有梦就能实现 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 我用的是64位的windows7旗舰版,jdk1.7 64位机器上可以同时运行32位和64位的Eclipse,但是电脑中必须有相应的jdk。Eclipse虽然不需要安装,但是在启动时会检查系统中固定文件夹下是否有合适的jre。例如32位Eclipse会检查 C:/program files(x86) 阅读全文
posted @ 2017-12-24 15:46 有梦就能实现 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 1、介绍Collection框架的结构 集合是Java中的一个非常重要的一个知识点,主要分为List、Set、Map、Queue三大数据结构。它们在Java中的结构关系如下: Collection接口是List、Set、Queue的父级接口。 Set接口有两个常用的实现类:HashSet和TreeS 阅读全文
posted @ 2017-12-24 14:33 有梦就能实现 阅读(218) 评论(0) 推荐(0) 编辑
摘要: Servlet不是线程安全的。 要解释为什么Servlet为什么不是线程安全的,需要了解Servlet容器(即Tomcat)使如何响应HTTP请求的。 当Tomcat接收到Client的HTTP请求时,Tomcat从线程池中取出一个线程,之后找到该请求对应的Servlet对象并进行初始化,之后调用s 阅读全文
posted @ 2017-12-24 14:25 有梦就能实现 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 公司是做社交相关产品的,社交类产品对搜索功能需求要求就比较高,需要根据用户城市、用户ID昵称等进行搜索。 项目原先的搜索接口采用SQL查询的方式实现,数据库表采用了按城市分表的方式。但随着业务的发展,搜索接口调用频次越来越高,搜索接口压力越来越大,搜索数据库经常崩溃,从而导致搜索功能经常不能使用。 阅读全文
posted @ 2017-12-24 14:22 有梦就能实现 阅读(313) 评论(0) 推荐(0) 编辑
上一页 1 ··· 26 27 28 29 30 31 32 33 34 ··· 140 下一页