欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Java学习笔记,

来源: javaer 分享于  点击 38707 次 点评:188

Java学习笔记,


1、JRE=JVM+Java系统类库;

     JDK=JRE+编译运行等等命令工具。

2、JVM内存分为“堆”、“栈”和“方法区”三个区域,分别用于存储不同的数据。

     堆用于存储使用new关键字创建的对象,及对象的成员变量。

     栈用于存储当前调用方法的局部变量,方法调用结束栈的这一部分即清空。

     方法区用于存放类生成的字节码.class文件,类的成员函数及静态变量(static修饰)和常量,所有内容整个进程只存放一份。

3、使用System.gc()用于建议JVM马上调度垃圾回收线程回收资源。

      内存泄漏的条件:(1)对象无用;(2)对象无法被回收。

      避免内存泄漏:不再使用的对象应及时将引用设置为null。

4、访问控制符控制成员的访问权限如下:

修饰符

本类

同一个包中的类     

子类

其他类

public

可以访问

可以访问

可以访问     

可以访问     

protected     

可以访问      

可以访问  

可以访问

不能访问

默认

可以访问

可以访问

不能访问

不能访问

private

可以访问

不能访问

不能访问

不能访问

5、随机数生成法,以下方法用于生成0~99的随机数:

    (1)int a = (int) (Math.random()*100);          //double型强转为int

    (2)Random rand =new Random();

            int a=rand.nextInt(100);                           //生成随机整数

            double d=rand.nextDouble(100);             //生成随机Double

6、static静态块初始化静态资源

     eg.  初始化图片:

static{
		try{
			background = ImageIO.read(ShootGame.class.getResource("background.png"));
                }catch(Exception e){
			e.printStackTrace();
	    }
}

7、paint() 调用方式有两种(paint()只能由系统来调):

      (1)frame.setVisible(true);

      (2)repaint();

8、 Arrays.copyOf(array1, array1.length+k);

      函数作用:将数组array1扩充k个字符

      System.arraycopy(array0, a0, array1, a1, k);

      函数作用:将array0数组从a0开始的k个字符复制到array1数组从a1开始的k个位置。(a0, a1计数从0开始,array1从a1开始的k个字符被array0从a0开始的k个字符替换,而不是将array1中的字符后移。)

      将array0中的字符复制到array1的末尾:

      System.arraycopy(array0, 0, array1, array1.length-array0.length, array0.length);

9、函数System.currentTimeMillis()返回1970年1月1日零点到此刻的毫秒数(1970年为Unix元年)

      eg.   long time = System.currentTimeMillis();    
              System.out.println(time);

10、final用法:

      (1)修饰变量:变量不可被改变,且修饰变量时必须声明同时初始化,或者在构造方法中初始化;
       eg.    
               class Moo{
                        final int num1 = 5;         //声明同时初始化
                        final int num2;
                        Moo(){
                               num2 = 6;                //构造方法中初始化
                        }
               }

      (2)修饰方法:方法不可被重写;

      (3)修饰类:类不可被继承,但是可以去继承别的类。

11、static final常量用法:

       (1)必须声明同时初始化;

       (2)通过类名来访问;

       (3)不能被改变;

       (4)常量名建议所有字母大写;

       (5)优点:编译时被直接替换为具体的数,效率高。

12、Eclipse使用:

       (1)修改界面样式(即黑底或白底):

                <1>打开:window->preferences->General->Appearance;

                <2>修改:可修改Theme和Color and Font theme。

       (2)设置代码输入窗口字体大小:

                <1>打开:window->preferences->General->Appearance->Colors and Fonts;

                <2>选择:Basic列表中的Text Font;

                <3>修改:点击Edit,即可修改脚本、字体、字形和大小(脚本有GB2312、西欧语言等);

                       默认值:脚本:西欧语言;字体:Consolas;字形:常规;大小:10号。

       (3)快速注释程序代码快捷键:

               <1>Ctrl+/:用"//"注释;

                      Ctrl+/:解开注释。

               <2>Ctrl+Shift+C:用"//"注释;

                      Ctrl+Shift+C:解开注释。

               <3>Ctrl+Shift+/:用"/*   */"注释;

                      Ctrl+Shift+\:解开注释。

       (4)格式化代码快捷键:

               Ctrl+Shift+f。

13、所有子类共有的属性抽象成父类,部分子类共有的属性抽象成接口。

       接口中的变量都是常量,可以声明为public static final int ABC = abc; 也可以直接声明为public int ABC = abc; 接口会自动加上static final。

       接口中的方法都是抽象方法,可以声明为public abstract int function(); 也可以直接声明为public int function(); 接口会自动加上abstract。

14、在构造方法中初始化的都是成员变量。static变量都是在static静态块中初始化的。

15、Java Native Interface (JNI): 用于调用底层C库代码。

相关文章

    暂无相关文章
相关栏目:

用户点评