- 浏览: 153816 次
- 性别:
- 来自: 深圳
最新评论
-
lanhaitun1991:
亲,其实你这里介绍的方法有一个最大的问题:如果放入队列之后,但 ...
分布式事务 -
lp385267935:
不错 很好用~3Q
jsonlib json-->object,忽略object中没有的属性 -
xiebo1983:
http://www.sqkoo.com/show/detai ...
mysql latin1乱码 -
envy2002:
当然可以了,tomcat中源码你可以看看,只要“欺骗”过去to ...
tomcat中的长连接 -
newSaa:
问一下,可以在 tomcat 建立tcp 长连接吗?
tomcat中的长连接
文章列表
虚拟机创建好了,还有一些瑕疵。比如分辨率很低。如何和宿主操作系统交互等。这里我把网络上高人的解决方法摘录到我的博客,以备查找。
ubuntu我们安装的时候,是有个默认用户的,但是这个默认用户的权限不是那么 ...
运行虚拟机
1.现在的虚拟机挺多的,好像有vmware, virtalbox(德国人的,好像被oracle收购了,其目录是oracle,从我开始计划要在IT行业混,oracle好像就一直在收购,mysql,sun,谁知道它又要吃掉谁呢,呵呵).赵炯博士的《linux内核完全注释》有个bochs,好像还有个virtualPC的,反正虚拟化产品挺多的。本文选择virtalbox,因为其开源,简单好用。
下载安装virtualbox Windows版本,其还有个Linux版本。安装好之后。
双击图标,进入开始设置我们的虚拟机。其主要控制有3个按钮,新建( ...
哲学家进餐问题
http://users.rcn.com/ziring/java.html牛人网址,原版
由于这个问题比较复杂,本人也没细细分析,在网上搜出一个正确的解答,还有一些论文,给大家学习。
package Power.Thread.jincan2;
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
/**
* A s ...
线程间的通信 如果线程只是傻傻地一个劲的“排他的”前行,那必然是愚蠢的。线程间需要通信,他们需协作才完成某项任务。线 ...
- 2008-12-04 19:06
- 浏览 1326
- 评论(0)
线程的死锁
如果多个线程操作多个对象互相请求,那么会引起死锁。
package deadlock;
public class SomeBody {
private String name;
private SomeBody other;
public SomeBody(String name)
{
this.name=name;
}
public synchronized void saySomeThing()
{
System.out.println(this.name+"1111111111"+Thread.currentThread( ...
- 2008-12-04 14:07
- 浏览 880
- 评论(0)
在上一篇中,我们当然希望a++,b++执行完之后,show方法再来show.我们需要的是“原子”动作,一次性地把a++,b++不间断地执行。在java中是利用“互斥”的方法,互斥谁呢?互斥的是相同对象的加锁代码。如果我们把第一篇的SomeBody的方法someBodyDo加上关键字synchronized,表面加上了排斥锁,再只生产一个“小明”对象,生产两个线程,同时启动,你会发现,第一个线程执行完了之后,才执行第二个线程,或者第二个线程执行完后,才执行第一个线程。如果你生产一个“小明”对象,再一个“大刚”对象,对应的一个小明线程doSomeThing,一个大刚doSomeThing,
你会发现 ...
并发执行最理想的状况是让一些“毫不相干”的Somebody自己做自己的事情,和别人无关。但是事实让确非如此,因为在哲学上讲,世界是一个整体,每个个体之间都存在联系,我们让一些东西不相干,是我们人类为了简化问题, ...
- 2008-12-04 12:47
- 浏览 890
- 评论(0)
在开始这个话题之前,我们先聊一下线程。线程的目的就是为了让一些程序片段能够“同时”进行,至少是视觉上。因为实际上,这些程序片段是“交替”执行的。如图1
在途中,线程A和线程B轮流交替地占有CPU的处理时间。也许有人说,CPU总的计算量并没有降低啊,确实如此,还可以切换线程,还增加了一点点的计算量。如果现在有一个很长很复杂很费时的计算任务,和一个精彩电影的播放任务,那我们当然愿意选择让这两个不太相干的任务同时并发执行。由此可见线程的目的是用一些调度算法,使电脑用户不会“等待”的不耐烦。因为绝大多数的用户都希望计算机体贴周到,富有人性化,提供更好的服务。事实上,我们在计算机上做的很多革新,就是为了 ...
- 2008-12-03 21:41
- 浏览 1403
- 评论(0)
java NIO socket
普通的java 阻塞的socket IO,需要对每个socket起一个单独的线程。这样线程多的话,线程的上下文切换,会消耗大量的cpu资源。如图:
普通socket形式如下 ...
Thread.interrupt
- 博客分类:
- java基础技术
Thread.interrupt(),就是置状态。
public void run() {
//死循环执行打印"I am running!" 和做消耗时间的浮点计算
while (true) {
System.out.println("I am running!");
for (int i = 0; i < 900000; i++) {
d = d + (Math.PI + Math.E) / d;
}
try {
Thread.sleep(500 ...
1.jar包,应该用带有二步提交事务的驱动,mysql-connector-java-5.1.6-bin.jar
import javax.transaction.xa.Xid;
class MyXid implements Xid{
int formatId;
byte globalTransactionId[];
byte branchQualifier[];
public MyXid(){
}
public MyXid(int formatId,byte[] globalTransactio ...
分布式事务
现在遇到了几个项目,这些项目都有一个共同特点,就是要求分布式事务。能够满足跨系统的保持数据的一致性。举个简单例子,我没钱买房,问老婆借了1万块,到期了,该还给老婆了,那就转账吧。如图:
我的银行卡是招商银行的,老婆的银行卡是中国银行的,很显然这就是个分布式事务了,招行要完成的动作是A(我的账号)-10000, 中行的动作时B+10000,两个动作比如同时成功才OK,如图。
上网查了一下,这种分布式事务是有个开放协议的叫x/open,主要采 ...
最近在学习spring mvc.
网上了收集了一下SimpleFormController的流程,大都是这样说的:
url请求来到时,这样处理: get 方法 a) 请求传递给一个controller对象 b) 调用formBackingObject()方法,创建一个command对象的实例。 c) 调用initBinder(),注册需要的类型转换器 d) 调用showForm()方法,返回准备呈现给用户的视图 e) 调用referenceData()方法,准备给用户显示相关的数据。如用户登录需要选择的年度信息 f) 返回formView指定的 ...
今天在interview Street上面看到一个题目。有了灵感,特记录下来。
题目是这样的:
Connect the country (20 Points)
We have a country containing N cities. Each day we choose 2 cities such that there is no road between them and build a road between them. We choose each pair of nonadjacent cities with equal probability. Let X be ...
ASM 使用的一个范例。
- 博客分类:
- java基础技术
现在开始研究Junit,试图通过Junit来改善自己的编程,看了一两天,觉得自己懂了,开始上马。
同事写了一个byte 数组转 json的组件,我的目标是通过撰写 Juit的测试用例来测试这些组件是否OK。
一上来就遇到了一个不小的麻烦,我的测试主要是来比较两个“对象”是否相等,给定了一个byte数组,组件返回给我了一个
json对象,我也自己模拟了一个json对象,我需要用JSONObject.equals来判断两个对象是否相等,很遗憾,同时用的是
org.json,但不是json-lib中的 net.sf.json中的JSONObject,json-li ...