关于生命周期,关于集合,早年笔记分享

生命周期与作用域
 1).变量生命周期: 定义并初始化开始, 栈内存释放结束 2).作用域: 从变量定义的位置向上找到第一个大括号, 这个括号的范围就是变量的作用域


i++和++i的区别, i++是先取值后运算, ++i是先运算后取值
  2).字符串相加: 任何值和字符串相加都得字符串, 例: 1 + 'a' + "b" + 'c' 结果是 98bc


编码解码
 1.解码解错:
  1).如果用GBK编码, 解码的时候解错, 用iso8859-1的话, 可以重新用iso8859-1再编回来, 重新用GBK解码可以还原
  2).如果用GBK编码, 解码的时候解错, 用UTF-8的话, 不能再还原了
 2.编码编错:
  编码时用错码表的话, 不能挽回


List
 1.ArrayList
  1).add, 由于是数组实现, 数组长度不可变, 在超出长度的时候会创建新数组, 新数组的长度是 旧长度*3/2+1, 也就是增长了一半加1个
  2).get, 由于是数组实现, 需要判断脚标
  3).增删慢, 增加的时候有可能扩容数组, 之后需要拷贝, 而删除时需要将删除位置后面的所有元素都前移
  4).查找块, 相当于直接访问数组, 效率很高
  
 2.LinkedList
  1).增刪快, 由于是链表结构, 增的时候只要让最后一个记住下一个是新元素, 删的时候让前一个和后一个互相记住
  2).查找慢, 如果要找组后一个, 那么将遍历所有元素
  
 3.Vector
  1).和ArrayList功能和原理都一样, 只不过是考虑了线程安全问题, 效率要低一些
JDK5.0新特性
 1.增强for循环, 第一个: 类型, 第二个: 变量名, 第三个: 目标容器(Iterable)
 2.泛型
  1).由于集合中可以存储不同类型的对象, 在迭代的时候容易出现错误.
  2).我们可以在定义集合时加上泛型, 那这个集合就不能存储其他类型的对象了.
  3). 存储其他类型对象, 在编译时就会报错, 将报错从运行阶段, 转到编译阶段
 3.注解: 通知虚拟机做某些工作
  1).Override, 检查覆盖, 查看父类有没有这个方法
  2).Deprecated, 声明过期, 一般用于一些不安全的代码, 或者被其他代码替代
  3).SuppressWarnings, 忽略某些warning



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值