各种问题收集

1.下面运行结果是什么?解释为什么

public class Base
{
    Base() {
        preProcess();
    }

    void preProcess() {}
}

public class Derived extends Base
{
    public String whenAmISet = "set when declared";

    @Override void preProcess()
    {
        whenAmISet = "set in preProcess()";
    }
}
ublic class Main
{
    public static void main(String[] args)
    {
        Derived d = new Derived();
        System.out.println( d.whenAmISet );
    }
}

运行结果:

set when declared

为什么是这个结果?

...

2.阿里笔试题, 下面运行结果是什么?解释为什么是这样?

public class Alibaba {
    public static int k = 0;
    public static Alibaba t1 = new Alibaba("t1");
    public static Alibaba t2 = new Alibaba("t2");
    public static int i = print("i");
    public static int n = 99;
    private int a = 0;
    public int j = print("j");
    {
        print("构造块");
    }
    static {
        print("静态块");
    }
    public Alibaba(String str) {
        System.out.println((++k) + ":" + str + "   i=" + i + "    n=" + n);
        ++i;
        ++n;
    }
    public static int print(String str) {
        System.out.println((++k) + ":" + str + "   i=" + i + "    n=" + n);
        ++n;
        return ++i;
    }
    public static void main(String args[]) {
        Alibaba t = new Alibaba("init");
    }
}

运行结果:

1:j   i=0    n=0
2:构造块   i=1    n=1
3:t1   i=2    n=2
4:j   i=3    n=3
5:构造块   i=4    n=4
6:t2   i=5    n=5
7:i   i=6    n=6
8:静态块   i=7    n=99
9:j   i=8    n=100
10:构造块   i=9    n=101
11:init   i=10    n=102

3.

public class Singleton {
    private static Singleton singleton = new Singleton();

    public static int counter1;
    public static int counter2 = 0;

    private Singleton() {
        counter1++;
        counter2++;
    }

    public static Singleton getInstance() {
        return singleton;
    }
}
public class Test {

    public static void main(String[] args){
        Singleton singleton = Singleton.getInstance();
        System.out.println(singleton.counter1);
        System.out.println(singleton.counter2);
    }

}

运行结果:

1
0

为什么呢?

明日解释为啥是上面的结果....

时间: 2024-08-09 17:35:30

各种问题收集的相关文章

数据库性能优化、统计信息与对象统计信息概述收集、扩展统计信息、dbms_stats.get_prefs

数据库性能优化 相关书籍: 1.基于成本的Oracle优化法则 2.Oracle性能诊断艺术 3.基于Oracle的SQL优化 ----------------------------------------------------------------------------------------- 两种优化器: CBO  cost-base optimizer 基于cost 更大适应性/灵活性/10g开始 RBO  rule-base optimizer 基于规则 制定了15条/10g以

渗透测试之情报收集

情报收集可以说是白帽子在渗透测试中比较重要也是比较拼耐心的一步,它分为: 一.被动信息收集(不跟目标直接交互,而是通过其他手段来获取目标的相关信息):1.whois查询: 利用whois查询可以获得该目标相关的注册信息和DNS服务器信息(虽然可能是虚假的) 2.netcraft网页工具(网址 http://searchdns.netcraft.com): 通过netcraft可以获取目标的IP地址以及更多详细的信息 3.nslookup: 通过nslookup可以得到目标相关的DNS结构信息(包

elk系统搭建并收集nginx日志-主要步骤

一)简介 elk系统是一套目前较为流行的日志收集分析系统,主要由elasticserch,logstash,kibana三部分组成,其中elasticsearch负责数据的存储,logstash负责日志的收集过滤,kibana负责日志的可视化部分.整个工作流程为logstash收集日志,过滤后输出并保存到elasticsearch中,最后用户通过kibana从elasticsearch中读取数据并处理.本文中日志收集引入filebeat收集日志,logstash监听在5000端口并接受fileb

【开源框架】Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发,欢迎各位...

[转]http://www.tuicool.com/articles/jyA3MrU Android开源库 自己一直很喜欢Android开发,就如博客签名一样, 我是程序猿,我为自己代言 . 在摸索过程中,GitHub上搜集了很多很棒的Android第三方库,推荐给在苦苦寻找的开发者,而且我会 不定期的更新 这篇文章. Android下的优秀开发库数不胜数,在本文中,我列举的多是开发流程中最常用的一些.如果你还想了解更多的Android开源库,可以关注我的博客,每一个库都是我认真查看或者编译运行

【安全牛学习笔记】主动信息收集 - 发现

主动信息收集 - 发现1.特点    直接与目标系统交互通信    无法避免留下访问的痕迹    使用受控的第三方电脑进行探测      使用代理或已被控制的主机      做好被封杀的准备      使用噪声迷惑目标,淹没真实的探测流量    扫描      发送不同的探测,根据返回结果判断目标状态 2.主机发现 识别活着的主机,输出IP地址列表(1)二层发现(数据链路层) 优点:扫描速度快,可靠缺点:不可路由arp协议:根据ip地址获取MAC地址的TCP/IP协议 原理:向网段内所有主机发送

智能家居——安全信息收集(一)

国家质检总局披露80%摄像头不安全 瑞星提示智能家居易泄密 新闻资讯 06-21 近日,国家质检总局官网发布关于智能摄像头的质量安全的风险警示称,已检测的40批次中,32批次样品存在质量安全隐患,可能导致用户监控视频被泄露,或智能摄像头被恶意控制等危害. 检测数据显示,28批次样品数据传输未加密:20批次样品初始密码为弱口令,或者用户注册和修改密码时未限制用户密码复杂度:18批次样品在身份鉴别方面,未提供登录失败处理功能:16批次样品对用户密码.敏感信息等数据,在本地存储时未采取加密保护措施:1

RHEL 5.5下HP管理工具System Management Homepage安装配置及报告收集

环境:rhel5.5  X86_64 根据系统选择如下下载链接: PSP包下载地址:http://h20566.www2.hpe.com/hpsc/doc/public/display?sp4ts.oid=397642&docLocale=en_US&docId=emr_na-c01707486 拷贝下载好的PSP包到服务器后,执行tar –xzvf psp-9.00.rhel6.x86_64.en.tar.gz解压. #tar -zxvf psp-8.20.rhel5.x86_64.en

Oracle里收集与查看统计信息的方法

Oracle数据库里的统计信息是这样的一组数据:它存储在数据字典里,且从多个维度描述了Oracle数据库里对象的详细信息.CBO会利用这些统计信息来计算目标SQL各种可能的.不同的执行路径的成本,并从中选择一条成本值最小的执行路径来作为目标SQL的执行计划. Oracle数据库里的统计信息可以分为如下6种类型: 表的统计信息 索引的统计信息 列的统计信息 系统统计信息 数据字典统计信息 内部对象统计信息 表的统计信息用于描述Oracle数据库里表的详细信息,它包含了一些典型的维度,如记录数.表块

Python收集centos7IP地址

Python通过正则收集网卡IP与MAC地址 #!/usr/bin/env python # coding=utf-8   import re from subprocess import Popen, PIPE   def getIfconfig():     p = Popen(['ifconfig'], stdout=PIPE)     data = p.stdout.read().decode().split('\n\n')     return [i for i in data if 

Python收集主机信息

Python收集linux主机信息,需要安装dmidecode命令,yum -y install dmidecode #!/usr/bin/env python # coding=utf-8   from subprocess import Popen, PIPE   #获取ifconfig命令信息 def getIfconfig():     p = Popen(['ifconfig'], stdout=PIPE)     data = p.stdout.read().decode()