黑马程序员——java基础之易忘点总结(一)

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

1、JVM、JRE和JDK的区别:

    JVM(JavaVirtual Machine):java虚拟机,用于保证java的跨平台的特性。

                java语言是跨平台,jvm不是跨平台的。

    JRE(JavaRuntime Environment):java的运行环境,包括jvm+java的核心类库。 

    JDK(JavaDevelopment Kit):java的开发工具,包括jre+开发工具

2、环境变量path和classpath的作用是什么?

    (1)path是配置Windows可执行文件的搜索路径,即扩展名为.exe的程序文件所在的目录,

       用于指定DOS窗口命令的路径。

    (2)Classpath是配置class文件所在的目录,用于指定类搜索路径,JVM就是通过它来寻找该类的class类文件的。  

 

3、java语言的三种技术架构

    J2EE:企业版

    是为开发企业环境下的应用程序提供的一套解决方案。

    该技术体系中包含的技术如 Servlet、Jsp等,主要针对于Web应用程序开发。

    J2SE:标准版

    是为开发普通桌面和商务应用程序提供的解决方案。

    该技术体系是其他两者的基础,可以完成一些桌面应用程序的开发。

    比如Java版的扫雷。

    J2ME:小型版

    是为开发电子消费产品和嵌入式设备提供的解决方案。

    该技术体系主要应用于小型电子消费类产品,如手机中的应用程序等。

4、内存结构:

    栈内存:存放基本数据类型和对象的引用,当数据使用完,所占空间会自动释放。

    堆内存:数组和对象,通过new建立的实例都存放在堆内存中。

静态域:存放在对象中用static定义的静态成员。

常量池:存放常量。

非RAM存储:硬盘等永久存储空间。

    方法区:静态成员、构造函数、常量池、线程池

    本地方法区:window系统占用

    寄存器:

^ : 两边相同结果是false。

            两边不同结果是true。

 

交换的另一种方式

n = n + m;//如果n和m的值非常大,容易超出int范围。

m = n - m;

n = n - m;

 

Integer类的toBinaryString()、toHexString()

 

Switch()、case:、default无顺序最后执行

 

Byte 范围-128到127,float=1.2f

 

int[] a=new int[2];或者int[] a=newint[]{1,2,3};

 

双for循环

       尖朝上,可以改变条件。让条件随着外循环变化。

       尖朝下,可以初始化值,让初始化随着外循环变化。

 

单词:true,static,length, reverse(反转),toBinaryString(Integer类二进制转换 ),toHexString(十六), @author(作者),synchronized(同步),abstrct(抽象),Exception(异常),wait(等待),notify(唤醒),

 

注意:重载和返回值类型没关系。

 

NullPointerException:空指针异常:当引用没有任何指向值为null的情况,该引用还在用于操作实体。

 

获取最值得两种方式:1.设第一个元素为最大值;2.角标法

 

冒泡排序:双for,第一层for为了遍历,第二场for为了比较,前后比较。

选择排序:

       int max = 0;

       int tmp = 0;

       for(int i=0;i<arr.length;i++){

           max=i;//查找第i大元素,记下第i大位置

           for(int j=i+1;j<arr.length;j++){

              if(arr[max]<arr[j])

                  max=j;//记下较大数位置,再次比较,直到最大

           }

           //如果第i大数的位置不在i,则交换。

           if(i!=max){         

              tmp=arr[i];

              arr[i]=arr[max];

               arr[max]=tmp;

           }

       }

 

成员变量:在堆内存中,因为对象的存在,才在内存中存在。

局部变量:存在栈内存中。

 

Car c = new Car();//c就是一个类类型变量。记住:类类型变量指向对象。

 

注意:私有仅仅是封装的一种表现形式。

 

构造函数是在对象一建立就运行。给对象初始化。

而一般方法是对象调用才执行,给是对象添加对象具备的功能。

 

构造代码块。优先于构造函数执行。

构造代码块是给所有对象进行统一初始化,而构造函数是给对应的对象初始化。构造函数有多个!构造代码块中定义的是不同对象共性的初始化内容。

 

默认构造构造函数的权限是随着的类的变化而变化的。

 

单例设计模式:解决一个类在内存只存在一个对象。

1,将构造函数私有化。

2,在类中创建一个本类对象。

3,提供一个方法可以获取到该对象。

       class Single

       {

           private  Single(){}

           private static Single s = new Single();

           public static  SinglegetInstance()

           {

              return s;

           }

       }

有两种方式:建议使用饿汉式。

1. 饿汉式:先初始化对象(例子同上)

2.懒汉式。对象是方法被调用时,才初始化,也叫做对象的延时加载。

    private static Single s = null;

    private Single(){}

    public static Single getInstance()

    {

       if(s==null)

       {

           synchronized(Single.class)

           {            

              if(s==null)

                  s = new Single();

           }

        }

       return s;

    }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值