Java基础
文章平均质量分 51
妮妮薇薇
这个作者很懒,什么都没留下…
展开
-
Java基础——String、StringBuffer与StringBuilder的区别
先看一下JDK1.8源码:public final class String implements java.io.Serializable, Comparable<String>, CharSequence { private final char value[];//这里用的是final char数组 private int hash; public...原创 2018-03-22 20:51:14 · 112 阅读 · 0 评论 -
Java基本类型-int和Integer
int是java中的基本类型,Integer是java中的类,是int的包装类型public class IntegerTest { public static void main(String[] args) { Integer a1 = 1; Integer a2 = 1; Integer e1 = 150; ...原创 2018-03-19 15:47:03 · 259 阅读 · 0 评论 -
Java基础 —— String
String中的相关问题String string = "abcd";String string2 = new String(string);String string3 = new String("abcd");1. “” 和 new创建字符串的区别通过javap -c -l -s -verbose xxx.class得出字节码 如图所示,我们看到字节码中有常量池C...原创 2018-03-19 19:56:49 · 121 阅读 · 0 评论 -
Java基础 —— == 和 equals()
String string = "abcd"; String string2 = "abcd"; String string3 = new String("abcd"); System.out.println(string == string2); System.out.println(string == stri...原创 2018-03-19 20:47:03 · 125 阅读 · 0 评论 -
Java并发——死锁
死锁:多个线程并发执行,存在多个线程循环等待资源的情形,没有外力干扰,线程都处于等待的状态。 死锁产生的原因:1.对不可剥夺资源的竞争2.进程推进顺序非法 死锁产生的必要条件: - 互斥条件:资源在一段时间内只能被一个线程占有 - 不可剥夺条件:线程持有资源后不能被其他线程抢占 - 请求和保持条件:线程持有一个资源后,在不释放资源的情形下继续请求资源。 - 循环等待条件:线程之...原创 2018-03-20 14:26:20 · 165 阅读 · 0 评论 -
Java基础——try/catch/finally+return
当try、catch、finally中都有return时,程序是怎么执行的? 看下面的例子:public static int test() { int i = 1; try { i = 2; System.out.println("try...."); int j = i / 0;...原创 2018-03-21 19:52:16 · 142 阅读 · 0 评论 -
Java基础——foreach与正常for循环效率对比
在Java中对于集合的遍历,一般有以下三种方法:for循环foreach循环Iterator遍历 下面来分析一下for循环和foreach循环的效率对比以及简单分析一下原因。 看下面的代码:public class ForTest { public static void testArrayList(ArrayList<Integer> arrayLi...原创 2018-03-26 14:33:46 · 6241 阅读 · 2 评论 -
Java基础——Override和Overload的含义与区别
我们知道Java面向对象包括抽象、封装、继承和多态四个特性,其中多态的实现主要有运行时多态(Override重写)和编译时多态(Overload重载),下面介绍一下这两者的区别。 Override(重写):是父类与子类之间多态性的一种方法,如果子类中的方法与父类有相同的名称、返回值和参数类型,则子类就是覆盖了父类的方法,JVM在调用的时候根据不同的对象实例调用不同的方法。 Overload(重...原创 2018-03-26 16:51:41 · 300 阅读 · 0 评论