小编dev*_*ull的帖子

为什么android.app.Activity不是设计抽象的?

android.app.Activity如果文档/教程说至少onCreate() 必须实现它的方法,那么为什么设计不抽象.

来自http://developer.android.com/guide/components/activities.html

您必须实现此方法.系统在创建活动时调用此方法.

即使没有明确提及,没有实现,没有任何意义android.app.Activity,或者?我知道parrent需要在自己的实现中执行代码,onCreate()但是当父级的一部分onCreate()调用抽象回调方法时,肯定会有设计需要由开发人员实现.

此设计示例:

public abstract class Activity {


    public abstract void implementThis(Object o);

    public void onCreate(Object o){
        //Do stuff
        implementThis(o);
        //Do other stuff or end.
    }

}
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么吗?Activity如果开发人员必须并且需要将其子类化并提供自定义实现,为什么会出现非抽象的?

java android android-activity

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

差异聚合,熟人和构图(由Gang Of Four使用)

我一直在阅读设计模式:可重复使用的面向对象软件的元素, 并得到了部分解释aggregationacquaintance.这是摘录(对不起,如果它太长了,但我认为解释这个问题很重要):

Consider the distinction between object aggregation and acquaintance and how
differently they manifest themselves at compile- and run-times. Aggregation
implies that one object owns or is responsible for another object. Generally we
speak of an object having or being part of another object. Aggregation implies
that an aggregate object and its owner have identical lifetimes.

Acquaintance implies that an object merely knows of another object. Sometimes
acquaintance is called "association" or the "using" …
Run Code Online (Sandbox Code Playgroud)

oop design-patterns

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

我应该记录不言自明的私人方法吗?(JAVA)

我喜欢正确记录的代码,对于我来说,描述合同的正确记录的公共方法是明智的,同样适用于私有或包内部方法来解释代码内部/实现.

但是我不确定我是否应该采用非公开和不受保护的方法:

  • 遵守所有手续,如参数说明,退货价值和例外情况
  • 如果我应该记录不言自明的私有方法,比如fireSomeEvent乍一看它的作用是显而易见的,因为这只会使代码混乱

这是什么标准方法?

java code-structure

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

Tomcat ClassNotFoundException:org.slf4j.spi.LoggerFactoryBinder但是slf4j在libs中

我一直收到以下错误:

Failed to instantiate SLF4J LoggerFactory
Reported exception:
java.lang.NoClassDefFoundError: org/slf4j/spi/LoggerFactoryBinder
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:270)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1562)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1420)
        at org.slf4j.LoggerFactory.bind(LoggerFactory.java:129)
        at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:108)
        at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:302)
        at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:276)
        at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:156)
        at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:132)
        at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:274)
        at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:282)
        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4830)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5276)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:702)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:698)
        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:968)
        at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1742)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at …
Run Code Online (Sandbox Code Playgroud)

java tomcat slf4j java-ee

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

如何额外配置自动创建的 Spring Boot bean?

是否有一种标准方法可以在 Spring Boot 中配置已创建的 bean,即不创建自己提供此 bean,而是以某种方式将该 bean 注入到配置类中的挂钩方法中并执行其他类?

例如,我希望 ThymeleafTemplateResolver由其自动配置创建,但我想更改一个属性。

做到这一点的最佳方法是什么(同样,不是通过提供我自己的TemplateResolver)?

java spring spring-boot

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

Kotlin功能参考

records流/集合和extract函数转换数据形成这种集合的元素.

Kotlin有没有办法写作

records.map {extract(it)} 
Run Code Online (Sandbox Code Playgroud)

没有明确申请(it)

例如records.map(extract)records.map {extract}

functional-programming kotlin

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

Codility FrogJmp 奇怪的 Java 得分

所以我决定尝试Codility。第一个任务 - FrogJmp非常简单,但令我惊讶的是我的得分为 44%。解决方案,即使正确在性能方面显然是不可接受的。

原解决方案:

public int solution2(int X, int Y, int D) {
    return (int) Math.ceil((float)(Y -X)/D);
}
Run Code Online (Sandbox Code Playgroud)

所以我决定用不同的代码尝试一下,没有浮点算法。

public int solution(int X, int Y, int D) {
    int diff = Y - X;
    if (diff % D == 0)
        return diff /D; 
    else
        return diff/D + 1;

}
Run Code Online (Sandbox Code Playgroud)

这次我得了100%。所以我想自己检查性能并编写简单的测试:

class Solution {


    public int solution(int X, int Y, int D) {
        int diff = Y - X;
        if (diff % D == 0)
            return diff …
Run Code Online (Sandbox Code Playgroud)

java time-complexity

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

Python是否真的为每个新实例创建了所有绑定方法?

我正在阅读Python(3.4)中的类,根据我的理解,似乎每个新对象都有自己的绑定方法实例.

class A:

    def __init__(self, name):
        self.name = name

    def foo(self):
        print(self.name)

a = A('One')
b = A('Two')

print(a.foo ==  b.foo)
Run Code Online (Sandbox Code Playgroud)

这个的输出是False.

这在我看来是浪费记忆.我认为这是内部的,a.foo并且b.foo会以某种方式在内部指向内存中的一个函数:A.foo在哪里self传递类实例.

我认为这可能无法在语言中轻松实现.

每个新实例是否还包含其绑定方法的新实例?

如果是这样,这对于创建新对象的性能是否有害,或者比在Java中的对象之间"共享"方法的其他语言更谨慎?

python java oop methods

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

Chrome开发工具不会在XHR过滤器中显示CORS请求

在Chrome(58.0.3029.110)开发工具中检查CORS XHR请求时,不显示实际的HTTP请求,只显示预检.

在此输入图像描述

删除XHR过滤器 时会显示请求在此输入图像描述

这很烦人.可以做些什么吗?

javascript ajax google-chrome google-chrome-devtools

6
推荐指数
0
解决办法
437
查看次数

是否可以在提示中不提供密码的情况下导出 GPG 私钥?

我想自动化 GPG 私钥导出,以便它无需用户交互即可运行。

gpg --export-secret-keys my@email.com
Run Code Online (Sandbox Code Playgroud)

我尝试提供--batch --passphrase-fd 0 参数,密码短语传递为:

  • 一个论点--passphrase 'my-passhrase'
  • 来自标准输入echo 'my-passphrase' | gpg ...

它不起作用。是否可以在没有用户交互的情况下导出私钥?

linux gnupg pgp

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