自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 问答 (1)
  • 收藏
  • 关注

原创 垃圾收集机制

垃圾收集器关注的内存区域**程序计数器、虚拟机栈、本地方法栈**3个区随线程而生,随线程而灭;栈中的栈帧随着方法的进入和退出执行者出栈和入栈的操作。每一个栈帧中分配多少内存基本上是在类结构确定下来时就已知的,因此这几个区域的内存分配和回收都具备确定性,在这几个区域就不需要过多考虑回收的问题,因为方法结束或者线程结束时,内存自然就跟着回收了。堆和方法区则不一样,一个接口中的多个实现类需要的内存可能不一

2017-11-17 13:34:21 190

原创 二叉搜索树

完整实例的GitHub地址https://github.com/lvxixiao/DSA顺序性任一节点r的左(右)子树中,所有节点均小于(大于)r。中序遍历序列任何一棵二叉搜索树,其中序遍历序列单调非降。查找算法及其实现二叉搜索树的查找算法,采用减而治之的思路与策略,其执行过程可以描述为:从树根触发,逐步地缩小查找范围,直到发现目标(成功)或缩小至空树(失败)。public BinNode<T> s

2017-11-14 16:21:34 168

原创 Chapter 7.Better Living in Objectville

QuestionThe JVM starts walking up the inheritance tree, starting at the class type you invoked the method on. But what happens if the JVM doesn’t ever find a match? The compiler guarantees that a p

2017-11-14 15:42:55 200

原创 Java内存区域

运行时数据区域Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。根据《Java虚拟机规范(JavaSE 7版)》的规定,Java虚拟机所管理的内存包括方法区(Method Area),堆(Heap),虚拟机栈(VM Stack),本地方法栈(Native Method Stack),程序计数器(Program Counter Register)。 # 程序计数

2017-11-13 16:53:54 142

原创 Chapter 4.How Objects Behave

Declearing and initializing instance variablesInstance variables always get a default value.If you don’t explicitly assign a value variable,the instance variable still has a value! Type Value inte

2017-11-13 11:31:20 192

原创 Chapter3.Know Your Variables

variables typesVariables come in two flavors primitive as object state(instance variables)reference as local variables( variables decleard within a method )primitive types Type Bit Depth V

2017-11-13 11:30:46 140

原创 Chapter2.A Trip to Objectville.There will be objects.

What’s the difference between a class and an object?A class is not an object.(but it’s used to construct them).A class is a blueprint for an object.The two uses of main:to test your real classto l

2017-11-13 11:30:10 168

原创 Chapter1.Breaking the Sur face

The Way Java WorksCreat a source document.Run your document through a source code compiler. The compiler checks for errors and won’t(will not) let you compile until it’s satisfied that everthing wil

2017-11-13 11:29:38 160

原创 Java实现简单图数据结构

图所谓图(graph),可定义为G =(V,E)。其中,集合V中的元素称为顶点(vertex);集合E中的元素分别对应于V中的某一对顶点(u,v),表示它们之间存在某种关系,故亦称作边(edge)。图实现的Github链接,该版本使用邻接表实现图。广度优先搜索自顶点S的BFS搜索,将首先访问s;再依次访问s所有尚未访问到的邻居;再按后者被访问的先后次序,逐个访问它们的邻居;…;如此不断。在所有已访问

2017-11-13 11:06:33 369

原创 JavaWeb练习项目Blog系统,整合ssm框架

Blog系统是在其他人的开源Blog基础上改造的,主要是拿别人的前端页面,并将maven项目改为eclipse的动态web项目。增加的功能如下各个文章显示页面添加了分页显示功能添加了评论区通过Springmvc的拦截器实现了后台权限管理完成了站内文章搜索功能修改后的项目Blog地址https://github.com/lvxixiao/ssm.git

2017-11-13 10:02:25 808

原创 动态代理

