文章分类 - java
摘要:编译时异常 运行时异常 ClassNotFoundException ClassCastException DataFormatException EmptyStackException IOException IllegalArgumentException NoSuchMethodExcepti
阅读全文
摘要:Java异常类层次结构图 运行时异常:都是RuntimeException类及其子类异常,如NullPointerException(空指针异常)、IndexOutOfBoundsException(下标越界异常)等,这些异常是不检查异常,程序中可以选择捕获处理,也可以不处理。这些异常一般是由程序逻
阅读全文
摘要:一,异常的概念Java异常类层次结构图:这里写图片描述Throwable: 有两个重要的子类:Exception(异常)和 Error(错误),二者都是 Java 异常处理的重要子类,各自都包含大量子类。Error(错误):是程序无法处理的错误,表示运行应用程序中较严重问题。大多数错误与代码编写者执
阅读全文
摘要:锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 synchronized 和 ReentrantLock等等 ) 。这些已经写好提供的锁为我们开发提供了便利,但是锁的具体性质以及类型却很少被提及。本系列文章将分析JAVA中常见的锁以及其特性,为大家答疑解惑。 1、自旋锁 2、自旋
阅读全文
摘要:关键字约定 Young generation –>新生代 Tenured / Old Generation –>老年代 Perm Area –>永久代 年轻代: 所有新生成的对象首先都是放在年轻代的。年轻代的目标就是尽可能快速的收集掉那些生命周期短的对象。年轻代分三个区。一个Eden区,两个 Sur
阅读全文
摘要:以下为我学习java新生代和老年代所整理的笔记。摘自《深入理解java虚拟机》一书。java堆可以细分为新生代和老年代新生代:生命周期比较短的对象。老年代:生命周期比较长的对象。1、新生代常采用的算法:复制算法现在商业虚拟机都采用这种收集算法来回收新生代。新生代的对象98%都是“朝生夕死”,将内存分
阅读全文
摘要:1. 标记——清除算法(Mark-Sweep)标记——清除算法是第一种使用和比较完善的垃圾回收算法,算法分为两个过程:1、标记正所有需要回收的对象2、标记完成后清除被标记的对象。其标记的过程就是判断对象有效性,执行可达性分析的过程。其执行流程图大体如何下所示:Mark Sweep同样,我们也借助现实
阅读全文
摘要:同样,HashMap是java面试中经常问到的一个知识点,基本都是和HashTable以及ConcurrentHashMap一起被问及,今天主要是讲讲HashMap是如何解决碰撞问题的?那么问题来了,什么是碰撞问题?这要先从HashMap底层的实现说起,进入它的源码类 public class Ha
阅读全文
摘要:首先结论是:java中静态属性和和静态方法可以被继承,但是没有被重写(overwrite)而是被隐藏。 静态方法和属性是属于类的,调用的时候直接通过类名.方法名完成的,不需继承机制就可以调用如果子类里面定义了静态方法和属性,那么这时候父类的静态方法 或属性称之为“隐藏”,你如果想要调用父类的静态方法
阅读全文
摘要:java中静态属性和静态方法可以被继承,但是没有被重写(overwrite)而是被隐藏. 原因: 1). 静态方法和属性是属于类的,调用的时候直接通过类名.方法名完成对,不需要继承机制及可以调用。如果子类里面定义了静态方法和属性,那么这时候父类的静态方法或属性称之为"隐藏"。如果你想要调用父类的静态
阅读全文
摘要:1.静态属性和静态方法是否可以被继承?是否可以被重写?1)先说是否可以被继承 1public class One { //静态属性和静态方法是否可以被继承?是否可以被重写?以及原因? public static String one_1 = "one"; public static void one
阅读全文
摘要:同步首发:http://www.yuanrengu.com/index.php/2017-01-17.html 如果你去面试,面试官不问你这个问题,你来找我^_^ 下面直接来干货,先说这三个Map的区别: HashTable 底层数组+链表实现,无论key还是value都不能为null,线程安全,实
阅读全文
摘要:1、Vector、ArrayList都是以类似数组的形式存储在内存中,LinkedList则以链表的形式进行存储。 2、List中的元素有序、允许有重复的元素,Set中的元素无序、不允许有重复元素。 3、Vector线程同步,ArrayList、LinkedList线程不同步。 4、LinkedLi
阅读全文
摘要:1、 ArrayList底层是采用数组实现的(并且改数组的类型是Object类型的)2 如果是jdk6的话,采用Array.of()方法来生成一个新的数组,如果是jdk5.0的话,使用的是System.arraycopy方法(将数组拷贝)3 、List list = new ArrayList();
阅读全文
摘要:Java中字符串对象创建有两种形式,一种为字面量形式,如String str = "droid";,另一种就是使用new这种标准的构造对象的方法,如String str = new String("droid");,这两种方式我们在代码编写时都经常使用,尤其是字面量的方式。然而这两种实现其实存在着一
阅读全文
摘要:Java中HashMap的实现原理 最近面试中被问及Java中HashMap的原理,瞬间无言以对,因此痛定思痛觉得研究一番。 一、Java中的hashCode和equals 1、关于hashCode hashCode的存在主要是用于查找的快捷性,如Hashtable,HashMap等,hashCod
阅读全文
摘要:1、为什么用HashMap? HashMap是一个散列桶(数组和链表),它存储的内容是键值对(key-value)映射HashMap采用了数组和链表的数据结构,能在查询和修改方便继承了数组的线性查找和链表的寻址修改HashMap是非synchronized,所以HashMap很快HashMap可以接
阅读全文
摘要:此模式可以很好的更换程序使用不同的数据库 1.用到的属性类 2.接口 3.实现接口 4.反射 5.使用
阅读全文
摘要:我们在利用java的三层架构开发时,如果用Web层直接创建service层,然后再用service层直接创建dao层 ,这样的话如果我们底层的实现类发生了变化,我们就要去修改源代码了,这很显然不是很符合开发的要求。那这个问题应该怎么解决呢?对,我们可以通过利用“工厂模式+反射+配置文件”的模式来降低
阅读全文
摘要:1、Web.config配置文件 <appSettings> <add key="webpages:Version" value="3.0.0.0"/> <add key="webpages:Enabled" value="false"/> <add key="ClientValidationEna
阅读全文

浙公网安备 33010602011771号