<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[coodlong的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/coodlong</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; coodlong]]></copyright><item><title><![CDATA[运行时异常与一般异常有何异同？]]></title><link>https://blog.youkuaiyun.com/coodlong/article/details/50846660</link><guid>https://blog.youkuaiyun.com/coodlong/article/details/50846660</guid><author>coodlong</author><pubDate>Thu, 10 Mar 2016 14:53:06 +0800</pubDate><description><![CDATA[异常表示程序运行过程中可能出现的非正常状态，运行时异常表示虚拟机的通常操作中可能遇到的异常，是一种常见运行错误。 
java编译器要求方法必须声明抛出可能发生的非运行时异常，但是并不要求必须声明抛出未被捕获的运行时异常。]]></description><category></category></item><item><title><![CDATA[final, finally, finalize的区别]]></title><link>https://blog.youkuaiyun.com/coodlong/article/details/50846575</link><guid>https://blog.youkuaiyun.com/coodlong/article/details/50846575</guid><author>coodlong</author><pubDate>Thu, 10 Mar 2016 14:46:01 +0800</pubDate><description><![CDATA[final 用于声明属性，方法和类，分别表示属性不可变，方法不可覆盖，类不可继承。  
内部类要访问局部变量，局部变量必须定义成final类型，例如，一段代码……finally是异常处理语句结构的一部分，表示总是执行。finalize是Object类的一个方法，在垃圾收集器执行的时候会调用被回收对象的此方法，可以覆盖此方法提供垃圾收集时的其他资源回收，例如关闭文件等。JVM不保证此方法总被调用]]></description><category></category></item><item><title><![CDATA[StringBuffer与StringBuilder的区别]]></title><link>https://blog.youkuaiyun.com/coodlong/article/details/50846551</link><guid>https://blog.youkuaiyun.com/coodlong/article/details/50846551</guid><author>coodlong</author><pubDate>Thu, 10 Mar 2016 14:44:08 +0800</pubDate><description><![CDATA[StringBuffer和StringBuilder类 都表示内容可以被修改的字符串，StringBuilder是线程不安全的，运行效率高，如果一个字符串变量是在方法里面定义，这种情况只可能有一个线程访问它，不存在不安全的因素了，则用StringBuilder。如果要在类里面定义成员变量，并且这个类的实例对象会在多线程环境下使用，那么最好用StringBuffer。]]></description><category></category></item><item><title><![CDATA[String 和StringBuffer的区别]]></title><link>https://blog.youkuaiyun.com/coodlong/article/details/50846495</link><guid>https://blog.youkuaiyun.com/coodlong/article/details/50846495</guid><author>coodlong</author><pubDate>Thu, 10 Mar 2016 14:40:00 +0800</pubDate><description><![CDATA[JAVA平台提供了两个类：String和StringBuffer，它们可以储存和操作字符串，即包含多个字符的字符数据。 
String类表示内容不可改变的字符串。而StringBuffer类表示内容可以被修改的字符串。 
当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地，你可以使用StringBuffers来动态构造字符数据。另外，String实现了equals方法，new]]></description><category></category></item><item><title><![CDATA[Java是最基本的数据类型吗?]]></title><link>https://blog.youkuaiyun.com/coodlong/article/details/50846475</link><guid>https://blog.youkuaiyun.com/coodlong/article/details/50846475</guid><author>coodlong</author><pubDate>Thu, 10 Mar 2016 14:38:03 +0800</pubDate><description><![CDATA[byte , short , int, char ,long,float,double,boolean]]></description><category></category></item><item><title><![CDATA[内部类可以引用它的包含类的成员吗？有没有什么限制？]]></title><link>https://blog.youkuaiyun.com/coodlong/article/details/50846438</link><guid>https://blog.youkuaiyun.com/coodlong/article/details/50846438</guid><author>coodlong</author><pubDate>Thu, 10 Mar 2016 14:34:59 +0800</pubDate><description><![CDATA[完全可以。如果不是静态内部类，那没有什么限制！  
如果你把静态嵌套类当作内部类的一种特例，那在这种情况下不可以访问外部类的普通成员变量，而只能访问外部类中的静态成员，]]></description><category></category></item><item><title><![CDATA[什么是内部类？Static Nested Class 和 Inner Class的不同。]]></title><link>https://blog.youkuaiyun.com/coodlong/article/details/50846397</link><guid>https://blog.youkuaiyun.com/coodlong/article/details/50846397</guid><author>coodlong</author><pubDate>Thu, 10 Mar 2016 14:31:25 +0800</pubDate><description><![CDATA[内部类就是在一个类的内部定义的类，内部类中不能定义静态成员（静态成员不是对象的特性，只是为了找一个容身之处，所以需要放到一个类中而已，这么一点小事，你还要把它放到类内部的一个类中，过分了啊！提供内部类，不是为让你干这种事情，无聊，不让你干。我想可能是既然静态成员类似c语言的全局变量，而内部类通常是用于创建内部对象用的，所以，把“全局变量”放在内部类中就是毫无意义的事情，既然是毫无意义的事情，就应该被]]></description><category></category></item><item><title><![CDATA[java中会存在内存泄漏吗，请简单描述？]]></title><link>https://blog.youkuaiyun.com/coodlong/article/details/50836613</link><guid>https://blog.youkuaiyun.com/coodlong/article/details/50836613</guid><author>coodlong</author><pubDate>Wed, 09 Mar 2016 16:46:10 +0800</pubDate><description><![CDATA[所谓内存泄露就是指一个不再被程序使用的对象或变量一直被占据在内存中。java中有垃圾回收机制，它可以保证一对象不再被引用的时候，即对象编程了孤儿的时候，对象将自动被垃圾回收器从内存中清除掉。由于Java 使用有向图的方式进行垃圾回收管理，可以消除引用循环的问题，例如有两个对象，相互引用，只要它们和根进程不可达的，那么GC也是可以回收它们的。package com.huawei.interview;i]]></description><category></category></item><item><title><![CDATA[什么时候用assert？]]></title><link>https://blog.youkuaiyun.com/coodlong/article/details/50836569</link><guid>https://blog.youkuaiyun.com/coodlong/article/details/50836569</guid><author>coodlong</author><pubDate>Wed, 09 Mar 2016 16:42:34 +0800</pubDate><description><![CDATA[assertion(断言)在软件开发中是一种常用的调试方式，很多开发语言中都支持这种机制。在实现中，assertion就是在程序中的一条语句，它对一个boolean表达式进行检查，一个正确程序必须保证这个boolean表达式的值为true；如果该值为false，说明程序已经处于不正确的状态下，assert将给出警告或退出。一般来说，assertion用于保证程序最基本、关键的正确性。assertio]]></description><category></category></item><item><title><![CDATA[垃圾回收器的基本原理是什么？垃圾回收器可以马上回收内存吗？有什么办法主动通知虚拟机进行垃圾回收？]]></title><link>https://blog.youkuaiyun.com/coodlong/article/details/50836487</link><guid>https://blog.youkuaiyun.com/coodlong/article/details/50836487</guid><author>coodlong</author><pubDate>Wed, 09 Mar 2016 16:35:17 +0800</pubDate><description><![CDATA[对于GC来说，当程序员创建对象时，GC就开始监控这个对象的地址、大小以及使用情况。通常，GC采用有向图的方式记录和管理堆(heap)中的所有对象。通过这种方式确定哪些对象是”可达的”，哪些对象是”不可达的”。当GC确定一些对象为”不可达”时，GC就有责任回收这些内存空间。可以。程序员可以手动执行System.gc()，通知GC运行，但是Java语言规范并不保证GC一定会执行。]]></description><category></category></item><item><title><![CDATA[GC是什么? 为什么要有GC?]]></title><link>https://blog.youkuaiyun.com/coodlong/article/details/50836412</link><guid>https://blog.youkuaiyun.com/coodlong/article/details/50836412</guid><author>coodlong</author><pubDate>Wed, 09 Mar 2016 16:27:54 +0800</pubDate><description><![CDATA[GC是垃圾收集的意思（Gabage Collection）,内存处理是编程人员容易出现问题的地方，忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃，Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的，Java语言没有提供释放已分配内存的显示操作方法]]></description><category></category></item><item><title><![CDATA[heap和stack有什么区别]]></title><link>https://blog.youkuaiyun.com/coodlong/article/details/50836308</link><guid>https://blog.youkuaiyun.com/coodlong/article/details/50836308</guid><author>coodlong</author><pubDate>Wed, 09 Mar 2016 16:17:54 +0800</pubDate><description><![CDATA[java的内存分为两类，一类是栈内存，一类是堆内存。栈内存是指程序进入一个方法时，会为这个方法单独分配一块私属存储空间，用于存储这个方法内部的局部变量，当这个方法结束时，分配给这个方法的栈会释放，这个栈中的变量也将随之释放。 
堆是与栈作用不同的内存，一般用于存放不放在当前方法栈中的那些数据，例如，使用new创建的对象都放在堆里，所以，它不会随方法的结束而消失。方法中的局部变量使用final修饰后，]]></description><category></category></item><item><title><![CDATA[描述一下JVM 加载class文件的原理机制?]]></title><link>https://blog.youkuaiyun.com/coodlong/article/details/50836278</link><guid>https://blog.youkuaiyun.com/coodlong/article/details/50836278</guid><author>coodlong</author><pubDate>Wed, 09 Mar 2016 16:14:55 +0800</pubDate><description><![CDATA[JVM中类的装载是由ClassLoader和它的子类来实现的,Java ClassLoader 是一个重要的Java运行时系统组件。它负责在运行时查找和装入类文件的类。当Java编译器编译好.class文件之后，我们需要使用JVM来运行这个class文件。那么最开始的工作就是要把字节码从磁盘输入到内存中，这个过程我们叫做【加载 】。加载完成之后，我们就可以进行一系列的运行前准备工作了，比如： 为类静]]></description><category></category></item><item><title><![CDATA[什么是java序列化，如何实现java序列化？或者请解释Serializable接口的作用。]]></title><link>https://blog.youkuaiyun.com/coodlong/article/details/50836220</link><guid>https://blog.youkuaiyun.com/coodlong/article/details/50836220</guid><author>coodlong</author><pubDate>Wed, 09 Mar 2016 16:10:06 +0800</pubDate><description><![CDATA[我们有时候将一个java对象变成字节流的形式传出去或者从一个字节流中恢复成一个java对象，例如，要将java对象存储到硬盘或者传送给网络上的其他计算机，这个过程我们可以自己写代码去把一个java对象变成某个格式的字节流再传输，但是，jre本身就提供了这种支持，我们可以调用OutputStream的writeObject方法来做，如果要让java 帮我们做，要被传输的对象必须实现serializab]]></description><category></category></item><item><title><![CDATA[字节流与字符流的区别]]></title><link>https://blog.youkuaiyun.com/coodlong/article/details/50836133</link><guid>https://blog.youkuaiyun.com/coodlong/article/details/50836133</guid><author>coodlong</author><pubDate>Wed, 09 Mar 2016 16:02:09 +0800</pubDate><description><![CDATA[要把一片二进制数据数据逐一输出到某个设备中，或者从某个设备中逐一读取一片二进制数据，不管输入输出设备是什么，我们要用统一的方式来完成这些操作，用一种抽象的方式进行描述，这个抽象描述方式起名为IO流，对应的抽象类为OutputStream和InputStream ，不同的实现类就代表不同的输入和输出设备，它们都是针对字节进行操作的。
 在应用中，经常要完全是字符的一段文本输出去或读进来，用字节流可以吗]]></description><category></category></item><item><title><![CDATA[java中有几种类型的流？JDK为每种类型的流提供了一些抽象类以供继承，请说出他们分别是哪些类？]]></title><link>https://blog.youkuaiyun.com/coodlong/article/details/50836047</link><guid>https://blog.youkuaiyun.com/coodlong/article/details/50836047</guid><author>coodlong</author><pubDate>Wed, 09 Mar 2016 15:54:12 +0800</pubDate><description><![CDATA[字节流，字符流。 
