V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  guyeu  ›  全部回复第 24 页 / 共 31 页
回复总数  618
1 ... 16  17  18  19  20  21  22  23  24  25 ... 31  
2019-09-17 21:03:05 +08:00
回复了 JasonTsang 创建的主题 程序员 请教一个关于程序设计的问题
了解一下事务
2019-09-17 15:58:58 +08:00
回复了 monetto 创建的主题 Java 求助, 为什么 Array 阻塞队列和 Linked 阻塞队列的锁不一样?
一楼说的对了一半,ArrayBlockingQueue 有两个 index,一个是 takeIndex 用于读,一个是 putIndex 用于写,从 index 的角度,可以做成读写分离,问题在于还有一个整数 count,记录队列里元素的数量,不管是读还是写都要修改这个整数的值,所以不管读还是写都要锁一下。
LinkedBlockingQueue 用 AtomicInteger 来记录元素数量,这个读写不分离的锁被隐藏在了 AtomicInteger 里,锁的粒度更细了。而 ArrayBlockingQueue 在读写元素时的运算量很小,所以没必要用太细粒度的锁。
2019-09-12 18:55:43 +08:00
回复了 aibccn 创建的主题 Java [ Java ] 线程池问题疑惑,大佬们赐教
@NoString #19
@NoString #20
即使处理时间相同,在 add 的时候获取地址一样,那么列表是一个有三个相同元素的列表,parallelStream 的问题仅仅是并发导致不保证顺序,并不会帮你合并相同的任务。
2019-09-12 18:52:48 +08:00
回复了 aibccn 创建的主题 Java [ Java ] 线程池问题疑惑,大佬们赐教
如果稍微有点要求的话:
1. 数据和业务拆分;
2. 公共线程池+异步调用返回 Future ;
3. 对响应做缓存 /复用;
2019-09-12 18:47:22 +08:00
回复了 frmongo 创建的主题 Python 大佬们,问个测试框架的问题
sorry,看到结点是 python,那么就是 python+unittest 框架了
2019-09-12 18:44:47 +08:00
回复了 frmongo 创建的主题 Python 大佬们,问个测试框架的问题
脱离语言和框架的这类问题是没有意义的。
建议阅读:
https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/master/README-zh_CN.md
2019-09-12 18:42:44 +08:00
回复了 amiwrong123 创建的主题 程序员 Java 泛型擦除与补偿的迷惑
@pursuer #29
@amiwrong123 #32
说泛型对字节码没有影响是片面的,泛型的上界会影响泛型变量的类型,类 /接口声明时的泛型参数会被记录,可以在运行时通过反射 API 获取。
2019-09-12 18:39:23 +08:00
回复了 amiwrong123 创建的主题 程序员 Java 泛型擦除与补偿的迷惑
@amiwrong123 #32
你的这个实例的泛型参数是 String,然后`return (T[])Array.newInstance(kind, size);`这句话进行了显式的强制类型转换,所以我说代码里本来就有强制类型转换。

`Array.newInstance`和`new Object[] {}`是不一样的,Array.newInstance 调用 native 方法生成了一个指定类型的对象数组,即使方法签名的返回值是 Object,那只是一个符号,实际的对象的类型是指定类型的数组,而`new Object[] {}`创建了一个 Object 类型的数组。

而像你那样的强制类型转换编译是可以通过的,因为编译器并不负责保证你的显式强制类型转换的类型安全,但是在运行时会抛 ClassCastException。
2019-09-12 16:30:22 +08:00
回复了 amiwrong123 创建的主题 程序员 Java 泛型擦除与补偿的迷惑
声明的一个泛型类型是有上界和下界的,泛型擦除会把它的类型擦除到它的上界,默认情况下就是 Object 了。
你可以把泛型理解为编码期间用于提示类型的一种语法糖(当然这有点片面),返回一个泛型数组的方法比如你这个 ArrayMaker.create,它的类型在你 new 出这个 ArrayMaker 实例的时候就给它指定了。

另外,我使用的 jdk11,不可以进行类似的强转:
```java
Integer[] array = (Integer[]) new Object[] {};
```
这是因为`new Object[] {}`的类型是`Object[]`,而 java 是不支持向下的强制类型转换的。
Array.newInstance 是一个 native 的方法,它返回的就是一个指定类型的数组,而你的字节码里的强制类型转换是你的代码里原本就存在的,并不是编译器帮你加的。
2019-09-11 10:28:35 +08:00
回复了 amiwrong123 创建的主题 程序员 Java 泛型擦除与补偿的迷惑
@amiwrong123 #7 Java 中每个对象都会持有一个 Class 类的引用,这个 Class 类就是该对象的类型。Class 类本身就是用来描述类型的,当然不需要任何额外的信息
jenkins x 了解一下
2019-09-11 10:23:20 +08:00
回复了 kirara 创建的主题 程序员 一个简单的 Java 程序,新手求解答
@EscYezi #1 在什么地方声明引用取决于这个变量的作用域,应该相信现代 jvm 的优化能力。
2019-09-11 10:16:20 +08:00
回复了 amiwrong123 创建的主题 程序员 Java 泛型擦除与补偿的迷惑
Class 并不依靠泛型提供类型信息,它本身就是类型信息;
泛型擦除会擦除所有的动态泛型信息,但是会保留泛型类型声明里的类型信息,到运行时就是参数化类型了。
现在难道不是 PG 和 NoSQL 的天下了吗。。。
2019-09-08 18:40:23 +08:00
回复了 Kontinue 创建的主题 程序员 关于设计模式
不一定严格按照设计模式的 UML 图来进行实现,实际上设计模式在带来某种套路化的便利的同时,也会引入一些问题。(有些设计模式在遵循了某个规范的时候,也会打破另一个规范)理解设计模式的几个原则,在编码的时候取舍,就可以了。

学过设计模式之后,最需要注意的是不要“过度设计”。
2019-09-08 18:35:08 +08:00
回复了 amiwrong123 创建的主题 Java Java 泛型方法与多态,这样解释对吗
向下转型在 Java 里是不存在的,只能把一个对象转为对象真正的类型或者它的派生类。
你可以把泛型理解为一个语法糖,这个语法糖的作用只是做一种类型提示,告诉编译器这个地方可能是什么类型,帮助用户和编译器做类型推断来检查一些错误。
2019-09-07 11:56:49 +08:00
回复了 zhao1014 创建的主题 Java 用 clone()方法复制数组为什么不需要强制类型转换?
java7 以后,重写父类的方法的返回值可以是父类方法的派生类,你可以理解为_Array_重写了 Object 的 clone 的 clone 方法,并且返回了一个和自己类型相同的对象
2019-08-28 16:47:51 +08:00
回复了 pjhubs 创建的主题 程序员 一起来用 Swift 开发游戏吧~
有啥想不开的要开发 ios/mac 独占的游戏
2019-08-22 00:06:10 +08:00
回复了 guyeu 创建的主题 编程 关于一种条件语句的写法
@murmur #14 是什么给了你错觉认为这个问题和执行效率有关?
1 ... 16  17  18  19  20  21  22  23  24  25 ... 31  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5590 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 56ms · UTC 01:34 · PVG 09:34 · LAX 17:34 · JFK 20:34
Developed with CodeLauncher
♥ Do have faith in what you're doing.