小编JWh*_*hiz的帖子

Java:跨包的受保护访问

我想了解下面示例中发生的情况(通过子类从包外部访问受保护的成员).

我知道对于包外的类,子类只能通过继承来查看受保护的成员.

有两个包:package1package2.

  1. package1: ProtectedClass.java

    package org.test.package1;
    
    public class ProtectedClass {
    
        protected void foo () {
            System.out.println("foo");
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. package2: ExtendsprotectedClass.java

    package org.test.package2;
    
    import org.test.package1.ProtectedClass;
    
    public class ExtendsprotectedClass  extends ProtectedClass {
    
        public void boo() {
            foo(); // This works, 
                   // since protected method is visible through inheritance
        }
    
        public static void main(String[] args) {
            ExtendsprotectedClass epc = new ExtendsprotectedClass();
            epc.foo(); // Why is this working? 
                       // Since it is accessed through a reference,
                       // …
    Run Code Online (Sandbox Code Playgroud)

java inheritance packages protected

14
推荐指数
1
解决办法
1万
查看次数

什么是GC收集在这里?

这可能是非常基本的,但非常好奇.这是代码片段和输出

public class PlainSystemGC {

    public static void main(String ...strings) {

        System.out.println("Free Memory (Before GC): " + Runtime.getRuntime().freeMemory());

        System.gc();

        System.out.println("Free Memory (After GC): " + Runtime.getRuntime().freeMemory());
    }
}
Run Code Online (Sandbox Code Playgroud)

和输出

Free Memory (Before GC): 1859640
Free Memory (After GC): 1911768
Run Code Online (Sandbox Code Playgroud)

我很想知道GC收集的是什么,因为没有创建对象.

什么是被释放的记忆?(太52kb)


@JSauer - 即使运行100次,它也能得到完​​全相同的结果

java garbage-collection

8
推荐指数
1
解决办法
222
查看次数

Thread.sleep()在从多个线程调用时如何工作

sleep()是Thread类的静态方法.从多个线程调用时它是如何工作的.以及它如何找出当前执行的线程.?

或者可能是一个更通用的问题将是如何从不同的线程调用静态方法?不会有任何并发​​问题吗?

java static multithreading synchronization

7
推荐指数
2
解决办法
8968
查看次数

如何防止接口扩展

在Java中,有没有办法阻止扩展接口.

由于final无法添加到一个interface,我很想知道是否有任何方法,以防止扩展接口.

java oop interface

6
推荐指数
1
解决办法
669
查看次数

确保索引不起作用 - MongoDB

我正在尝试确保文档字段的索引并且它不起作用.MongoDB版本是2.0.2.这是非常基本的,不知怎的,我觉得我可能错过了一些东西!它能够插入3个带有相同空字符串的文档!

这是详细信息:

> use testinsert
switched to db testinsert
> db.users.ensureIndex({ name : 1});
> doc = {
... name  : ""
... }
{ "name" : "" }
> doc
{ "name" : "" }
> db.users.stats();
{
       "ns" : "testinsert.users",
       "count" : 0,
       "size" : 0,
       "storageSize" : 8192,
       "numExtents" : 1,
       "nindexes" : 2,
       "lastExtentSize" : 8192,
       "paddingFactor" : 1,
       "flags" : 1,
       "totalIndexSize" : 16352,
       "indexSizes" : {
               "_id_" : 8176,
               "name_1" : 8176
       },
       "ok" …
Run Code Online (Sandbox Code Playgroud)

indexing mongodb

1
推荐指数
1
解决办法
5019
查看次数