ja

阅读 / 问答 / 标签

兰蔻小样产地是日本(made in Japan) 说明是英文 是正常现象吗

正常,日本确实产兰蔻并且外销其他国家所有可能有英文说文,但是从目前图上几点不能分辨真假

JackRockwell是谁

JackRockwellJackRockwell是一名演员,代表作品有《德州绅士》、《红河叛徒》等。外文名:JackRockwell职业:演员代表作品:《德州绅士》合作人物:LambertHillyer

女孩子对男孩子说Jack shall have jill什么意思

有情人终成眷属

英语Every Jack has his Jill 是出自什么典故

这是英语谚语!历史演变,属于典故.一切都会好起来,JACK也会拥有JILL的.源自于一个英语童谣和故事,最初是法国大革命时期的歌谣,Jack和Jill暗指路易16国王和他的皇后玛丽,他们都是被断头的.但是后来,歌谣传来传去,不再有原来的意思,更像是儿童诗歌.诗歌是这样的:Jack and Jill went up the hill to fetch a pail of water Jack fell down and broke his crown And Jill came tumbling after.Up got Jack,and home did trot As fast as he could caper He went to bed and bound his head With vinegar and brown paper

jack and jill压的哪个韵

Jill, hill, 押的韵是 -ill /_l/ 。

every jack has his jill,什么意思

每个男人都会有自己的妻子吗?它的陈述句的意思是“每个男人都会有自己的妻子”.这是有典故的:Jack和Jill暗指路易16国王和他的皇后玛丽.

All shall be well, Jack shall have jill为什么是有情人终成眷属的意思

一切都会好起来,JACK会有基友

"有情人终成眷属"的英文版本中Jack 和Jill有什么历史典故吗?

分类: 教育/科学 >> 外语学习 问题描述: All shall be well, and Jack shall have Jill.为什么要用JACK 和JILL呢? 解析: 这是一个英语童谣和故事,很多人小时候都知道的。 是法国大革命时期的歌谣,Jack和Jill暗指路易16国王和他的皇后玛丽,他们都是被断头的。 但是后来,歌谣传来传去,不再有原来的意思,更像是儿童诗歌。诗歌是这样的: Jack and Jill went up the hill to fetch a pail of water Jack fell down and broke his crown And Jill came tumbling after. Up got Jack, and home did trot As fast as he could caper He went to bed and bound his head With vinegar and brown paper.

Jack and Jill意为少男少女,有什么典故活来源吗

杰克和吉尔 含义是:少男少女这是一个英语童谣和故事,是法国大革命时期的歌谣,Jack和Jill暗指路易16国王和他的皇后玛丽,他们都是被断头的。 但是后来,歌谣传来传去,不再有原来的意思,更像是儿童诗歌。 诗歌是这样的: Jack and Jill went up the hill to fetch a pail of water Jack fell down and broke his crown And Jill came tumbling after. Up got Jack, and home did trot As fast as he could caper He went to bed and bound his head With vinegar and brown paper.

sQm和JAC谁的锂资源多

sqm多。Atacama盐湖区域,锂资源探明储量为489万吨,潜在储量333万吨,总储量为813万吨,折合碳酸锂当量约为4300万吨。由于SQM租赁协议将在2030年12月31日到期,在2018年1月SQM与Corfo达成扩产协议后,在2030年之前SQM可动用金属锂(SQM盐湖的锂以锂离子形式存在,通常使用金属锂当量为换算方式)储量由64,816吨调整为349,553吨,约合220万吨碳酸锂。

求翻译这段话中的英文 我是富士康3号流水线的张全蛋,英文名叫MICHEAL Jack,法文名Hél

Micheal Jack,是英文名字,Micheal是名,Jack是姓;trans national enterprise 是跨国际企业;meeting是开会;fire是炒鱿鱼,被辞退的意思;so no face是中式英文,不要学,但是意思是:太丢脸了;communicate是交流的意思。小朋友不要看暴漫哦。荆轲刺秦王!

java中的 Thread.yield()方法会释放锁资源么?

楼主你错误的理解了yiedld这个方法。yiedld这个方法是让当前线程回到可执行状态,以便让具有相同优先级的线程进入执行状态,但不是绝对的。因为虚拟机可能会让该线程重新进入执行状态。让线程暂时停止可以选择sleep方法。比如Thread.sleep(1000),当前线程睡眠1秒。需要知道的是,1秒后,线程是回到可执行状态,并不是执行状态,什么时候执行那是由虚拟机来决定的。所以sleep(1000)并不是在睡眠1秒后立即执行。

java线程中的yield()

String[] 不是线程安全的,如果有两个线程同时对他操作,会有问题所以 这里用Thread.yield();是为了同步。

java线程的sleep和yield的区别

1、sleep()使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁。也就是说如果有synchronized同步快,其他线程仍然不能访问共享数据。注意该方法要捕捉异常。例如有两个线程同时执行(没有synchronized)一个线程优先级为MAX_PRIORITY,另一个为MIN_PRIORITY,如果没有Sleep()方法,只有高优先级的线程执行完毕后,低优先级的线程才能够执行;但是高优先级的线程sleep(500)后,低优先级就有机会执行了。总之,sleep()可以使低优先级的线程得到执行的机会,当然也可以让同优先级、高优先级的线程有执行的机会。2、join()join()方法使调用该方法的线程在此之前执行完毕,也就是等待该方法的线程执行完毕后再往下继续执行。注意该方法也需要捕捉异常。3、yield()该方法与sleep()类似,只是不能由用户指定暂停多长时间,并且yield()方法只能让同优先级的线程有执行的机会。4、wait()和notify()、notifyAll()这三个方法用于协调多个线程对共享数据的存取,所以必须在synchronized语句块内使用。synchronized关键字用于保护共享数据,阻止其他线程对共享数据的存取,但是这样程序的流程就很不灵活了,如何才能在当前线程还没退出synchronized数据块时让其他线程也有机会访问共享数据呢?此时就用这三个方法来灵活控制。wait()方法使当前线程暂停执行并释放对象锁标示,让其他线程可以进入synchronized数据块,当前线程被放入对象等待池中。当调用notify()方法后,将从对象的等待池中移走一个任意的线程并放到锁标志等待池中,只有锁标志等待池中线程能够获取锁标志;如果锁标志等待池中没有线程,则notify()不起作用。notifyAll()则从对象等待池中移走所有等待那个对象的线程并放到锁标志等待池中

java中yield()方法如何使用

这个方法的作用是将调用此方法的线程跟另一个线程合并,也就是说另一个线程将等待此线程执行完毕后再继续执行

java中sleep和join和yield和wait和notify的区别

1、sleep() 使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁。也就是说如果有synchronized同步快,其他线程仍然不能访问共享数据。注意该方法要捕捉异常。 例如有两个线程同时执行(没有synchronized)一个线程优先级为MAX_PRIORITY,另一个为MIN_PRIORITY,如果没有Sleep()方法,只有高优先级的线程执行完毕后,低优先级的线程才能够执行;但是高优先级的线程sleep(500)后,低优先级就有机会执行了。 总之,sleep()可以使低优先级的线程得到执行的机会,当然也可以让同优先级、高优先级的线程有执行的机会。 2、join() join()方法使调用该方法的线程在此之前执行完毕,也就是等待该方法的线程执行完毕后再往下继续执行。注意该方法也需要捕捉异常。 3、yield() 该方法与sleep()类似,只是不能由用户指定暂停多长时间,并且yield()方法只能让同优先级的线程有执行的机会。 4、wait()和notify()、notifyAll() 这三个方法用于协调多个线程对共享数据的存取,所以必须在synchronized语句块内使用。synchronized关键字用于保护共享数据,阻止其他线程对共享数据的存取,但是这样程序的流程就很不灵活了,如何才能在当前线程还没退出synchronized数据块时让其他线程也有机会访问共享数据呢?此时就用这三个方法来灵活控制。 wait()方法使当前线程暂停执行并释放对象锁标示,让其他线程可以进入synchronized数据块,当前线程被放入对象等待池中。当调用notify()方法后,将从对象的等待池中移走一个任意的线程并放到锁标志等待池中,只有锁标志等待池中线程能够获取锁标志;如果锁标志等待池中没有线程,则notify()不起作用。 notifyAll()则从对象等待池中移走所有等待那个对象的线程并放到锁标志等待池中。 注意 这三个方法都是java.lang.Object的方法。

java中的 Thread.yield()方法会释放锁资源么?

