zoukankan      html  css  js  c++  java
  • 关于优化

    collection接口包括 list接口  set接口
    lis接口t包括ArrayList类  LinkedList类 Vector类
    set接口包括HashSet类 SortedSet接口
                                         SortedSe接口包括TreeSet类
                        HashSet类包括HashMap
                                                                       TreeSet类包括TreeMap(底层是可排序的二叉树)
    Map接口包括HashMap类  HashTable类  SortedMap接口
                                                                     SortedMap接口包括TreeMap类
                                              HashTable类 包括Properties类
                           HashMap类 底层是散列表或者哈希表
    ArrayList底层实现的是数组
    优点:查询效率高因为数组是用来存放相同数据类型的数据结构,在内存空间中,数组中元素的地址是连续的每一个元素都对应着一个下标,根据下标可以快速定位数组中元素的位置缺点:增删效率低
     
    LinkedList底层实现是双向链表
    优点:增删效率高因为链表中的元素
    缺点:查询效率低。因为是不连续的,如果要查询链表中的某一个元素,只能做全链表扫描
     
    list集合特点有序可以重复
    set集合特点无序不可重复
    Map集合特点:以键值对的方式存放数据其中key无序不可重复
     
    散列表不是一个纯数组也不是一个纯链表,是数组和链表的结合体
    Entry是链表上的一个节点
    Map  map=new HashMap();当执行map.put(key,value)操作的时候的原理
    首先调用key部分的hahcode方法,获取key的hash值,这个hash值会根据hash算法,将hash值转换
    为对应的数组元素的下标
    如果当前数组下表的我只还没有单项链表,那么直接将key和value封装为一个enry对象这就完成了存储
    如果当前数组下表的位置已经存在单项链表,并且单项链表上已经存在了许多节点,就调用key的equals方法个单项链表上的节点依次进行比较
        如果返回的是false,那么直接将key和value封装为一个enry对象这就完成了存储
       如果比较结果有返回的true,放弃添加该元素,新元素devalue会将就元素value替换掉
     
     
    没有重写hashcode会出现什么情况?
    如果没有重写hahscode,那么默认调用的Object类中提供的hashcode方法这个方法的返回值是根据对象的内存地址演变的
     
    Java优化
    写缓存用到单例模式(懒汉模式  饿汉模式)
    1.首先构造现初始化对象
    2.提供一个公开的静态的方法
    3.提供一个变量(方法区)
    数据库优化:
                  数据库设计三范式(必须有主键 不能传递依赖  不能产生部分依赖)
    使用批量删除
    尽量减少嵌套查询
    尽量减少group和having子句的应用
     
    js优化 jQuery
    确保代码尽量简洁
    压缩代码
    异步装入跟踪代码
     
    js和jsp区别和联系
         javaScript是js的简称 ,是一种脚本语言,嵌套在网页中实现各种功能
    jsp是  Java server page(JAVA SERVER PAGE)基于Java服务器的网页技术
     
    中间件优化
             调整内存
             调整线程数
             在运行环境下屏蔽控制台日志的输出
    总结很重要哦 方法得当,坚持会有奇迹哦
  • 相关阅读:
    WCF全面解析学习之地址Address(1)
    【转】理解和使用Oracle 8i分析工具-LogMiner
    【Wonder原创】NHibernate映射文件范例
    【转】C#经典面试题及答案
    【转】C#中abstract class和interface之探讨
    【转】130道C#面试题
    【Oracle学习】archivelog
    【转载】sql server 2005系统表详细说明
    【转】WINDOWS批处理命令详解
    【转】Linux find命令详解
  • 原文地址:https://www.cnblogs.com/sunyuhuan/p/7199583.html
Copyright © 2011-2022 走看看