小编Ana*_*lya的帖子

垫片和外观/适配器模式有什么区别?

我正在开发一个需要使用某些库的不兼容版本的应用程序.我的直觉是在应用程序和库之间引入了一个适配器,它将在其中注入库的适当对象.然后,有人告诉我垫片.关于它的文献不多.

我想知道垫片与外观和适配器设计模式有何不同?什么是一些流行的用途?

design-patterns terminology shim

21
推荐指数
2
解决办法
2625
查看次数

Character.isLetterOrDigit(char)在java 6和7中返回不同的值

以下代码片段在Java 6上返回46059,在Java 7上返回48757.任何想法可能会发生什么变化?

int i = 0;
for(char c = Character.MIN_VALUE; c < Character.MAX_VALUE; c++){
    if(Character.isLetterOrDigit(c)){
        i++;
    }
}
System.out.println(i);
Run Code Online (Sandbox Code Playgroud)

java

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

现代JVM中的反思成本(6级以上)

我想知道现代JVM中反射的成本是否下降,除了代码中最关键的部分外,我们可以在任何地方自由使用它.

例如,如果我想基于用户给出的方法名称作为输入调用方法.现在有两种方法可以实现这个:

  1. 使用if/else /开关确定要调用的方法.如果存在大量案例,这显然会是很多代码.

  2. 使用反射来调用方法.这绝对是更少的代码.

澄清:上面只是一个使用反射可以缩短代码量的示例.我只是想知道用一些反射魔法替换大量静态代码是否是一种有效的策略.如果您在类似的路线上做过某些事情,也可以分享任何经验.

java reflection

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

sbt-release无法git push

我正在尝试用jenkins建立一个sbt项目.我在执行sbt clean"release with-defaults"时遇到以下错误:

[info] Starting release process off commit: ce6dcb5a1fdbf5330766e47f3adb26ebc5082c8d
java.lang.RuntimeException: No tracking branch is set up. Either configure a remote tracking branch, or remove the pushChanges release part.
Run Code Online (Sandbox Code Playgroud)

远程分支似乎设置得很好.以下是一些git命令的输出:

git --version
git version 1.8.3.1

git branch -r
* master ce6dcb5 debug jenkins
  origin/master

git branch -av
* master                ce6dcb5 debug jenkins
  remotes/origin/master ce6dcb5 debug jenkins

git remote show origin
* remote origin
  Fetch URL: ssh://git@stash:7999/~analya/docker-test.git
  Push  URL: ssh://git@stash:7999/~analya/docker-test.git
  HEAD branch: master
  Local ref configured for 'git push':
    master pushes …
Run Code Online (Sandbox Code Playgroud)

git jenkins sbt-release

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