Java
文章平均质量分 64
learner_and_thinker
这个作者很懒,什么都没留下…
展开
-
Java 集合类分析
1.Java集合类原创 2017-09-16 11:18:36 · 482 阅读 · 0 评论 -
Java final关键字
1.final变量用final关键字修饰的变量表示该变量不能改变(对于基本类型及其封装类的变量来说,表示它的值不能改变;对于其他引用类型变量来说,表示其引用指向不能改变,但其指向的内容可以改变。)2.final方法原创 2017-09-15 17:23:12 · 239 阅读 · 0 评论 -
Java volatile关键字
Java内存模型的三大特性Java内存模型有三大特性:原子性,可见性,有序性。 1. 原子性:表示该操作不可再分。例如简单的a++操作,这不是一个原子性操作。因为内部是a=a+1,再返回原来的a,这是一个可以分割的操作。在多线程中,非原子性操作会带来线程安全问题。这要我们使用同步技术,变成一个原子性操作。Java提供的原子操作类有AtomInteger,AtomicReference等。 2.原创 2017-09-25 09:30:31 · 214 阅读 · 0 评论 -
class.forName和Classloader的区别
class.forName是把类的.class文件加载都jvm中,然后还会对类进行解析,执行类的static块和为staic变量赋值。classloader只是加载.class文件到jvm,并不会执行static块,直到进行newInstance()时,才会执行static块。public class A { { System.out.println("A 初始化块");原创 2017-09-18 10:43:40 · 554 阅读 · 0 评论 -
Java 父类与子类初始化块,静态块,构造函数执行顺序
被static修饰的变量,块,方法都是会在类被加载的时候就会执行,而且是先与构造函数执行。public class A { { System.out.println("A 初始化块"); } static{ System.out.println("A 静态块"); } private static Integer integer=getInt原创 2017-09-18 11:07:59 · 921 阅读 · 0 评论 -
java内存泄漏的定位与分析
1、为什么会发生内存泄漏 java 如何检测内在泄漏呢?我们需要一些工具进行检测,并发现内存泄漏问题,不然很容易发生down机问题。 编写java程序最为方便的地方就是我们不需要管理内存的分配和释放,一切由jvm来进行处理,当java对象不再被应用时,等到堆内存不够用时,jvm会进行垃圾回收,清除这些对象占用的堆内存空间,如果对象一直被应用,jvm无法对其进行回收,创建新的对象时,无法从Heap转载 2017-09-18 20:23:59 · 134 阅读 · 0 评论 -
Java内存模型以及gc算法
1.java内存模型 JVM堆内存分为2块:Permanent Space 和 Heap Space。 Permanent 即 持久代(Permanent Generation),主要存放的是Java类定义信息,与垃圾收集器要收集的Java对象关系不大。1) 持久代: 用于存放类信息,静态类型数据,final修饰的变量,常量,方法,如 Java Class, Method原创 2017-09-18 15:00:49 · 2824 阅读 · 0 评论 -
Java基本知识
Java的多态多态是面向对象语言的三大特性之一。多态主要有两种形式,一种是编译时多态,另一种是运行时多态。 编译时多态的实现就是对同名方法的重载(Overload)。编译器会根据同名方法的形参个数,形参类型,以达到在编译时就能区分不同的方法。 运行时多态的实现就是对方法的重写(Override)。子类继承父类并重写了父类的某些非静态方法,然后把子类对象赋值给父类引用,父类引用在调用方法时并原创 2017-11-05 11:16:12 · 325 阅读 · 0 评论