Java基础知识
心静菩提现
这个作者很懒,什么都没留下…
展开
-
类加载器的工作原理
原文链接: Javarevisited 翻译: ImportNew.com - 唐小娟 译文链接: http://www.importnew.com/6581.html Java类加载器的作用就是在运行时加载类。Java类加载器基于三个机制:委托、可见性和单一性。委托机制是指将加载一个类的请求交给父类加载器,如果这个父类加载器不能够找到或者加载这个类,那么再加载它。可见性的原理是子类的转载 2017-12-17 17:30:36 · 154 阅读 · 0 评论 -
ReentrantLock的lock-unlock流程详解
转载自:http://blog.csdn.NET/luonanqin 这篇博客对Lock锁的实现过程讲解的很细致。虽然过程看明白了,不过,还得经常琢磨琢磨。 最近一段时间在研究jdk里的concurrent包,分为了线程管理,锁操作以及原子操作三个部分。线程管理平时用得还算多,但是锁操作和原子操作基本就没用过,只是以前在大学的时候跑了几个例子玩玩。当看到ReentrantLoc转载 2017-08-20 18:33:44 · 452 阅读 · 0 评论 -
深入JVM锁机制2-Lock
转自:http://blog.csdn.net/chen77716/article/details/6641477 前文(深入JVM锁机制-synchronized)分析了JVM中的synchronized实现,本文继续分析JVM中的另一种锁Lock的实现。与synchronized不同的是,Lock完全用Java写成,在java这个层面是无关JVM实现的。 在转载 2017-08-20 18:28:02 · 136 阅读 · 0 评论 -
为什么匿名内部类参数必须为final类型
转载自http://feiyeguohai.iteye.com/blog/1500108 1) 从程序设计语言的理论上:局部内部类(即:定义在方法中的内部类),由于本身就是在方法内部(可出现在形式参数定义处或者方法体处),因而访问方法中的局部变量(形式参数或局部变量)是天经地义的.是很自然的 2) 为什么JAVA中要加上一条限制:只能访问final型的局部变量? 3)转载 2017-03-23 21:44:29 · 181 阅读 · 0 评论 -
Java内部类
内部类,顾名思义,将一个类的定义放在另一个类的定义内部。内部类看起来像是一种代码隐藏机制,将类置于其他类的内部,但是,内部类远不止于此,它了解外围类,并能与之通信。 内部类分为:成员内部类,局部内部类,匿名内部类,静态内部类 当生成一个内部类的对象时,此对象与制造它的外围对象之间就有了一种联系,所以它能访问其外围对象的所有成员。原因是当某个外围类的对象创建了一个内部类对象时,此内部类对象必定会原创 2017-03-23 20:54:05 · 305 阅读 · 0 评论 -
Java类加载过程浅析
转载自http://blog.csdn.net/u013634928/article/details/51393363 一、什么时候会加载类? 使用到类中的内容时加载:有三种情况 1.创建对象:new StaticCode(); 2.使用类中的静态成员:StaticCode.num=9; StaticCode.show(); 3.在命令行中运行:Java StaticCodeDemo转载 2017-03-23 20:50:17 · 285 阅读 · 0 评论 -
Java内存分布和各部分含义
Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域:方法区、虚拟机栈、本地方法栈、堆、程序计数器 1.程序计数器 程序计数器是一块较小的内存空间,它可以看做是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型中,字节码解释器工作时就是通过改变这个计数器的值来选取吓一条需要执行的字节码指令。分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来原创 2017-03-21 17:51:45 · 336 阅读 · 0 评论 -
HashMap和Hashtable的区别
HashMap和Hashtable的区别是我们经常碰到的一个问题。了解其实现原理和区别能帮我们更好的使用它们。HashMap和Hashtable都实现了Map接口,但其实现方式不同。 区别: 1.HashMap是线程不安全的,Hashtable是线程安全的 2.因为HashMap是非synchronized的,故其效率要比Hashtable高。 3.HashMap的迭代器是fail-fas转载 2017-03-18 21:17:43 · 303 阅读 · 0 评论