多线程:我过去喜欢C语言,真的。这种情况持续到我应用它开发并维护多线程服务器为止。C语言根本不能帮助你保护数据,使它不被相互冲突的线程访问。你在单线程中学到的所有经验全都失效。至少Java还有同步关键字和一个确实(但古怪)的内存模型,但即使它们在平行的机器上也不复存在,除非你使用新的javax.concurrent。倒叙:在C语言中,一个星期站在(真实的故事)数据中心,在一个模拟产生环境中调试一个死锁问题;在Java中,Ctrl+Break结合键,搞定!
指针:指针相当麻烦,对它无法用礼貌的方式描述。我一生中有几个月时间就花在调试混乱的指针带来的问题上。我过去经常使用各种技巧,如不可理解的转型、联合和offsetof,并重复利用最后一点代码做标记等等。那样做根本不值得。静态类型引用是最好的方法。
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/