围观。
ruby 这种调用是不能这样调用的。
java 是可以的。之前代码只是示意。可编译和 run 的代码是这样的。
package test;
public class Main {
public static void main(String[] args){
new A("a").m1(new A("b"));
}
}
-------------------
package test;
public class A {
private String name;
public A(String name) {
this.name = name;
}
public void m1(A b){
m2(b);
}
private void m2(A b) {
System.out.println("inside "+name);
if (b != null) {
b.m2(null);
}
}
}
@neverlandxy_naix 你的代码不对啊,是在 a 的内部调用 b 的私有方法。直接这样调用私有方法,在哪个语言里面都不能够的。
# encoding:utf-8
class A
def initialize(name)
@name = name
end
def p(b)
m_p(b)
end
private
def m_p(b)
puts "inside #{@name}"
b.m_p(self)
end
end
A.new("a").p(A.new("b"))
一直在用 Sequel Pro,免费。
@blacktulip 自己写一个 ruby 程序测试吧。
第一句话是对的,a,b 都是 A 的实例,那么在 a 的方法内部是可以调用 b 的私有方法的。这个写个 Java 程序验一下就知道了。
Java 的方法,都是随着类加载的,都在栈,整个系统都只有一份。简单来说,每个类都有一个 method lookup table,用来查询某个方法的入口地址在哪。当 a,b 不是同一个类时,a 只能查询到 b 的公开方法列表,所以,没法 binding 到 b 的私有方法。如果 a,b 同一个类,那么他们其实共用一个 lookup table,所以,就能找到私有方法入口。
这种调用私有方法跟多线程没有任何关系,对象的实例都是方法和变量分离的,变量可以简单理解为 C 里面的 Struct,通过一个指针引用。每次方法调用就是正常的进栈出栈。另外,java 虚拟机规范里面有介绍,当调用某个实例方法时,虚拟机会默认的把当前对象作为第一个参数压入栈,即如果调用 a.p_m(b),那么实际上是传了两个参数给方法 p_m,第一个参数是 a,也就是 p_m 方法内部的 this 引用,第二个参数是 b。所以,对于这样的代码。
class A(){
private String name;
public A(String name){
this.name = name;
}
public void m(A b){
p_m(b);
}
private void p_m(A b){
System.out.println("i am "+name);
b.p_m(a);
}
}
new A("a").m(new A("b"));
当调用 a.m 方法时,这是第一层栈;当调用 a.p_m 时,就是第二层的栈,这个栈内部的 this 是 a;当调用 b.p_m 时,就是第三层的栈,这个栈内部的 this 是 b。简单说,这就有点像递归,只是不断的压栈,然后让 CP 指回到方法入口,跟多线程没有任何关系。
就是记录一个 level 值,查询记录的时候带上这个 level 值而已。google 缩放的不是同一张图片本身。不同 level,google 返回的是不同的图片。
报名之后等通知?
不错不错。
北京职位的飘过。
跟 delayed_job 之类是什么关系,优缺点之类的了?
@yutian 那就把确定路径所需要的字段取出来就好了,不要生成 ActiveRecord 记录,这样慢。
如何判断 pdf 是否存在,是基于某个数据列存不存在?如果是,那就直接把这一列查出来就好了。不要用 ActiveRecord 生成对象。
我觉得这里的随机是希望越相似的人越不要在一个组。所以,直接用 k-means 算法的结果会跟这个随机的需求相反。
@lyfi2003 thx
你应该先说明你的 job 想要干什么,依赖哪些数据列。没准直接把表 dump 成 csv 来处理更快了。
还有 facet 之类的功能。对比一下 solr 的 feature list 就知道搜索系统,可不止全文索引这么简单了。
这个不错哦,什么时候北京来一个。
感觉只能烧香了。
只要不像 oc 就好。
回复,能把帖子刷回首页吗?
类似去哪儿的当地人?
#1 楼 @lhy20062008 三里屯
新的 269,京东上卖。 个人觉得,内存这东西,新旧本身,从使用上,不知道有什么差别。所以,价格也没有打对折的打算。 合适就拿走。
报个价,合适就出了呗。这里居然没找到私信或者 DM 的入口,诡了个异。