V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  zxlzy  ›  全部回复第 1 页 / 共 6 页
回复总数  107
1  2  3  4  5  6  
2022-02-08 16:37:13 +08:00
回复了 LierD 创建的主题 酷工作 [Shopee] 后台开发工程师(深圳)-content- [Friends 方向]
一年半行不
能完全远程面试吗,现在人在北京
2021-12-10 11:42:23 +08:00
回复了 linuxsteam 创建的主题 Java Java 线程上下文 类加载器 会进行传递吗?
@goalidea jdk9 开始有的,我用的 11
2021-12-09 17:14:21 +08:00
回复了 linuxsteam 创建的主题 Java Java 线程上下文 类加载器 会进行传递吗?
“每引入一次插件就得创建一次 ClassLoader”,这个有什么问题呢,你是担心这个操作影响性能?所以不想每次都创建新的 ClassLoader?
2021-12-09 14:54:31 +08:00
回复了 linuxsteam 创建的主题 Java Java 线程上下文 类加载器 会进行传递吗?
@linuxsteam 首先你为什么要这样做呢。就算你不覆盖上次的,那你具体加载类的时候,还是只能用一个类加载器加载呀。
Class.forName 是可以传类加载器的。forName(String name, boolean initialize, ClassLoader loader)。
2021-12-09 14:49:12 +08:00
回复了 linuxsteam 创建的主题 Java Java 线程上下文 类加载器 会进行传递吗?
@BBCCBB 其实根本就没有父子线程的概念。
2021-12-09 11:46:56 +08:00
回复了 linuxsteam 创建的主题 Java Java 线程上下文 类加载器 会进行传递吗?
代码贴错了

public class Main {

public static void main(String[] args) {

Thread mainThread = Thread.currentThread();
new Thread(new Runnable() {

@Override
public void run() {
try {
ClassLoader cl = new ClassLoader() {
@Override
public String getName() {
return "MyCloassLoader";
}
};
TimeUnit.SECONDS.sleep(3);
mainThread.setContextClassLoader(cl);
System.out.println("在" + Thread.currentThread().getName() + "设置了主线程的自定义 classLoader " + cl);
} catch (Exception e) {
e.printStackTrace();
}
}
}, "线程 1").start();

new Thread(new Runnable() {
@Override
public void run() {
try {
for (int i = 0; i < 100; i++) {
Thread.sleep(1000);
System.out.println(Thread.currentThread().getName() + "上下文 设置前的 classloader" + Thread.currentThread().getContextClassLoader());
}
} catch (Exception e) {
e.printStackTrace();
}
}
}, "线程 2").start();

}
}
2021-12-09 11:45:33 +08:00
回复了 linuxsteam 创建的主题 Java Java 线程上下文 类加载器 会进行传递吗?
然而并不能啊。在设置 classLoader 前加个 Thead.sleep() 就知道不能了。你的结论就是错的。本质上是线程 1 先运行线程 2 才运行的。
```java
public class Main {

public static void main(String[] args) {

Thread mainThread = Thread.currentThread();
new Thread(new Runnable() {

@Override
public void run() {
try {
ClassLoader cl = new ClassLoader() {
@Override
public String getName() {
return "MyCloassLoader";
}
};
mainThread.setContextClassLoader(cl);
System.out.println("在" + Thread.currentThread().getName() + "设置了主线程的自定义 classLoader " + cl);
} catch (Exception e) {
e.printStackTrace();
}
}
}, "线程 1").start();

new Thread(new Runnable() {
@Override
public void run() {
try {
for (int i = 0; i < 100; i++) {
Thread.sleep(1000);
System.out.println(Thread.currentThread().getName() + "上下文 设置前的 classloader" + Thread.currentThread().getContextClassLoader());
}
} catch (Exception e) {
e.printStackTrace();
}
}
}, "线程 2").start();

}
}

```
2021-11-22 11:35:38 +08:00
回复了 linquan 创建的主题 问与答 大量 if-else 的函数重构
map 的时间复杂度是 1
SELECT * FROM people WHERE (name = 'a' AND age = 1) OR (name='b' AND age=2) OR ...
2021-11-18 17:58:10 +08:00
回复了 ha2ha 创建的主题 职场话题 大二找实习工作
@ha2ha 我当时简历上没写获奖经历。
2021-11-18 11:07:56 +08:00
回复了 ha2ha 创建的主题 职场话题 大二找实习工作
我是大二暑假找的。可以,刚上大二能不能找到我就不清楚了。看所在地互联网的繁华程度吧。
2021-07-27 19:19:43 +08:00
回复了 k423 创建的主题 知乎 更改姓名被拒,求教
震华真不土,是你自己心理作用
@shpkng 我也想起来小时候的这种网站了
2021-07-15 20:54:55 +08:00
回复了 RedBlackTree 创建的主题 程序员 请教大家一个关于栈空间的问题
@RedBlackTree 和 C 没关系,几乎所有的语言都是这样做的,for 循环中的对象的栈帧地址是复用的
2021-07-15 20:28:53 +08:00
回复了 RedBlackTree 创建的主题 程序员 请教大家一个关于栈空间的问题
for 循环里的变量是复用同一个栈空间的,你是用哪个语言?
三亚的研发工资水平是北京的几折?
面试咋准备的,分享一下
1  2  3  4  5  6  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2610 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 36ms · UTC 14:54 · PVG 22:54 · LAX 06:54 · JFK 09:54
Developed with CodeLauncher
♥ Do have faith in what you're doing.