A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

XuYanshan

中级黑马

  • 黑马币:-32

  • 帖子:49

  • 精华:0

© XuYanshan 中级黑马   /  2016-1-8 22:55  /  859 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

随身笔记









变量相加和常量相加的区别
        byte b1 = 3;
        byte b2 = 4;
        byte b3 = b1 + b2;
        >  b1和b2是两个变量,变量里面存储的值都是变化的,所以在程序运行中JVM是无法判断里面具体的值.
        >  byte类型的变量在进行运算的时候,会自动类型提升为int类型.
        byte b4 = 3 + 4;
        >  3和4都是常量,java有常量优化机制,就是在编译的的时候直接把3和4的结果赋值给b4了.
进行混合运算的时候,byte,short,char不会相互转换,都会自动类型提升为int类型.
  其他类型进行混合运算的是小的数据类型提升为大的.
        byte,short,char -- int -- long -- float -- double
        >它们底层的存储结构不同.
        >float表示的数据范围比long的范围要大.
Java语言中的字符char可以存储一个中文汉字吗?为什么?
        可以.因为Java语言采用的是Unicode编码,Unicode编码中的每个字符占用两个字节,而中文也是占的两个字节.
算术运算符
        +,-,*,/,%,++,--
        %运算符:
                |a|<|b|为a        |a|=|b|为0,或是|b|的倍数.        %运算符结果的符号只和左边有关系,与右边无关.
                任何一个正整数%2结果不是0就是1可以用来当作切换条件.
什么时候使用switch,什么时候使用if
判断固定值的时候使用switch.
判断范围或者是区间的时候使用if.  如果区间范围很小,也可以使用switch.

数据结构之数组和链表
        数组:查询快修改也快,增删慢.
        链表:查询慢,修改也慢,增删快.

类和对象
        类:是一组相关的属性和行为的集合.
        对象:是该类事物的具体体现.
接口:标准的规范、功能的实现

Collection接口:
        Set/List:
                a:List,有序可重复可通过索引访问  Set,无序不重复无索引
                >b:List中采用顺序的方式加入元素,而HashSet中的内容是属于散列存放的.       
        HashSet判断唯一的依据是:(元素类型)的hashCode()和equals()的返回结果.
                         规则是:先根据[HashCode()]判断添加的新元素与集合内旧元素的hashCode值,不同则不同;相同,再根据[equals()]判断比较结果,返回true则相同,返回false则不同.
        ?如果两个元素的equals()返回true,但它们的hashCode()返回值不等,添加成功./重写hashCode()原则:当两个对象的equals()返回为true时,这两个对象的hashCode()的返回值也应相等.
        >>:LinkedHashSet迭代Set中的全部元素有很好的优点.
        >>:TreeSet:自然排序.
        >:在各种list中,最好把ArrayList作为缺省选择.
        >:如何确定HashSet对象在HashSet中的存储位置?当在集合中存入一个元素时,HashSet会调用该对象的hashCode()来得到该对象的hashCode值,然后根据hashCode值决定该对象在HashSet中的存储位置.
        for增强的底层为迭代.set的底层为map.
        map  Set<K>  for(K)  map
        >>删除集合中的值:Set<String> set = new HashSet<String>();
                                Iterator<String> it = set.iterator();
                                whhile(it.hasNext()){
                                        syso(it.next());
                                        it.remove();
                                }
                        Set<Person> set = new HashSet<Person>();
                        set.add(new Person("张三", 23));
                        set.add(new Person("李四", 24));
                        set.add(new Person("王五", 34));
                        for(Person p:set){
                                 System.out.println(p.name+p.age);
                        }
        boolean add(E e) /boolean remove(O o) /Iterator<E> iterator()
递归:反复向栈内存存入新的方法.
Map接口:
        具有映射关系的集合(key,value).
异常:
        一:创建异常
        二:抛出异常
        三:处理异常(1:try/catch 2:声明抛出异常)
//线程池
ExecutorService  threadPool = Executors.newFixedThreadPool(30);
try{
        ServerSocket ss = new ServerSocket(8080);
        while(true){
                Socket socket = ss.accept();
                Runnable target = new ServerRunnable(socket);
                threadPool.submit(target);
        }
}catch(Exception e){}
数组和集合的区别
        区别1 : 数组既可以存储基本数据类型,又可以存储引用数据类型,基本数据类型存储的是值,引用数据类型存储的是地址值.
                集合只能存储引用数据类型(对象)集合中也可以存储基本数据类型,但是在存储的时候会自动装箱变成对象.
        区别2 : 数组长度是固定的,不能自动增长.
                集合的长度的是可变的,可以根据元素的增加而增长.
数组和集合什么时候用?
        1,如果元素个数是固定的推荐用数组.
        2,如果元素个数不是固定的推荐用集合.
迭代器原理:迭代器是对集合进行遍历,而每一个集合内部的存储结构都是不同的,所以每一个集合存和取都是不一样,
那么就需要在每一个类中定义hasNext()和next()方法,这样做是可以的,但是会让整个集合体系过于臃肿,迭代器是将这样的方法向上抽取出接口,然后在每个类的内部,定义自己迭代方式,
这样做的好处有二,第一规定了整个集合体系的遍历方式都是hasNext()和next()方法,
第二,代码有底层内部实现,使用者不用管怎么实现的,会用即可.

泛型概述和基本使用
        提高安全性(将运行期的错误转换到编译期).省去强转的麻烦.<>中放的必须是引用数据类型.前后的泛型必须一致.

继承Thread和实现Runnable接口的区别
        继承Thread
                直接使用Thread类中的方法,代码简单.但如果已经有了父类,就不能用这种方法.直接继承Thread不能共享同一资源.
        实现Runnable接口
                自己定义的线程类有了父类也没关系,因为有了父类也可以实现接口,而且接口是可以多实现的.它也可以共享同一资源.是不能直接使用Thread中的方法需要先获取到线程对象后,才能得到Thread的方法,代码复杂.





评分

参与人数 5黑马币 +46 收起 理由
如空 + 10 赞一个!
zzy1990 + 8 很详细,赞一个!
许飞丶勿忘初心 + 10 很给力!
纣王再昏仍为君 + 10 加油 看好你!
229390221 + 8 赞一个!

查看全部评分

4 个回复

倒序浏览
不错,挺好的我喜欢
回复 使用道具 举报
正阳门下 发表于 2016-1-9 16:19
不错,挺好的我喜欢

谢谢欣赏!
回复 使用道具 举报
可以可以,多谢多谢.
回复 使用道具 举报
nice..  不错不错
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马