Fork me on GitHub
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 30 下一页
摘要: 1.for循环方法: 代码灵活,但效率低。 2.System.arraycopy()方法: 通过源码可以看到,其为native方法,即原生态方法。自然效率更高。 3.Arrays.copyOf()方法: 同样看源码,它的实现还是基于System.arraycopy(),所以效率自然低于System. 阅读全文
posted @ 2016-07-14 18:32 郑斌blog 阅读(48642) 评论(0) 推荐(3) 编辑
摘要: 在Java中一个类包括:构造块、构造方法、静态块、main方法、普通方法。 通过下面的例子将看出一个类中各种方法的执行顺序: 可以得出:首先JVM加载这个类(执行静态块)-》执行类的入口main方法-》构造块-》构造方法-》执行调用方法 如果有父类呢?JVM首先会检查当前类的父类是否加载,若没有则加 阅读全文
posted @ 2016-07-14 17:37 郑斌blog 阅读(1363) 评论(0) 推荐(0) 编辑
摘要: 首先看在JVM的堆中,按代的划分: Young:主要是用来存放新生的对象。 Old:主要存放应用程序中生命周期长的内存对象。 Permanent:是指内存的永久保存区域,主要存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域. 它和存放Instance 阅读全文
posted @ 2016-07-14 12:21 郑斌blog 阅读(803) 评论(0) 推荐(0) 编辑
摘要: 概念补充 并行(Parallel):指多条垃圾收集线程并行工作,但此时用户线程仍然处于等待状态。 并发(Concurrent):指用户线程与垃圾收集线程同时执行(但不一定是并行的,可能会交替执行),用户程序在继续运行,而垃圾收集程序运行于另一个CPU上。 所有的GC算法都将堆划分成了老年代和新生代。 阅读全文
posted @ 2016-07-13 10:58 郑斌blog 阅读(908) 评论(0) 推荐(1) 编辑
摘要: java.lang.Throwable:作为所有异常的超类; Exception(异常):分为 RuntimeException(运行时异常,不受检异常)和编译异常 运行时异常:表示 JVM 在运行期间出现错误,比如 NullPointerException、IndexOutOfBoundsExce 阅读全文
posted @ 2016-07-11 21:59 郑斌blog 阅读(528) 评论(0) 推荐(0) 编辑
摘要: 单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。这样的模式有几个好处: 1、某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销。 2、省去了new操作符,降低了系统内存的使用频率,减轻GC压力。 3、有些类如交易 阅读全文
posted @ 2016-07-11 08:38 郑斌blog 阅读(809) 评论(0) 推荐(0) 编辑
摘要: Java提供的原子类是靠 sun 基于 CAS 实现的,CAS 是一种乐观锁。关于乐观锁与悲观锁。 原子变量类相当于一种泛化的 volatile 变量,能够支持原子的和有条件的读-改-写操作。AtomicInteger 表示一个int类型的值,并提供了 get 和 set 方法,这些 Volatil 阅读全文
posted @ 2016-07-10 15:01 郑斌blog 阅读(8434) 评论(2) 推荐(1) 编辑
摘要: 乐观锁 乐观锁(Optimistic Lock), 顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号等机制。乐观锁适用于多读的应用类型,这样可以提高吞吐量,像数据库如果提供类似于write_condi 阅读全文
posted @ 2016-07-10 12:13 郑斌blog 阅读(4224) 评论(0) 推荐(0) 编辑
摘要: 一、基本概念 先补充一下概念:Java 内存模型中的可见性、原子性和有序性。 可见性: 可见性是一种复杂的属性,因为可见性中的错误总是会违背我们的直觉。通常,我们无法确保执行读操作的线程能适时地看到其他线程写入的值,有时甚至是根本不可能的事情。为了确保多个线程之间对内存写入操作的可见性,必须使用同步 阅读全文
posted @ 2016-07-08 22:50 郑斌blog 阅读(332083) 评论(42) 推荐(135) 编辑
摘要: 这是美团一面面试官的一个问题,后来发现这是一道面试常见题,怪自己没有准备充分:i++;在多线程环境下是否存在问题?当时回答存在,接着问,那怎么解决?。。。好吧,我说加锁或者synchronized同步方法。接着问,那有没有更好的方法? 经过一番百度、谷歌,还可以用AtomicInteger这个类,这 阅读全文
posted @ 2016-07-08 12:47 郑斌blog 阅读(22583) 评论(1) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 30 下一页