小编Thi*_*ker的帖子

我该如何解释Interface和Abstract类之间的区别?

在我的一次访谈中,我被要求解释InterfaceAbstract类之间的区别.

这是我的回答:

Java接口的方法是隐式抽象的,不能有实现.Java抽象类可以具有实现默认行为的实例方法.

在Java接口中声明的变量默认为final.抽象类可能包含非最终变量.

默认情况下,Java接口的成员是公共的.Java抽象类可以具有类似私有,受保护等类通常的类成员.

应使用关键字"implements"实现Java接口; 应使用关键字"extends"扩展Java抽象类.

接口只能扩展另一个Java接口,抽象类可以扩展另一个Java类并实现多个Java接口.

Java类可以实现多个接口,但它只能扩展一个抽象类.

然而,面试官并不满意,并告诉我这个描述代表了" 书本知识 ".

他告诉我一个更实际的回答,解释我何时会使用实际例子在界面上选择一个抽象类.

我哪里做错了?

java oop inheritance abstract-class interface

456
推荐指数
13
解决办法
42万
查看次数

如何使用Jconsole监控Java程序?

我编写了一个程序,使用2个线程打印1到200的数字.

现在我想使用JConsole监视这个程序.

基本上我想学习如何使用JConsole来监视应用程序.

我搜索谷歌但找不到有用的东西.

我怎么能做到这一点?

当我开始jconsole.exe在bin文件夹中.它要求输入主机名和端口号.在我的情况下,我猜没有.有人可以指导.

java multithreading jconsole

15
推荐指数
2
解决办法
3万
查看次数

HashMap中的桶数是什么意思?

我正在阅读关于Hashmap的内容.

HashMap的一个实例有两个影响其性能的参数:初始容量和负载因子.容量是哈希表中的桶数.

如果Hashmap中有10个键值对.假设Hashcode不同.

每个人都在一个桶里吗?或者一个桶可以有多个键值对?

因为bucket在英语中意味着许多物体可以驻留的大事.

java collections hashmap

13
推荐指数
2
解决办法
3万
查看次数

如何限制我的客户使用课程中选择的方法?

假设我有1个完整的类,其中包含约20种提供不同功能的方法。

现在,我们有多个使用此类的客户端,但我们希望它们具有受限的访问权限。

例如-

客户端1-可以访问method1 / m3 / m5 / m7 / m9 / m11

客户端2-可以访问method2 / m4 / m6 / m8 / m10 / m12

有什么办法可以限制此访问权限?

我认为的一种解决方案:

创建2个扩展父类的新类,并覆盖无法访问的方法,并从中抛出Exception。但是,如果第3个客户端有不同的要求,我们必须为其创建新的子类。

还有其他方法吗?

java oop inheritance encapsulation abstraction

10
推荐指数
2
解决办法
267
查看次数

如何在web.xml和log4j.properties中配置log4j输出文件路径?

我开发了一个Web应用程序,我可以在其中注册一名员工.

我的 web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns="http://java.sun.com/xml/ns/javaee"
 xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">

  <display-name>Employee Registration</display-name>

  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>

  <servlet>
  <servlet-name>sapient</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
  <servlet-name>sapient</servlet-name>
  <url-pattern>*.htm</url-pattern>
  </servlet-mapping>

</web-app>
Run Code Online (Sandbox Code Playgroud)

现在,当我点击Register我的html页面中的一个按钮时.它转到一个控制器类,我已经编写了一个用于记录的代码,

@org.springframework.stereotype.Controller
public class RegController  {
    private static final Logger LOGGER = Logger
            .getLogger(RegController.class.getName());


@RequestMapping(value = "/register.htm", method = RequestMethod.GET)
public ModelAndView handleRequest(HttpServletRequest request,
        HttpServletResponse response) throws Exception {
    LOGGER.debug("ENTERING the contoller class");
    ModelAndView mav = new ModelAndView("register");
    LOGGER.debug("exiting the contoller class");
    return mav;

}
Run Code Online (Sandbox Code Playgroud)

}

我创建了一个名为的包,resource并在其中创建了一个log4j.properties文件 …

debugging configuration web.xml log4j properties-file

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

JSOUP中的UserAgent?

我总是在JSOUP代码中随处可见.

Useragent 设置为Mozilla.

如果我想将其设置为谷歌浏览器或歌剧,该怎么办?

Jsoup.connect(url)
      .userAgent("Mozilla");
Run Code Online (Sandbox Code Playgroud)

我怎么能做到这一点?提前致谢.

java jsoup

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

如何使用ObjectContentManager在节点下添加节点?

我想使用ObjectContentManager在节点下添加节点.

我可以使用ObjectContentManager添加单个节点

Pojo1 p1 = new Pojo1 ();
p1 .setPath("/p1");
p1 .setName("p_3");
p1 .insert(p1);
ocm.save();
Run Code Online (Sandbox Code Playgroud)

现在在这个节点下我想添加另一个Pojo2类节点.我写了一段代码,但它给了我一个例外.

Pojo2 p2 = new Pojo2 ();
p2.setPath("/p1/p2");
p2.setName("p_3");
p2.insert(p2);
ocm.save();
Run Code Online (Sandbox Code Playgroud)

但这给了我一个例外.

org.apache.jackrabbit.ocm.exception.ObjectContentManagerException: Cannot create new node of type nt:pojo1 from mapped class class com.sapient.Pojo1; nested exception is javax.jcr.nodetype.ConstraintViolationException: No child node definition for p2 found in node /p1
Run Code Online (Sandbox Code Playgroud)

我怎么能做到这一点?提前致谢.

java jackrabbit

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

在Immutable类中创建一个字段`Final`?

最近我参加了一次采访.

有人问我怎么上课Immutable.

我告诉他答案.

但后来他问我为什么这些田地final

我回答说,用户不会意外地更改字段的值,如果他这样做,将给编译器错误.

现在他问我有一个immutable只有getter方法的类.

然后在这个班级有什么用final

我无法回答.他说这背后有一个原因.

有人可以解释一下吗?

java immutability

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

为什么以后执行静态块?

PS:

This question has been edited a few times as my previous code doesn't demonstrate the problem. There are some answers which may not make perfect sense against the edited question

我有一个名为的公共类 Son.java

package com.t;

public class Son extends Father {

    static int i;

    static {
        System.out.println("son - static");
        i = 19;
    }

    {
        System.out.println("son - init-block"); 
    }

    public static void main(String[] args) {
        //Son s = new Son();
        int a[] = new int[2];
        System.out.println(a[5]);
    }

}

class Father { …
Run Code Online (Sandbox Code Playgroud)

java static

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

如何使用Spring-mvc中的按钮调用控制器?

我正在使用Spring MVC.我有一个主页index.jsp

<a href="register.htm"> Register an Employee</a>
<input type="button" onclick="register.htm" value="REGISTER">
Run Code Online (Sandbox Code Playgroud)

当我点击链接时Register an Employee,流程进入了handleRequest但是当我点击提交按钮时没有发生任何事情.

我的handleRequest方法看起来像这样.

@RequestMapping(value = "/register.htm", method = RequestMethod.GET)
    public ModelAndView handleRequest(HttpServletRequest request,
            HttpServletResponse response) throws Exception {
        ModelAndView mav = new ModelAndView("register");
        return mav;     
    }
Run Code Online (Sandbox Code Playgroud)

我怎么能这样做?

java forms spring spring-mvc

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