`
ZangXT
  • 浏览: 116452 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
题目:有一个数组,假设是{2,3}。。那么他的子集数包括{2}{3}{2,3},这个称为子包。每个子包的数据和是2,3,5。它们都是素数,那就叫素数包。现在设计个程序,入口是数组,出口是数字(素数包的个数)。 分析:这里面涉及 ...
    首先看这段代码: interface InterfaceTest{ void test(); } public class Test implements InterfaceTest{ public void test(){ System.out.println("test"); } public static void main(String[] args){ InterfaceTest i = new Test(); i.toString(); i.test(); } ...
      关于java的构造方法有几个简单的问题: 1.构造方法有返回值吗?      没有。构造方法没有任何返回类型,也不允许是void。比如: public class Test {  //这不是构造函数! public void Test() { System.out.println("void Test()"); } public static void main(String[] args) { Test test = new Test(); test.Test(); } }         ...
    以前批过《关于Java堆与栈的思考》这个帖子,具体内容见http://zangxt.iteye.com/blog/440330。     这里只是举个简单的例子说明字符串常量池在内存中的位置。     闲言少叙,直接上代码。   import java.util.ArrayList; public class Test { public static void main(String[] args) { String str = "abc"; char[] array = {'a', 'b', 'c'}; ...
先看代码: public class Test { public static void testStatic(){     System.out.println("testStatic()"); } public void testNonStatic(){     System.out.println("testNonStatic()"); } public static void main(String[] args) {     Test.testStatic();   ...
          首先声明,本文无任何实际价值,只是讨论一些无聊的说法。     有一个著名的帖子《Java关键字final、static使用总结》,里面有这样一句话: 注意:父类的private成员方法是不能被子类方法覆盖的,因此private类型的方法默认是final类型的。     这句话的确值得注意,搞不明白一个表示可见性的关键字private和一个表示禁止覆盖的关键字final怎么扯上关系了。     我说这句话是在java语义的角度看是错误的。有人说《Java编程思想》里这么说的,应该可信。如果你认为是错误的,如何证明?     其实从语义角度很容易说明它们是不相关的了 ...
        我对转贴的信息一直有敌意,原因如下:首先,除了制造更多的信息垃圾,转贴不会带来新的价值,想收藏的话一个链接足矣;其次,将错误信息以讹传讹,混淆视听。不妨选一个典型的例子说明一二。         相信《关于Java堆与栈的思考》这个帖子大家并不陌生,转载量极大。但内容如何呢?我就试着分析一下。说明:以下内容,黑色字体为引用别人的帖子,红色字体是我的分析,蓝色字体是引用相关文献。 1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 与C++不同,对于堆来说是有道理的。但C++ ...
题目接http://zangxt.iteye.com/blog/435711 说明:这篇博文是我自己分析和整理的,题目来源和解析参考http://developers.sun.com/learning/javaoneonline/sessions/2009/pdf/TS-5186.pdf ,版权归原作者所有。   1.读文档,看Boolean.getBoolean()这个方法的功能就能解决。     多读文档,很多接口可能并不是按我们想象的方式工作。 2.答案是6.     多态带来的问题。 public boolean addAll(Collection<? extend ...
在2009年的JavaOne大会上,Joshua Bloch和Neal Gafter又为我们带来的7道谜题,挺有意思的。大家不妨看看。 摘自: Return of the Puzzlers: Schlock and Awe Joshua Bloch, Google, Inc.; Neal Gafter, Microsoft http://developers.sun.com/learning/javaoneonline/sessions/2009/pdf/TS-5186.pdf   分析可以参考上面链接,或者参考我的分析http://zangxt.iteye.com/admin/blogs ...
        try/catch/finally语句下,finally子句是肯定会执行的。但是很多人做不同的测试,却得出了不同的结论。 具体的原理最好是去看《深入java虚拟机》,里面对jsr、ret等几个指令做了详细的说明。这里不深入分析,而仅仅是从表现形式上看一下finally的特征。 代码:    /* * author: Zang XT */ public class TestFinal { public static void main(String[] args) { System.out.println("test1:& ...
     好像有这样一个面试题:如果一个类是非public的,那么它的方法声明为public有什么用吗? 看这种情况: package test; public abstract class Test { public abstract void test(); public static Test getInstance(){ return new SubTest(); } } class SubTest extends Test{ @Override public void test() { Sy ...
     以前印象中一直有一个概念,说“如果没有提供构造方法,java将自动添加一个空的public的构造方法”。现在看来,有2个问题,一,默认构造方法未必是public的,二,默认构造方法肯定有super();(Object类的是空构造方法)。 实际情况是,默认构造方法的修饰符是和所在类的修饰符一致的。 比如 public class Test{ } 它的默认构造方法是 public Test(){ super(); } 而 class Test{ } 它的默认构造方法是 Test(){ super(); } 这就没有public了。 对于内部类的情况,类的 ...
        String类是Java中很重要的一个类,在此总结一下这个类的特别之处。下面的相关资料翻译自《java语言规范》(第三版)和《java虚拟机规范》(第二版),有的直接摘引了原文。下面的代码都是用SUN jdk1.6 javac来编译。     1.String literal,这里将它翻译为字面常量,它由双引号包围的0个或多个字符组成,比如"abc","Hello World"等等。一个String字面常量总是引用相同的String实例,比如"abc","abc"两个常量引用的是同一个对象 ...
Java语言规范中的一个例子: class Super { static int taxi = 1729; } class Sub extends Super { static { System.out.println("Sub"); } } public class Test { public static void main(String[] args) { System.out.println(Sub.taxi); } } 结果:1729 注意:taxi实际在Super ...
    阅读Java Virtual Machine Specification中的第四章,理解Java的class文件格式。 class文件由8位的字节流组成。 The ClassFile Structure ClassFile{ u4 magic; u2 minor_version; u2 major_version; u2 constant_pool_count; cp_info constant_pool[constant_pool_count-1]; u2 access_flags; u2 this_class; u2 interfaces_count; u ...
Global site tag (gtag.js) - Google Analytics