摘要:
这次课我们详细理解一下Spring,理解每一行代码到底是什么意思。 我们在上次的代码上做一点修改: Persion.java 1 package com.study.entity; 2 3 public class Persion { 4 5 private String name; 6 priva 阅读全文
posted @ 2017-05-18 21:41
alittlecomputer
阅读(205)
评论(0)
推荐(0)
摘要:
今天先不讲Spring是什么。我们直接通过代码来看Spring框架的一下基本用法。以此来看Spring到底是什么。 我们使用Eclipse来作为IDE,因为Eclipse是免费的。 首先,我们创建一个Maven的项目。 在Eclipse中点击File,New,Maven Project 我们得到一个 阅读全文
posted @ 2017-05-17 22:17
alittlecomputer
阅读(232)
评论(0)
推荐(0)
摘要:
从Java虚拟机的角度来讲,只存在两种不同的类加载器:一种是启动类加载器(Bootstrap ClassLoader),这个类加载器使用C++语言实现,是虚拟机自身的一部分,另外一种就是所有其他的类加载器,这些类加载器都由Java语言实现,独立于虚拟机外,并且全都继承自抽象类java.lang.Cl 阅读全文
posted @ 2017-05-12 15:20
alittlecomputer
阅读(306)
评论(0)
推荐(0)
摘要:
Java虚拟机规范中并没有进行强制玉树什么情况下需要开始类加载过程。但是对于初始化阶段,虚拟机规范则是严格规定了有且仅有5种情况必须立即对类进行“初始化”(而加载,验证,准备自然需要在此之前开始): 1.遇到new,getstatic,putstatic,或invokestatic这4条字节码指令时 阅读全文
posted @ 2017-05-12 11:07
alittlecomputer
阅读(5010)
评论(2)
推荐(2)
摘要:
虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验,转换解析和初始化,最总形成可以被虚拟机直接使用的Java类型。这就是虚拟机的类加载机制。 类加载的过程: 类从被加载到虚拟机内存中开始,到卸载出内存位置,它的整个生命周期包括:加载(Loading),验证(Verification), 阅读全文
posted @ 2017-05-12 09:51
alittlecomputer
阅读(165)
评论(0)
推荐(0)
摘要:
先看代码 阅读全文
posted @ 2017-05-11 21:36
alittlecomputer
阅读(149)
评论(0)
推荐(0)
摘要:
先看代码 还有一个方法 阅读全文
posted @ 2017-05-11 21:16
alittlecomputer
阅读(159)
评论(0)
推荐(0)
摘要:
先看代码 阅读全文
posted @ 2017-05-11 20:57
alittlecomputer
阅读(159)
评论(0)
推荐(0)
摘要:
x称为一个长度为n的数组的a的主元素,如果这个数组里面等于x的元素的数目不少于n/2个。 例如,a={2,3,2,2,5,3,2,4,2},x=2就是这个主元素。给定包含n个元素的数组a,主元素问题就是判断数组a是否包含一个主元素x。 三个方法实现: 方法一: 求中文书,主元素可定是中位数,否则该元 阅读全文
posted @ 2017-05-11 20:39
alittlecomputer
阅读(2451)
评论(0)
推荐(0)
摘要:
如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。 虽然我们在对各种收集器进行比较,但是并非为了挑出一个最好的收集器。因为直到现在为止还没有最好的收集器出现,更加没有万能的收集器,所以我们选择的只是对具体应用最合适的收集器。 1.Serial收集器(串行收集器) 这个收集器是一 阅读全文
posted @ 2017-05-11 18:05
alittlecomputer
阅读(310)
评论(0)
推荐(0)
摘要:
根据对象的存活率(年龄)Java堆内存划分为3种,新生代,老年代,永久代; 1.新生代 比如我们在方法中区new一个对象,那这方法调用完毕后,对象就会被回收,这就是一个典型的新生代对象。 现在的商业虚拟机都采用这种手机算法来回收新生代,新生代中的对象98%都是朝生夕死的,所以并不需要按照1:1的比例 阅读全文
posted @ 2017-05-10 15:19
alittlecomputer
阅读(1876)
评论(1)
推荐(0)
摘要:
1.标记-清除算法 概念 标记阶段:先通过根节点,标记所有从根节点开始的可达对象,因此,未被标记的对象就是未被引用的垃圾对象; 清除阶段:清除所有未被标记的对象。 缺点: 标记和清除的过程效率不高(标记和清除都需要从头便利到尾) 标记清除后会产生大量不连续的碎片。 2.复制算法 概念: 将原有的内存 阅读全文
posted @ 2017-05-10 09:57
alittlecomputer
阅读(315)
评论(0)
推荐(0)
摘要:
当对象不馁引用的时候,这个对象就是死亡的,等待GC进行回收。 1.引用计数法 概念: 给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就增加1;当应用失效时,计数器值就减1;任何时刻计数器为0是对象就是不可能再被使用的。 但是: 主流的java虚拟机并没有选用引用计数器算法,其中一个最主 阅读全文
posted @ 2017-05-09 15:08
alittlecomputer
阅读(1323)
评论(0)
推荐(0)
摘要:
可达的/可触及的 Java对象呗创建后,如果被一个或者多个变量引用,那就是可达的,即从根节点可以触及到这个对象。 其实就是从根节点扫描,只要这个对象在引用链中,那就是可触及的。 可恢复的 Java对象不再被任何变量引用就进入了可恢复状态。 在回收该对象之前,该对象的finalize()方法进行资源整 阅读全文
posted @ 2017-05-09 09:39
alittlecomputer
阅读(671)
评论(0)
推荐(0)
摘要:
Java程序在运行时,需要在内存中分配空间。为了提高运行效率,就对数据进行了不同的空间划分。因为每一片区域都有特定的数据处理方式和内存管理方式。 具体分为5种内存空间: 程序计数器:保证线程切换后能恢复到原来的执行位置。 虚拟机栈:(栈内存)为虚拟机执行java方法服务,方法被调用时,创建栈帧- 本 阅读全文
posted @ 2017-05-09 09:29
alittlecomputer
阅读(3564)
评论(0)
推荐(1)
浙公网安备 33010602011771号