<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[billion_Fu的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/billion_Fu</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; billion_Fu]]></copyright><item><title><![CDATA[NIO.2：walkFileTree、FileVisitor（遍历文件/目录）]]></title><link>https://blog.youkuaiyun.com/billion_Fu/article/details/78123853</link><guid>https://blog.youkuaiyun.com/billion_Fu/article/details/78123853</guid><author>billion_Fu</author><pubDate>Thu, 28 Sep 2017 15:13:04 +0800</pubDate><description><![CDATA[1. 遍历文件和目录——FileVisitor：
    1) 在旧版本中遍历文件系统只能通过递归的方法来实现，但是这种方法不仅消耗资源大而且效率低；
    2) NIO.2的Files工具类提供了一个静态工具方法walkFileTree来高效并优雅地遍历文件系统；
    3) walkFileTree：
         i. 原型：static Path Files.walkFil]]></description><category></category></item><item><title><![CDATA[java8 接口之间继承与覆盖]]></title><link>https://blog.youkuaiyun.com/billion_Fu/article/details/77948648</link><guid>https://blog.youkuaiyun.com/billion_Fu/article/details/77948648</guid><author>billion_Fu</author><pubDate>Tue, 12 Sep 2017 19:21:28 +0800</pubDate><description><![CDATA[Java8的接口里面允许定义静态方法，与默认方法，那么当一个子接口继承父接口时，那么接口中的默认方法与静态方法的继承与覆盖是怎么样的呢？
我们知道两个类有继承关系时，子类会继承父类的实例方法，静态方法，实例变量与静态变量，而且子类的实例方法、实例成员变量与父类的实例方法相同时（返回类型相同，参数列表相同，方法名也形同），实例成员变量相同时，子类会将父类的实例方法进行覆盖，对父类实例成员变量隐藏，]]></description><category></category></item><item><title><![CDATA[Java集合框架（1）]]></title><link>https://blog.youkuaiyun.com/billion_Fu/article/details/77899407</link><guid>https://blog.youkuaiyun.com/billion_Fu/article/details/77899407</guid><author>billion_Fu</author><pubDate>Fri, 08 Sep 2017 21:49:06 +0800</pubDate><description><![CDATA[Java 集合可以分Set，List，Queue，Map集合。
Set集合里面的元素是无序的，因此不能存储重复元素。
List集合里面的元素是有序的，可以重复。
Queue集合是一种队列集合。
Map集合是一种映射关系的集合。
集合与数组的区别：
（1）数组元素既可以是基本类型的值，也可以是对象（实际上是对象的引用），数组一旦创建，数组的长度就不能再进行调整。

（2）集合元素只能]]></description><category></category></item><item><title><![CDATA[Lambda 表达式]]></title><link>https://blog.youkuaiyun.com/billion_Fu/article/details/77896276</link><guid>https://blog.youkuaiyun.com/billion_Fu/article/details/77896276</guid><author>billion_Fu</author><pubDate>Fri, 08 Sep 2017 16:30:38 +0800</pubDate><description><![CDATA[1. 什么是λ表达式
 
λ表达式本质上是一个匿名方法。让我们来看下面这个例子：
    public int add(int x, int y) {
        return x + y;
    }
转成λ表达式后是这个样子：
    
    (int x, int y) -> x + y;
参数类型也可以省略，Java编译器会根据上下文推断出来：
    (x, y]]></description><category></category></item><item><title><![CDATA[HTML入门学习笔记（一）]]></title><link>https://blog.youkuaiyun.com/billion_Fu/article/details/77885689</link><guid>https://blog.youkuaiyun.com/billion_Fu/article/details/77885689</guid><author>billion_Fu</author><pubDate>Thu, 07 Sep 2017 19:34:34 +0800</pubDate><description><![CDATA[第一章 网页的构造块
一个网页主要包括文本内容、对其它文件的引用和标记。
语义化HTML：有含义的标记
HTML包含关于文档中内容的信息，这些信息称作标记，用以描述内容的含义，即语义。也就是说，HTML仅仅关心网页中要展示的内容，至于如何展示，那是CSS的事。
标记：元素、属性和值
非空元素：开始标记（start tag，元素名称和属性，如果有的话放在尖括号中）、内容和结束标记（end ]]></description><category></category></item><item><title><![CDATA[计算机视觉与摄影测量]]></title><link>https://blog.youkuaiyun.com/billion_Fu/article/details/77877742</link><guid>https://blog.youkuaiyun.com/billion_Fu/article/details/77877742</guid><author>billion_Fu</author><pubDate>Thu, 07 Sep 2017 10:07:06 +0800</pubDate><description><![CDATA[相同点：
           理论基础都是针孔成像（像点，镜头中心，物点共线）


