`
envy2002
  • 浏览: 153816 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
文章列表
虚拟机创建好了,还有一些瑕疵。比如分辨率很低。如何和宿主操作系统交互等。这里我把网络上高人的解决方法摘录到我的博客,以备查找。     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 ...
                                                             线程间的通信    如果线程只是傻傻地一个劲的“排他的”前行,那必然是愚蠢的。线程间需要通信,他们需协作才完成某项任务。线 ...
线程的死锁  如果多个线程操作多个对象互相请求,那么会引起死锁。   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( ...
在上一篇中,我们当然希望a++,b++执行完之后,show方法再来show.我们需要的是“原子”动作,一次性地把a++,b++不间断地执行。在java中是利用“互斥”的方法,互斥谁呢?互斥的是相同对象的加锁代码。如果我们把第一篇的SomeBody的方法someBodyDo加上关键字synchronized,表面加上了排斥锁,再只生产一个“小明”对象,生产两个线程,同时启动,你会发现,第一个线程执行完了之后,才执行第二个线程,或者第二个线程执行完后,才执行第一个线程。如果你生产一个“小明”对象,再一个“大刚”对象,对应的一个小明线程doSomeThing,一个大刚doSomeThing, 你会发现 ...
并发执行最理想的状况是让一些“毫不相干”的Somebody自己做自己的事情,和别人无关。但是事实让确非如此,因为在哲学上讲,世界是一个整体,每个个体之间都存在联系,我们让一些东西不相干,是我们人类为了简化问题, ...
在开始这个话题之前,我们先聊一下线程。线程的目的就是为了让一些程序片段能够“同时”进行,至少是视觉上。因为实际上,这些程序片段是“交替”执行的。如图1 在途中,线程A和线程B轮流交替地占有CPU的处理时间。也许有人说,CPU总的计算量并没有降低啊,确实如此,还可以切换线程,还增加了一点点的计算量。如果现在有一个很长很复杂很费时的计算任务,和一个精彩电影的播放任务,那我们当然愿意选择让这两个不太相干的任务同时并发执行。由此可见线程的目的是用一些调度算法,使电脑用户不会“等待”的不耐烦。因为绝大多数的用户都希望计算机体贴周到,富有人性化,提供更好的服务。事实上,我们在计算机上做的很多革新,就是为了 ...

java NIO

                                                  java NIO socket 普通的java 阻塞的socket IO,需要对每个socket起一个单独的线程。这样线程多的话,线程的上下文切换,会消耗大量的cpu资源。如图:   普通socket形式如下 ...
  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 ...
  现在开始研究Junit,试图通过Junit来改善自己的编程,看了一两天,觉得自己懂了,开始上马。   同事写了一个byte 数组转 json的组件,我的目标是通过撰写 Juit的测试用例来测试这些组件是否OK。   一上来就遇到了一个不小的麻烦,我的测试主要是来比较两个“对象”是否相等,给定了一个byte数组,组件返回给我了一个   json对象,我也自己模拟了一个json对象,我需要用JSONObject.equals来判断两个对象是否相等,很遗憾,同时用的是   org.json,但不是json-lib中的 net.sf.json中的JSONObject,json-li ...
Global site tag (gtag.js) - Google Analytics