
深入了解Java
LeLe_Feb
这个作者很懒,什么都没留下…
展开
-
Java中equals和==的区别
Java中equals和==的区别java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean 他们之间的比较,应用双等号(==),比较的是他们的值。 2.复合数据类型(类) 当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象转载 2017-04-09 20:50:21 · 205 阅读 · 0 评论 -
JVM——内存管理和垃圾回收
1. 何为GCJava与C语言相比的一个优势是,可以通过自己的JVM自动分配和回收内存空间。垃圾回收机制是由垃圾收集器Garbage Collection来实现的,GC是后台一个低优先级的守护进程。在内存中低到一定限度时才会自动运行,因此垃圾转载 2017-07-04 14:56:48 · 362 阅读 · 0 评论 -
JVM——Java虚拟机架构
0. 前言Java虚拟机(Java virtualmachine)实现了Java语言最重要的特征:即平台无关性。平台无关性原理:编译后的 Java程序(.class文件)由 JVM执行。JVM屏蔽了与具体平台相关的信息,使程序可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。因此实现Java平台无关性。本文主要介绍JVM中转载 2017-08-10 10:18:14 · 257 阅读 · 0 评论 -
一个面试官对面试问题的分析—GC
这个帖子的背景是今晚看到je上这张贴:http://www.iteye.com/topic/715256,心血来潮写下的文字,如果能抛砖引玉,能有其他面试官分析一下自己面试时问的问题,那或许是件很有意义的事情。 在公司当技术面试官几年间,从应届生到工作十几年的应聘者都遇到过。先表达一下我自己对面试的观点: 1.笔试、面试去评价一个人肯定是不够准确的,了解一个人最准确的方式就是“路遥知马力,日久见人心转载 2017-08-11 17:33:18 · 601 阅读 · 0 评论 -
面试—垃圾回收总结
最近看了《深入理解Java虚拟机》,对垃圾回收有一定的了解了,这个问题在面试也经常被问道。以下将从这几个方面来谈GC,GC在什么时候发生?降低GC的调优策略?对什么东西进行回收?GC时做了什么事情?GC是在什么时候发生大多数情况下,对象在新生代Eden区中分配内存,当Eden区中没有足够的空间进行分配时,虚拟机将发起一次Minor GC(新生代GC)。当老年代的最大连续内存空间小于原创 2017-08-13 21:09:24 · 398 阅读 · 0 评论 -
JVM——Java类加载机制总结
1. 类加载器的组织结构转载请注明出处:http://blog.youkuaiyun.com/seu_calvin/article/details/52301541类加载器 ClassLoader是具有层次结构的,也就是父子关系。其中,Bootstrap是所有类加载器的父亲。(1)Bootstrapclass loader: 启动类加载器当运行Java虚拟机时,这个类加转载 2017-09-20 22:53:49 · 201 阅读 · 0 评论 -
JVM内存管理及GC机制
一、概述Java GC(Garbage Collection,垃圾收集,垃圾回收)机制,是Java与C++/C的主要区别之一,作为Java开发者,一般不需要专门编写内存回收和垃圾清理代码,对内存泄露和溢出的问题,也不需要像C程序员那样战战兢兢。经过这么长时间的发展,Java GC机制已经日臻完善,几乎可以自动的为我们做绝大多数的事情。虽然java不需要开发人员显示的分配和回收内转载 2017-04-09 20:53:32 · 194 阅读 · 0 评论 -
Java中的反射机制(一)
基本概念 在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法? 答案是肯定的。 这种动态获取类的信息以及动态调用对象的方法的功能来自于Java语言的反射(Reflection)机制。 Java反射机制主要提供了以下功能: 1.在运行时判断任意一个对象所属的类。 2转载 2017-08-21 10:49:27 · 246 阅读 · 0 评论 -
Java技术——你真的了解String类的intern()方法吗
在JDK1.6及之前的版本中,常量池分配在永久代内。在JDK1.7开始逐步“去永久代”。String.intern()是一个Native方法,它的作用是:如果字符串常量池已经包含一个此String对象的字符串,则返回代表常量池中这个字符串的String对象;否则,将此String对象包含的字符串添加到常量池中,并且返回此String对象的引用。——《深入java虚拟机》在周志明所著转载 2017-05-24 21:17:52 · 368 阅读 · 0 评论 -
hashCode与equals的区别与联系
http://blog.youkuaiyun.com/afgasdg/article/details/6889383一、equals方法的作用1、默认情况(没有覆盖equals方法)下equals方法都是调用Object类的equals方法,而Object的equals方法主要用于判断对象的内存地址引用是不是同一个地址(是不是同一个对象)。2 、要是类中覆盖了equals方法,转载 2017-05-14 19:07:25 · 501 阅读 · 0 评论 -
hashmap实现原理浅析
http://www.cnblogs.com/lzrabbit/p/3721067.html#h3看了下JAVA里面有HashMap、Hashtable、HashSet三种hash集合的实现源码,这里总结下,理解错误的地方还望指正HashMap和Hashtable的区别HashSet和HashMap、Hashtable的区别HashMap和Hashtable的实转载 2017-05-14 11:59:13 · 263 阅读 · 0 评论 -
HashMap的实现原理
作者:xwdreamer出处:http://www.cnblogs.com/xwdreamer1. HashMap概述: HashMap是基于哈希表的Map接口的非同步实现(Hashtable跟HashMap很像,唯一的区别是Hashtalbe中的方法是线程安全的,也就是同步的)。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序转载 2017-05-14 15:36:38 · 203 阅读 · 0 评论 -
HashMap实现原理分析
1. HashMap的数据结构数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。 数组数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难;链表链表存储区间离散,占用内存比较宽松,故空间复杂度很小,但时间复杂度很大,达O(N)。链表的特点是:寻址困难,插转载 2017-05-14 11:10:57 · 202 阅读 · 0 评论 -
全面理解Java内存模型
Java内存模型即Java Memory Model,简称JMM。JMM定义了Java 虚拟机(JVM)在计算机内存(RAM)中的工作方式。JVM是整个计算机虚拟模型,所以JMM是隶属于JVM的。如果我们要想深入了解Java并发编程,就要先理解好Java内存模型。Java内存模型定义了多线程之间共享变量的可见性以及如何在需要的时候对共享变量进行同步。原始的Java内存模型效率并不是很理转载 2017-04-10 15:55:31 · 313 阅读 · 0 评论 -
JVM——自定义类加载器
0. 为什么需要自定义类加载器 网上的大部分自定义类加载器文章,几乎都是贴一段实现代码,然后分析一两句自定义ClassLoader的原理。但是我觉得首先得把为什么需要自定义加载器这个问题搞清楚,因为如果不明白它的作用的情况下,还要去学习它显然是很让人困惑的。首先介绍自定义类的应用场景:(1)加密:Java代码可以轻易的被反编译,如果你需要把自己的代码进行加密以防止反编译,转载 2017-09-24 22:23:48 · 300 阅读 · 0 评论