Java基础
文章平均质量分 72
gottawangzi
这个作者很懒,什么都没留下…
展开
-
String/StringBuffer/StringBuilder 心得
1 String (1) String的创建机理由于String在Java世界中创建的过于频繁,Java为了避免在一个系统中产生大量的String对象,引入了字符串常量池。其运行机制是:创建一个字符串式,首先检查池中是否有值相同的字符串对象,如果有则不需要创建直接从池中查找到的对象引用;如果没有则新建字符串对象,返回对象引用,并将新创建的对象放入池中。但是,通过new方法创建的String...转载 2018-08-17 21:36:25 · 1501 阅读 · 1 评论 -
int和Integer之间的区别
int和Integer之间的区别1 Integer是int的包装类,int则是Java的一种基本数据类型2 Integer变量必须实例化之后才可以使用,而int变量不需要3 Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象;而int则是直接存储数据值4 Integer的默认值是null,int的默认值是0延伸关于Integer和i...原创 2018-08-19 14:58:38 · 5290 阅读 · 0 评论 -
Exception和Error有什么区别?
在Java程序设计语言中,异常对象都是派生于Throwable类的一个实例。如果在Java中内置的异常类不能够满足需求,用户可以创建自己的异常类。 所有的异常都是从Throwable类继承而来,但在下一层立即分解为两个分支,Error和Exception。 Error类层次结构描述了Java运行时系统的内部错误和资源耗尽错误。应用程序不应该抛出这种类型的对象。如果出现了这样的...原创 2018-08-17 19:07:01 · 147 阅读 · 0 评论 -
NoClassDefFoundError和ClassNOtFoundException两种异常
文章转载于 https://blog.csdn.net/wdw131409/article/details/78316919NoClassDefFoundError是一个错误(Error),而ClassNOtFoundException是一个异常,在Java中错误和异常是有区别的,我们可以从异常中恢复程序但却不应该尝试从错误中恢复程序。ClassNotFoundException的产生原因...转载 2018-08-17 19:17:15 · 641 阅读 · 0 评论 -
强引用 软引用 弱引用 幻象引用
在Java语言中,除了基本数据类型外,其他的都是指向各类对象的对象引用,Java中根据其生命周期的长短,将引用分为四类。 1 强引用特点:我们平常典型编码 Object obj=new Object() 中的obj就是强引用。通过关键字new创建的对象所关联的引用就是强引用。当JVM内存不足时,JVM宁愿抛出OutofMemoryError运行时错误(OOM),使程序异常终止,也不会...翻译 2018-08-17 20:12:17 · 118 阅读 · 0 评论 -
类加载过程
一 加载 在加载阶段,虚拟机完成以下几件事:首先通过一个类的全限定名获取此类的二进制流 将这个字节流所代表的的静态存储结构转换成方法区的运行时数据结构 在内存中生成一个代表该类的java.lang.Class对象,作为方法区这个类的各种数据的访问入口。二 验证1 文件格式验证 第一阶段要验证字节流是否符合Class文件格式的规范,并且能被当前版本的虚拟机处理,这一阶...原创 2018-08-23 20:23:03 · 137 阅读 · 0 评论 -
windows下 的 jvisualvm,jstack参数查看运行程序的线程状况。
今天在复习多线程的时候写了一个死锁,突然看到网上有人用jstack的命令参数可以查看程序中每个线程的运行情况,于是就尝试着自己动手操作了一下。在cmd下运行jstack -h 看到图中有一个jstack中所有的命令后面都要接上一个pid(进程id,就是我们运行程序的id)。但是这个我不知道啊。于是又去网上找了一些博客看了一下。发现了jvisualvm这个参数,抱着试试看的心里。在dos命令...原创 2018-08-21 17:18:32 · 4441 阅读 · 0 评论 -
Java通过反射获取方法的参数名 idea的设置
之前阿里面试的时候,面试官问我Java通过反射可以获取到一个方法的形参名称吗?听到这个问题我是懵逼的,之前只知道通过反射可以获取方法名,形参的类型,但是从来没有注意可不可以获取方法形参的名称。在网上查了一些资料之后,知道在jdk1.7之前获取方法中形参的名称的是打印arg0类型。但是在jdk1.8之后,已经做了改动。可以获取到形参的名称。注意本文的JDK是基于1.8的。1.8版本以下的博主...原创 2018-09-22 22:35:50 · 4452 阅读 · 2 评论