区别：
         1、出发点不同导致基本参数物理意义的差异：摄影测量中的外部定向是确定影像在空间相对于物体的位置与方位，而计算机视觉则是物体相对于影像的位置与方位来描述问题。
         2、由于1中不同的出发点导致基本公式的差异：摄影测量中最为基本的是共线条件方程而视觉测量中最为基本的]]></description><category></category></item><item><title><![CDATA[String与StringBuffer的区别]]></title><link>https://blog.youkuaiyun.com/billion_Fu/article/details/77854657</link><guid>https://blog.youkuaiyun.com/billion_Fu/article/details/77854657</guid><author>billion_Fu</author><pubDate>Tue, 05 Sep 2017 18:24:38 +0800</pubDate><description><![CDATA[String与StringBuffer的区别
简单地说，就是一个变量和常量的关系。StringBuffer对象的内容可以修改；而String对象一旦产生后就不可以被修改，重新赋值其实是两个对象。
StringBuffer的内部实现方式和String不同，StringBuffer在进行字符串处理时，不生成新的对象，在内存使用上要优于String类。所以在实际使用时，如果经常需要对一个字符串进行修]]></description><category></category></item><item><title><![CDATA[idea调试技巧]]></title><link>https://blog.youkuaiyun.com/billion_Fu/article/details/77850202</link><guid>https://blog.youkuaiyun.com/billion_Fu/article/details/77850202</guid><author>billion_Fu</author><pubDate>Tue, 05 Sep 2017 12:55:57 +0800</pubDate><description><![CDATA[Idea的一些调试技巧





程序员的工作内容，除了大部分时间写代码之外，因为有不少的时间是用在调试代码上。甚至说不是在调试代码，就是即将调试代码。 :)
今天我们来谈谈调试代码的一些技巧，在使用IDE提供的debugger时一些快速定位问题的方式。
看到这里的朋友，不要马上认为我标题党，再往下看看，如果你还有一些更好用的技巧，欢迎留言。
下面进入正题。
1 多线程调试
]]></description><category></category></item><item><title><![CDATA[java中的守护线程]]></title><link>https://blog.youkuaiyun.com/billion_Fu/article/details/77847557</link><guid>https://blog.youkuaiyun.com/billion_Fu/article/details/77847557</guid><author>billion_Fu</author><pubDate>Tue, 05 Sep 2017 09:30:40 +0800</pubDate><description><![CDATA[在Java中有两类线程：User Thread(用户线程)、Daemon Thread(守护线程) 
用个比较通俗的比如，任何一个守护线程都是整个JVM中所有非守护线程的保姆：
只要当前JVM实例中尚存在任何一个非守护线程没有结束，守护线程就全部工作；只有当最后一个非守护线程结束时，守护线程随着JVM一同结束工作。
Daemon的作用是为其他线程的运行提供便利服务，守护线程最典型的应用就是 ]]></description><category></category></item><item><title><![CDATA[java的初始化块、静态初始化块、构造函数的执行顺序]]></title><link>https://blog.youkuaiyun.com/billion_Fu/article/details/77803474</link><guid>https://blog.youkuaiyun.com/billion_Fu/article/details/77803474</guid><author>billion_Fu</author><pubDate>Sat, 02 Sep 2017 20:21:46 +0800</pubDate><description><![CDATA[span style="font-family: 'Microsoft YaHei'; font-size: 16px;">　　Java与C++有一个不同之处在于，Java不但有构造函数，还有一个”初始化块“(Initialization Block)的概念。下面探究一下它的执行顺序与可能的用途。span>p>
h3>span style="font-family: 'Microsoft YaHe]]></description><category></category></item><item><title><![CDATA[Java中子类的实例化过程]]></title><link>https://blog.youkuaiyun.com/billion_Fu/article/details/77803048</link><guid>https://blog.youkuaiyun.com/billion_Fu/article/details/77803048</guid><author>billion_Fu</author><pubDate>Sat, 02 Sep 2017 19:01:39 +0800</pubDate><description><![CDATA[下面有一个例子说明Java中子类的实例化过程：
public class Fu {
	Fu(){
		super();
		show();
		return;
	}
	
	void show(){
		System.out.println("fu show");
	}
	
}

class Zi extends Fu{
	int num = 8;
	Zi(){
		super();
		retu]]></description><category></category></item><item><title><![CDATA[内存分配及变量存储位置（堆、栈、方法区常量池、方法区静态区）]]></title><link>https://blog.youkuaiyun.com/billion_Fu/article/details/77779376</link><guid>https://blog.youkuaiyun.com/billion_Fu/article/details/77779376</guid><author>billion_Fu</author><pubDate>Fri, 01 Sep 2017 22:18:05 +0800</pubDate><description><![CDATA[程序运行时，有六个地方都可以保存数据：