会放弃CPU资源,锁资源不会放弃的。但是当同步代码执行完毕,资源锁自然就释放了。比如说:这样一段代码,同时有多个线程在阻塞等待欲执行这个同步方法synchronizedpublicbooleanprint(Integercom){longiii=100000000;if(com!=flag){Thread.yield();//直接放弃Cpu资源while(iii-->0);}else{..............}.........returnfalse;.}假如yield会立即释放对象监视器,那么while(iii--)几乎就不执行了,但是实际情况是while(iii--)会从100000000变成0,也就是说不会立即释放锁资源。(但是这个方法,从某种角度,会加速释放锁资源,仅个人见解)

在java一个方法中调用了yield之后,代码还会往下执行吗?

thread.yield();sunapi明确指出“暂停当前正在执行的线程对象,并执行其他线程。”所以yield()是让当前线程暂停(由于没有说明执行其他线程的时间,很有可能,执行了其他同优先级的线程后马上又回到该线程了。),以便让具有相同优先级的线程进入执行状态,但不是绝对的。因为虚拟机可能会让该线程重新进入执行状态。“比如说说,没有yield()的情况下,一个线程在pop,有可能另外一个线程对它造成什么样的不同步?”那要看你另一个线程的代码了,如果另一个线程和pop是同步的,那么用了yield另一个线程执行完后才执行point--;returngoods;不用如果另一个线程用到了point,他的值可能已经是自减也可能是没自减的。。。

Nee Jathaga中文歌词

歌名怎么翻译呢?

tojana歌曲大意

Nee jathaga nenundali我必须成为你的生活伴侣Nee yedalo nenindali我必须要霸占你的心Nee kathaga nene maarali我必须要成为你的一部分Nee needayi ne nadavaali我必须要如影随形Nee nijamayi ne nilavali我必须要成为真实的自我Nee oopiri nene kaavali我必须要存在于你的呼吸之间Naake theliyani nanu choopinchi以新的角度展现自己Neekai puttananipinchi让我认为我是为你而生Nee daaka nanu rappinchaave让我靠近你Nee santhosham naakandinchi你与我分享幸福Naa peruki artham marchi你改变了我名字的意义Nenante nuvvani pinchave你让我认为自己属于你ae aeNee jathaga nenundali我必须成为你的生活伴侣Nee yedalo nenindali我必须要霸占你的心Nee kathaga nene maarali我必须要成为你的一部分Nee needayi ne nadavaali我必须要如影随形Nee nijamayi ne nilavali我必须要成为真实的自我Nee oopiri nene kaavali我必须要存在于你的呼吸间Kallokosthavanukunna期待你在梦中出现Thellarlu choosthu kurchunna一直等待天明Raalede Jaadayina lede然而你却没出现 梦里没你的踪迹Reppala bayte nenunna那个时候 我就在你的眼前Avi moosthe vaddamanukunna如若你闭上眼睛 我就能入你的梦境Padukove Paiga thidathave你为何不安睡 不要再斥责我Lokamlo lenatte maikamlo我很迷惑 我置身于别的世界nenunte vadilesthava nannilaa你会留下我孤身一个人吗Neelokam naakante inkedo如若你说 在你的世界 undante namme maatala.aaa.aa我怎会相信 有比我更加重要的人Nee jathaga nenundali我必须成为你的生活伴侣Nee yedalo nenindali我必须要霸占你的心Nee kathaga nene maarali我必须要成为你的一部分Thelisi theliyaka vaalindi我必须要如影随形Nee nadumompullo naligindi我必须要参与你的人生故事Naa choopu致命诱惑Yem chestham cheppu不能自己Thochani thondara puduthundi淘气的想法占据了我的内心Thega thuntarigaa nanu neduthundi把我推向你 这都是你的错Nee vaipu彼此言语相争 Neede aa thappu思考事情 Nuvvante nuvvantu yevevo不分彼此anukuntu vidigaa undalemu ga依靠着对方而活Dooranga pommantu dooranne推开你 然后再拉近你我之间的距离 tharimesthu okatavvali gaa.aaa.aa我们必须要合二为一Nee jathaga nenundali我必须成为你的生活伴侣Nee yedalo nenindali我必须要霸占你的心Nee kathaga nene maarali我必须要成为你的一部分Nee needayi ne nadavaali我必须成为你的生活伴侣Nee nijamayi ne nilavali我必须要霸占你的心Nee oopiri nene kaavali我必须要成为你的生活故事

java中 linklist出现空指针的问题

java中 linklist出现空指针的问题,集合没有实例化吧就赋值了肯定空指针。public static void main(String args[]) throws IOException{int i,j,x,y;TraceRecord path=new TraceRecord();x=1;y=1;System.out.print("迷宫的路径(0的部分) ");for(i=0;i<10;i++){for(j=0;j<12;j++)System.out.print(MAZE[i][j]);System.out.println();}while(x<=ExitX&&y<=ExitY){MAZE[x][y]=2;if(MAZE[x-1][y]==0){x-=1;path.insert(x, y);}else if(MAZE[x+1][y]==0){x+=1;path.insert(x, y);}else if(MAZE[x][y-1]==0){y-=1;path.insert(x, y);}else if(MAZE[x][y+1]==0){y+=1;path.insert(x, y);}else if(chkExit(x,y,ExitX,ExitY)==1)break;else{MAZE[x][y]=2;path.delete();x=path.last.x;y=path.last.y;}}System.out.print("[老鼠走过的路径(2的部分)]");for(i=0;i<10;i++){for(j=0;j<12;j++)System.out.print(MAZE[i][j]);

绝望的主妇第七季14集里,zack怎么是jack儿子?

zack的亲生母亲是jack以前的女朋友啊,之前有交代的,不记得第几季了

AJAMAN 哪个国家

阿拉伯半岛东部七个酋长国组成的联邦,它们分别是阿布达比、杜拜、阿治曼(Ajaman)、沙迦(Ash-Shariqah)、乌姆盖万(Umm al-Qaywayn)、哈伊马角(Ra"s al-Khaymah),以及富查伊拉。面积约77,700平方公里。人口约3,108,000(2001)。首都∶阿布达比。当地居民为阿拉伯人,但印度人、巴基斯坦人、孟加拉人和伊朗人等移民劳工也占有相当大的比例。语言∶阿拉伯语(官方语)、英语、波斯语、乌尔都语和印地语。宗教:伊斯兰教(国教)、基督教和印度教。货币∶迪拉姆(DH)。土地主要为低平的沙漠平原,哈杰尔山余脉沿著东部的穆桑代姆半岛伸入境内。三个天然深水港位於阿曼湾东部海岸。石油蕴藏量占世界总量的10%。天然气储藏量占世界总量的5%,石油和天然气生产是该国的主要工业。其他主要经济活动为渔业、放养家畜和生产海枣。联盟政府有一任命的谘询机构,国家元首是总统,政府首脑为总理。

Hamriyah Free Zone – Sharjah, UAE 什么意思

哈姆利亚自由区——沙迦,阿拉伯联合酋长国沙迦酋长国总面积2590平方公里,沿着阿拉伯海湾的海岸线全长20公里,是阿联酋唯一一个跟阿其他酋长国都接壤,且紧邻伊朗和阿曼的酋长国。凭借良好的地理优势,沙迦的经济在未来会有一个快速的发展。沙迦有两个自由区:沙迦哈姆利亚自由区和沙迦机场自由区。沙迦哈姆利亚自由区成立于1995年,占地面积1500万平米,目前已发展到2200万平米。从 成立初到现在,两个自由区入驻的企业数量及投资额都有较大增长。其中,沙迦机场自由区的企业入驻数量从2001年4月份的560家上升到2008年6月份 的2700多家,投资额从5亿美金上涨到20亿美金,入驻企业以从事贸易服务为主。

James的意思

n.詹姆士[男子名] [英格兰人姓氏] 詹姆斯来源于希伯来语,含义是“愿上帝保佑追随者,取代者,或欺骗者”(may God protectfollower,supplanter,or deceiver)

在java里面如何运行多条cmd命令?我是用for来循环,一次运行一条,可是老是不执行。

下面这个运行正常,希望对你有用,可以打开F盘下的0.txt,1.txt,2.txtimport java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;public class test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Runtime rn=Runtime.getRuntime(); Process p= null; try { //p = rn.exec( "cmd /k dir "); for(int i=0;i<=2;i++) {p = rn.exec( "C:\Windows\system32\notepad.exe f:\"+i+".txt"); }} catch (Exception e) { System.out.println( "Error exec notepad "); } } }

想要系统学习java到底要学习哪些知识

java基础部分集合框架部分jvm虚拟机部分并发编程部分spring部分学习贵在坚持,有付出就会有收获

推荐如何系统的学习JAVA?

报班

什么是lava和java相同吗?

没听过LAVA

java中 下列哪些是调用Math.random()可能输出的? 323.4,0.5,34,1.0,0.0,0.234 告诉我原理

0 到 1 之间的数 0.5, 0.0, 0.234

java中setResult()是什么作用?

表述不是很清晰。能具体到时那个class的setResult么?

互联网java高级工程师都什么要求

只要学得好,要求不要求的,都不是问题,

急:怎么把java类封装成SDK,还要放入连接池,怎么搞啊,大神们?

是封装成jar包吧?

java中ThreadLocal是干什么的,注意我关系的不是他的实现原理,而是为什么对ThreadLocal的需求?

举个例子吧,好比俩售票员卖票使用同步机制(synchronized),相当于只有一个计数器,甲卖票的时候先锁定,卖好了,钱也交完了,计数器+1,再解锁,这功夫要是乙那也有业务,就得等会。只要一方锁定,就必须等所有业务都完事才能解锁(卖票,首款,打印单据blabla)。ThreadLocal,就相当于每人一个计数器,不用担心另一个售票员把我统计的票数改错了。就是这么个用处。

昭通java培训学校告诉你Java并发编程:核心理论?

并发编程是Java程序员最重要的技能之一,也是最难掌握的一种技能。它要求编程者对计算机最底层的运作原理有深刻的理解,同时要求编程者逻辑清晰、思维缜密,这样才能写出高效、安全、可靠的多线程并发程序。电脑培训http://www.kmbdqn.cn/发现本系列会从线程间协调的方式(wait、notify、notifyAll)、Synchronized及Volatile的本质入手,详细解释JDK为我们提供的每种并发工具和底层实现机制。在此基础上,我们会进一步分析java.util.concurrent包的工具类,包括其使用方式、实现源码及其背后的原理。本文是该系列的第一篇文章,是这系列中最核心的理论部分,之后的文章都会以此为基础来分析和解释。关于java并发编程及实现原理,还可以查阅《Java并发编程:Synchronized及其实现原理》。一、共享性数据共享性是线程安全的主要原因之一。如果所有的数据只是在线程内有效,那就不存在线程安全性问题,这也是我们在编程的时候经常不需要考虑线程安全的主要原因之一。但是,在多线程编程中,数据共享是不可避免的。最典型的场景是数据库中的数据,为了保证数据的一致性,我们通常需要共享同一个数据库中数据,即使是在主从的情况下,访问的也同一份数据,主从只是为了访问的效率和数据安全,而对同一份数据做的副本。我们现在,通过一个简单的示例来演示多线程下共享数据导致的问题。二、互斥性资源互斥是指同时只允许一个访问者对其进行访问,具有唯一性和排它性。我们通常允许多个线程同时对数据进行读操作,但同一时间内只允许一个线程对数据进行写操作。所以我们通常将锁分为共享锁和排它锁,也叫做读锁和写锁。如果资源不具有互斥性,即使是共享资源,我们也不需要担心线程安全。例如,对于不可变的数据共享,所有线程都只能对其进行读操作,所以不用考虑线程安全问题。但是对共享数据的写操作,一般就需要保证互斥性,上述例子中就是因为没有保证互斥性才导致数据的修改产生问题。

Java并发编程:核心理论?

并发编程是Java程序员最重要的技能之一,也是最难掌握的一种技能。它要求编程者对计算机最底层的运作原理有深刻的理解,同时要求编程者逻辑清晰、思维缜密,这样才能写出高效、安全、可靠的多线程并发程序。电脑培训发现本系列会从线程间协调的方式(wait、notify、notifyAll)、Synchronized及Volatile的本质入手,详细解释JDK为我们提供的每种并发工具和底层实现机制。在此基础上,我们会进一步分析java.util.concurrent包的工具类,包括其使用方式、实现源码及其背后的原理。本文是该系列的第一篇文章,是这系列中最核心的理论部分,之后的文章都会以此为基础来分析和解释。关于java并发编程及实现原理,还可以查阅《Java并发编程:Synchronized及其实现原理》。一、共享性数据共享性是线程安全的主要原因之一。如果所有的数据只是在线程内有效,那就不存在线程安全性问题,这也是我们在编程的时候经常不需要考虑线程安全的主要原因之一。但是,在多线程编程中,数据共享是不可避免的。最典型的场景是数据库中的数据,为了保证数据的一致性,我们通常需要共享同一个数据库中数据,即使是在主从的情况下,访问的也同一份数据,主从只是为了访问的效率和数据安全,而对同一份数据做的副本。我们现在,通过一个简单的示例来演示多线程下共享数据导致的问题。二、互斥性资源互斥是指同时只允许一个访问者对其进行访问,具有唯一性和排它性。我们通常允许多个线程同时对数据进行读操作,但同一时间内只允许一个线程对数据进行写操作。所以我们通常将锁分为共享锁和排它锁,也叫做读锁和写锁。如果资源不具有互斥性,即使是共享资源,我们也不需要担心线程安全。例如,对于不可变的数据共享,所有线程都只能对其进行读操作,所以不用考虑线程安全问题。但是对共享数据的写操作,一般就需要保证互斥性,上述例子中就是因为没有保证互斥性才导致数据的修改产生问题。

Java并发编程:核心理论?

并发编程是Java程序员最重要的技能之一,也是最难掌握的一种技能。它要求编程者对计算机最底层的运作原理有深刻的理解,同时要求编程者逻辑清晰、思维缜密,这样才能写出高效、安全、可靠的多线程并发程序。电脑培训发现本系列会从线程间协调的方式(wait、notify、notifyAll)、Synchronized及Volatile的本质入手,详细解释JDK为我们提供的每种并发工具和底层实现机制。在此基础上,我们会进一步分析java.util.concurrent包的工具类,包括其使用方式、实现源码及其背后的原理。本文是该系列的第一篇文章,是这系列中最核心的理论部分,之后的文章都会以此为基础来分析和解释。关于java并发编程及实现原理,还可以查阅《Java并发编程:Synchronized及其实现原理》。一、共享性数据共享性是线程安全的主要原因之一。如果所有的数据只是在线程内有效,那就不存在线程安全性问题,这也是我们在编程的时候经常不需要考虑线程安全的主要原因之一。但是,在多线程编程中,数据共享是不可避免的。最典型的场景是数据库中的数据,为了保证数据的一致性,我们通常需要共享同一个数据库中数据,即使是在主从的情况下,访问的也同一份数据,主从只是为了访问的效率和数据安全,而对同一份数据做的副本。我们现在,通过一个简单的示例来演示多线程下共享数据导致的问题。二、互斥性资源互斥是指同时只允许一个访问者对其进行访问,具有唯一性和排它性。我们通常允许多个线程同时对数据进行读操作,但同一时间内只允许一个线程对数据进行写操作。所以我们通常将锁分为共享锁和排它锁,也叫做读锁和写锁。如果资源不具有互斥性,即使是共享资源,我们也不需要担心线程安全。例如,对于不可变的数据共享,所有线程都只能对其进行读操作,所以不用考虑线程安全问题。但是对共享数据的写操作,一般就需要保证互斥性,上述例子中就是因为没有保证互斥性才导致数据的修改产生问题。

Java并发编程:核心理论?

并发编程是Java程序员最重要的技能之一,也是最难掌握的一种技能。它要求编程者对计算机最底层的运作原理有深刻的理解,同时要求编程者逻辑清晰、思维缜密,这样才能写出高效、安全、可靠的多线程并发程序。电脑培训发现本系列会从线程间协调的方式(wait、notify、notifyAll)、Synchronized及Volatile的本质入手,详细解释JDK为我们提供的每种并发工具和底层实现机制。在此基础上,我们会进一步分析java.util.concurrent包的工具类,包括其使用方式、实现源码及其背后的原理。本文是该系列的第一篇文章,是这系列中最核心的理论部分,之后的文章都会以此为基础来分析和解释。关于java并发编程及实现原理,还可以查阅《Java并发编程:Synchronized及其实现原理》。一、共享性数据共享性是线程安全的主要原因之一。如果所有的数据只是在线程内有效,那就不存在线程安全性问题,这也是我们在编程的时候经常不需要考虑线程安全的主要原因之一。但是,在多线程编程中,数据共享是不可避免的。最典型的场景是数据库中的数据,为了保证数据的一致性,我们通常需要共享同一个数据库中数据,即使是在主从的情况下,访问的也同一份数据,主从只是为了访问的效率和数据安全,而对同一份数据做的副本。我们现在,通过一个简单的示例来演示多线程下共享数据导致的问题。二、互斥性资源互斥是指同时只允许一个访问者对其进行访问,具有唯一性和排它性。我们通常允许多个线程同时对数据进行读操作,但同一时间内只允许一个线程对数据进行写操作。所以我们通常将锁分为共享锁和排它锁,也叫做读锁和写锁。如果资源不具有互斥性,即使是共享资源,我们也不需要担心线程安全。例如,对于不可变的数据共享,所有线程都只能对其进行读操作,所以不用考虑线程安全问题。但是对共享数据的写操作,一般就需要保证互斥性,上述例子中就是因为没有保证互斥性才导致数据的修改产生问题。

在 Java 程序中怎么保证多线程的运行安全?

java 怎么 保证多线程 的 运行安全 ? 线程的 安全 性问题体现在: 1.原子性:一个或者多个操作在CPU执行的过程中不被中断的特性。 2.可见性:一个线程对共享变量的修改,另外一个线程能够立刻看到。 3.有序性:程序执行的顺序按照代码的先后顺序执行。

请问用java语言写的项目,毕业论文可以按面向过程的结构来写吗?

java程序站专门收集整理了《Java工程师成神之路(1)》问题和答案整理成册,分成系列文章分享给大家。基础篇01面向对象→ 什么是面向对象、面向过程?面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。面向对象的三大基本特征和五大基本原则?一、三大基本特征:封装、继承、多态1、封装:也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏2、继承:所谓继承是指可以让某个类型的对象获得另一个类型的对象的属性的方法。它支持按级分类的概念。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展3、多态:所谓多态就是指一个类实例的相同方法在不同情形有不同表现形式。多态机制使具有不同内部结构的对象可以共享相同的外部接口。这意味着,虽然针对不同对象的具体操作不同,但通过一个公共的类,它们(那些操作)可以通过相同的方式予以调用二、五大基本原则1、单一职责原则(SRP)是指一个类的功能要单一,不能包罗万象2、开放封闭原则(OCP)一个模块在扩展性方面应该是开放的而在更改性方面应该是封闭的3、里氏替换原则(LSP)子类应当可以替换父类并出现在父类能够出现的任何地方。继承的体现4、依赖倒置原则(DIP)具体依赖抽象,上层依赖下层。5、接口隔离原则(ISP)模块间要通过抽象接口隔离开,不通过具体的类关联,降低耦合度→ 平台无关性什么是平台无关性,Java是如何做到平台无关的?平台无关(跨平台): 一种语言在计算机上的运行不受平台的约束,一次编译到处运行。Java经过编译之后生成的.class 的字节码文件,运行平台上只要有JVM就能运行,不需要进行再次编译JVM 还支持哪些语言(Kotlin、Groovy、JRuby、Jython、Scala)→ 值传递值传递、引用传递java中只存在值传递,只存在值传递!!! 然而我们经常看到对于对象(数组,类,接口)的传递似乎有点像引用传递,可以改变对象中某个属性的值。但是不要被这个假象所蒙蔽,实际上这个传入函数的值是对象引用的拷贝,即传递的是引用的地址值,所以还是按值传递。为什么说 Java 中只有值传递?Java 语言的参数传递只有「按值传递」。当一个实例对象作为参数被传递到方法中时,参数的值就是该对象的引用的一个副本。指向同一个对象,对象的内容可以在被调用的方法内改变,但对象的引用(不是引用的副本) 是永远不会改变的。按值传递的精髓是:传递的是存储单元中的内容,而不是存储单元的引用!→ 封装、继承、多态继承多态方法重载与方法重写修饰符代码块final关键字代码块的执行顺序:静态代码块优先于构造代码块,构造代码块优先于构造方法。02 Java 基础知识→ 基本数据类型7 种基本数据类型:整型、浮点型、布尔型、字符型以及取值范围?什么是浮点型?什么是单精度和双精度?单精度浮点数(float)与双精度浮点数(double)的区别如下:(1)在内存中占有的字节数不同单精度浮点数在机内占4个字节双精度浮点数在机内占8个字节(2)有效数字位数不同单精度浮点数有效数字8位双精度浮点数有效数字16位(3)所能表示数的范围不同单精度浮点的表示范围:-3.40E+38 ~ +3.40E+38双精度浮点的表示范围:-1.79E+308 ~ +1.79E+308(4)在程序中处理速度不同一般来说,CPU处理单精度浮点数的速度比处理双精度浮点数快为什么不能用浮点型表示金额?金额计算不能用doube!必须用BigDecimal1.出现科学计数法2.计算金额不准确,丢失精度→ 自动拆装箱什么是包装类型、什么是基本类型?1、为什么存在基本类型:在Java中正常应该设置对象,然后通过new一个对象存储在堆中,再通过栈的引用来使用对象,但对于简单的小的变量,用new显的繁琐麻烦,所以产生了基本类型2、有了基本类型,为什么还会产生包装类型:(1)什么是包装类:包装类型相当于将基本类型包装起来,使其具有对象的性质,并且可以添加属性和方法,丰富了基本类型的操作。(2)包装类型具有哪些好处:符合Java面向对象编程特征使用集合Collection就一定要用包装类型需要往ArrayList,HashMap放东西,int和double是放不进去的3、二者相互转换(1)int转换integerint i=0ineger ii=new integer(i)(2)integer转intinteger ii=new interger(0)int i=ii.intValue();4、二者的区别(1)基本类型直接声明而包装类型需使用new关键字来在堆中分配内存空间(2)基本类型存储在栈中而包装类型存储在堆中通过引用(3)基本类型初始值,int为0,boolean为false。包装类型初始值为null(4)基本类型直接赋值使用就好,包装类型需要在集合如Collection、map时会使用什么是自动拆装箱?自动装箱: 就是将基本数据类型自动转换成对应的包装类。自动拆箱:就是将包装类自动转换成对应的基本数据类型。自动装箱都是通过包装类的valueOf()方法来实现的.自动拆箱都是通过包装类对象的xxxValue()来实现的。Integer 的缓存机制?当使用自动装箱的时候,也就是将基本数据类型传递给对象类的时候触发自动装箱。这个时候java虚拟机会创建一系列的整数并且缓存到一个数组中以便直接使用,这就是缓存策略→ String字符串的不可变性JDK 6 和 JDK 7 中 substring 的原理及区别?JDK6中,String是通过字符数组实现的,String类包含三个成员变量:char value[], int offset,int count。他们分别用来存储真正的字符数组,数组的第一个位置索引以及字符串中包含的字符个数。JDK6中的substring导致的问题如果字符串很长,但是只需substring切割很短的一段。这可能导致性能问题,因为只需要的是一小段字符序列,却引用了整个字符串(因为这个很长的字符数组一直被引用,而无法被回收,就可能导致内存泄露)。在JDK 6中,一般用以下方式来解决该问题,原理其实就是生成一个新的字符串并引用他。x = x.substring(x, y) + ""JDK 7 中的substring上述问题,在JDK7中得到解决。在jdk 7 中,substring方法会在堆内存中创建一个新的数组。//JDK 7public String(char value[], int offset, int count) {//check boundarythis.value = Arrays.copyOfRange(value, offset, offset + count);}public String substring(int beginIndex, int endIndex) {//check boundaryint subLen = endIndex - beginIndex;return new String(value, beginIndex, subLen);}replaceFirst、replaceAll、replace 区别?· replace(CharSequence target, CharSequence replacement) ,用replacement替换所有的target,两个参数都是字符串。· replaceAll(String regex, String replacement) ,用replacement替换所有的regex匹配项,regex很明显是个正则表达式,replacement是字符串。· replaceFirst(String regex, String replacement) ,基本和replaceAll相同,区别是只替换第一个匹配项。String s = "my.test.txt";System.out.println(s.replace(".", "#")); // replace将字符串中的. 都替换为 #System.out.println(s.replaceAll(".", "#")); // replaceAll 用到了正则表达式,其中. 是任意字符的意思,所以结果是字符串全部替换为#System.out.println(s.replaceFirst(".", "#")); // replaceFirst 用到了正则表达式, 其中. 是任意字符的意思,所以第一个字符被#号代替System.out.println(s.replaceFirst("\.", "#")); // 正则表达式中双杠是原生字符串的意思,所以结果是字符串中第一个. 被#代替得到String 对“+”的重载?String 类底层是一个 final 修饰的 char 类型数组,意味着 String 类的对象是不可变的,所以 String 对象可以共享。String 类中的每一个看起来会修改 String 值的方法,实际上都是创建了一个全新的 String 对象,用来包含修改后的字符串内容,这也可以说明 String 对象具有只读的属性。String fruit = "Apple," + "Pear," + "Orange";编译器会创建一个 StringBuilder 对象,用来构造最终要生成的 String,并为每一个字符串调用一次 StringBuilder 中的 append() 方法,因此代码一共执行了三次 append() 方法。最后调用 toString 生成最终的结果,并保存为 fruit。字符串拼接的几种方式和区别?1.无论如何直接用“+”号连接字符串都是最慢的2.在拼接少数字符串(不超过4个)的时候,concat效率是最高的3.多个字符串拼接的时候,StringBuilder/StringBuffer的效率是碾压的4.在不需要考虑线程安全问题的时候,使用StringBuilder的效率比StringBuffer更高String.valueOf 和 Integer.toString 的区别?String.valueOf()可以应用到任何数据类型,且不会有异常报出。Integer.toString()表示先讲int转换成Integer型,然后再将Integer转换成String型。总的来说 String.valueOf()用的比较多(应用的数据类型无限制),但是基本上每个JAVA对象都会有一个toString方法。2个方法的运行结果还是一样的,只是原理(运行过程)不一样.switch 对 String 的支持?java中switch支持String,是利用String的hash值,本质上是switch-int结构。并且利用到了equals方法来防止hash冲突的问题。最后利用switch-byte结构,精确匹配。字符串池、常量池(运行时常量池、Class 常量池)、intern?1.全局常量池在每个VM中只有一份,存放的是字符串常量的引用值。2.class常量池是在编译的时候每个class都有的,在编译阶段,存放的是常量的符号引用。3.运行时常量池是在类加载完成之后,将每个class常量池中的符号引用值转存到运行时常量池中,也就是说,每个class都有一个运行时常量池,类在解析之后,将符号引用替换成直接引用,与全局常量池中的引用值保持一致。→ 熟悉 Java 中各种关键字transient、instanceof、final、static、volatile、synchronized、const 原理及用法transient:修饰变量,在实现Serializable接口的类中,可以避免持久化,但是如果实现的是Externalizable接口,那么手动序列化会无视 transient。instanceof:对象 instanceof 类,检查对象是否是这个类或者这个类的子类的对象,返回布尔值。volatile:轻量级的线程安全的实现,但是要注意用法,某些场合不适合用volatile,保证可见性,有序性synchronized:线程安全的修饰符,锁住对象的访问权限。final:final修饰类:该类不可继承final修饰方法:该方法不能被子类覆盖(但它不能修饰构造函数)final修饰字段属性:属性值第一次初始化后不能被修改使用final可以提高程序执行的效率,将一个方法设成final后编译器就可以把对那个方法的所有调用都置入“嵌入”调用里。static:static修饰成员函数则该函数不能使用this对象static不能修饰构造函数、函数参数、局部成员变量static修饰成员字段则当类被虚拟机加载时按照声明先后顺序对static成员字段进行初始化。static修饰语句块:当类被虚拟机加载时按照声明先后顺序初始化static成员字段和static语句块static所修饰的方法和字段只属于类,所有对象共享,java不能直接定义全局变量,是通过static来实现的。java中没有const,不能直接定义常量,是通过static final组合来实现的。专注java职场经验,技术分享,欢迎关注公众号:程序秘籍

java专业技能?

A. java软件开发工程师简历的技能怎么写 java软件开发工程师的技能:熟练运用struts 、hibernate、spring等框架技术、掌握JSP、Servlet、JQuery等Web开发技术、熟悉JBPM工作流技术及JasperReport、JFreeChart等报表技术、数据库方面使用过Oracle、Sqlserver等进行过开发、熟悉SQL数据库操作语言。 B. java工程师的专业技能包括哪些 core java,js,servlet,jsp,SSH三大框架,xml,SQL和数据库。Proxy、ThreadLocal、InvocationHandler后面的这三个是类。 嗯。Spring的IOC、AOP。 MVC 23种设计模式。主要是单利。抽象工厂。工厂方法。迭代。策略。装饰者。适配器。 ejb。了解JNDI。JPA。JTA。 嗯。也没什么了。还有就是前台的 HTML。JSP。JSF。JS。嗯。 Struts2 的 前端控制器。拦截器等等。 C. 急求Java程序员技能描述!! 精通Java语言,熟练掌握了j2ee、jsp、servlet、struts、 spring、hibernate技术,熟练数据库Oracle的数据库技术的管理与维护,熟练运用SQL语句,熟练运用struts、hibernate、spring轻量级三大框架技术进行项目开发。 熟悉java开发工具Eclipse使用。熟练Tomcat容器的配置及使用。熟练使用HTML/XML标记语言和JS脚本语言、熟练UML统一建模语言,能运用Sybase PowerDesigner进行模型建立。 还有尽量不要说精通 !!精通不符合实际,因为很对面试官自己都不敢谈精通! D. Java程序员的三年工作经验,应该必备哪些专业技能 1、基本语法 这包括static、final、transient等关键字的作用,foreach循环的原理等等。 2、 *** 非常重要,基本上就是List、Map、Set,各种实现类的底层实现原理,实现类的优缺点。 *** 要掌握的是ArrayList、LinkedList、Hashtable、HashMap、ConcurrentHashMap、HashSet的实现原理, (1)ConcurrentHashMap的锁分段技术 (2)ConcurrentHashMap的读是否要加锁,为什么 (3)ConcurrentHashMap的迭代器是强一致性的迭代器还是弱一致性的迭代器 3、设计模式 设计模式在工作中是非常重要、非常有用的,23种设计模式中重点研究常用的十来种就可以了,面试中关于设计模式的问答主要是三个方向: (1)你的项目中用到了哪些设计模式,如何使用 (2)知道常用设计模式的优缺点 (3)能画出常用设计模式的UML图 4、多线程 假如有Thread1、Thread2、Thread3、Thread4四条线程分别统计C、D、E、F四个盘的大小,所有线程都统计完毕交给Thread5线程去做汇总,应当如何实现? 聪明的网友们对这个问题是否有答案呢?不难,java.util.concurrent下就有现成的类可以使用。 另外,线程池在面试中也是比较常问的一块,常用的线程池有几种?这几种线程池之间有什么区别和联系?线程池的实现原理是怎么样的?实际一些的,会给你一些具体的场景,让你回答这种场景该使用什么样的线程池比较合适。 最后,虽然面试问得不多,但是多线程同步、锁这块也是重点。synchronized和ReentrantLock的区别、synchronized锁普通方法和锁静态方法、死锁的原理及排查方法等等,关于多线程, 5、JDK源码 要想拿高工资,JDK源码不可不读。总结一下比较重要的源码: (1)List、Map、Set实现类的源代码 (2)ReentrantLock、AQS的源代码 (3)AtomicInteger的实现原理,主要能说清楚CAS机制并且AtomicInteger是如何利用CAS机制实现的 (4)线程池的实现原理 (5)Object类中的方法以及每个方法的作用 6、框架 老生常谈,面试必问的东西。一般来说会问你一下你们项目中使用的框架,然后给你一些场景问你用框架怎么做,比如我想要在Spring初始化bean的时候做一些事情该怎么做、想要在bean销毁的时候做一些事情该怎么做、MyBatis中$和#的区别等等,这些都比较实际了,平时积累得好、有多学习框架的使用细节自然都不成问题。 7、数据库 一些基本的像union和union all的区别、left join、几种索引及其区别就不谈了,比较重要的就是数据库性能的优化,如果对于数据库的性能优化一窍不通,那么有时间,还是建议你在面试前花一两天专门把SQL基础和SQL优化的内容准备一下。 8、数据结构和算法分析 数据结构和算法分析,对于一名程序员来说,会比不会好而且在工作中绝对能派上用场。数组、链表是基础,栈和队列深入一些但也不难,树挺重要的,比较重要的树AVL树、红黑树,可以不了解它们的具体实现,但是要知道什么是二叉查找树、什么是平衡树,AVL树和红黑树的区别。 9、Java虚拟机 Java虚拟机中比较重要的内容: (1)Java虚拟机的内存布局 (2)GC算法及几种垃圾收集器 (3)类加载机制,也就是双亲委派模型 (4)Java内存模型 (5)happens-before规则 (6)volatile关键字使用规则 E. 智联招聘java专业技能怎么写 你可以参考该招聘网站上发布招聘信息的公司的任职要求,根据其要求进行写作 F. 计算机专业的求职简历中专业技能描述怎么写啊 Java: 1. 全面掌握Java语言及面向对象的设计思想。 2. 熟悉JSP,Servlet,JavaBean等J2EE的核心技术。 3. 熟练使用Struts1.x、Hibernate 3.x以及Spring 3.x框架。 4. 熟悉Struts 2.x和EJB 3.0框架。 5. 熟练使用Ajax,利用DWR框架设计Ajax的MVC框架以及自定义Ajax框架。 6. 能熟练的应用各种常见的设计模式:工厂模式,单例模式,缺省适配器模式,不变模式等。 7. 熟练掌握Web Service技术 8. 熟练使用JSP,HTML,JSTL,EL等表现层技术。 9. 熟练应用JavaScript ,CSS, Dreamweaver。 _________________________________________ 数据库: 1. 熟悉T-SQL语言,能够熟练的使用SQL语句创建表,约束,视图,存储过程。 2. 熟练运用SQLServer,MySQL等数据库系统以及基于(尤其是SQLServer)进行的应用程序开发。 _________________________________________ 其 他: 1. 熟悉C#面向对象语言,熟悉.NetFrameWork 3.0等核心框架。 2. 熟悉ASP.Net技术并能够熟练地使用Visual Studio2008独立进行Web开发。 3. 熟悉ADO.Net等基于Inter的数据库访问技术。 这个可以作为参考! G. java软件工程师技能专长怎么写 可以写你学会哪些技术,比如SSH三大框架,以及对技能的掌握程度。

有关蓝牙和JAVA、存贮卡的使用

不用数据线,只有通过GPRS下载了,是收费的。

Java对象池技术的原理及其实现

  摘 要 本文在分析对象池技术基本原理的基础上 给出了对象池技术的两种实现方式 还指出了使用对象池技术时所应注意的问题   关键词 对象池 对象池技术 Java 对象 性能   Java对象的生命周期分析   Java对象的生命周期大致包括三个阶段 对象的创建 对象的使用 对象的清除 因此 对象的生命周期长度可用如下的表达式表示 T = T + T +T 其中T 表示对象的创建时间 T 表示对象的使用时间 而T 则表示其清除时间 由此 我们可以看出 只有T 是真正有效的时间 而T T 则是对象本身的开销 下面再看看T T 在对象的整个生命周期中所占的比例   我们知道 Java对象是通过构造函数来创建的 在这一过程中 该构造函数链中的所有构造函数也都会被自动调用 另外 默认情况下 调用类的构造函数时 Java会把变量初始化成确定的值 所有的对象被设置成null 整数变量(byte short int long)设置成 float和double变量设置成 逻辑值设置成false 所以用new关键字来新建一个对象的时间开销是很大的 如表 所示   表 一些操作所耗费时间的对照表    运算操作 示例 标准化时间 本地赋值 i = n 实例赋值 this i = n 方法调用 Funct() 新建对象 New Object() 新建数组 New int[ ]   从表 可以看出 新建一个对象需要 个单位的时间 是本地赋值时间的 倍 是方法调用时间的 倍 而若新建一个数组所花费的时间就更多了   再看清除对象的过程 我们知道 Java语言的一个优势 就是Java程序员勿需再像C/C++程序员那样 显式地释放对象 而由称为垃圾收集器(Garbage Collector)的自动内存管理系统 定时或在内存凸现出不足时 自动回收垃圾对象所占的内存 凡事有利总也有弊 这虽然为Java程序设计者提供了极大的方便 但同时它也带来了较大的性能开销 这种开销包括两方面 首先是对象管理开销 GC为了能够正确释放对象 它必须监控每一个对象的运行状态 包括对象的申请 引用 被引用 赋值等 其次 在GC开始回收 垃圾 对象时 系统会暂停应用程序的执行 而独自占用CPU   因此 如果要改善应用程序的性能 一方面应尽量减少创建新对象的次数 同时 还应尽量减少T T 的时间 而这些均可以通过对象池技术来实现   对象池技术的基本原理   对象池技术基本原理的核心有两点 缓存和共享 即对于那些被频繁使用的对象 在使用完后 不立即将它们释放 而是将它们缓存起来 以供后续的应用程序重复使用 从而减少创建对象和释放对象的次数 进而改善应用程序的性能 事实上 由于对象池技术将对象限制在一定的数量 也有效地减少了应用程序内存上的开销   实现一个对象池 一般会涉及到如下的类    )对象池工厂(ObjectPoolFactory)类   该类主要用于管理相同类型和设置的对象池(ObjectPool) 它一般包含如下两个方法   createPool 用于创建特定类型和设置的对象池   destroyPool 用于释放指定的对象池   同时为保证ObjectPoolFactory的单一实例 可以采用Singleton设计模式 见下述getInstance方法的实现      public static ObjectPoolFactory getInstance() {  if (poolFactory == null) {   poolFactory = new ObjectPoolFactory();  }  return poolFactory; }    )参数对象(ParameterObject)类   该类主要用于封装所创建对象池的一些属性参数 如池中可存放对象的数目的最大值(maxCount) 最小值(minCount)等    )对象池(ObjectPool)类   用于管理要被池化对象的借出和归还 并通知PoolableObjectFactory完成相应的工作 它一般包含如下两个方法   getObject 用于从池中借出对象   returnObject 将池化对象返回到池中 并通知所有处于等待状态的线程    )池化对象工厂(PoolableObjectFactory)类   该类主要负责管理池化对象的生命周期 就简单来说 一般包括对象的创建及销毁 该类同ObjectPoolFactory一样 也可将其实现为单实例   通用对象池的实现   对象池的构造和管理可以按照多种方式实现 最灵活的方式是将池化对象的Class类型在对象池之外指定 即在ObjectPoolFactory类创建对象池时 动态指定该对象池所池化对象的Class类型 其实现代码如下       public ObjectPool createPool(ParameterObject paraObj Class clsType) {  return new ObjectPool(paraObj clsType); }   其中 paraObj参数用于指定对象池的特征属性 clsType参数则指定了该对象池所存放对象的类型 对象池(ObjectPool)创建以后 下面就是利用它来管理对象了 具体实现如下      public class ObjectPool {  private ParameterObject paraObj;//该对象池的属性参数对象  private Class clsType;//该对象池中所存放对象的类型  private int currentNum = ; //该对象池当前已创建的对象数目  private Object currentObj;//该对象池当前可以借出的对象  private Vector pool;//用于存放对象的池  public ObjectPool(ParameterObject paraObj Class clsType) {   this paraObj = paraObj;   this clsType = clsType;   pool = new Vector();  }  public Object getObject() {   if (pool size() <= paraObj getMinCount()) {    if (currentNum <= paraObj getMaxCount()) {     //如果当前池中无对象可用 而且已创建的对象数目小于所限制的最大值 就利用     //PoolObjectFactory创建一个新的对象     PoolableObjectFactory objFactory =PoolableObjectFactory getInstance();     currentObj = objFactory create Object (clsType);     currentNum++;    } else {     //如果当前池中无对象可用 而且所创建的对象数目已达到所限制的最大值     //就只能等待其它线程返回对象到池中     synchronized (this) {      try {       wait();      } catch (InterruptedException e) {       System out println(e getMessage());       e printStackTrace();      }      currentObj = pool firstElement();     }    }   } else {    //如果当前池中有可用的对象 就直接从池中取出对象    currentObj = pool firstElement();   }   return currentObj; }   public void returnObject(Object obj) {    // 确保对象具有正确的类型    if (obj isInstance(clsType)) {     pool addElement(obj);     synchronized (this) {      notifyAll();     }    } else {     throw new IllegalArgumentException( 该对象池不能存放指定的对象类型 );    }   } }   从上述代码可以看出 ObjectPool利用一个java util Vector作为可扩展的对象池 并通过它的构造函数来指定池化对象的Class类型及对象池的一些属性 在有对象返回到对象池时 它将检查对象的类型是否正确 当对象池里不再有可用对象时 它或者等待已被使用的池化对象返回池中 或者创建一个新的对象实例 不过 新对象实例的创建并不在ObjectPool类中 而是由PoolableObjectFactory类的createObject方法来完成的 具体实现如下       public Object createObject(Class clsType) {  Object obj = null;  try {   obj = clsType newInstance();  } catch (Exception e) {   e printStackTrace();  }  return obj; }   这样 通用对象池的实现就算完成了 下面再看看客户端(Client)如何来使用它 假定池化对象的Class类型为StringBuffer       //创建对象池工厂 ObjectPoolFactory poolFactory = ObjectPoolFactory getInstance (); //定义所创建对象池的属性 ParameterObject paraObj = new ParameterObject( ); //利用对象池工厂 创建一个存放StringBuffer类型对象的对象池 ObjectPool pool = poolFactory createPool(paraObj String Buffer class); //从池中取出一个StringBuffer对象 StringBuffer buffer = (StringBuffer)pool getObject(); //使用从池中取出的StringBuffer对象 buffer append( hello ); System out println(buffer toString());   可以看出 通用对象池使用起来还是很方便的 不仅可以方便地避免频繁创建对象的开销 而且通用程度高 但遗憾的是 由于需要使用大量的类型定型(cast)操作 再加上一些对Vector类的同步操作 使得它在某些情况下对性能的改进非常有限 尤其对那些创建周期比较短的对象   专用对象池的实现   由于通用对象池的管理开销比较大 某种程度上抵消了重用对象所带来的大部分优势 为解决该问题 可以采用专用对象池的方法 即对象池所池化对象的Class类型不是动态指定的 而是预先就已指定 这样 它在实现上也会较通用对象池简单些 可以不要ObjectPoolFactory和PoolableObjectFactory类 而将它们的功能直接融合到ObjectPool类 具体如下(假定被池化对象的Class类型仍为StringBuffer 而用省略号表示的地方 表示代码同通用对象池的实现)      public class ObjectPool {  private ParameterObject paraObj;//该对象池的属性参数对象  private int currentNum = ; //该对象池当前已创建的对象数目  private StringBuffer currentObj;//该对象池当前可以借出的对象  private Vector pool;//用于存放对象的池  public ObjectPool(ParameterObject paraObj) {   this paraObj = paraObj;   pool = new Vector();  }  public StringBuffer getObject() {   if (pool size() <= paraObj getMinCount()) {    if (currentNum <= paraObj getMaxCount()) {     currentObj = new StringBuffer();     currentNum++;    }       }   return currentObj;  }  public void returnObject(Object obj) {   // 确保对象具有正确的类型   if (StringBuffer isInstance(obj)) {       }  }   结束语   恰当地使用对象池技术 能有效地改善应用程序的性能 目前 对象池技术已得到广泛的应用 如对于网络和数据库连接这类重量级的对象 一般都会采用对象池技术 但在使用对象池技术时也要注意如下问题   并非任何情况下都适合采用对象池技术 基本上 只在重复生成某种对象的操作成为影响性能的关键因素的时候 才适合采用对象池技术 而如果进行池化所能带来的性能提高并不重要的话 还是不采用对象池化技术为佳 以保持代码的简明 lishixinzhi/Article/program/Java/hx/201311/25768

课程设计题目,多线程编程:医院门诊模拟,想用java实现,求大神指点

驳回原因都是什么

java中的同步代码块,为什么随便放个对象,就可以锁住代码块呢?什么原理?

第一步是会用,有几年的沉淀后再去看原理的东西,因为它不是一个点,涉及挺多的。synchronized原理存在一个锁升级的概念(无锁->偏向锁->自旋锁->重量级锁),在对象的mark word的部分会记录锁的状态。在没有能力读源码前,老老实实的会用就行了。

michael jackson的《we are the world》(不是群星)中Sharon和shalingen指什么?

他想表达为拯救地球开始行动时的快乐与欣慰

资料中英文jam和sauce有什么区别?

如果仅仅从食物的角度来区分,jam为果酱的意思,比如那些涂面包用的。sauce的中文译音就是沙司,是用来烧菜的一种调味酱

求关于Taja的相关信息。目前从日本网站了解应该是2个人组合。主唱为田中菜穂(たなかなほ)

Taja的用意是中文的「大家」谐音1997年、音乐制作人狩野佑次和独立音乐歌手田中菜穂相遇田中菜穂创作音乐、狩野佑次担当制作、两人开始了音乐合作NHK的体育节目取用他们的作品作为了节目的片尾曲、使两人有了正式结成的信心两人的合作越来越得到各界的认可在2000年时将组合名「笹冢一轩家」改名为「Tajia(大家)」、开始了美好的前途主唱:Naho本名:田中菜穂(TANAKA NAHO)血型:B型生日:11月15日出身地:広岛県吉他、制作人:Yuji本名:狩野 佑次(KANO YUJI)血型:A型生日:1974年10月26日出身地:滋贺県

求Wishing Weed-Jason Reeves的歌词,谢谢。

歌词: I picked a wishing weed beneath your mother"s treeand i asked it to bring you back to methen a dragonfly took it to the skyand it rode on the wind until it caught your eyeAnd i"m never gonna get over younot cause i can"t, cause i don"t want toi"m gonna get you back if it"s the only thing i doi"m never gonna get over you..I took the secret path to where i saw you lastand a sparrow dropped a letter to me as it passedthere was a simple sketch of a heart in redand it broke me when i opened it cause all it said was"i"m never gonna get over younot cause i can"t, cause i don"t want toyou know it"s true that i"m gonna get you backif it"s the only thing i doi"m never gonna get over you.."of all the lovers found and lostand never seen againyou"re the only one that runsrepeating through my head..."i"m never gonna get over younot cause i can"t, cause i don"t want toyou know it"s true that i"m gonna get you backif it"s the only thing i doi"m never gonna get over you.."

Trojan.Win32.Agent.yxq是什么病毒????

估计这个版里集成了一些工具软件有可能它们会被认为是病毒 这种情况应该可以不管

Java中gc的作用是什么?gc时可以不重启jetty吗?

GC即Gabbage Collection,垃圾回收。它将未被程序使用的内存进行回收。Java 程序员不用担心内存管理,因为垃圾收集器会自动进行管理。这一般是由JVM即Java虚拟机来负责的。jetty是Java应用,运行在虚拟机纸上,和GC没有直接关系。

jetty部署应用时依赖的jar包放哪个位置?

放项目的WEB-INF/lib

jetty.sh 中怎么设置java jdk

编辑:nano /etc/profile改成这样不要错了:export JAVA_HOME=/usr/local/java/jdk1.7.0_25export JAVA=$JAVA_HOME/bin/javaexport PATH=$PATH:$JAVA_HOME:$JAVA:$JAVA_HOME/binexport CLASSPATH=$CLASSPATH:$JAVA_HOME:$JAVAexport JETTY_HOME=/jettyexport CLASSPATH=$CLASSPATH:$JETTY_HOME/bin改好狗记得source一下 ,我也是这样的问题解决了。

怎样在linux下进行java编程

一样可以用工具编程啊,不用记事本

linux系统怎样进行java开发

和WINDOWS相似~~~~安装JDK、设置环境变量可以使用ECLIPSE做编辑工具~

使用jetty启动java工程,怎么访问

jetty是一个web服务器,所以你启动的需要是一个web工程,启动后,直接通过浏览器输入url地址进行访问。

java,linux 开发相关问题,

linux下java编程与在windows下一样,重点在于搭建java开发环境。linux下搭建java开发环境步骤:1、下载linux环境下的JDK,举例:JDK程序名为:jdk-7u11-linux-i586.tar.gz 保存路径:/home/wyl/tools-wyl/JDK7u11 eclipse程序名为:eclipse-jee-juno-SR1-linux-gtk.tar.gz 保存路径:/home/wyl/tools-wyl/eclipse-javaEE2、解压下载的jdk-7u11-linux-i586.tar.gz文件chmod 777 jdk-7u11-linux-i586.tar.gztar xzvf jdk-7u11-linux-i586.tar.gz(普通用户身份解压即可)3、配置环境变量以超级用户身份执行下面的命令:#vim /etc/profile在文件末尾加上以下内容后保存退出(:wq)export JAVA_HOME=/home/wyl/tools-wyl/JDK7u11/jdk1.7.0_11(说明:这个是JDK解压后文件夹的路径)export PATH=$JAVA_HOME/bin:$PATH或export PATH=$PATH:$JAVA_HOME/binexport CLASSPATH=.4、注销重新登录后在终端输入java,javac,java -version,javac -version.测试是否安装成功。[wyl@localhost eclipse-javaEE]$ java -versionjava version "1.7.0_11"Java(TM) SE Runtime Environment (build 1.7.0_11-b21)Java HotSpot(TM) Server VM (build 23.6-b04, mixed mode)[wyl@localhost eclipse-javaEE]$ javac -versionjavac 1.7.0_11[wyl@localhost eclipse-javaEE]$5、解压eclipse-jee-juno-SR1-linux-gtk.tar.gz 并运行它(chmod 777 eclipse...)5.1、解压:tar xzvf eclipse-jee-juno-SR1-linux-gtk.tar.gz (普通用户身份解压即可,否则每次都要以超级用户身份运行它)。5.2、运行:进入解压后的目录,执行命令:./eclipse即可运行eclipse.或者进入解压后的目录,双击eclipse图标即可。运行eclipse即可进行java编程。

jetty9.4支持java7吗

1. 首先从Jetty的官方网站wiki.eclipse.org/Jetty/Starting/Downloads下载最新的Jetty,上面有两个版本7.x和8.x,7.x是运行在JDK5及以上版本,8.x,9.x是运行在JDK6及以上版本,这里我选择了8.0.4版本。 2. 解压压缩包到指定目录,且将其目录路.

jetty可以部署jar包吗

支持,jetty跟tomcat一样是servlet容器,如果你安装有maven,用mvn jetty:run-war就可以用jetty运行war包,当然,你jetty也可以独立运行的,jetty是典型的OSGI规范的一个实现,它可以内嵌到你的应用中,只需要依赖jetty的几个jar包

jetty运行java项目不打印日志并且启动一会就自动关闭了,希望大神指导一哈?

1 Jetty6自带的配置文件etc/jetty.xml,已经包括了http配置。2 一般情况下是默认http配置。除非etc/jetty.xml配置文件生效<Set name="handlers"><Array type="org.mortbay.jetty.Handler"><Item><Ref id="RequestLog"/></Item>......</Array></Set>RequestLog Item标签放在最前面修改配置<Set name="ignorePaths"><Array type="String"><Item>/image/*</Item><Item>*.css</Item></Array></Set> 即,配置操作数据3 修改过的http配置的位置:<Arg><SystemProperty name="jetty.logs" default="./logs"/>/yyyy_mm_dd.request.log</Arg>需要改为:<Arg><SystemProperty name="jetty.home" default="."/>/logs/yyyy_mm_dd.request.log</Arg

java中的jersey和jetty的区别

区别太大了:jersey相当于spring,是一种框架,主要是用于restful风格,比spring轻量级,但功能却不弱;jetty相当于tomcat,是容器。综上,jersey和jetty完全是两码事儿。

Java容器Jetty7、8、9各大版本之间的区别?

Jetty 是一个开源的servlet容器,它为基于Java的web内容,例如JSP和servlet提供运行环境。Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布。开发人员可以将Jetty容器实例化成一个对象,可以迅速为一些独立运行(stand-alone)的Java应用提供网络和web连接。Jetty版本众多,下面一张图解释他们的区别:明显看出只是多了支持的协议,其他都是一样的。

英语作文 李华为进行爱国主义教育邀请jack

Everyone all has each others direction and purposein the life. When we onsider our purpose and place in life. Many people all would harbor grand desires to improve and change their respective community and countries. (But i am an exception hehe)).In other words.. success just likes depends on the small tools, or pieces, which keep structures from tumbling. Just as screws are the small yet essential objects that strengthen and sustain, we should strive for the society to live and work within. Without our earnest efforts, communities couldn"t be so securely maintained. ue004  Human society is vast and seems boundless, it also important to be modest. Regardless of how great own achievements maybe, one is still only a single screw in the large machinery. But if you must be a screw, be a strong and shining one!!!  范例二:  How to Conduct Patriotic Education Among the Youth of Today  1. 我国爱国主义教育的现状  2. 分析爱国主义教育的重要意义  3. 如何在青少年中开展爱国主义教育

java程序

public void actionPerforemed(ActionEvent e){ if(e.getSource()==fileExit) System.exit(0); } ////////////程序中方法名你打错了!应该是:public void actionPerformed(ActionEvent e) {}

Java ,我想实现单击JMenuItem后跳转到另一个JFrame,我点击注册菜单时无反应???本人小白,请详解谢谢

思路是正确的。细节代码有问题。你再多贴一点

JAVA 创建一个带菜单的窗口,点击菜单项,窗口显示不同内容,这个怎么实现?最好用卡片布局。

你这个程序就是卡片布局了,有2个小错误就是没有对p,c1定义为final.我帮你修改好了import java.awt.*;import java.awt.event.*;public class XtLcb extends Frame{public static void main(String args[]){Frame frame = new Frame();frame.setBackground(Color.lightGray);frame.setSize(400,400);frame.setVisible(true);final CardLayout cl = new CardLayout();MenuBar menuBar = new MenuBar();Menu menuFile = new Menu();MenuItem menuFileExit = new MenuItem();MenuItem menuFileOpen = new MenuItem();MenuItem menuFileOn = new MenuItem();menuFile.setLabel("File");menuFileExit.setLabel("Exit");menuFileOpen.setLabel("Open");menuFileOn.setLabel("On");final Panel p = new Panel();p.setLayout(cl);Panel p1 = new Panel();Panel p2 = new Panel();p1.add(new Label("Open"));p2.add(new Label("On"));p.add(p1,"1");p.add(p2,"2");frame.add(p);// Add action listener.for the menu buttonmenuFileExit.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.exit(0);}});menuFileOpen.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){cl.show(p,"1");}});menuFileOn.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){cl.show(p,"2");}});menuFile.add(menuFileOpen);menuFile.add(menuFileOn);menuFile.add(menuFileExit);menuBar.add(menuFile);frame.setMenuBar(menuBar);// Add window listener.frame.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});}/*** Shutdown procedure when run as an application.*//*void windowClosed(){// TODO: Check if it is safe to close the application// Exit application.System.exit(0);}*/}

如何用java编写一个简单的文本编辑器?

import java.awt.*;x0dx0aimport java.awt.event.*;x0dx0aimport javax.swing.*;x0dx0aimport java.io.*;x0dx0ax0dx0apublic class f1 extends Frame implements ActionListenerx0dx0a{x0dx0aprivate MenuBar menubar=new MenuBar();x0dx0aprivate Menu filemenu=new Menu("文件");x0dx0aprivate Menu editmenu=new Menu("编辑");x0dx0aprivate Menu formmenu=new Menu("格式");x0dx0aprivate MenuItem[] itemf=new MenuItem[4];x0dx0aprivate MenuItem[] iteme=new MenuItem[6];x0dx0aprivate MenuItem[] items=new MenuItem[2];x0dx0aprivate TextArea tf=new TextArea();x0dx0ax0dx0apublic int a=0,b=0,c=0,style=Font.PLAIN,size=15;x0dx0apublic String s1="red:"+a+" "+"green:"+b+" "+"blue"+c,x0dx0as2="宋体";x0dx0ax0dx0apublic String[] sz1={"10","16","24","30","32","36"},x0dx0asz2={"宋体","黑体","幼圆","隶书","行楷","Arial","Georgia"},x0dx0asz3={"粗体","倾斜","常规","粗斜"};x0dx0ax0dx0aJDialog dialog=new JDialog(this,"字体",true);x0dx0aContainer cp=dialog.getContentPane();x0dx0aJLabel[] lb=new JLabel[8]; x0dx0aJLabel lb1=new JLabel(s1,JLabel.LEFT);x0dx0aJButton b1=new JButton("确定"),x0dx0ab2=new JButton("取消");x0dx0aJComboBox jc1=new JComboBox(),x0dx0ajc2=new JComboBox(),x0dx0ajc3=new JComboBox();x0dx0aJScrollBar jb1=new JScrollBar(JScrollBar.HORIZONTAL,10,5,0,260);x0dx0aJScrollBar jb2=new JScrollBar(JScrollBar.HORIZONTAL,10,5,0,260);x0dx0aJScrollBar jb3=new JScrollBar(JScrollBar.HORIZONTAL,10,5,0,260);

JAVA二级菜单

import java.awt.*;import java.awt.event.KeyEvent;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import javax.swing.JPopupMenu;public class MyMenu extends Frame { MenuBar menubar; static MyMenu myMenu; Menu file, edit, help, subedit; MenuItem f1, f2, f3, f4, e2, e3, e4, se1; MenuItem e1; PopupMenu popm = new PopupMenu("编辑"); MyMenu(String s) { super(s); menubar = new MenuBar(); setMenuBar(menubar); file = new Menu("文件"); edit = new Menu("编辑"); help = new Menu("帮助"); subedit = new Menu("二级菜单"); menubar.add(file); menubar.add(edit); menubar.add(help); e1 = new MenuItem("copy"); // e1.setShortcut(new MenuShortcut(KeyEvent.VK_C)); e2 = new MenuItem("-"); e3 = new MenuItem("cut"); se1 = new MenuItem("s"); edit.add(e1); edit.add(e2); edit.add(e3); subedit.add(se1); edit.add(subedit); popm.add(e1); add(popm); setSize(600, 600); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); // popm.show(this, 150, 150); addMouseListener(new MouseAdapter() { public void pmshow(int x, int y) { popm.show(myMenu, x, y); } public void mousePressed(MouseEvent e) { if (e.getButton() == e.BUTTON3) { pmshow(e.getX(), e.getY()); } } }); setVisible(true); } public static void main(String[] args) { myMenu=new MyMenu("我的菜单"); }}楼主的错误太多...我只得给楼主改好..然后楼主再看一下...运行个试试....和自己的比一下就知道了...有几个是空指针...因为楼主没有给它赋值....现在已经写好了....祝楼主早日成功!!

java文本框,点击右键,产生右键事件,出现弹出式菜单,三个菜单选项(复制,粘贴,剪切)

在java.awt包中有两个类可以用于弹出式菜单,PopupMenu(弹出式菜单),MenuItem(菜单项),在 java.awt.event 包的MouseListener与MouseEvent 可用于鼠标事件下面是代码(是从别的地方借用过来的,删除了一些与此问题无关的内容):import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;public class PopupMenuDemo extends JFrame implements ActionListener{ JButton btnTest=new JButton("Test"); JTextArea textArea=new JTextArea(); PopupMenu pMenu=new PopupMenu(); //创建弹出式菜单,下面三项是菜单项 MenuItem mItemCopy=new MenuItem("复制"); MenuItem mItemPaste=new MenuItem("粘贴"); MenuItem mItemCut=new MenuItem("剪切"); MouseAdapter mouseAdapter=new MouseAdapter()//监听鼠标事件 { public void mouseClicked(MouseEvent event) { if(event.getButton()==MouseEvent.BUTTON3)//只响应鼠标右键单击事件 { pMenu.show(textArea,event.getX(),event.getY());//在鼠标位置显示弹出式菜单 } } }; ActionListener menuAction=new ActionListener()//响应单击菜单项的事件,只是示例, {//具体内容可自己编写 public void actionPerformed(ActionEvent e) { MenuItem item=(MenuItem)e.getSource(); if(item==mItemCopy) //单击了“复制”菜单项 { JOptionPane.showMessageDialog(null,"复制"); } else if(item==mItemPaste) //“粘贴”菜单项 { JOptionPane.showMessageDialog(null,"粘贴"); } else { JOptionPane.showMessageDialog(null,"剪切"); //“剪切”菜单项 } } }; public PopupMenuDemo() { setTitle("Test"); setSize(300,300); setResizable(false); setLocationRelativeTo(null); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); add(btnTest,BorderLayout.NORTH); add(textArea,BorderLayout.CENTER); textArea.add(pMenu); //弹出式菜单加入到文本框中,否则不能显示 textArea.addMouseListener(mouseAdapter); //文本框加入鼠标监听器 pMenu.add(mItemCopy); //菜单项的单击事件监听器 mItemCopy.addActionListener(menuAction); pMenu.add(mItemPaste); mItemPaste.addActionListener(menuAction); pMenu.add(mItemCut); mItemCut.addActionListener(menuAction); btnTest.addActionListener(this); } public static void main(String... args) { new PopupMenuDemo().setVisible(true); } public void actionPerformed(ActionEvent e) { JOptionPane.showMessageDialog(null,"测试功能"); }}

JAVA 这个程序怎么调用运行啊

直接在类MenuTest 下建立一个main方法public class MenuTest extends Applet implements ActionListener { public static void main(String[] args){ MenuTest menuTest=new MenuTest(); }}

Java中菜单组件的类是什么?

JMenu..

JAVA中JMenuItem的布局。。

你可以看一下能不能设置布局管理器。布局管理器可以设置间隙。如果不能,那么就在名称两边加空格吧。

Java 一个菜单窗口的程序出现错误

重装系统 不就得了

java大牛来!!下拉菜单-复选框-单选框-用法

package fxw.xjtu.cn;import org.eclipse.jface.dialogs.MessageDialog;import org.eclipse.swt.events.SelectionAdapter;import org.eclipse.swt.events.SelectionEvent;import org.eclipse.swt.widgets.Display;import org.eclipse.swt.widgets.Shell;import org.eclipse.swt.widgets.Menu;import org.eclipse.swt.SWT;import org.eclipse.swt.widgets.MenuItem;public class Test { protected Shell shell; /** * Launch the application. * @param args */ public static void main(String[] args) { try { Test window = new Test(); window.open(); } catch (Exception e) { e.printStackTrace(); } } /** * Open the window. */ public void open() { Display display = Display.getDefault(); createContents(); shell.open(); shell.layout(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } } /** * Create contents of the window. */ protected void createContents() { shell = new Shell(); shell.setSize(450, 300); shell.setText("SWT Application"); Menu menu = new Menu(shell, SWT.BAR); shell.setMenuBar(menu); MenuItem menuItem = new MenuItem(menu, SWT.CASCADE); menuItem.setText("u4E3Bu83DCu53551"); Menu menu_1 = new Menu(menuItem); menuItem.setMenu(menu_1); MenuItem menuItem_2 = new MenuItem(menu_1, SWT.CASCADE); menuItem_2.setText("u4E0Bu62C9u83DCu53551.1"); Menu menu_3 = new Menu(menuItem_2); menuItem_2.setMenu(menu_3); MenuItem menuItem_3 = new MenuItem(menu_3, SWT.CHECK); menuItem_3.setText("u590Du9009u68461"); menuItem_3.addSelectionListener(new SelectionAdapter(){ public void widgetSelected(SelectionEvent e){ MessageDialog.openInformation(shell, "菜单的监听器", "您选择了:"+e.getSource()); } }); MenuItem menuItem_4 = new MenuItem(menu_3, SWT.CHECK); menuItem_4.setText("u590Du9009u68462"); menuItem_4.addSelectionListener(new SelectionAdapter(){ public void widgetSelected(SelectionEvent e){ MessageDialog.openInformation(shell, "菜单的监听器", "您选择了:"+e.getSource()); } }); MenuItem menuItem_5 = new MenuItem(menu_3, SWT.CHECK); menuItem_5.setText("u590Du9009u68463"); menuItem_5.addSelectionListener(new SelectionAdapter(){ public void widgetSelected(SelectionEvent e){ MessageDialog.openInformation(shell, "菜单的监听器", "您选择了:"+e.getSource()); } }); new MenuItem(menu_3, SWT.SEPARATOR); MenuItem menuItem_6 = new MenuItem(menu_3, SWT.RADIO); menuItem_6.setText("u5355u9009u68461"); MenuItem menuItem_7 = new MenuItem(menu_3, SWT.RADIO); menuItem_7.setText("u5355u9009u68462"); MenuItem menuItem_8 = new MenuItem(menu_1, SWT.NONE); menuItem_8.setText("u4E0Bu62C9u83DCu53551.2"); MenuItem menuItem_9 = new MenuItem(menu_1, SWT.NONE); menuItem_9.setText("u4E0Bu6765u83DCu53551.3"); MenuItem menuItem_1 = new MenuItem(menu, SWT.CASCADE); menuItem_1.setText("u4E3Bu83DCu53552"); Menu menu_2 = new Menu(menuItem_1); menuItem_1.setMenu(menu_2); MenuItem menuItem_10 = new MenuItem(menu_2, SWT.NONE); menuItem_10.setText("u4E0Bu62C9u83DCu53552.1"); MenuItem menuItem_11 = new MenuItem(menu_2, SWT.NONE); menuItem_11.setText("u4E0Bu62C9u83DCu53552.2"); }}这个是用SWT写的,很好用。具体的应用就是个menuitem添加选中的监听器,这里是在复选框选中时,弹出消息框,显式该选项被选中。

java 菜单条 为什么我 点了一下 文件 那个 Jmenu 后 鼠标一移开 下面的 jmenuitem 就 不显示

移开是什么意思?鼠标不在菜单上,也想让它显示?

java 提取字符串中包含所有的url, 正则表达式怎么写

import java.net.URL; public class MainClass { public static void main(String[] args) { String host = "www.java2s.com"; String file = "/index.html"; String[] schemes = {"http", "https", "ftp", "mailto", "telnet", "file", "ldap", "gopher", "jdbc", "rmi", "jndi", "jar", "doc", "netdoc", "nfs", "verbatim", "finger", "daytime", "systemresource"}; for (int i = 0; i < schemes.length; i++) { try { URL u = new URL(schemes[i], host, file); System.out.println(schemes[i] + " is supported "); } catch (Exception ex) { System.out.println(schemes[i] + " is not supported "); } } } }

《吸血鬼日记》和《初代吸血鬼》Elijah、Klaus眞正的性格、关系如何

LZ可能还没看完吧。性格、关系完全都是一脉相承的。LZ没看完的部分,大致如下。(剧透哦)Elijah被E第二次封印,解封后,达成协议。Elijah透露他的故事和计划:他和大K原本亲密无间,但大K多疑,封印了全部家人,并宣称扔入大海找不回来。这与Elijah的家庭观,是彻底的背道而驰,两人关系破裂。Elijah想要杀死大K。Elijah找到回生药,准备让E吃下,然后大K解封狼性时,E不会死;Bonnie联通数百个死去的女巫的力量,把解封后最脆弱的大K胖揍一顿,削到濒死状态(这样可以留一点元气,Bonnie不会死);Elijah完成最后一击。最后时刻,大K说家人没扔进海里,藏起来了;并提出全家团聚作为条件(这个是Elijah的痒痒肉)。Elijah最后一刻,没有杀死大K。虽然大K又一次违约。但后来也确实全家团聚了(除了他们的老爹大M)

《吸血鬼日记》里 Elijah 和 Klaus 是什么关系? 为什么Elijah 要削掉 Klaus? 谢谢

  Elijah是戏里吸血鬼祖先之一而已、但对比之下 Klaus 要强大的多、所以 Klaus 大概也是吸血鬼祖先、  两人相比Elijah就好像小喽啰一样、而 Klaus 就像一个大魔头、所以Elijah不敢与Klaus发生正面冲突、只有通过祭祀后、Klaus最虚弱的时候杀害他、  为什么要杀害Klaus的原因就像古代的谋权夺位一样、相比之下Elijah就好像一人之下万人之上的力量、从他那时候和Domen打的时候就可以看出、他一只手便能把Domen打到一边、一瞬间把四五个狼人的心全给掏出来、所以Klaus的力量可想而知、有多强大、  如果Elijah杀害了Klaus、他无可置疑的成为了最厉害的人、至少在血族里是这样的、也许吸血鬼祖先只剩下他们两个、或者说只有他们两个、一山不容二虎、何况Elijah怎么能容下比自己强大得多的Klaus呢?依我推断、Elijah和Klaus最后都会死、因为两个都是魔头、且对破除月光石都虎视眈眈、他们不死埃琳娜就必须牺牲、除非.........卡特琳娜会代替祭祀品咯、那就可能不同、按理说Elijah会杀死Klaus、然后巫师和Domen他们就联合起来再杀害Elijah、这个剧情按理是这样发展的  希望以上对你有所帮助

JAY的花海的歌词是“请你等重来。我在等待重来”还是“欠你的宠爱。我在等待重来”??

花海

java、dom解析xml时出现Premature end of file 错误,原因是xml文件后没有节点 ,看问题补充

这是写入XML文件的方法:public boolean addStu(Document doc){try{System.out.print(" "+"doc="+doc);Element eStu = doc.createElement("Student");Element eName = doc.createElement("Name");Element eSex = doc.createElement("Sex");Element eAge = doc.createElement("Age");Element eAddress = doc.createElement("Address");Attr aNo = doc.createAttribute("SID");Text tid = doc.createTextNode(stuNO);Text tname = doc.createTextNode(stuName);Text tsex = doc.createTextNode(stuSex);Text tage = doc.createTextNode(stuAge);Text taddress = doc.createTextNode(stuAddress);eStu.setAttributeNode(aNo).appendChild(tid);eStu.appendChild(eName).appendChild(tname);eStu.appendChild(eSex).appendChild(tsex);eStu.appendChild(eAge).appendChild(tage);eStu.appendChild(eAddress).appendChild(taddress);Element root = doc.getDocumentElement();root.appendChild(eStu);return true;}catch(Exception e){System.out.print("addStu:"+e+" ");return false;}}
 首页 上一页  16 17 18 19 20 21 22 23 24 25 26  下一页  尾页