学习java有什么好方法?

时间:2008-10-08 22:43:36

标签: java security

我在C ++和Java方面有一点经验,但我想要对他们很专业。 另外,当我想开发一个安全的应用程序时,推荐的方法是什么?

11 个答案:

答案 0 :(得分:1)

我不知道你在C ++中有多少经验,但假设你已经很好地掌握了这种语言以及面向对象的概念,我建议你阅读Head First Java - 这真的很容易阅读并将了解语言概述(包括基本线程和套接字)。

有关使用Java语言构建数据结构或实现算法的信息,我建议Data Structures & Algorithms In Java。书籍介绍没问题 - 有些代码在某些页面上被碾压,但材料很扎实。

最后,在我看来,Java API是一个很好的资源。我想不出有一次我在那个网站上找不到我想要的东西。就个人而言,我认为如果您通过Head First阅读并继续处理某些个人项目并将Java API保留在您身边,那么您将会很高兴。

答案 1 :(得分:1)

不要错过使用类似Java的解释语言进行动手测试和使用Java库的机会。在提示符下以交互方式尝试某些内容而不是编写完整的程序有时会快得多。

我最喜欢的是:

BeanShell,http://www.beanshell.org  Groovy,http://groovy.codehaus.org/

答案 2 :(得分:0)

我建议你找一所当地的社区学院,并在那里学习一个学期。

在编写安全程序之前,您需要熟练掌握基础知识。

答案 3 :(得分:0)

您可以通过编程,学习课程或阅读有关基本Java的书籍来学习。我建议用Java编写混合编程并阅读它。

你需要更具体地解决其他问题,我不确定你在问什么。

答案 4 :(得分:0)

我首先在Google中输入“java tutorial”。 一旦掌握了基础知识,就应该寻找更具体到您想要创建的应用程序类型的网站和邮件列表。

The Apache Software Foundation是一个庞大的操作系统社区,你可以使用很多Java库。

关于安全性......这取决于您的环境以及您要保护的内容。你需要对问题更加具体。

答案 5 :(得分:0)

java有很多很好的参考资料。一个是免费提供的在线图书(如果您愿意,可以使用付费死树版本),名为Thinking in Java,非常好。

还有正式的Sun(Java的创建者)Java教程,也可以使用online

您还可以通过Google搜索“java教程”找到更多资源。

要想成为一种语言的“专业”,我们的想法就是练习和练习。实际上,使用您所见过的技能将巩固您的知识和经验。一种方法是参与一个开源项目。尝试环顾SourceForge或freshmeat或codeplex或类似的地方。

要加入哪个开源项目以及如何进行该项目已在SO上多次回答,进行搜索并了解您感兴趣的内容。

祝你好运。

答案 6 :(得分:0)

观看斯坦福大学的这些Java讲座。这是免费的全部课程,并将深入教授Java。

http://see.stanford.edu/see/courseinfo.aspx?coll=824a47e1-135f-4508-a5aa-866adcae1111

答案 7 :(得分:0)

我发现抓书并尝试是最好的方法。你真的需要一个目标 - 想出一个你想做的玩具项目,然后开始做。通过这种方式,您可以从错误中吸取教训,并对语言有所了解。这假设你对编程的基础知识有了相当深刻的理解;如果你不这样做,你可能想要一个导师 - 联系你当地的电脑俱乐部,他们可能会建议一个人。

我总是发现如果你想不出一个简单的玩具项目,用一种新语言来处理项目euler问题是一种简单的方法 - http://projecteuler.net/

答案 8 :(得分:0)

虽然想要提高java技能的人会问this question,但我认为那里发布的答案也是第一次学习Java的好处。就像我说的那样回答the other question,这完全是关于Effective Java

答案 9 :(得分:0)

为了安全起见,Down和麦当劳以及Schuh的软件安全评估艺术就位于我的键盘左侧。警告:可能需要两个人才能解除这本书。此外,在现场稍微窄一点,Seacord的C和C ++中的安全编码值得一读。

答案 10 :(得分:0)

学习Java(或blub,或编程语言x)的问题并不是参考资料或信息的缺乏 - 这是一个知道将好的材料(写得好,正确的挑战级别)与劣等材料分开的问题。

我发现布鲁斯·埃克尔的书(用Java思考,用C ++思考)是全面而深入的。它们远远超出了入门级别。此外,他们可以在线免费获得。 我还推荐Josh Bloch撰写的“Effective Java”和Brian Goetz撰写的“Java Concurrency in Practice”。

当然,唯一的学习方法是阅读比你自己更好的代码,并编写代码的目的,这比你之前编写的代码更好。 在开始编码之前要记住一些改进 - 你将如何处理异常?您是否会花时间研究正确的库函数以实现您的目标?您正在解决的问题是否有更优雅的解决方案(可能是标准解决方案?)

正如其他人所提到的,OSS项目提供了大量可以阅读的代码。选择在代码质量方面具有良好代表性的大型和成熟项目 - 只需要一小部分并阅读它直到您理解它为止。