小编Yon*_*oit的帖子

为什么Java需要Serializable接口?

我们大量使用序列化,并且必须在我们使用的每个对象上指定Serializable标记是一种负担.特别是当它是第三方课程时,我们无法真正改变.

问题是:由于Serializable是一个空接口,一旦你添加了Java就提供了强大的序列化 implements Serializable- 为什么它们不能使所有序列化都可以进行,那就是它?

我错过了什么?

java serialization

111
推荐指数
5
解决办法
6万
查看次数

有没有像python的交互式REPL模式,但对于Java?

有没有像python的交互式REPL模式,但对于Java?因此,我可以,例如,键入InetAddress.getAllByName( localHostName )一个窗口,并立即获得结果,没有所有这些公共静态void nightmare()的事情?

java read-eval-print-loop

92
推荐指数
14
解决办法
2万
查看次数

如何监控Linux UDP缓冲区可用空间?

我在linux上有一个java应用程序,它打开UDP套接字并等待消息.

在重负载下经过几个小时后,会丢失数据包,即数据包是由内核接收的,而不是我的应用程序接收的(我们在嗅探器中看到丢失的数据包,我们看到netstat中的UDP数据包丢失,我们看不到这些数据包在我们的app日志中).

我们尝试扩大套接字缓冲区,但这没有任何帮助 - 我们之前开始丢失数据包,但就是这样.

对于调试,我想知道在任何给定时刻OS udp缓冲区的完整性.谷歌搜索,但没有找到任何东西.你能帮助我吗?

PS伙计们,我知道UDP是不可靠的.但是 - 我的计算机接收所有UDP消息,而我的应用程序无法使用其中一些消息.我想优化我的应用程序,这就是问题的原因.谢谢.

linux networking udp

47
推荐指数
3
解决办法
8万
查看次数

多年来有没有办法避免意大利面条代码?

我有几个编程工作.每个人有20-50名开发人员,项目持续3 - 5年.

每次都是一样的.有些程序员很聪明,有些程序员很平均.每个人都有自己的CS学位,每个人都阅读设计模式.意图是好的,人们正在努力编写好的代码,但几年后代码变成了意大利面条.模块A中的更改突然中断了模块B.除了编写模块的人之外,总有这些代码部分无人能理解.改变基础设施是不可能的,向后兼容性问题阻碍了良好的功能进入.有一半时间你只想从头开始重写所有内容.

比我更有经验的人将此视为正常.是吗?它必须是吗?我该怎么做才能避免这种情况,或者我应该接受它作为生活中的事实?

编辑:伙计们,我对这里的回复数量和质量印象深刻.这个网站及其社区摇滚!

maintenance coding-style

45
推荐指数
6
解决办法
9973
查看次数

数据库如何存储和索引字符串?

请帮助我了解有关数据库的知识。

通常(=在默认配置下,无特殊调整),考虑到行/块大小是恒定的,数据库(= oracle / mssql)如何存储可变长度字符串(= VARCHAR2)?我假设它们在表行之外存储指向其他数据块的指针-是否正确?

另外,字符串索引是如何工作的-使用字母顺序进行键比较的B树或比前缀树更聪明的东西?

谢谢!

database indexing

4
推荐指数
1
解决办法
936
查看次数

漏洞抽象法则的例外

我和一位友好的编码员发生了争执,他被Joel的Leaky Abstractions法则轻度损坏了.要说服他使用任何新的框架/工具箱是非常困难的.我试图提出一个观点,"抽象是好的,只要它们允许低级访问抽象级别".

例子:

  • GWT - 谷歌精湛的Java-to-Javascript编译器,具有JSNI - 能够编写"本机"Javascript,如果你真的想.
  • Hibernate - AFAIK有SQLQuery - 编写本机SQL的方法.
  • Java - JNI - 如果你想念C.

听起来不错吗?我错过了什么吗?

谢谢

java abstraction

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