自学基础加强视频01--11笔记


IED集成化开发工具,Myeclipse,是eclipse加上插件后集成的环境

Java 中常见术语的简写:

         JAVA  EE    -->Java Platform,EnterpriseEdition

    IDE -->Integrated Development Environment (集成开发环境)

         JMS -->JavaMessage Service (java消息服务)

         JMX  -->  JavaManagement Extensions(java管理扩展)

JNDI   -->  JavaNaming and Directory Interface(Java命名和目录接口)

 

1,  工程的概念:

一般来说,一个相对对立的项目就死一个工程,jiava中涉及的多个java文件,资源文件等用一个工程进行管理

2,  切换工作间:

File  -->Switch Workspace

3,  快捷键的配置:

所有工程共享的快捷键

Window -->Preferences  -->General -->Keys

4,  透视图与视图的关系(Perspective与 view)

程序调试:双击设置断点,debug运行,要查看对应变量就右键Watch选项

5,  为单个工程设置java与javac

右键工程àProperties

注意:高版本java可以运行低版本javac文件,但是反过来就会出错

6,  配置java模版代码

Window -->Preferenses -->Java -->Editor -->Templates

7,  导入已有工程

一个库中可以包含多个jar文件,导入库就相当于一次导入多个jar文件

1.5新特性

8,  静态导入

Import导入一个类或包中所有类

ImportStatic      导入类中的static方法

如:import static java.lang.Math.max;

导入类中所有static方法

如:Import static java.lang.Math.*;

9,  可变参数

可变参数特点:

           a)只能出现在参数列表的最后

           b)…位于变量类型和变量名之间,前后有无空格都可以

   c)调用可变参数额方法时,编译器为该可编参数隐含创建一个数组,子方法体中一数组的形式访问可变参数

   d)  一个方法中最多只能包含一个长度可变的参数

如:

           public static int add(int x,int … args){

                    int sum = x;

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

                 sum+= args[i];

    }

    return sum;

}

public static void test(int a,String ... books);

public static void test(int a,String[] books);

以上两个方法签名效果一样

10,             for循环增强 (foreach)

如:

循环迭代books字符串数组,也可以迭代集合

String[] books

for(String book : books){

         System.out.println(book);

}

注意:使用foreach循环迭代数组元素时,并不能改变数组元素的值,因此不要对foreach的循环变量进行赋值。

11,             基本数据类型的装箱与拆箱

Integer  iObj = new Integer(3);

自动装箱:直接将基本数据类型赋给包装对象

                   Integer iObj = 3;

                   自动拆箱:

                   System.out.println(iObj+ 4);

                  

                   String s1 = new String(“abc”);

                   String s2 = new String(“abc”);

                   System.out.println(s1== s2);

                   输出false:因为是两个对象,位置不一样

 

-128~127之间,比较小的整数,使用频率高,所以都是指向同一对象

   Integer  i1 = 7;

                   Integer i2 = 7;

                   System.out.println(i1== i2);

                   输出true

                  

   Integer i1 = 128;

                   Integer i2 = 128;

                   System.out.println(i1== i2);

                   输出false,超出一个字节大小就会分别创建对象

 

                   Integer i3 = Integer.valueOf(3);

                   Integer i4 = Integer.valueOf(3);

                   System.out.println(i3== i4);

                   输出true:这是Integer的静态方法,将基本数据类型转换成包装数据类型

 

享元模式  flyweight

flyweight解释:Flyweight是拳击比赛中的特用名词,意思是“特轻量级”,指的是51公斤级比赛,用到设计模式中就是指我们的类要轻量级,粒度要小,这才是它要表达的意思。粒度小了,带来的问题就是对象太多,所以用共享技术来解决

         Ps.上面的

Integer i1= 7;

                                                Integer i2 = 7;

                                                System.out.println(i1 == i2);// 输出true

                   就是用到了享元模式,对用到特别多的对象实现共享。可减少创建的对象数量,防止因对象太多而导致内存溢出问题的出现

                  

享元设计模式是池技术的重要实现:

定义:Use sharing to support large numbers of fine-grained objects efficiently.(使用共享对象可有效的支持大量的细粒度的对象)

细粒度对象

内部状态

              即对象可共享出来的信息,存储在享元对象内部并不会随环境改变而改变

外部状态

              外部状态是对象得以依赖的一个标记,是随环境改变而改变的,不可以共享的状态,它是一批对象的统一标识,是唯一的一个索引值。

优点:

         模式非常简单,可以大大减少应用程序创建的对象,降低程序内存的占用,增强程序的性能。

缺点:

         提高了系统的复杂性,需要分离出外部状态和内部状态,而且外部状态具有固化特性,不应该随内部状态改变而改变,否则导致系统的逻辑混乱。

使用场景:

1,  系统中存在大量的相似对象。

2,  细粒度的对象都具备较接近的外部状态,而且内部状态与环境无关,也就是说对象没有特定身份。

3,  需要缓冲池的场景。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值