JavaSE
鯉鱼
妹妹你大胆地往前走呀
展开
-
JAVA基础知识007异常
finally什么时候被执行 finally的作用就是为了保证无论出现什么情况,finally块里面的代码一定会被执行。由于程序执行return就意味着结束对当前函数的调用并跳出函数体,因此任何语句要执行都只能在return前执行(除非碰到exit函数),因此finally块里的代码也是在return前执行的。 public static int testFinally() { try { ...转载 2019-04-09 20:11:33 · 107 阅读 · 0 评论 -
Java基础知识006
1. Character、String、StringBuffer、StringBuilder、StringTokenizer Character用于单个字符操作。 执行效率方面StringBuilder最高,StringBuffer次之,但是StringBuilder不是线程安全的。 如果要操作的数据量比较小,应该优先使用String类;如果是在单线程下操作大量数据,应该优先使用StringBui...原创 2019-04-09 17:50:06 · 96 阅读 · 0 评论 -
JAVA基础知识005equals
转载自:https://www.cnblogs.com/jesonjason/p/5492208.htm ==、equals、hashCode java.lang.Object中对hashCode的约定: 在一个应用程序执行期间,如果一个对象的equals方法做比较所用到的信息没有被修改的话,则对该对象调用hashCode方法多次,它必须始终如一地返回同一个整数。 如果两个对象根据equa...转载 2019-04-09 16:37:59 · 104 阅读 · 0 评论 -
Java基础知识004
1. 不可变类 不可变类是指当创建了这个类的实例后,就不允许修改它的值了。 所有基本类型的包装类都是不可变类,String也是不可变类。 public class Test { public static void main(String[] args) { String s="hello"; s+="world"; System.out.println(s); } } 表面上看...原创 2019-04-08 23:03:12 · 683 阅读 · 0 评论 -
Java基础知识003
1. 变量命名 标识符只能由数字、字母、下划线、$构成,并且标识符的第一个只能是数字、字母、下划线或$。标识符也不能含有空白字符(换行符、空格和制表符)。变量名区分大小写。 2. final、finally、finalize区别 final用于声明属性、方法和类,分别表示属性不可变、方法不可被覆盖和类不可被继承。 final属性:被final修饰的变量不可变。指的是引用不可变 编译通过运行结果...原创 2019-04-08 18:43:30 · 119 阅读 · 0 评论 -
Java基础知识002
抽象、继承、封装、多态(允许不同类的对象对同一消息做出响应) 1. 继承 Java不支持多重继承,即子类至多只能有一个父类。但是可以通过实现多个接口达到多重继承的目的。 子类只能继承父类的非私有成员变量与方法。 当子类中定义的成员变量与父类中定义的成员变量同名时,子类中的成员变量会覆盖父类的成员变量,而不会继承。 当子类中的方法与父类中的方法有相同的函数签名(相同的方法名,相同的参数个数与类型)...原创 2019-04-08 14:57:43 · 165 阅读 · 0 评论 -
JAVASE9反射
在程序运行期间,java运行时系统始终为所有的对象维护一个被称为运行时的类型标识。这个信息跟踪着每个对象所属的类。虚拟机利用运行时的类型信息选择相应的方法执行。 保存这些信息的类称为Class,Object类中的getClass()方法将会返回一个Class类型的实例,如同用一个Employee对象表示一个特定的雇员属性一样,一个Class对象将表示一个特定类的属性。 最常用的Class方法是ge...原创 2019-03-29 11:04:23 · 714 阅读 · 0 评论 -
Java基础知识001
public static void main(String [] args) 1、JVM在运行程序时会首先查找main方法,由于main是程序的入口方法,此时还没有实例化对象,因此必须用public static修饰(二者位置可以互换),且要保证返回值类型为void。 虽然每个类都可以定义main方法,但只有与文件名相同的用public修饰的类中的main方法才能作为整个程序的入口方法。 2、...原创 2019-04-08 10:32:31 · 122 阅读 · 0 评论 -
Java equals and ==
原文:https://www.dutycode.com/post-140.html 如何判断两个对象相等,这个问题实际上可以看做是如何对equals方法和hashcode方法的理解。 从以下几个点来理解equals和hashCode方法: 1、equals的作用及与==的区别。 2、hashcode的作用及与equals的关系。 1、equals的作用及与的区别。 equals被用来判断两个对象是...转载 2019-03-28 20:49:01 · 107 阅读 · 0 评论 -
equals compareTo
-----------------------------------------------摘自java核心技术卷1 编写一个完美的equals方法的建议 显式参数命名为otherObject,稍后需要将它转换成另一个叫做other的变量。 检测this与otherObject是否引用同一个对象,即是否指向同一个地址 if(this==otherObject) return true; 检测o...原创 2019-03-30 11:24:40 · 102 阅读 · 0 评论 -
Java基础知识009容器
1. Java Collection set:集合中的元素不能重复,因此存入set的每个元素都必须定义equals方法来确保对象的唯一性。该接口有两个实现类:HashSet和TreeSet。其中TreeSet实现了SortedSet接口,因此TreeSet容器中的元素是有序的。 List:又称为有序的Collection。它按对象进入的顺序保存对象,所以它能对列表中的每个元素的插入和删除位置进行...转载 2019-04-10 12:41:50 · 91 阅读 · 0 评论 -
JAVA C++异同
Java:解释型语言。程序源代码经过java编译器编译成字节码,由JVM解释执行; C/C++:编译型语言。源代码经过编译和链接后生成可执行的二进制代码。 Java的执行速度比C/C++慢,但是Java能跨平台执行,而C/C++不能。 Java为纯面向对象语言,所有代码必须在类中实现,除基本数据类型外,所有类型都是类。Java中不存在全局变量或全局函数,而C/C++兼具面向对象和面向过程编程的特...原创 2019-04-07 22:21:19 · 222 阅读 · 0 评论 -
Java基础知识010
1. 线程与进程 线程是指程序在执行过程中能够执行程序代码的一个执行单元。(线程的四种状态:运行、就绪、挂起和结束) 进程是指一段正在执行的程序,一个进程可以拥有多个线程,各个线程之间共享程序的内存空间(代码段、数据段和堆空间)以及一些进程级的资源(例如打开的文件),但是各个线程拥有自己的栈空间。 在操作系统级别上,程序的执行都是以进程为单位的,而每个进程中通常会有多个线程互不影响的并发执行。 多...原创 2019-04-10 22:37:01 · 185 阅读 · 0 评论