小编let*_*nje的帖子

返回布尔值的java方法的命名约定(无问号)

我喜欢在其他语言的方法/函数名称末尾使用问号.Java不允许我这样做.作为一种解决方法,我如何在Java中命名布尔返回方法?使用is,has,should,can在方法的前声好一些情况.有没有更好的方法来命名这样的方法?

例如createFreshSnapshot?

java methods naming-conventions

88
推荐指数
5
解决办法
8万
查看次数

FP和OO正交吗?

我一次又一次地听到,我正在努力理解并验证FP和OO是正交的想法.

首先,2个概念的正交意味着什么?

FP尽可能地鼓励不变性和纯度,而OO似乎是为状态和变异而构建的 - 一个有点组织的命令式编程版本?我意识到对象可以是不可变的,但OO似乎意味着状态/改变我.

它们看起来像是对立的.这对他们的正交性有何影响?

像Scala这样的语言可以很容易地执行OO和FP,这是否会影响这两种方法的正交性?

oop paradigms programming-languages functional-programming scala

74
推荐指数
7
解决办法
7640
查看次数

使用命令行工具计算排序序列中的重复项

我有一个命令(cmd1),它通过一个日志文件来过滤掉一组数字.这些数字是随机顺序,因此我使用sort -gr来获得反向排序的数字列表.此排序列表中可能存在重复项.我需要找到该列表中每个唯一号码的计数.

例如,如果cmd1的输出是:

100 
100 
100 
99 
99 
26 
25 
24 
24
Run Code Online (Sandbox Code Playgroud)

我需要另一个命令,我可以管道上面的输出,所以,我得到:

100     3
99      2
26      1
25      1
24      2
Run Code Online (Sandbox Code Playgroud)

sorting bash command-line count duplicates

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

log4j将stdout重定向到DailyRollingFileAppender

我有一个使用log4j的java应用程序.

配置:

log4j.rootLogger=info, file

log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.File=${user.home}/logs/app.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d [%t] %c %p %m%n
Run Code Online (Sandbox Code Playgroud)

所以所有日志语句都正确地附加到文件中,但我丢失了stdout和stderr.如何将异常堆栈跟踪和sysout重定向到每日滚动文件?

java redirect log4j stdout file

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

为什么批量插入/更新更快?批量更新如何工作?

为什么批量插入更快?是因为插入单行的连接和设置开销对于一组行是相同的吗?还有哪些因素会使批量插入更快?

批量更新如何工作?假设表没有唯一性约束,则insert语句对批处理中的其他insert语句实际上没有任何影响.但是,在批量更新期间,更新可能会更改表的状态,因此可能会影响批处理中其他更新查询的结果.

我知道批量插入查询的语法是在一个大查询中包含所有插入值.批量更新查询如何?例如,如果我有单一的表单更新查询:

update <table> set <column>=<expression> where <condition1>
update <table> set <column>=<expression> where <condition2>
update <table> set <column>=<expression> where <condition3>
update <table> set <column>=<expression> where <condition4>
Run Code Online (Sandbox Code Playgroud)

它们在批处理中使用时会发生什么.单个查询会是什么样的?

批量插入和更新是SQL标准的一部分吗?

sql rdbms

39
推荐指数
3
解决办法
5万
查看次数

将clojure/scala repl附加到正在运行的JVM

我有一个在Sun java 6 JVM中在tomcat下运行的java Web应用程序.有没有办法将scala或clojure REPL附加到正在运行的JVM?

一旦webapp启动并运行,就会在正在运行的VM中设置要进行调用的上下文.因此,这对于调用增量,探索性开发和调试的任意java方法调用非常有用.

java jvm scala clojure read-eval-print-loop

26
推荐指数
3
解决办法
4223
查看次数

类型和OO是否耦合?

试图了解类型是否暗示OO,反之亦然.

问题:

  • 究竟是什么类型的?

  • 红宝石中的一个类可以称为"类型".

  • 在javascript中,本机函数/对象如Array,String,Function ......它们是否类型?

  • C结构是一种类型吗?

  • 即使语言不支持OO,如何输入语言呢?例如,Haskell.这样的langs中的类型是没有OOPL中的对象/类中的行为(方法)的"数据"类型吗?具有类型但没有支持OO的OO和lang的lang之间的类型有显着差异.

  • 如果类/对象是类型,那么OO是否意味着类型?

  • 你有没有在OO lang中看到的典型层次结构的类型系统吗?

  • 由于clojure支持类型提示,它可以在某种意义上被称为打字吗?它不是静态类型的.

  • "无类型"和"动态类型"这两个词的含义是否相同?

javascript ruby oop programming-languages clojure

16
推荐指数
3
解决办法
639
查看次数

什么是"好好组合"意味着什么?

很多次,我遇到过X形式/不构成的形式的陈述.

我记得我最近读过的几个例子:

  • 宏不能很好地构成(上下文:clojure)
  • 锁不能很好地构成(上下文:clojure)
  • 命令式编程并不构成......等等.

我想了解可编组性在设计/读/写代码方面的含义?例子很好.

programming-languages functional-programming clojure composition

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

React.js应用程序耗费了大量内存(几乎是原始实现的两倍)

我最近向React移植了一个繁重的页面.我保持html几乎相同.主要区别在于,早先,服务器呈现的html直接提供给浏览器,现在,react rewrite通过服务器端API提取json并使用React来管理DOM.

我已经看到早期实现的堆快照最多可达55 MB.对于相同的数据,React.js实现的堆快照大约100多MB(几乎是两倍)

Chrome开发工具堆快照截图

据我所知,内存中保存的json数据会导致内存消耗量增加.但是,当我检查堆快照时,我发现大约60%的保留大小是由于某些对象的保留路径包含deleteAllListeners> ....> unmountComponentAtNode.我试图理解在减少使用的内存方面意味着什么.

此外,React向DOM添加的"data-reactid"属性是否会导致内存消耗的不可忽略的增加?

这个问题有一些可能有用的细节.

javascript memory google-chrome-devtools reactjs

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

Android Kotlin:java.lang.NoClassDefFoundError:解析失败:<KotlinObject>

我们的Android应用程序每运行一次,就会发生崩溃

java.lang.NoClassDefFoundError: Failed resolution of: Lin/blahapp/xxx/BlahUtil
Run Code Online (Sandbox Code Playgroud)

BlahUtil是一个带有@JvmStatic注释的kotlin对象.我从Android应用程序的其余部分调用这些静态方法(全部在java中).

我们使用multidex 1.0.1.

我在android studio 2.1.2上,使用JDK 7.

相关的gradle配置:

compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
        minSdkVersion 16
        targetSdkVersion 23
}
dexOptions {
        incremental true
        dexInProcess true
        javaMaxHeapSize "10g"
        preDexLibraries true
}
buildscript {
    ext.kotlin_version = '1.0.3'

    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}
apply plugin: 'kotlin-android'
dependencies {
  compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
  compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
}
Run Code Online (Sandbox Code Playgroud)

跟踪:

at in.blahapp.xxx.OurActivity 
at android.app.Activity.performCreate(Activity.java:6251)
at ndroid.app.Instrumentation.callActivityOnCreate
at android.app.ActivityThread.performLaunchActivity
at android.app.ActivityThread.handleLaunchActivity
at android.app.ActivityThread.-wrap11
at android.app.ActivityThread$H.handleMessage
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native …
Run Code Online (Sandbox Code Playgroud)

android kotlin kotlin-android-extensions

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