JAVA编程基础的大局思想

JAVA新特性与最佳实践
本文介绍了JAVA语言在JDK5.0版本中引入的重要新特性,包括增强的for循环、泛型、自动装箱拆箱等,并探讨了重构的概念及如何避免内存泄漏。此外,还提供了关于泛型使用的最佳实践建议。
JAVA语言特性:
    -JDK5.0的新特性:
        1.增强的for循环。for(int i : array)
        2.泛型。List<String> list=new arrayList<String>();
        3.自动装箱拆箱。Integer i=10;int ii=i;
        4.可变长参数列表。execute(int ... params);
        5.可变的返回类型。子类继承父类方法,方法返回值可变
        6.静态导入。import static java.lang.Math;
        7.控制台输入。Scanner scan=new Scanner(System.in);
        8.格式化输出。System.out.printf("%d", i);java.util. Formatter类
        9.内容面板代理。在JFrame等其他中直接调用add(Component c);而不是用getContentPane().add(Component c);
        10.引用StringBuilder类。 
        11.枚举(enum)数据类型。
        12.注释(annotation) 。 @Override、@Deprecated、@SuppressWarnings 
-----------------------------------------------
大局思想:
  1. 重构(Refactoring)就是在不改变软件现有功能的基础上,通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。
  2. 避免JAVA内存泄露原则第一,在声明对象引用之前,明确内存对象的有效作用域。第二,在内存对象不再需要时,记得手动将其引用置空。
  3. 泛型的最佳实践:
    • 在代码中避免泛型类和原始类型的混用。比如List<String>和List不应该共同使用。这样会产生一些编译器警告和潜在的运行时异常。当需要利用JDK 5之前开发的遗留代码,而不得不这么做时,也尽可能的隔离相关的代码。
    • 在使用带通配符的泛型类的时候,需要明确通配符所代表的一组类型的概念。由于具体的类型是未知的,很多操作是不允许的。
    • 泛型类最好不要同数组一块使用。你只能创建new List<?>[10]这样的数组,无法创建new List<String>[10]这样的。这限制了数组的使用能力,而且会带来很多费解的问题。因此,当需要类似数组的功能时候,使用集合类即可。
    • 不要忽视编译器给出的警告信息。
  4. 编程技巧:来自http://news.cnblogs.com/n/87221/
    1. 尽量保持方法简短
    2. 永远永远不要把同一个变量用于多个不同的目的
    3. 使用自描述的变量名和方法名
    4. 尽可能的把变量定义在靠近使用它的地方
    5. 拒绝神秘数字
    6. 友好的对待你的语言
    7. 不要逆常规而行
    8. 警惕过早优化
    9. 积极重构测试过的程序
    10. 不要过度沉迷于技巧
    11. 通过习例学习新知
  5. JAVA enum类型:总结自http://www.blogjava.net/JafeLee/archive/2007/09/08/143578.html

-----------------------------------------------

软件工程:

-开发模型:

1.瀑布模型 :文档驱动 系统可能不满足客户的需求

2.快速原型模型 :关注满足客户需求 可能导致系统设计差、效率低,难于维护

3.增量模型 :开发早期反馈及时,易于维护 需要开放式体系结构,可能会设计差、效率低

4.螺旋模型 :风险驱动 风险分析人员需要有经验且经过充分训练

转载于:https://my.oschina.net/qt16265/blog/13573

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值