字节流继承于InputStream OutputStream， 
字符流继承于InputStreamReader OutputStreamWriter。 
在java.io包中还有许多其他的流，主要是为了提高性能和使用方便]]></description><category></category></item><item><title><![CDATA[说出一些常用的类，包，接口，请各举5个]]></title><link>https://blog.youkuaiyun.com/coodlong/article/details/50835985</link><guid>https://blog.youkuaiyun.com/coodlong/article/details/50835985</guid><author>coodlong</author><pubDate>Wed, 09 Mar 2016 15:48:06 +0800</pubDate><description><![CDATA[常用的类：BufferedReader   BufferedWriter 
                 FileReader  FileWirter 
                 String  Integer  
                 java.util.Date， 
                 Class， 
                 HashMap常用的接]]></description><category></category></item><item><title><![CDATA[Collection 和 Collections的区别]]></title><link>https://blog.youkuaiyun.com/coodlong/article/details/50835881</link><guid>https://blog.youkuaiyun.com/coodlong/article/details/50835881</guid><author>coodlong</author><pubDate>Wed, 09 Mar 2016 15:40:19 +0800</pubDate><description><![CDATA[Collection是集合类的上级接口，继承与他的接口主要有Set 和List.  
Collections是针对集合类的一个帮助类，他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。]]></description><category></category></item><item><title><![CDATA[说出ArrayList, LinkedList 和Vector的存储性能和特性]]></title><link>https://blog.youkuaiyun.com/coodlong/article/details/50835867</link><guid>https://blog.youkuaiyun.com/coodlong/article/details/50835867</guid><author>coodlong</author><pubDate>Wed, 09 Mar 2016 15:38:46 +0800</pubDate><description><![CDATA[ArrayList和Vector都是使用数组方式存储数据，此数组元素数大于实际存储的数据以便增加和插入元素，它们都允许直接按序号索引元素，但是插入元素要涉及数组元素移动等内存操作，所以索引数据快而插入数据慢Vector由于使用了synchronized方法（线程安全），通常性能上较ArrayList差，而LinkedList使用双向链表实现存储，按序号索引数据需要进行前向或后向遍历，但是插入数据时只]]></description><category></category></item><item><title><![CDATA[List、Map、Set三个接口，存取元素时，各有什么特点？]]></title><link>https://blog.youkuaiyun.com/coodlong/article/details/50835758</link><guid>https://blog.youkuaiyun.com/coodlong/article/details/50835758</guid><author>coodlong</author><pubDate>Wed, 09 Mar 2016 15:29:26 +0800</pubDate><description><![CDATA[首先，List与Set具有相似性，它们都是单列元素的集合，所以，它们有一个共同的父接口，叫Collection。List表示有先后顺序的集合， 注意，不是那种按年龄、按大小、按价格之类的排序。当我们多次调用add(Obj e)方法时，每次加入的对象就像火车站买票有排队顺序一样，按先来后到的顺序排序。有时候，也可以插队，即调用add(int index,Obj e)方法，就可以指定当前对象在集合中的存]]></description><category></category></item></channel></rss>