随笔分类 - java
摘要:JDK中有哪些设计模式 设计模式:四人帮GOF于1994年提出。什么是 GOF(四人帮:Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides,全拼 Gang of Four) 结构性模式 适配器模式 把一个接口转化为另一个接口。比如美国110
阅读全文
摘要:JAVA各个版本特性 jdk1.0(代号Oak橡树,96年发布。95发布java) jre、jdk,核心api,jvm,外挂jit jdk1.1(coffee,97) jit提高效率,jdbc、内部类、javabean、RMI(远程方法调用),内省反射 1.2(playground,98) JSP、
阅读全文
摘要:执行顺序问题 main中按顺序执行,当执行到创建类时,如果有继承关系,从最顶层父类一直往下分别执行: 第一先按 静态代码块或静态变量 编写位置顺序执行(谁写在前面就先执行), 第二初按 普通代码块或成员变量 编写位置顺序执行。如果父和子某个成员变量都用某个方法初始化,子覆写了父的这某个方法,子和父成
阅读全文
摘要:面向对象特征和原则 四大特征:封装、抽象、继承、多态 封装 把数据和对数据的操作隐藏到一个方法体内,对外只暴露这个方法体的接口,让调用者无需考虑内部实现细节只管调用完成对应的功能即可。优点是解耦,方法有明确的功能,内部可以随意修改而不需要考虑外部逻辑,提高了安全性和复用性。 继承 被继承的叫父类,继
阅读全文
摘要:Java中的checked异常和unchecked异常 Java语言规范对这两个定义十分简单,将派生于Error或者RuntimeException的异常称为unchecked异常,所有其他的异常成为checked异常。 unchecked异常:表示错误,程序的逻辑错误。不需要在代码中显式地捕获
阅读全文
摘要:float和double为什么能表示的范围大?为什么会失真? float能表示有效位数为6-7位,double有效位数为15-16位(负值取值范围为 -1.7976E+308 到 -4.94065645841246544E-324,正值取值范围为 4.94065645841246544E-324 到
阅读全文
摘要:java文件操作 使用File类,常用API有:(如 new File("a/b/c.txt")) File类是不分文件还是文件夹的,两个都可以用来生成File对象。 getPath:得到的是初始化时的路径,即"a/b/c.txt" getParentFile:得到上一层级File对象,即File(
阅读全文
摘要:java中数组的深浅拷贝 深拷贝:拷贝后完全是另一个新的地址和空间,拷贝前后对象互不影响;浅拷贝:只是拷贝了引用,并没有开辟新的内存空间,修改原对象,新对象也会随之改变。 数组拷贝方式 arr.clone() 新建一个与原数组大小一样的数组,利用循环挨个复制 Arrays.copyOf(arr, a
阅读全文
摘要:集合去重 若不考虑保留原顺序:利用set:HashSet set = new HashSet(vector); 若要考虑保留原顺序:利用有序Set:new ArrayList<XX>(new TreeSet<XX>())、new ArrayList<XX>(new LinkedHashSet<XX>
阅读全文
摘要:list set map 各自实现类的区别 List(不唯一有序集合) set方法会替换index位置的元素,返回替换前的元素 ArrayList:底层是数组,支持随机访问,读快写慢,线程不安全。 扩容策略:第一次为0,添加第一个元素后扩容为10,当满了之后扩容为(当前大小+当前大小 >> 1),增
阅读全文