我们大量使用序列化,并且必须在我们使用的每个对象上指定Serializable标记是一种负担.特别是当它是第三方课程时,我们无法真正改变.
问题是:由于Serializable是一个空接口,一旦你添加了Java就提供了强大的序列化 implements Serializable- 为什么它们不能使所有序列化都可以进行,那就是它?
我错过了什么?
有没有像python的交互式REPL模式,但对于Java?因此,我可以,例如,键入InetAddress.getAllByName( localHostName )一个窗口,并立即获得结果,没有所有这些公共静态void nightmare()的事情?
我在linux上有一个java应用程序,它打开UDP套接字并等待消息.
在重负载下经过几个小时后,会丢失数据包,即数据包是由内核接收的,而不是我的应用程序接收的(我们在嗅探器中看到丢失的数据包,我们看到netstat中的UDP数据包丢失,我们看不到这些数据包在我们的app日志中).
我们尝试扩大套接字缓冲区,但这没有任何帮助 - 我们之前开始丢失数据包,但就是这样.
对于调试,我想知道在任何给定时刻OS udp缓冲区的完整性.谷歌搜索,但没有找到任何东西.你能帮助我吗?
PS伙计们,我知道UDP是不可靠的.但是 - 我的计算机接收所有UDP消息,而我的应用程序无法使用其中一些消息.我想优化我的应用程序,这就是问题的原因.谢谢.
我有几个编程工作.每个人有20-50名开发人员,项目持续3 - 5年.
每次都是一样的.有些程序员很聪明,有些程序员很平均.每个人都有自己的CS学位,每个人都阅读设计模式.意图是好的,人们正在努力编写好的代码,但几年后代码变成了意大利面条.模块A中的更改突然中断了模块B.除了编写模块的人之外,总有这些代码部分无人能理解.改变基础设施是不可能的,向后兼容性问题阻碍了良好的功能进入.有一半时间你只想从头开始重写所有内容.
比我更有经验的人将此视为正常.是吗?它必须是吗?我该怎么做才能避免这种情况,或者我应该接受它作为生活中的事实?
编辑:伙计们,我对这里的回复数量和质量印象深刻.这个网站及其社区摇滚!
请帮助我了解有关数据库的知识。
通常(=在默认配置下,无特殊调整),考虑到行/块大小是恒定的,数据库(= oracle / mssql)如何存储可变长度字符串(= VARCHAR2)?我假设它们在表行之外存储指向其他数据块的指针-是否正确?
另外,字符串索引是如何工作的-使用字母顺序进行键比较的B树或比前缀树更聪明的东西?
谢谢!
我和一位友好的编码员发生了争执,他被Joel的Leaky Abstractions法则轻度损坏了.要说服他使用任何新的框架/工具箱是非常困难的.我试图提出一个观点,"抽象是好的,只要它们允许低级访问抽象级别".
例子:
听起来不错吗?我错过了什么吗?
谢谢
java ×3
abstraction ×1
coding-style ×1
database ×1
indexing ×1
linux ×1
maintenance ×1
networking ×1
udp ×1