上一页 1 ··· 22 23 24 25 26 27 28 29 30 ··· 34 下一页
摘要: 这次课我们详细理解一下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)
上一页 1 ··· 22 23 24 25 26 27 28 29 30 ··· 34 下一页