映象记忆表4

先说今天,对于海峰输入法不能全角输入的问题,纠结了好久,应该是对于windows的习惯了,然后想到用命令解决吧。于是查找文件,进入目录,然后修改配置。

不得不说,命令其实也很方便的。

今天用到了哪些工具呢?

nc,,ferret,,准备加载使用的工具呢,sqlmap,然后继续今天的学习吧。



  1,=号是赋值运算,需要先计算等号右边的表达式,然后再进行赋值,其表达式是从右向左运算,比如y=1+2+4+5 过程是5+4=9  9+2=11.....

    2,整数类型int最大值是2G-1,也就是2的31减1或者21亿,最小值是-2G
   3,java底层byte,short按照32位计算
  4,浮点数计算时默认表示是双精度
    5,char定义的字符用单引号
    6,移位的效率比符号的效率高.
   7,一般说的安全是线程的安全
   8,对于有时候的表达式,先弄清怎么个运算法,然后考虑如何运算,一步一步的来
   9,着错误的时候,变量,定义初始化,函数定义,参数,修饰符,类的定义,访问限制等等,用模型来分析,急不得啊,还有就是default不管前面怎么都会执行的
   10,for内层循环,重点是控制的动作,决定了内层控制的是什么,一般外层控制行,
   11,能函数控制的尽量函数控制不能的可以用循环
   12,构造函数的定义,就是为了初始化一些属性或者方法
   13,this的值,引用这个对象的地址,局限于非static方法内部,可以有this.实例变量,this.实例方法,作用是调用本类或者构造方法
   14,生成geter seter的方法,可以右击或者alt+shift+s,可以做到
  15,原则:启动的时候尽量初努化一切,启动的时候可以慢点但之后要快
  
  16,编写项目顺序:1,构建领域对象,也就是实体类,entity
           2,构建数据对象entitydata(也就是从数据库中找数据或者生成数据)
           3,构建控制对象controller(构建对数据的操作并传到UI,传到什么样的UI)
           4,构建视图对象UI
           5,系统启动对象:start
   17,封装,把属性定义成私有的,提供setget访问的方法,这是封装的


     18,不能重写static修的方法


   19,其它包中不能访问默放修饰符default修饰的成员


   20,不同包只能讯问继承public或者protected修饰的


   21,单例模式,要将构造方法进行隐藏,然后声明一个静态方法做为替换,必须是静态方法,因为是类方法


   22,单例模式,一个类一个对象,饿汉式,就是在类刚加载便创建实例,而包汉式则是GetInstance()调用时,随时用随时创建.而且饿汉式尽量在声明的时候声明面static,一般用于工厂类的设计,饿汉式的设计要注意线程并发的问题,可以用synchronized解决
   23,一个工厂模式,是利用一个工厂类管理很多对象的创建
   24,原型模式,则是对己有对象进行复制
   25,安卓中的主键,_id必须定义成这样,是为了防止与业务相关
   26,一般,printwriter对象就是用于输出到屏幕或者服务端的时候用的,比如网络聊天,socket对象,文件流对象包装流对象,printwriter打印包装对象,打印完要要刷新,flush关闭socket对象


   27,一切皆对象.你要进行的一切操作都要先new一个对象,然后用其方法或者属性
   28,定义成上下文的名称,常见的有,ApplicationContext,或者EntitymemberContext


   29,组合(强聚合),聚合,关联,


   30,gcc -Wall 可以提升代码质量,显示程序编译出现的警告
     31,在当前的文件家里,加入一句export PATH=$PATH:.这样a.out 就可以直接运行了,记得source一次
     32,UML主要模型:用例图(用户角色,哪些功能)  类图(类的结构与关系) 序列图(某个功能由哪些对象参与与对象之间的流程)  
            状态图(系统状态)  活动图(用户的活动状态与操作流程)
    33,设计模式:工厂模式__利用一个工厂管理所有对象的创建,也就是说把创建对象的步骤交给一个类,然后其它类引用的时候用类名.方法()来获取对象
     return new aa();


   34,原型模式就是进行,克隆,深度吉隆,clone,要克隆复杂属性的clone方法而不只是调用super.clone();
   35,创建模式,一个组装类负责完成各部件的组装过程,而工厂模式是负责零部件的创建.
   36,结构型模式,
   37,代理型模式,
   38,抽象类,其实是模板模式,\而接口呢,是策略模式.
   39,类与类之间的关系,is a(类的继承或者接口的实现)
      has a(关联,聚合,组合.)
      一个类中有另一个类的属性,则这两个类便是has a .区分是,是对属性的引用,还是对对象,或者说整个类的引用,便可以区分关联,聚合还是组合.\
      不存在整体部分关系是关联,存在整体部分关系的是聚合,比如类以属性的关系出现在另一个类中.实例比如点,圆,是聚合关系.
      组合关系,存在整体部分关系,也就是说整体消失则部分关系会消失,也是特殊的聚合,是一种强聚合,存在依赖关系.


   40,局部内部类定义在方法内,可以访问的是方法内部的final修饰的属性,可以访问方法外的外部类的所有成员属性
   41,匿名内部类也定义在方法内,特殊的局部内部类
   42,成员内部类,实例成员,先构外部类对象,再构内部类对象,类内方法外,没有static修饰,可以访问外部类所有成员
   43,调用toString()方法,可以重载.
   44,object类,system类,8种封装类.数学类,
   45,用户上传的文件一般要进行重命名,这时候要用到random()
   46,eclipse中按F1可以看帮助文档
     47,Calendar日期类是date类的扩展类,可以进行日期的修改,增加减少,如,c.add(Calendar.MONTH,3);
   48,日期和字符串之间的转换,需要构建一个(将日期转换成字符串)SimpleDateFormat("yyyy--MM--dd")对象sdf.format(date);
      这里yyyy,MM,dd不能随意改动,小写的hh: mm: ss
   49,将字符串转换成日期Date date=sdf.parse(str);
   50,抽象类不能构建它的对象,不过可以构建它的子类的对象.如时间对象Calendar
   51,字符之间,'A'+'B'+"C"与"A"+'B'+'C'注意区分,从左到右,字符之间是运算,字符与字符串之间是连接,要看谁在前面
      String 字符串,字符的集合,,char a=s.charAt(0)
   52,大小写转换,大写转小写,加上32,小写转大写,减去32
   53,获取下标,indexof(),lastindexof()
   54,正则表达式:Pattern p=Pattern.compile(str1);//模式
           Mather m=p.Mather(str2);//要进行的字符串
           if(m.find())则......
           m.start()开始的字符.m.end()
   55,Collection<E>  e=element这是代表泛型,编译的时候起作用,是为了约束集合里面存储的数据类型
   56,list.contains(0);是否包含某个元素


   57,增加的for循环for(String s:list){},倒着循环,取其中一个,则不合适
   58,Iterator it=list.iterator();






   59,线程的并发,可以在方法的前面加上synchronized加上锁,效率会降低但安全
   60,随机的删除或增加,用LINKedList,Vector是加了锁的ArrayList,查找的时候最快
   61,set底层借助的是HashMap也就是数组+链表的形式,一般要先调用Hashcode,如果相同的话,会再次调用equals方法深入比较,
      重写equals方法,hashcode,根据它计算对象的存储位置


   62,重写COmparator<> c=new Com<>(){匿名内部类//实现comparable};
   
   63,treeset本身能对其中的元素进行默认的升序排序
   64,collection接口,其实现类list,set.而collections是工具类的集合,比如collections.sort(list);
      collections.shuffle(list)打乱集合的顺序
      collections.reverse(list)倒置集合中的元素
          collections.synchronizedList(list)给集合加上同步锁
   65,泛型方法,可以继承类,一般用在静态方法上 


   66,原型模式:对已有对象进行复制,需要重写Object对象中的clone()方法,在clone方法里面调用父类里面的clone().
      比如,public Object clone(){
              Object obj=null;
              obj=super。clone();
              }
      利用的应该是浅度克隆,浅度克隆克隆的是对象,而深度克隆克隆的是对象的属性.


   67,创建模式,拼装过程,工厂模式是对零件的创建,而创建模式是对零件的组装
   68,结构型模式:外观模式,适配器模式,代理模式,装饰器模式.
      外观模式,比如机箱,不能把主板直接让普通人操作啊,要封闭并提供几个操作接口比如开机,对外提供几个外观接口就行,strut2大量采用了这个
      适配器模式,应该是类似于模板,也就是说类型不匹配的时候,要通过适配器转换,比如电脑,比如变压器
      装饰器模式:就是有一个对象,然后你封装进去几个额外的功能,满足用户的需求,必须传进一个参数,类似于输入输出文件流封装的时候,传文件流对象传文
            件路径,传封装文件流对象,也就是说可以加载很多额外的功能,比如字节流,文件流,缓冲流,输入输出流


      代理模式:对原有组件进行特定功能扩展,与装饰器模式有相似之处,spring应该用了不少
      享元模式:
      桥模式:


     使用模式的步骤,第一是寻找问题,然后是对问题的分析,然后是有哪些特点,然后是如何解决,然后是选用模式.对于
   
   69,行为型模式
      与对象交互,职责分配相关的模式.
      a,模板模式
          采用各种模板,然后填充各种内容,模板类实现框架,具体内容由子类实现,spring和template采用了这个模式
      b,命令模式:发送者和执行者分离,比如,教练与运动员应该说MVC模式有相似之处,控制者是C,然后
      c,观察者模式,
      d,状态模式.


   70,对泛型类的对象进行排序,比如map,set,之类的,一定要实现COmparable接口,然后实现其比较方法CompareTo
      如何重写由业务规定
   71,linkedHashSet,可以保证元素的添加顺序,且不可以重复
      想排序,用TreeSet,
   72,HashMap(哈希表+链表)  TreeMap  LinkedHashMap
  
   73,什么时候用什么,哪一个,要考虑你进行的是什么操作


      让不让重复,决定用set还是arraylist,是简单随机查询还是排序或者复杂查询决定用哪个,依据的是效率
      HashMap,键值对的存储,TreeMap对key进行排序,LinkedHashMap能拐杖证添加的顺序.
      不保证顺序,不进行排序,用HashMap,底层是哈希表(数组)+链表


   74,Collection接口包含的是一个值,中 包含 List与set
      而Map接口呢包含的是一对值,也就是键值对,其实现是HashMap,TreeMap,LinkedHashMap还有别的啊
  
      原来这是它们之间的区别啊


     75,假如 不给类的泛型 ,E用在类泛型 中,T用在方法泛型方法,其实没有区别,,类泛型中的静态方法不能再用泛型,泛型 方法 一般用在静态方法 上
     比如,public static <T> T get(T t){} 泛型本身没有继承 


   76,反射: 类对象 与类的对象的区别 
         获取类对象 Class<?> clasz=p.getClass();
               clasz.getDeclaredField("x");


     77,可变 参数(int ...id)表示 参数个数是变化 的


   78,异常的分类 TREE,Throwable,RuntimeException,ERROR,Exception
      异常的处理,第一是抛出第二是捕获 throw exception try catch finally


   79,io流或者打印流有可能看不到,所以要进行刷新,ps.flush();


   80,file对象 有一个toUri方法 ,可以转化成uri对象 



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值