- 博客(33)
- 收藏
- 关注
原创 二叉树的遍历(2)--先序遍历,中序遍历,后序遍历(非递归)
先序遍历 public static void preOrderUnRecur(Node head) { System.out.print("pre-order: "); if (head != null) { Stack<Node> stack = new Stack<Node>(); stack.add(he
2016-08-30 19:34:46 247
原创 二叉树的遍历(1)--先序遍历,中序遍历,后序遍历
对于二叉树 代码结构: public static class Node { public int value; public Node left; public Node right; public Node(int data) { this.value = data; } }一个
2016-08-30 18:33:46 351
原创 java集合框架Stack栈
Stack栈是一个简单的类,操作实现均在父类Vector中完成!!!publicclass Stack<E> extends Vector<E> { /** * 先进后出 * Vector的存储结构是数组,Stack继承自Vector,使用它的存储结构 * 均是线程安全的 * Creates an empty Stack. */ p
2016-08-25 10:38:25 248
原创 解析Spring源码(10)---AbstractBeanFactory
public class XmlBeanFactory extends DefaultListableBeanFactorypublic class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFactory implements ConfigurableListableBeanFactory, Bean
2016-08-24 08:32:28 363
原创 解析Spring源码(9)--XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(this);
Spring对于xml文件的解析,读取相关的属性设置,构建了BeanFactory!! 下面我们对源码作几点总结!!!new ClassPathResource(“bean_test.xml”) 这个较为简单,创建了Resource对象,并封装了当前线程的类加载器,同时可以通过方法获取xml文件流 XmlBeanDefinitionReader reader = new XmlBe
2016-08-21 19:25:30 688
原创 解析Spring源码(8)--BeanDefinitionParserDelegate
/** * Parses the supplied {@code <bean>} element. May return {@code null} * if there were errors during parse. Errors are reported to the * {@link org.springframework.beans.factory.parsi
2016-08-21 16:36:59 233
原创 解析Spring源码(7)--DefaultBeanDefinitionDocumentReader
//获取Document对象用于解析xml文档,包含xml文档的一些相关信息 Document doc = doLoadDocument(inputSource, resource); //注册bean,创建是当获取的时候创建getBean("...");会将xml文件中的bean节点注册保存 return registerBe
2016-08-21 16:32:32 530
原创 数组合并System.arraycopy
public static native void arraycopy(Object src,int srcPos,Object dest,int destPos,int length); src - 源数组。 srcPos - 源数组中的起始位置。 dest - 目标数组。 destPos - 目标数组中的起始位置。 length - 要复制的数组元素的数量。 输入一个整数数组,实
2016-08-21 09:24:50 499
原创 解析Spring源码(6)--Document
承接上一节 对于如何解析xml文件,大家参考网上一些文章!!! 先看看如何解析的 /** * 解析xml文件流 * Load the {@link Document} at the supplied {@link InputSource} using the standard JAXP-configured * XML parser. */
2016-08-20 14:00:52 341
原创 Queue队列实现---有界队列BQueue
/* * @(#)BQueue.java */ package ds.util; import java.util.NoSuchElementException; /** * This class implements a finite queue using a circular queue model * to store and retrieve elements.
2016-08-19 22:37:15 822
原创 解析Spring源码(5)--this.documentLoader.loadDocument
承接上一篇。。。 /** * private DocumentLoader documentLoader = new DefaultDocumentLoader(); * 对象解析文件流 * * Actually load the specified document using the configured DocumentLoader.
2016-08-18 22:32:08 1341
原创 对数组的验证
**public static boolean Find(int [][] array,int target) { if(array==null||array[0].length==0||array.length==0){ return false; }** public static boolean Find(int [][] array,
2016-08-18 20:27:55 602
原创 解析Spring源码(4)--XmlBeanDefinitionReader
上两节对XmlBeanFactory和XmlBeanDefinitionReader对象reader进行了一些介绍,下面我们继续回到XmlBeanFactory中解析源码! public XmlBeanFactory(Resource resource, BeanFactory parentBeanFactory) throws BeansException { super(p
2016-08-18 16:59:13 412 1
原创 换钱的最少货币数
【题目】 给定数组arr,arr中所有的值都为正数且不重复。 每个值代表一种面值的货币,每种面值的货币可以使用任意张, 再给定一个整数aim代表要找的钱数,求组成aim的最少货币数。【举例】 arr=[5,2,3],aim=20。 4张5元可以组成20元,其他的找钱方案都要使用更多张的货币,所以返回4。 arr=[5,2,3],aim=0。不用任何货币就可以组成0元,返回0。 a
2016-08-18 15:59:29 652
原创 矩阵的最小路径和
准备校招的!这些是一本书的笔记-—程序员代码面试指南:IT名企算法与数据结构题目最优解(左程云)。> **给定一个矩阵m,从左上角开始每次只能向右或者向下走,最后到达右下角的位置,路径上所有的数字累加起来就是路径和,返回所有的路径中最小的路径和**。> 【举例】如果给定的m如下:> 1 3 5 9 > 8 1 3 4 >
2016-08-16 21:55:31 337
原创 斐波那契系列问题
准备校招的! 这些是一本书的笔记吧—程序员代码面试指南:IT名企算法与数据结构题目最优解(左程云)。给定整数N,返回斐波那契数列的第N项。给定整数N,代表台阶数,一次可以跨2个或者1个台阶,返回有多少种走法假设农场中成熟的母牛每年只会生1头小母牛,并且永远不会死。第一年农场有1只成熟的母牛,从第二年开始,母牛开始生小母牛。每只小母牛3年之后成熟又可以生小母牛。给定整数N,求出N年后牛的数量。
2016-08-16 10:42:38 725
原创 java并发编程实战笔记
仅供自己记忆竞态条件:多线程环境下,结果取决于运行时线程中操作的交替执行方式 使用关键字synchronized进行同步 活跃性问题:死锁,饥饿,活锁,导致某些代码无法执行 线程无处不在:垃圾收集,终结操作的后台线程,main方法线程,awt,swing,servlet,rmi
2016-08-15 22:31:41 202
原创 解析Spring源码(3)---XmlBeanDefinitionReader(1)
上节我们对XmlBeanFactory进行了初步了解简化版源码: /** * public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFactory implements ConfigurableListableBeanFactory, BeanDefinitionRegis
2016-08-14 11:10:55 295
原创 解析Spring源码(2)---new XmlBeanFactory(new ClassPathResource("..."))
上节我们已经对ClassPathResource进行了讲解,下面进入最最重要的XmlBeanFactory。 简化的源码:public class XmlBeanFactory extends DefaultListableBeanFactory { /**以下是注释操作 * public class DefaultListableBeanFactory extends Abst
2016-08-14 09:30:51 610
原创 java中的Scanner探索解惑
最近在刷题,准备校招! 对Scanner有一些不解; 有的时候空格代表了下个输入,有的时候无法读取! 当然了,正常输入是没有问题的。。。 @Test public void test() { int n=3; while(n>0){ Scanner input = new Scanner(System.in);
2016-08-14 08:18:36 251
原创 解析Spring源码(1)--ClassPathResource("xxx.xml");
首先看看我们是如何使用Spring的 public static void main(String[] args) { BeanFactory bf=new XmlBeanFactory(new ClassPathResource("bean_test.xml")); HelloWorldService hw=(HelloWorldService) bf.getB
2016-08-13 13:13:55 503
原创 一步一步解析java排序算法---堆排序(最大堆)
与最小堆(递减)类似: 最大堆(递增)的调整操作: //从i节点开始调整, i节点的子节点为 2*i+1, 2*i+2 public static void MaxHeapFixdown(int a[], int i, int n) { int j, temp; temp = a[i]; /
2016-08-13 12:39:25 357
原创 一步一步解析java排序算法--堆排序(最小堆)
首先明确什么是堆? 一个数组: int[] unsort={12,24,35,40,50,66,70,56,55};堆的表现形式(这是一个最小堆,根节点是最小的): 用数组来表示堆,i结点的父结点下标就为(i – 1) / 2。它的左右子结点下标分别为2 * i + 1和2 * i + 2。(这样就是给数组建好堆了)下面进入堆排序的核心步骤:堆节点的移动 这里需要对unsort[3]
2016-08-12 22:48:07 486
原创 一步一步解析java排序算法--希尔排序
public static void inset_order(int[] disorder){ for (int i = 1; i < disorder.length; i++) { if(disorder[i-1]>disorder[i]){ //将待插入元素提取出来,以便与前边元素进行比较。最后用来插入使用
2016-08-07 21:31:50 314
原创 java中的==和equals()比较
结论: 通常情况下,只需关注null的比较 null比较:只能使用==比较, 非null比较:首先验证非null,然后可以使用equals比较典型的比较方式:public static boolean equals(Object a, Object b) { return (a == b) || (a != null && a.equals(b));} publi
2016-08-05 08:33:54 267
原创 一步一步解析java集合框架HashMap源码(3)
通过键获取对应值 public static void main(String[] args) { Map<String,String> map=new HashMap<String,String>(); map.put("firstKey","firstValue"); map.put("secondKey","secondValue");
2016-08-04 18:37:18 353
原创 一步一步解析java集合框架HashMap源码(2)
什么时候HashMap会进行再散列? //第一次添加数据,threshold=12;添加第13个数据时,进行重构散列表 if (++size > threshold) resize(); /** * 初始化返回默认容量16的Node<K,V>[]数组,并赋值table * threshold=DEFAULT_LOAD_F
2016-08-04 18:01:17 355
原创 一步一步解析java集合框架HashMap源码(1)
首先看如何简单实用HashMap public static void main(String[] args) { Map<String,String> map=new HashMap<String,String>(); map.put("firstKey","firstValue"); map.put("secondKey","secondVa
2016-08-04 10:55:03 220
原创 java中float
java当中默认的小数是double double f=2.0; 这样声明没问题。 float ff=2.0; 直接报错,除非float ff=(float) 2.0;强制转换 或者 float ff=2.0f; 其中2.0f中的f只是标识float类型,没有其他意义!
2016-08-03 23:11:01 295
原创 java移位运算符<< >>
一个数左移n位,就是等于这个数乘以2的n次方(*2n),一个数右移n位,就是等于这个数除以2的n次方(/2n)测试一: public static void main(String[] args) { int num=20; int left_num=num<<1; int right_num=num>>1; System.ou
2016-08-03 19:24:17 279
原创 一步一步解析java集合框架HashMap源码(1)
首先看HashMap的底层结构实现: static class Node<K,V> implements Map.Entry<K,V> { final int hash;//hash值 final K key;//键值 V value;//键值对应的值 Node<K,V> next;//下个节点 Node(int h
2016-08-03 19:13:22 293
原创 Socket编程基本使用
最近去笔试联系,看到很多名词:网络编程,TCP/IP协议 跟我所学的socket编程有什么联系呢?(果然基础不到家啊!) 网络编程,java提供了一套API,利用这些API可以进行网络间通信,主要就是信息的接收和发送。这就是网络编程了! TCP/IP协议:套接字,java利用TCP/IP协议给信息的接收和发送制定了标准。这些都是底层实现,可是还是会考?! socket编程:就是编程人员的表层
2016-08-01 10:55:35 312
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人