java基础注意事项

    科技2026-02-28  10

    java5后classpath环境变量不需要在设置jdk9后没有jre https://stackoverflow.com/questions/53111921/how-to-get-java-11-run-time-environment-working-since-there-is-no-more-jre-11-fojava字节码反编译工具 jd-uijava代码中的整数默认为int类型,小数默认为double类型成员变量定义后会被初始化默认值,局部变量没有默认值,定义后必须初始化switch支持字符串(jdk>=1.7)对象堆分配ArrayList线程不安全,扩容1.5倍,Vector线程安全,扩容2倍构造函数内调用其他构造函数必须是该函数内第一条语句静态导包(import static ),导入指定类的静态成员,使用时,可以不加类名(jdk>=1.5)慎用,使用不当将降低代码的可读性、可维护性不加访问修饰符,默认只能被同类和同包访问常量池在jdk1.7之后放堆空间字符串的本质就是字符数组HashMap实现数据结构数组+链表(1.7),数组+链表+红黑树(>=1.8),HashMap线程不安全,允许null键值,HashTable线程安全,(hash碰撞)内部类( new OutClass().InnerClass()) 匿名内部类 一般只使用一次,实现接口或抽象类 静态内部类 new OutClass.StaticInnerClass() 方法内部类try-finally 含有reture语句 finally中含有return语句,try中的return被覆盖掉finally中没有return语句,则继续执行try的returnfinally中没有return语句,但是改变了try中return要返回的值,如果该值为基本类型或文本字符串,则该改变不影响try中return要返回的值,如果为引用类型,则try中return的返回值受影响 public class TryFinallyDemo{ static int testInt(){ int num=10; try{ num+=80; return num; }finally{ System.out.println("finally....."); num=100; } } static int testIntForReturn(){ int num=10; try{ num+=80; return num; }finally{ System.out.println("finally....."); num=100; return num; } } static String testString(){ String num="我是没有return 字符创"; try{ num="我是try修改值"; return num; }finally{ System.out.println("finally....."); num="我是finally修改值"; } } static StringBuffer testStringBuffer(){ StringBuffer buffer=new StringBuffer(); try{ buffer.append("我是try加的内容"); return buffer; }finally{ System.out.println("finally....."); buffer.append("我是finally加的内容"); } } }
    Processed: 0.011, SQL: 10