本月博客排行
-
第1名
龙儿筝 -
第2名
lerf -
第3名
paulwong - fantaxy025025
- johnsmith9th
- xiangjie88
- zysnba
年度博客排行
-
第1名
青否云后端云 -
第2名
宏天软件 -
第3名
gashero - wy_19921005
- vipbooks
- benladeng5225
- e_e
- wallimn
- javashop
- ranbuijj
- fantaxy025025
- gengyun12
- jickcai
- zw7534313
- qepwqnp
- 解宜然
- ssydxa219
- zysnba
- sam123456gz
- sichunli_030
- tanling8334
- arpenker
- gaojingsong
- xpenxpen
- kaizi1992
- jh108020
- wiseboyloves
- ganxueyun
- xyuma
- xiangjie88
- wangchen.ily
- Jameslyy
- 龙儿筝
- luxurioust
- mengjichen
- lemonhandsome
- jbosscn
- zxq_2017
- nychen2000
- lzyfn123
- forestqqqq
- wjianwei666
- ajinn
- siemens800
- zhanjia
- Xeden
- hanbaohong
- java-007
- 喧嚣求静
- kingwell.leng
最新文章列表
Java分布式应用学习笔记07线程池应用(又名:线程池与大排档)
1. 线程池是啥子
一说到池子,大家都会想到数据库连接池那种对象池。本来嘛,现在倡导废物回收利用的节能环保绿色新社会嘛。其实线程池的初衷就是能将已经创建好了的线程对象重复利用。之前咱们说过对于一个分布式系统,离不开高并发、多线程的支持。那么无论是HTTP方式的,还是文件方式的,面对海量的客户端请求,作为服务端如果对于请求使用单线程阻塞方式显然是不可能的。JDK5之后为咱们提供了现成的线程池对象。 ...
用apache web server做负载均衡搭建tomcat cluster
搭建tomcat集群时,做负载均衡主要有两种方式。
1.利用apache作负载均衡,使用JK native connector,用ajp协议连接tomcat server;
2.使用反向代理技术实现负载均衡,这种技术可使用的方式就很多了,只要是支持反向代理的软件都可以使用。比如可以使用apache的proxy模块,也可以使用nginx。但nginx现在还没有对sticky session提供一个 ...
Java分布式应用学习笔记06浅谈并发加锁机制分析
1. 前言
之前总结的多线程的调度、并发调度、线程加锁安全等等并发包底层大都使用了线程锁机制。咱们通过锁的源码来看看JDK如何将这些资源进行加锁限制的,怎么就能做到线程集中等待后就唤醒主线程的。
2. 一段并发包源码
以下是java.util.concurrent.CyclicBarrier的底层代码片段。
private int dowait(boolean timed, lo ...
IBM WebSphere MQ 集群总结
集群是两个或更多队列管理器的组,这些队列管理器在逻辑上是关联的并可在彼此之间共享信息。任何队列管理器都可对同一集群中的任何其他队列管理器发送消息而无需设置特定的通道定义、远程队列定义或传输队列,这是因为所有这些信息都保留在存储库中,此集群中的所有队列管理器都对此存储库拥有访问权。
当然,我们也可以将APP1、APP2上的两个不同的队列管理器QM1、QM2进行集群。方法如下: ...
Mysql 基于 Amoeba 的 水平和垂直 分片
环境:
Servers
Amoeba Server (Linux): 192.168.14.129
Mysql 1 Server (Linux): 192.168.14.131
Mysql 2 Server (Linux): 192.168.14.133
Clients
Mysql GUI Tools (Windows): 192.168.14.28
Java ...
Java分布式应用学习笔记05多线程下的并发同步器----后篇
5. CountDownLatch
很多资料上都说CountDownLatch是倒数计数器,我觉得这种说法太过专业,其实它就是一个数数的人员。利用它,可以在多线程执行任务完毕后完成进行多线程的等待,便于等待所有的线程之后在干别的事情,这个有点类似于FutureTask,使用上不太一样。这个场景就是一个线程必须要等到其他线程执行完毕后才能往下执行,注意,这里这个线程没必要需要其他线程的执行结果,而 ...
Java分布式应用学习笔记05多线程下的并发同步器----前篇
1. 前言
JDK提供的并发包,除了上一篇提到的用于集合外,还有线程的调度、协作、调度等等功能。上篇提到过,线程之间除了竞争关系,还有协作关系。在高并发环境下有效利用Java并发包解决线程之间协作的特殊场景。在并行计算,尤其是多线程计算的结果集合并的时候都需要用到这些并发同步器。还有一种使用场景,就是跨越多台机器(实机)的多线程进行并行运算,需要将多台机器进行结果集的汇总,合并。其原理核心也是使 ...
Java分布式应用学习笔记04JDK的并发包的集合总结---后篇
唉~这一大篇blog又是只能显示部分,部分内容被截断了。。。。
4. Set的并发
CopyOnWriteArraySet和CopyOnWriteArrayList底层实现差不多,就是在添加元素的时候需要对对象进行唯一性判断,如果对象数组已经含有重复的元素,不进行增加处理。在此不再赘述。
5. Queue的并发
队列的并发类是java.util.concurrent.ArrayBl ...
Java分布式应用学习笔记04JDK的并发包的集合总结---前篇
1. 前言
平时咱们使用的HashMap、ArrayList等等容器集合包都存在线程安全的问题,看过JDK源码的各位朋友们知道这些实现类底层,为了性能,都没有对这些集合的操作方法做加锁或者副本传递机制,只有Vector和Stack是线程安全的,大家可以看它们的源码,底层方法是以在方法上加上synchronized作为代价的,换句话说是用时间换取空间的方式。Sun JDK对多线程并发环境下做了很多 ...
Java分布式应用学习笔记02再谈JVM---续
唉~~因为blog总显示不全只能分为2个了,排版也不是很好,凑合着看吧。
客户端执行的优化策略有如下3种措施
方法内联:一个方法的执行离不开其他方法的支持,若调用的其他方法十分简单。那么调用的时候会将被调用那个方法里面所有的内容粘到主调方法中,这样做的好处是节省参数变量,中间变量的资源和返回值的资源申请位置。
private void
Java分布式应用学习笔记02再谈JVM
1. 前言-为何要再谈JVM
很多人认为,分布式Java应用看上去好像和Java虚拟机没什么太多关注的东西,别说分布式系统了,就是一个单机JavaSE系统也不用将JVM学得透透的,有个JVM执行不就行了吗。据笔者的经验回答则是,在大型分布式系统,尤其是云计算服务平台,SAAS也好,PAAS也罢,要求编写的应用必须要高效,你就当你运行的是一个配置很小的机器上,要求资源比较苛刻。所以了解,甚至再学习 ...
tomcat集群和负载均衡
实践中整理出tomcat集群和负载均衡
(一)环境说明
(1)服务器有4台,一台安装apache,三台安装tomcat
(2)apache2.0.55、tomcat5.5.15、jk2.0.4、jdk1.5.6或jdk1.4.2
(3)ip配置,一台安装apache的ip为192.168.0.88,三台安装tomcat的服务器ip分别为192.168.0.1/2/4
(二)安装过 ...
学习笔记:oscache集群配置
最近几天看了oscache,功能还是挺强大的,oscache集群配置网上有很好详解.家里有两台电脑,正好学下weblogic的集群配置,记录下我配置中遇到的几个问题:
1.weblogic配置集群的时候,对IP地址有要求必须是IP广播(UDP)可到达的..
2.oscache在JSP使用cacha标签的时候在tomcat下运行没问题,到weblogic下访问的时候报错,报no tag li ...
为什么hibernate会插入两条相同的记录(偶尔)
前几天和朋友讨论他遇到的问题:为什么hibernate会插入两条相同的记录(偶尔)?
是这么回事:
有两个表: A表 ,B表 一对一的关系,通过Quartz定时任务轮循A表,如果A表有新记录,则插入一条新记录到B表,如果B表已存在记录则更新此记录;
为什么新插入到B表的数据偶尔会出现两条呢?
还有个奇怪的事,在本地测试永远不会出现两条相同的,放在测试服务器就偶尔会出现。
...