1.New
new就是在内存里开辟新空间,连续两次调用new即使内容相同但是地址也一定不同。
2.输入时使用nextLine的优点:
所有方法均使用nextLine ,不会因为输入产生冲突,还可以更好的接收各种类型的数据。
3.equal
(使用方法 (e.equal(a)) )e不能为空,当e为空调用equal有可能会出错。
4.Java 里面有了 == 运算符,为什么还需要 equals ?
== 比较的是对象地址,equals 比较的是对象值。
5.throws作用
这个是处理异常的一种方式还有一种方式就是:try{}catch(Exception e){}只不过这个throws是把异常交给调用者或着系统来处理。异常当作篮球的话,你有两种方式处理它,要么投篮,即是用try{}catch(){}来处理一种是传球,即是用throws来处理这里不能这样理解的,只能说把它交给别人。
6.String里堆在逻辑上分为3部分(perm)
5.String里堆在逻辑上分为3部分(perm)
新生代(Young Generation,常称为YoungGen)【刚创建的对象{比如匿名对象}都放在新生代里,容易(很快、经常)被jc(垃圾清清除)的】
老年代(o1d Generation,常称为oldGen、TenuringGen)【在新生代被系统连续15次jc后还未被清除的新生代就会被放到老年代,在老年代里被问询jc的次数较少】
元空间(Metaspace)替代了(永久代(Permanent Generation,常称为PermGen)【不被jc(垃圾回收的){类、方法、常量、静态修饰的所有东西、字符串对象的创建都会被作为常量放进永久代}】)
7.拼接字符串
拼接字符串的时候尽量不要用String(拼接过多后会大量占用内存)
使用StringBuffer()(线程安全的实现)
使用StringBuilder()更节省内存,(线程不安全的实现)
8.模糊查找
Pattern pattern = Pattern.compile(name,Pattern.CASE_INSENSITIVE);
Pattern pattern = Pattern.compile(name);(更敏感)
9.三目运算符
( (boolean类型的结果) ?( 结果为true) :( 结果为false ) )
(实力有限,未完待续欢迎大佬提点)