`
Qieqie
  • 浏览: 340009 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Core Java题目快速回答(摘)

阅读更多
Core Java题目快速回答(摘),判断题,每题限制10秒


类定义了其包含的数据和方法成员,所以,JVM中每个对象都将拥有一个独立的数据和方法成员内存区?
使用synchronized声明实例方法,则,并发调用该对象的这个方法是同步的?
使用synchronized声明实例方法,则,并发调用该类所有实例的这个方法是同步的?
因为sleep方法属于Thread类,所以可以调用某个线程的sleep方法,使它在某个时间点到达时暂停一段时间后再继续运行?
因为notify方法和wait方法和线程相关,所以他们在Thread类中定义?
要使当前线程等待某个某种事件,应该调用该线程的wait方法?
当某个期待的事件发生时,应该调用该事件的nofify或notifyAll方法通知正在等待的线程?

祝你回答顺利
分享到:
评论
52 楼 manmoon 2007-05-28  
大家讨论挺激烈阿
呵呵
如果你想彻底了解JVM我觉得你还是拜读源代码吧。或者说你该把C搞好一些。
光靠看书本上怎么说就认为自己掌握了,尽信书不如无书啊。
你知道这些和不知道这些知识的人一样,因为大家所追求的不同。
对于老板,能带来效率就行
对于自己,能赚到钱就行。
个人愚见,我喜欢技术,但是我不崇拜技术。
51 楼 ken1984 2007-05-28  
是的,JVM懂了确实对做JAVA有帮助,但不是每个人都应该懂,这也不是基本的吧。如果是,那大家的基础都不行了吗,怎么还能做出那么多东西呢?
50 楼 Qieqie 2007-05-28  
貌似我应该没直接说“不懂JVM怎么能玩好JAVA”,虽有嫌疑。反正这个论点可能有点武断,但是如果能搞懂JVM却有助从更根本的地方掌握JAVA语言,或者说玩好了,有时出现“怪异”的事情时,也能胸有成竹解决之。
(JVM本来就是JAVA的OS,想想OS的重要性就是了)。
(说JVM重要的人-包括现在的我-不代表他就能完全精通JVM。我绝对没有完全精通JVM,但一般的JVM/OS知识我有去了解,我能感觉到对我有用)

底层这个无底洞,不能说一概不知,但也适可而止,两个极端都不行。


49 楼 Godlikeme 2007-05-28  
Qieqie 写道
Java的Class在虚拟机中只会保存一份对该类的方法定义,在该Class被load进来的时候完成这个工作。

该类的每一个对象,只是保持该对象的数据成员而已,不会每个对象都保存一份独立的方法定义副本。
调用该对象的方法时,只是在所执行的线程的方法调用栈中增加一个方法执行情况记录:记录该本次对被执行方法的局部变量的中间值等。

这也从本根上说明了,定义在方法内部的局部变量是多线程安全的(每个线程都保持一份不同的执行数据副本),
只要该方法只是使用局部变量,不会对全局变量进行“写”操作,或者使用的全局共享资源(如DataSource)是线程安全的,便可以称该方法是线程安全的,Spring的XxxxTemplate方法大部分属于此类型。


ps:现象解释:为什么过多的递归调用会outofmemoryerror

因为每个方法调用都是往调用栈增加一个元素,过多的调用,这个栈就会越来越大,超过java规定的长度就会抛出这个异常

以上只是常识,书本知识而已,掌握了没什么了不起~~~~~~没掌握似乎也没影响


能说道这个程度已经不容易了,估计没看过jvm深入浅出还是有点难度地,

基本上没什么问题吧。
但对于这个红字是有问题的,因为读也有 data race 的问题。
48 楼 solospider 2007-05-28  
ken1984 写道
Qieqie 写道


以上只是常识,书本知识而已,掌握了没什么了不起~~~~~~没掌握似乎也没影响


楼主说的,不懂JVM怎么能玩好JAVA?相反不懂TCP/IP协议以及整个网络模型各层的作用,怎么用好SOCKET?如果你懂IP如何分片,TCP分组如何重组,懂得知道什么是MTU,MSS,滑窗协议,阻塞窗口,那你就可以最大限度的利用网络资源,并且可以防止发送过量数据导致网络阻塞等等等等,这些系统都给你做好了,API都给你指好了路,你顺着用就行了,要想挖底层,我估计你最后会拿起物理媒体,电子信号,通信之类的书本。因为上层要把数据发给其他机器还得通过更底层的物理层,转化成电信号后通过物理媒体传输。


凡事都有个度,没必要这么偏颇。在一定限度内了解一些底层的知识不是什么坏事。
而且做java不一定都是开发j2ee, java的应用领域那么广泛, 所以需要有广泛的知识储备才行。
47 楼 ken1984 2007-05-28  
Qieqie 写道


以上只是常识,书本知识而已,掌握了没什么了不起~~~~~~没掌握似乎也没影响



既然是这样也就不用拿来考核别人的能力了;

另外说一句关于底层的,大家还是往UNIX/LINUX方向走,绝对能满足你对底层的渴望。楼主说的,不懂JVM怎么能玩好JAVA?相反不懂TCP/IP协议以及整个网络模型各层的作用,怎么用好SOCKET?如果你懂IP如何分片,TCP分组如何重组,懂得知道什么是MTU,MSS,滑窗协议,阻塞窗口,那你就可以最大限度的利用网络资源,并且可以防止发送过量数据导致网络阻塞等等等等,这些系统都给你做好了,API都给你指好了路,你顺着用就行了,要想挖底层,我估计你最后会拿起物理媒体,电子信号,通信之类的书本。因为上层要把数据发给其他机器还得通过更底层的物理层,转化成电信号后通过物理媒体传输。
46 楼 Qieqie 2007-05-28  
zhuyi8319 写道
还没有给题目答案呢,


题目答案、对错似乎不重要~~~~
有用到相关应用时,到时翻翻书自己搞明白就是了

要答案可以给我发站内消息要阿

你的回帖属于“灌水”,和我这个回帖一样,可能被投隐藏扣分
45 楼 zhuyi8319 2007-05-28  
还没有给题目答案呢,
44 楼 Qieqie 2007-05-28  
Java的Class在虚拟机中只会保存一份对该类的方法定义,在该Class被load进来的时候完成这个工作。

该类的每一个对象,只是保持该对象的数据成员而已,不会每个对象都保存一份独立的方法定义副本。
调用该对象的方法时,只是在所执行的线程的方法调用栈中增加一个方法执行情况记录:记录该本次对被执行方法的局部变量的中间值等。

这也从本根上说明了,定义在方法内部的局部变量是多线程安全的(每个线程都保持一份不同的执行数据副本),
只要该方法只是使用局部变量,不会对全局变量进行“写”操作,或者使用的全局共享资源(如DataSource)是线程安全的,便可以称该方法是线程安全的,Spring的XxxxTemplate方法大部分属于此类型。


ps:现象解释:为什么过多的递归调用会outofmemoryerror

因为每个方法调用都是往调用栈增加一个元素,过多的调用,这个栈就会越来越大,超过java规定的长度就会抛出这个异常

以上只是常识,书本知识而已,掌握了没什么了不起~~~~~~没掌握似乎也没影响
43 楼 ken1984 2007-05-28  
Godlikeme 写道
应该是类同的。
但是这样也不太准确,方法不会有多份,但每个对象会有一个方法表。


我的意思是,类的方法就一份,类只有一个,然而类的对象会有无数个。
42 楼 Godlikeme 2007-05-28  
应该是类同的。
但是这样也不太准确,方法不会有多份,但每个对象会有一个方法表。
41 楼 ken1984 2007-05-28  
Godlikeme 写道
ls,好像是c++!


如果JAVA不是这样设计的,那我会很惊讶。 
40 楼 Godlikeme 2007-05-28  
恩,打住,不值得
39 楼 抛出异常的爱 2007-05-28  
楼上
到此打住。。。。

38 楼 Qieqie 2007-05-28  
temp0_0 写道
中国不缺象楼主这样的沙比,自以为底层的东西知道的多就牛X了,其实不懂得,真正的大型软件的架构才更重要,向microsoft的office,其中肯定有许多所谓的底层的东西,但更重要的如何做出功能庞大,性能优越,宜用性好的东西,这就是软件架构的任务了,同时还有管理方面的卓越才能,象楼主这样的考法,估计就孤芳自赏吧



删除回复。

本来是语气很强硬地回复了这个人的帖子,
而后我又进入看了这位temp0_0的博客,看了她的帖子,让我直摇头,故删除原先的回复,实没有必要为这样的文字进行反驳!


37 楼 Godlikeme 2007-05-28  
ls,好像是c++!
36 楼 ken1984 2007-05-28  
要想性能优越又不懂底层,,有点可笑。


看来还有很多人不明白类的方法和数据成员对于所有对象是独立还是共享的
以下可做参考:
class   test  
  {  
  int   a;  
  public:  
  int   fun();  
  }  
  用test类做解释  
  1.类数据成员指的是a,类成员函数指的是fun  
  因为每个类对a的存储是不一样的,所以当然需要每一个类都自己有a的
一份拷贝。  
  但fun函数只个一个类的操作,每一个操作的代码都是一样的(存储在代码区域),为什么要留有多份呢??没有必要的,所以一份就够了。  
  /*  
  (定义了A的3个对象a1、a2、a3)他们自己都有存储类数据成员的地址,但A的函数就只有一份。  
  */  
它通过传递进来的this指针的不同来区分不同的object的数据,object虽不同,class却是同一个。  
35 楼 temp0_0 2007-05-27  
中国不缺象楼主这样的沙比,自以为底层的东西知道的多就牛X了,其实不懂得,真正的大型软件的架构才更重要,向microsoft的office,其中肯定有许多所谓的底层的东西,但更重要的如何做出功能庞大,性能优越,宜用性好的东西,这就是软件架构的任务了,同时还有管理方面的卓越才能,象楼主这样的考法,估计就孤芳自赏吧
34 楼 icefire 2007-05-25  
多核时代来了!
不过JAVA的桌面程序还是不行!!
导致多线程编程用的很少!
33 楼 eonhy 2007-05-23  
考SCJP的时候,那些题目不久是要求你把自己脑瓜子当作JVM来考虑程序代码的运行状态么?

相关推荐

    corejava练习题目(1)

    【标题】"CoreJava练习题目(1)"是一个针对Java编程初学者或进阶者的实践练习集,主要聚焦于Java核心语言特性和基本编程概念。这个练习集可能包含了多个关于类、对象、数据类型、控制流、数组、字符串、异常处理等...

    CoreJava全套详细笔记资料.pdf

    CoreJava全套详细笔记资料.pdf CoreJava是Java编程语言的核心部分,涵盖了Java语言的基础知识和高级应用。以下是对给定文件的详细解读和知识点总结: 一、原码、反码、补码 * 原码是指一个数的二进制表示形式,...

    Core Java

    【Core Java】是Java编程的基础教程,主要涵盖了Java语言的核心概念和使用方法。在学习Core Java时,首先要理解以下几个关键知识点: 1. **类与对象**:类是面向对象编程的基础,是描述某一类事物共性的抽象,而...

    java\CoreJava笔记\CoreJAVA_day01

    CoreJava是Java的基础,涵盖了Java Standard Edition (J2SE)的主要内容,包括基本语法、面向对象编程(OO)原则、核心类库的使用等。在学习CoreJava时,我们需要掌握以下几个关键知识点: 1. **编程思想**: - ...

    corejava,java核心编程

    【标题】:“Core Java,Java核心编程” 【描述】:“Java语法基础,Java面向对象编程,图形用户界面(GUI)编程,Java网络编程:Socket编程” 【标签】:“corejava” 在计算机编程领域,Core Java是指Java的...

    达内Java培训-CoreJava全程笔记(WORD唐亮版)

    CoreJava DAY01 Java概述 1 CoreJava DAY02 数据类型和控制结构 6 CoreJava DAY03 数组 11 CoreJava DAY04 15 CoreJava DAY05 面向对象 17 CoreJava DAY06 类的加载过程、实例化、继承、多态 20 CoreJava DAY07修饰...

    Java 核心技术 第八版-第1和2卷+源代码【Core Java 8th Edition】

    Java 核心技术 第八版-第1和2卷+源代码【Core Java 8th Edition】内附资源: Core Java. Volume I. Fundamentals, 8th Edition.pdf ; Core Java. Volume II. Advanced Features, 8th Edition.chm ; Core Java 8th ...

    CoreJava初学题目、答案和自己敲的题目代码

    接触java一个月了,这是这一个月的学习内容和自己做的作业,主要是帮自己建立java的知识体系,也希望能帮助人们。东西适合初学,就不要分了

    Core Java( Java 核心) PDF 教材

    《Core Java》是由Sun Microsystems公司出版的一本权威的Java编程教材,它全面深入地介绍了Java语言的核心概念和技术。这本书是Java开发者的重要参考资料,对于初学者和有经验的开发者都具有很高的学习价值。以下是...

    Core Java.JAVA核心技术(中文版)

    《Core Java.JAVA核心技术(中文版)》是学习Java编程的重要参考资料,主要涵盖了Java语言的基础以及进阶知识。这本书深入浅出地讲解了Java的核心概念和技术,为读者提供了全面而细致的学习路径。以下是对该书内容的...

    Core Java for the Impatient azw3

    Core Java for the Impatient 英文azw3 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除

    Core Java 学习必备PPT(CoreJava教案)

    Core Java 学习必备PPT(CoreJava教案)

    达内 CoreJava老师笔记汇总

    CoreJava DAY01 Java概述 1 CoreJava DAY02 数据类型和控制结构 10 CoreJava DAY03 数组 20 CoreJava DAY04 27 CoreJava DAY05 面向对象 31 CoreJava DAY06 类的加载过程、实例化、继承、多态 37 CoreJava DAY07修饰...

    core java1&2

    《Core Java 1&2》是Java编程领域中两本非常经典的教材,分别对应于卷1和卷2,英文版提供了全面且深入的Java学习资源。这两本书由Cay S. Horstmann和Gary Cornell撰写,是许多程序员入门和进阶Java技术的重要参考书...

    core java 复习总结

    core java 复习,简单的对core java 复习

    corejava(source)

    《深入解析CoreJava源码》 CoreJava是Java编程领域中的经典教材,其源码对于初学者和有经验的开发者来说都是宝贵的资源。通过研究CoreJava的源码,我们可以更深入地理解Java语言的底层机制,提升编程技能,并且能够...

    core java 卷1 pdf

    《Core Java卷1》是Java编程初学者的重要参考资料,它由Cay S. Horstmann和Gary Cornell合著,被誉为Java编程的经典教材。第八版在原有的基础上进行了更新,以适应现代Java开发环境的变化,提供了全面且深入的Java...

    java--corejava学习黄金代码

    要想学习java corejava是java之旅的最重要的入门知识,本人在学习corejava中练习过的最重量级的代码! 希望对新手有所帮助!

Global site tag (gtag.js) - Google Analytics