　　1、 寄存器：这是最快的保存区域，因为它位于和其他所有保存方式不同的地方：处理器内部。然而，寄存器的数量十分有限，所以寄存器是根据需要由编译器分配。我们对此没有直接的控制权，也不可能在自己的程序里找到寄存器存在的任何踪迹。
　　2、 堆栈：存放基本类型的数据和对象的引用，但对象本身不存放在栈中，而是存放在堆中（new 出来的对象）。驻留于常规RAM（]]></description><category></category></item><item><title><![CDATA[static关键字-内存图解]]></title><link>https://blog.youkuaiyun.com/billion_Fu/article/details/77778619</link><guid>https://blog.youkuaiyun.com/billion_Fu/article/details/77778619</guid><author>billion_Fu</author><pubDate>Fri, 01 Sep 2017 21:52:48 +0800</pubDate><description><![CDATA[以下面的例子为例说明



?




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30



package 
cn.galc.test;
 
public 
class Cat {
 
 ]]></description><category></category></item><item><title><![CDATA[Eclipse快捷键]]></title><link>https://blog.youkuaiyun.com/billion_Fu/article/details/77689052</link><guid>https://blog.youkuaiyun.com/billion_Fu/article/details/77689052</guid><author>billion_Fu</author><pubDate>Tue, 29 Aug 2017 22:20:50 +0800</pubDate><description><![CDATA[快捷键
快捷键建议在日常开发中尽量多使用，可以大大提高编写代码效率。 
多用，快捷键都不用记，会成为手指习惯，用鼠标的场景也会相当少，鼠标用多了手指会酸痛的。 
以下是一些常用快捷键的介绍： 
注：ctrl+shif+l 所有已经设置的快捷键，可以用这个快捷键查看到
1、代码编写相关快捷键



快捷键
说明




alt+/
代码提示，这个不用说了，大家都知道]]></description><category></category></item><item><title><![CDATA[Eclipse的Debug调试技巧]]></title><link>https://blog.youkuaiyun.com/billion_Fu/article/details/77688766</link><guid>https://blog.youkuaiyun.com/billion_Fu/article/details/77688766</guid><author>billion_Fu</author><pubDate>Tue, 29 Aug 2017 21:56:43 +0800</pubDate><description><![CDATA[一、Debug视图


调试中最常用的窗口是:








窗口

说明





Debug窗口

主要显示当前线程方法调用栈， 以及代码行数(有调试信息的代码)



断点Breakpoints窗口

=> 断点列表窗口，可以方便增加断点，设置断点条件，删除断点等



变量Variables窗口

=> 显示当前方法的本]]></description><category></category></item><item><title><![CDATA[Java中的基础知识点]]></title><link>https://blog.youkuaiyun.com/billion_Fu/article/details/77676200</link><guid>https://blog.youkuaiyun.com/billion_Fu/article/details/77676200</guid><author>billion_Fu</author><pubDate>Tue, 29 Aug 2017 11:47:03 +0800</pubDate><description><![CDATA[一.java语言基础组成：关键字，标识符，注释，常量和变量，运算符，语句，函数，数组。
1.关键字：
    用于定义数据类型的关键字：class ,interface,byte,short,int ,long ,float,double,char,boolean,void.
    用于定义数据类型值的关键字：true，false，null。
    用于定义流程控制的关键字：if，el]]></description><category></category></item><item><title><![CDATA[Java中i++,++i 和i= i+ 1的区别]]></title><link>https://blog.youkuaiyun.com/billion_Fu/article/details/77671555</link><guid>https://blog.youkuaiyun.com/billion_Fu/article/details/77671555</guid><author>billion_Fu</author><pubDate>Tue, 29 Aug 2017 10:20:37 +0800</pubDate><description><![CDATA[Java中i++,++i都表示 i = i+1

i++是先是使用 i的原值，然后再原值的基础上加1.

++i是先在原值的基础上加1，然后在使用i的值。
直接看一个示例：
public class Test1 {
	public static void main(String [] args){
		int i = 0,j;
		j = i++;      //i++ 先使用i的值，]]></description><category></category></item><item><title><![CDATA[判断是否为素数的另一种解法]]></title><link>https://blog.youkuaiyun.com/billion_Fu/article/details/77527477</link><guid>https://blog.youkuaiyun.com/billion_Fu/article/details/77527477</guid><author>billion_Fu</author><pubDate>Thu, 24 Aug 2017 10:58:48 +0800</pubDate><description><![CDATA[package test;
import java.util.Arrays;
public class Prime1 {
	public static boolean[] primeNumber(int num){
		if(num < 0){
			System.out.println("范围必须大于零");
			return null;
		}
		boolean [] prime = ne]]></description><category></category></item></channel></rss>