并发 性能
vincentff7zg
。
展开
-
Java中的锁
笔记:偏向锁(避免自己不断lock或者unlock获取同步块的开销):假设当前线程A在不断lock或者unlock过程中,没有任何其他线程获取该锁。则实际上不需要同步。即A第一次获取锁是使用CAS标记当前线程ID为自己,然后后续都不需要同步。如果线程B也需要获取该锁,首次时检查当前线程ID不是自己,会标记。当到达安全点???(此时,没有正在执行的字节码??线程B将当前线程ID标记为转载 2017-02-15 15:21:30 · 809 阅读 · 0 评论 -
10种简单的Java性能优化
以下转载自:http://www.importnew.com/16181.html本文由 ImportNew - 一直在路上 翻译自 jaxenter。欢迎加入翻译小组。转载请见文末要求。你是否正打算优化hashCode()方法?是否想要绕开正则表达式?Lukas Eder介绍了很多简单方便的性能优化小贴士以及扩展程序性能的技巧。最近“全网域(Web Sca转载 2017-03-27 11:10:21 · 267 阅读 · 0 评论 -
十个免费的 Web 压力测试工具
想偷懒就用apache benchmark以下转载自:http://www.oschina.net/news/30374/10-free-tools-to-loadstress-test-your-web?from=rss本文列举了是十个免费工具,可以用来进行Web的负载/压力测试的。这样你就可以知道你的服务器以及你的WEB应用能够扛得住多少的并发量,以及网站性转载 2017-02-13 10:16:48 · 249 阅读 · 0 评论 -
JAVA守护线程 非守护线程
笔记:第一篇转载写的比较好,将守护线程同linux的守护进程概念进行了对比。当非守护线程执行完jvm就退出,不管是否还有守护线程在执行。所以守护线程尽量不要执行逻辑代码,顶多执行一些可有可无的辅助性代码。什么东西作为守护线程,还是不太明确?第二篇举了一个实际例子,可以加深理解。以下转载自:http://blog.csdn.net/basycia/article/deta转载 2017-02-21 10:35:19 · 3343 阅读 · 0 评论 -
死锁实现和怎样分析死锁
总结:最简单的死锁是:线程A持有锁1申请锁2,同时线程B持有锁2申请锁1。-------如果两个线程申请顺序一致,释放顺序同申请顺序也一致,是不会死锁的。使用visualvm查看死锁:首先会提示发现死锁,然后点击“线程dump”查看blocked或者wait的线程,其中Locked ownable synchronizers:表示当前线程持有的锁资源,parking to wa转载 2017-02-21 09:54:49 · 467 阅读 · 0 评论 -
java之sleep, wait, notify, notifyall
Sleepsleep语义:放弃CPU资源,并告诉操作系统未来N时间内不参与CPU资源竞争。由于是竞争,所以超过N时间,也可能仍竞争不到。sleep不释放资源锁:如果持有锁,则sleep时仍然持有。sleep可以被中断唤醒。sleep(0)语义:告诉系统重新进行一次CPU资源竞争,自己仍可能抢占到CPU资源。缺点是频繁执行会耗费大量CPU时间,优点是适当使用可以提高系统总体响应性能。原创 2017-02-20 11:41:10 · 597 阅读 · 0 评论 -
lock与synchronized的比较
整理自http://blog.csdn.net/chengguotao/article/details/50498090?locationNum=2&fps=1:Lock是一个接口,而synchronized是Java中的关键字,synchronized是内置的语言实现;synchronized在发生异常时,会自动释放线程占有的锁,因此不会导致死锁现象发生;而Lock在发生异常时,如果转载 2017-02-20 10:05:05 · 197 阅读 · 0 评论 -
JProfiler入门使用教程:Eclipse集成
以下转载自:http://blog.csdn.net/peter123asd/article/details/49476573整合到Eclipse,(执行整合前,先关闭Eclipse) 主菜单–> Session –>IDE Intergrations –>选择Eclipse (某版本)执行“Integrate” ,选择Eclipse所在的文件夹。如:D:\Java\e转载 2017-03-27 11:36:11 · 519 阅读 · 0 评论