摘要:
构建高可用的ActiveMQ系统在生产环境中是非常重要的,对于这个apache的消息中间件实现高可用非常简单,只要在Apache ActiveMQ单点基本配置基础上做一次配置变更(如果在一台设备上部署多个AMQ,需要修改对应端口号),即可实现AMQ实现高可用部署有三种方案:1、Master-Slav... 阅读全文
摘要:
原文链接:http://www.cnblogs.com/zhengyun_ustc/archive/2013/01/06/dumpanalysis.html转来当笔记^_^jstack Dump 日志文件中的线程状态dump 文件里,值得关注的线程状态有:死锁,Deadlock(重点关注)执行中,R... 阅读全文
摘要:
导读:Java多线程开发给程序带来好处的同时,由于多线程程序导致的问题也越来越多,而且对问题的查找和分析解决对于菜鸟程序原来是是件头疼的事。下面我就项目中使用多线程开发程序过程中遇到的问题做详细的分析和解决思路的分享。本人也属菜鸟,忘大神指点。项目描述:工作中要编写一份程序用于爬取某某网站上的大量图... 阅读全文
摘要:
1 同步 如何同步多个线程对共享资源的访问是多线程编程中最基本的问题之一。当多个线程并发访问共享数据时会出现数据处于计算中间状态或者不一致的问题,从而影响到程序的正确运行。我们通常把这种情况叫做竞争条件(race condition),把并发访问共享数据的代码叫做关键区域(critical sect... 阅读全文
摘要:
最近项目开发中用到了Redis, 选择了官网推荐的java client Jedis。Redis常用命令学习:http://redis.io/commandsRedis官方推荐Java客户端Jedis(包含了所有Redis命令的实现):https://github.com/xetorthio/jed... 阅读全文
摘要:
本文没有使用任何comet服务器, 只是利用tomcat模拟实现了一下comet, 不是真正的comet哦,因为不会有这样的应用场景, 只是模拟实现, 仅供参考.一. 需求.实现将服务端的时间推送到客户端, 客户端在得到服务端相应后将时间显示在页面上.二.实现.1开发框架: 用jsp+servlet... 阅读全文
摘要:
为什么要这么说呢, 因为笔者被这个坑过(其实是自己坑自己)╮(╯_╰)╭先看一段synchronized的详解:synchronized 是 java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。一、当两个并发线程访问同一个对象object中... 阅读全文
摘要:
工作中往往会遇到异步去执行某段逻辑, 然后先处理其他事情, 处理完后再把那段逻辑的处理结果进行汇总的产景, 这时候就需要使用线程了.一个线程启动之后, 是异步的去执行需要执行的内容的, 不会影响主线程的流程, 往往需要让主线程指定后, 等待子线程的完成. 这里有几种方式.站在 主线程的角度, 我们可... 阅读全文
摘要:
前言Java Thread Dump 是一个非常有用的应用诊断工具, 通过thread dump出来的信息, 可以定位到你需要了解的线程, 以及这个线程的调用栈. 如果配合linux的top命令, 可以找到你的系统中的最耗CPU的线程代码段, 这样才能有针对性地进行优化.场景和实践 2.1. 后台... 阅读全文
摘要:
java thread的运行周期中, 有几种状态, 在 java.lang.Thread.State 中有详细定义和说明:NEW状态是指线程刚创建, 尚未启动RUNNABLE状态是线程正在正常运行中, 当然可能会有某种耗时计算/IO等待的操作/CPU时间片切换等, 这个状态下发生的等待一般是其他系统... 阅读全文