勤学思培训网RMOYRF
  • 总算明了java代码技巧

    1java代码技巧

    一个空的集合,而不是 null

    java代码技巧有哪些?如果一个程序返回一个没有任何值的集合,请确保一个空集合返回,而不是空元素。这样你就不用去写一大堆 ”if else” 判断null元素。Java 的标准库设计者已经在 Collections 类中放了一个空的 List 常量 EMPTY_LIST,除此之外,还有 EMPTY_MAP, EMPTY_SET,真是贴心。

    [图片0]

    2. 小心使用 String

    因为字符串相加或者拼接的方式都会在对象池中查找字符串是否存在,如果不存在则创建,这样在拼接的过程中会产生大量中间过程的字符串,占用内存资源。StringBuilder效率优于StringBuffer,但是StringBuffer线程安全。

    3. 避免不必要的对象

    一个最昂贵的操作(在内存利用率)是java对象的创建。因此,建议只在必要时创建或初始化对象。

    和ArrayList 选择

    ArrayList和Array是我们在实际编程中经常使用的容器,而且因为ArrayList相当于动态化的数组,所以它们之间有太多的相似,以至于我们在选择哪种来存储元素的时候,会有小小的迷惑,他们都有注解的优缺点,选择真的取决于你的真实场景。

    有固定大小但 ArrayList 的大小不同。由于Array 的大小是固定的,在Array 类型变量声明的时候,内存被分配。因此,Array 是非常快的。另一方面, 使用ArrayList的最大缺点就是当我们添加新的元素的时候,它是先检查内部数组的容量是否足够,如果不够,它会创建一个容量为原来数组两倍的新数组,后将所有元素复制到新数组里,接着抛掉旧数组。这点真的很麻烦,因为每次都要这么搞,尤其是元素足够多的时候,这就真的是既影响内存又影响效率的问题,但通过单独测试它们的运行时间,发现其实差不多,最大的影响就是如果是有其他代码也需要使用到内存,那么Array依然不变,但是ArrayList就会变得慢多,相同情况下所花的时间是Array的四倍多(实际情况是远远不止)。

    .这是添加或删除元素从ArrayList 比Array更容易。

    .数组可以多维但ArrayList只有一个维度。

    因为内部是一个数组,所以它是可以转化为数组的。

    两者的适用场合:List list = new ArrayList();

    虽然我们想要的确实是ArrayList而不是list,但是我们知道,父类是可以获得子类的引用并且使用子类的方法,所以这样我们就能同时使用List和ArrayList的方法而不用害怕出错了。

    首先,一个重要的约束就是,List的声明区域一般是在main方法里(当然静态list也可以,但是我们一般使用的时候都只是当做存储元素的临时容器),而Array是可以在外部进行声明的,这时它就是全局数组。所以,单看这点,它们的使用已经有区别,如果想要保存一些在整个程序运行期间都会存在而且不变的数据,我们可以将它们放进一个全局数组里,但是如果我们单纯只是想要以数组的形式保存数据,方便我们进行查找,那么,我们就选择ArrayList。而且还有一个地方是必须知道的,就是如果我们需要对元素进行频繁的移动或删除,或者是处理的是超大量的数据,那么,使用ArrayList就真的不是一个好的选择,因为它的效率很低,使用数组进行这样的动作就很麻烦,那么,我们可以考虑选择linkedList。

    2怎么写java程序

    java运行环境安装与测试及HelloWorld的实现。

    1.下载j2sdk 或更高版本

    2.运行刚刚下载的j2sdk-1_4_1_02-windows-文件进行正式安装(以下假设安装于c:,建议安装路径不要有空格,不宜安装在Program Files目录下!)。

    3.设置运行环境参数:a.如果是Win95/98,在的最后面添加如下3行语句:

    set JAVA_HOME=c:

    set PATH=%JAVA_HOME%bin;%PATH%

    set CLASSPATH=.;%JAVA_HOME%lib

    注意:---可用dos命令notepad c:打开记事本,加入上面的3行语句。

    b.如果是Win2000,xp使用鼠标右击“我的电脑”->属性->高级->环境变量

    系统变量->新建->变量名:JAVA_HOME 变量值:c:

    系统变量->新建->变量名:CLASSPATH 变量值:.;%JAVA_HOME%lib

    系统变量->编辑->变量名:Path 在变量值的最前面加上:%JAVA_HOME%bin;

    (CLASSPATH中有一英文句号“.”后跟一个分号,表示当前路径的意思)

    4.使用文本编辑器(比如:/记事本/UltraEdit/EditPlus)编写如下代码,并保存为文件:(必须大小写正确!假设为c:)


    public class HelloWorld {

    public static void main(String arg[]) {

    ("Hello, World!");

    }

    }

    5.开启一个DOS窗口,CD(就是跳转/Change Directory)到所在的目录中

    c:>cd test

    c:test>_

    6.编译为

    c:test>javac

    7.运行

    c:test>java HelloWorld

    Hello, World!

    c:test>_

    注意:--------如果出现的

    Exception in thread "main"

    :helloworld/javaerror:ccan'n read:

    之类的错误,那么是把javac 和java写反了。

    ---------如果出现Bad command or file name

    说明javac命令没起作用,需要:c:>set path="c:jdkbin"

    用这个命令注册BIN目录里的命令

    ---------还要注意大小写。

    3java程序怎么写

    首先右击鼠标,新建一个文本文档。

    更改文本文档的后缀名为 .java 。注意文件名必须和类名相同。

    如果你的电脑没有显示后缀名的话需要对电脑进行一定的设置。

    打开计算机——组织——文件夹选项——查看——将隐藏文件夹选项取消勾选即可。

    建议将这个选项取消勾选,有很多的恶意程序会侵入我们的电脑,取消勾选可以很好的查看病毒等文件的类型。

    右击建好的文档,选择编辑即可进行java的编写。

    在编写的时候我们有一定的格式,java语言的格式是为了我们日后更改程序方便而规定的,我们一定要遵循这种格式编写。

    4java代码规范

    1、代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。

    2、常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长。

    3、抽象类命名使用 Abstract 或 base 开头; 异常类命名使用 Exception 结尾; 测试类命名以它要测试的类的名称开始,以 Test 结尾。

    4、中括号是数组类型的一部分,数组定义如下: String[] args;

    5、POJO 类中布尔类型的变量,都不要加 is,否则部分框架解析会引起序列化错误。

    反例: 定义为基本数据类型 Boolean isDeleted; 的属性,它的方法也是 isDeleted()。 RPC框架在反向解析的时候, “以为”对应的属性名称是 deleted,导致属性获取不到,进而抛出异常。

    6、包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。包名统一使用单数形式,但是类名如果有复数含义,类名可以使用复数形式。

    7、如果使用到了设计模式,建议在类名中体现出具体模式。有利于阅读者快速理解架构设计思想。

    8、接口类中的方法和属性不要加任何修饰符号(public 也不要加) ,保持代码的简洁性,并加上有效的 Javadoc 注释。尽量不要在接口里定义变量,如果一定要定义变量,肯定是与接口方法相关,并且是整个应用的基础常量。