(一)java基础篇笔记库(6)

来源:互联网 发布:淘宝的优点和缺点 编辑:程序博客网 时间:2024/06/10 17:34
     一.  单例

1 ) . 概念 : 单例就是该类只返回一个实例

2 ) .  特点 : 单例所具备的特点     

 
           1.  私有化的构造函数
        
           2.  私有的静态的全局变量

           3. 公有的静态的方法

3 ) .  琐式 : 单例分为懒汉式,饿汉式,和双层琐式

           1.  懒汉式 : 


class single2
{
 private static single2 s=null;
 private single2(){}
 public static single2 getsingle2(){
  if (s==null)
   s=new single2();
  return s;
 }
 
 public int age;
 public void setage(int age){
  this.age=age;
 }
 public int getage()
 {
  return age;
 }
 
 
 
}


        
          2.  饿汉式 :



 private int age;
 public void setage(int age)
 {
  this.age=age;
 }
 public int getage()
 {
  return age;
 }
 }

public class simple {
  public static void main(String[] args)
{
  simple1 s1=simple1.getsimple();
  s1.setage(32);
   System.out.println(s1.getage());
}}
 



           3. 双层琐式 :


 public class SingleTon {
   
    private static SingleTon singleTon = null;
   
       
    public SingleTon() {
        // TODO Auto-generated constructor stub
    }
   
   
    public static SingleTon getInstance(){
        if (singleTon == null) {
            synchronized (SingleTon.class) {
                if (singleTon == null) {
                    singleTon = new SingleTon();
                }
            }
        }
        return singleTon;
    }
}




小结 :  

           1.  通过双重判断来保证单例设计模式在多线程中的安全性,并且它在性能方面提高了很多
        
           2.  关于Synchroized

                                            synchronized在方法上加锁(同步锁)

                                            synchronized在代码块内部加锁(同步代码块)

                                            synchronized(同步锁)

           3. 使用synchronized如何解决线程安全的问题?

                          ①.synchronized在方法上加锁

                          ②.synchronized在代码块内部加锁

                      ①懒汉        ②饿汉        ③双重判断
 

     二.  解析XML文件的几种技术  


     读取方式 :  面向模型,面向事件


 1 : 面向模型的dom模式        采用建立树形结构的方式访问 XML 文档


               DOM方式原理:    一次性的将xml文档加入内存,在内存中形成一颗dom树,然后通过语言对树的节点进行操作。

                                    分析 :     显然这种操作查找元素快,但是一次性的将文件加载进来,要是小还行,文件大的时候会增大内存负担的,因此这种方式最好是解析小的xml文件的时候用

                   优势 :     基于内存的,效率高,可随机访问

                           劣势 :      不可读取大文件


                         例子 : 



1 ) . dom4j

           1.  概念 : dom4j是一个java的XML API,类似于jbom,用来读写XML文件,是一个非常优秀的java XML API ,也是一个开放源代码的软件 
        
           2.  特点 : 性能优异,功能强大和极端易使用的特点



4 ) . jdom

           1.  概念 :     类似于 dom4j    ,用于读写XML
        
 


5 ) .dom

           1.  概念 :     ;类似于 sax  ,用于 解析XML
        
           2.  特点 :    dom不如sax速度快,但dom操作比sax简单




            

   2 : 面向事件的sax模式           采用的事件模型。 


SAX方式原理:        边读边解析,按照从做往右从上往下的顺序解析。

               分析:        由于解析过的节点不能再次利用,要想使用还得再次解析,所以效率相对来说比较低,但只有事件触发了才会去读取文件,所以内存不会很大。

              优势 :        基于事件的,可读取大文件

                      劣势 :         效率低,只可读取,不可插入数据(不可随机访问)

                      例子 :

2 ) . sax

           1.  概念 :  sax(simple API for XML)是一种XML解析的替代方法
        
           2.  特点: 优势 :  相比于Dom,Sax速度更快更有效,因它逐行扫描文档,一边扫描一边解析,还可在解析文档的任意时刻停止解析

                                 劣势 :  相比于Dom,Sax的操作更复杂一些

      
 

3 :   关于生成xml       

        3 ) .  jaxb

           1.  概念 :  Jaxb(Java Architecture for XML Binding)是一个业界的标准,是一项可以根据XML Schema产生java类的技术
        
                 2.  特点 : jaxb提供了将XML实例文档反向生成JAVA对象的方法,并能将java对象树的内容重新写到XML实例文档

                          JAXB提供了快速而简便的方法将XML模式绑定到Java表示,从而使java开发者在Java应用程序中能方便的结合XML数据和处理函数





小结 :  dom4j与sax之间的对比[注:必须掌握]


           1.  dom4j :    灵活性高,适合对xml等小文件进行灵活的增删改查和导航 ,不适合大文件的原因 : 它是一下子将文件加载到内存中,有可能出现内存溢出现象
        
           2.  sax      :    灵活性低,但适合对大型的xml文件进行解析,适合大文件的原因 :  边读边解析,按照事件触发后从左往右从上往下的顺序解析,很难出现内存溢出

   

  
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 打非洲鼓打的手疼怎么办 无塔供水压力小怎么办 家用增压水塔压力不稳定怎么办 蝴蝶耳堵比较紧怎么办 跑步机踏板坏了怎么办 遥控器电池没电了怎么办 空调遥控器电池没电了怎么办 想要自慰家里没有情趣用品怎么办 对政协提案的答复有意见怎么办 邻居在自建房养殖鳖怎么办 江桥全民健身卡怎么办 南翔全民健身卡怎么办 椭圆机皮带断了怎么办 不小心扭腰了怎么办 扭腰之后腿疼怎么办 扭腰怎么办吃什么补 湖州奥体中心怎么办卡 学车把教练投诉了怎么办 白球鞋鞋边发黄怎么办 公务员体检时心跳过快怎么办 老人心脏跳得慢怎么办 银行月限额10万怎么办 跑步后迎面骨疼怎么办 跑步时迎面骨疼怎么办 爬了楼梯小腿疼怎么办 走路走太多小腿酸痛怎么办 微信转账月限额怎么办 运动后小腿骨疼怎么办 用单杠练腹肌晃怎么办 一跑步小腿就紧怎么办 小腿一跑步就痛怎么办 单杠屈臂悬垂身体摆动怎么办 脸上被打了紫了怎么办 王者荣耀队友太坑怎么办 大脸不想戴泳帽怎么办 脐带掉了有血怎么办 颈椎不小心扭了怎么办 遇不到合适的人怎么办 老爸不爱吃饭身体不好怎么办 小朋友在日本旅游生病怎么办 小朋友不吃饭装生病怎么办