importnew
文章平均质量分 82
2B铅笔水果橡皮
这个作者很懒,什么都没留下…
展开
-
把Java数组转换为List时的注意事项
不幸的是并不是每件事都尽如人意。举个例子,现在将一个Java数组转换为List。当然,我们可以使用Arrays.asList方法,但是如果没有慎重思考就随便使用几乎肯定会产生令人讨厌的意外。考虑完下面这段程序并预测其输出你就明白我的意思了:package com.wordpress.mlangc.arrays; import java.util.Arrays; public class转载 2015-03-25 15:54:45 · 388 阅读 · 0 评论 -
JVM中的G1垃圾回收器
我们先回顾一下主流Java的垃圾回收器(HotSpot JVM)。本文是针对堆的垃圾回收展开讨论的。堆被分解为较小的三个部分。具体分为:新生代、老年代、持久代。绝大部分新生成的对象都放在Eden区,当Eden区将满,JVM会因申请不到内存,而触发Young GC ,进行Eden区+有对象的Survivor区(设为S0区)垃圾回收,把存活的对象用复制算法拷贝到一个空的Surv转载 2015-03-20 12:19:11 · 508 阅读 · 0 评论 -
Java的内存回收机制
在Java中,它的内存管理包括两方面:内存分配(创建Java对象的时候)和内存回收,这两方面工作都是由JVM自动完成的,降低了Java程序员的学习难度,避免了像C/C++直接操作内存的危险。但是,也正因为内存管理完全由JVM负责,所以也使Java很多程序员不再关心内存分配,导致很多程序低效,耗内存。因此就有了Java程序员到最后应该去了解JVM,才能写出更高效,充分利用有限的内存的程序。1转载 2015-03-20 11:28:16 · 395 阅读 · 0 评论 -
深入分析Java ClassLoader原理
一、什么是ClassLoader?大家都知道,当我们写好一个Java程序之后,不是管是CS还是BS应用,都是由若干个.class文件组织而成的一个完整的Java应用程序,当程序在运行时,即会调用该程序的一个入口函数来调用系统的相关功能,而这些功能都被封装在不同的class文件当中,所以经常要从这个class文件中要调用另外一个class文件中的方法,如果另外一个文件不存在的,则会引发系统异转载 2015-03-19 16:56:51 · 375 阅读 · 0 评论 -
Java Class文件详解
Java Class文件中包含以下信息:1234567891011121314151617181920ClassFile { u4 magic;转载 2015-03-19 16:52:57 · 570 阅读 · 0 评论 -
什么是字符串常量池?
在理解字符串常量前,我们先熟悉一下如何创建一个字符串,在Java中有两种方法可以创建一个字符串对象:使用new运算符。例如:String str = new String("Hello");使用字符串常量或者常量表达式。例如:String str="Hello"; //(字符串常量) 或者String str="Hel" + "lo"; //(字符串常量表达式).转载 2015-03-20 14:43:37 · 430 阅读 · 0 评论 -
Java HashMap的工作原理
我们来看个非常简单的例子。有一个”国家”(Country)类,我们将要用Country对象作为key,它的首都的名字(String类型)作为value。下面的例子有助于我们理解key-value对在HashMap中是如何存储的。1. Country.javapackage org.arpit.javapostsforlearning;public class Country {转载 2015-03-20 15:54:16 · 348 阅读 · 0 评论 -
什么时候使用CountDownLatch
正如每个Java文档所描述的那样,CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程的操作执行完后再执行。在Java并发中,countdownlatch的概念是一个常见的面试题,所以一定要确保你很好的理解了它。在这篇文章中,我将会涉及到在Java并发编 程中跟CountDownLatch相关的以下几点:目录CountDownLatch是什么转载 2015-04-15 17:20:38 · 873 阅读 · 0 评论