Proxystatic Object newProxyInstance(ClassLoader loader,Class代码示例package com.itheima.proxy;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;pu

2017-11-08 11:19:47 113

原创 泛型上下限与比较

继承关系class Person<T>{}class Worker<T> extends Person<T>{}class Student<T> extends Person<T>{}Person 子类 WorkerStudentWorker 父类 PersonStudent 父类 Person泛型的上限(extends 关键字)及下限(super 关键字) //这个函

2017-11-08 11:15:48 359

原创 Arraylist、Linkedlist、Vector的区别

# 同步性 * Arraylist、Linkedlist线程不同步 * Vertor线程同步 # Arraylist、Vector原理 Arraylist、Vector内部维护了一个Object数组,当数组容量不足时,根据设定的增长数(缺省时Arraylist是原来的50%,Vertor是100%)由于数组在内存地址分配时地址是连续特性,数组在进行查询时更加效率。进行删除操作时,需要

2017-11-08 11:14:28 137

原创 String、StringBuffer、StringBuilder

String字符串常量对象 一旦修改String的值,JVM在底层创建一个新的字符串对象,释放原来的String对象。final类,不能被继承Sting类存放在常量池(Constant Pool)中的String常量区域 每次通过 String s = “first”;创建一个字符串,都会先在常量池中查找是否有内容相同的字符串(通过equals()方法)。如果存在,返回String poo

2017-11-08 11:13:49 118

原创 二叉树实现中序遍历(迭代版)

二叉树实现二叉树实现代码中序遍历顺序首先访问当前节点的左子树(如果存在)再访问当前节点最后访问右子树(如果存在)中序遍历图解中序遍历代码思路中序遍历可分解为d+1段 沿最左侧通路自底而上访问各节点 借助辅助栈,将访问的节点放入栈中自底而上遍历对应的右子树 当右子树中存在左子树时,继续进入左子树向下访问中序遍历代码//子树中序遍历public ArrayList<E> travI

2017-11-05 11:50:49 1315

原创 Java解决N皇后问题

N皇后算法实现共有三个类,其中一个类Stack可以由LinkedList代替用做存放临时解的类import java.util.LinkedList;public class Stack<E> { private LinkedList<E> storage = null; public Stack() { storage = new LinkedList<E>();

2017-11-05 11:19:25 417

原创 栈与栈的一些典型应用

栈的特点栈属于线性序列结构。可基于链表或者向量结构实现。栈中元素的操作次序始终遵循“后进先出”(last-in-first-out) /** *基于链表实现栈 */ import java.util.LinkedList;public class StackBaseLinkedList<E> { private LinkedList<E> storage = null; p

2017-11-05 11:17:17 2418

原创 数据结构--向量

向量与数组向量与数组的不同在于,向量是数组结构的一般性推广。数组在创建时内部空间已经确定,是静态的内存管理办法。向量内部空间是动态的内存管理办法。在Java中,ArrayList 与 Vector都是这种数据结构.ArrayList 与 Vector的区别Vector的方法都是线程安全的,同步的,而ArrayList不是,由于线程同步必然会影响性能,因此ArrayList的性能比Vector好。

2017-11-05 11:13:08 786

原创 LinkedList源码笔记

链表结构不同于数组与向量中各数据项的物理存放位置与逻辑次序完全对应,链表中的元素虽然也构成一个线性逻辑次序,但其元素的物理地址可以任意。链表中的元素维护一个前驱与后继,分别指向上一个元素与下一个元素的地址。头尾节点与首末节点链表结构中,除了可见的首末节点first、last,还有不可见的头尾节点header、trailer。创建链表时即创建头尾节点,first时头节点的后继,last是尾节点的前驱。

2017-11-05 11:10:23 129

原创 二叉树实现先序遍历(迭代版)

二叉树实现二叉树实现代码先序遍历顺序首先访问当前节点其他访问左子树(如果存在)最后访问右子树(如果存在)先序遍历图解先序遍历代码思路先序遍历可分解为两段 沿最左侧通路自顶而下访问各节点 借助辅助栈,将访问的节点放入栈中,方便后续自下而上的遍历自底而上遍历对应的右子树 当右子树中存在左子树时,继续进入左子树向下访问先序遍历代码//先序遍历 public ArrayList<

2017-10-07 00:35:20 656

原创 Java实现二叉树

关于此二叉树此版本的二叉树存在一些缺陷 没有实现对高度、规模更新树节点采用私有内部类形式,会造成一些操作上的麻烦。先序遍历详解 中序遍历详解二叉树的实现import java.util.ArrayList;import java.util.LinkedList;@SuppressWarnings("unused")public class BinaryTree<E> { p

2017-10-06 13:28:41 374

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除