<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[八白龙的专栏]]></title><description><![CDATA[编程技术及知识分享]]></description><link>https://blog.youkuaiyun.com/babailong</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; babailong]]></copyright><item><title><![CDATA[Windows IconOverlay 各种状态图标失效的问题之源]]></title><link>https://blog.youkuaiyun.com/babailong/article/details/90168395</link><guid>https://blog.youkuaiyun.com/babailong/article/details/90168395</guid><author>babailong</author><pubDate>Mon, 13 May 2019 10:41:19 +0800</pubDate><description><![CDATA[概述
IconOverlay，图标覆盖，常用于在文件（夹）上显示状态图标。
问题的关键在于，Windows 支持最多15个 Overlay Icon，而自身就使用了4个，因此只有11个可使用。
查看注册表以下位置可以看到相关项：
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverla...]]></description><category></category></item><item><title><![CDATA[Chrome调试技巧]]></title><link>https://blog.youkuaiyun.com/babailong/article/details/87860930</link><guid>https://blog.youkuaiyun.com/babailong/article/details/87860930</guid><author>babailong</author><pubDate>Thu, 21 Feb 2019 14:52:13 +0800</pubDate><description><![CDATA[选择
即使不在 jQuery 和 DOM 环境中，在开发者控制台中仍可使用“$”选择元素，等价于 document.querySelector()，而“$$”可返回数组。
$('#id')
$('.className')
$('tagName')
$('.className #id')
...

可编辑
document.body.contentEditable=true

获取事件数组
getE...]]></description><category></category></item><item><title><![CDATA[在win10下设置软件开机启动]]></title><link>https://blog.youkuaiyun.com/babailong/article/details/84564278</link><guid>https://blog.youkuaiyun.com/babailong/article/details/84564278</guid><author>babailong</author><pubDate>Tue, 27 Nov 2018 13:22:40 +0800</pubDate><description><![CDATA[在windows系统下，最简单的添加软件开机启动的方式要算是把软件快捷方式创建到“启动”文件夹下了。
但是，在win10版本中，“启动”文件夹不再在开始菜单的软件列表中显示了。因此，很多人就找不着它的位置了。
其实，win10中“启动”文件夹位于如下路径：
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
当然也可以引用系统环...]]></description><category></category></item><item><title><![CDATA[【CSS参考】元素可操作性属性说明]]></title><link>https://blog.youkuaiyun.com/babailong/article/details/84256077</link><guid>https://blog.youkuaiyun.com/babailong/article/details/84256077</guid><author>babailong</author><pubDate>Mon, 19 Nov 2018 16:52:22 +0800</pubDate><description><![CDATA[



属性名
候选值
隐藏值
隐藏说明




dispaly
none | inline | block
none
移除，不占用空间


visibility
hidden | visible
hidden
隐藏，占用原空间


opacity
n
0
隐藏，占用原空间



...]]></description><category></category></item><item><title><![CDATA[【Java专题】final关键字]]></title><link>https://blog.youkuaiyun.com/babailong/article/details/84247920</link><guid>https://blog.youkuaiyun.com/babailong/article/details/84247920</guid><author>babailong</author><pubDate>Mon, 19 Nov 2018 14:27:23 +0800</pubDate><description><![CDATA[用法
Java 中，final 关键字可以在多处使用，可以修饰类、方法、变量，效果都很类似，但又各有差异。可谓是“关键字重载”的典范。
总体来说，final 带有一种“不可变”的意思。其各种用法可参考下表：




修饰对象
效果




类
不能被继承


方法
不能被子类重写


变量
不能重新赋值


知识点
虽然，看起来用法也不算很多，但整理一下相关知识点，发现还是有不少的。

变量

不...]]></description><category></category></item><item><title><![CDATA[【知识点小结】Java volatile 关键字]]></title><link>https://blog.youkuaiyun.com/babailong/article/details/84030582</link><guid>https://blog.youkuaiyun.com/babailong/article/details/84030582</guid><author>babailong</author><pubDate>Tue, 13 Nov 2018 16:04:52 +0800</pubDate><description><![CDATA[volatile 关键字的作用主要/特性是：

保证变量可见性
限制指令重排

volatile 关键字涉及的知识点可谓是比较多的。
首先，变量可见性与 Java 内存模型（JMM, Java Memory Model）有关。
对于一个共享变量（比如静态变量），它保存在所有线程共享的主内存中，而每个线程的工作内存都有一个该变量的“副本”，线程读写变量就涉及到两个内存中值的传递。
现在，我们先用 A...]]></description><category></category></item><item><title><![CDATA[【知识点小结】Java synchronized 关键字]]></title><link>https://blog.youkuaiyun.com/babailong/article/details/84026004</link><guid>https://blog.youkuaiyun.com/babailong/article/details/84026004</guid><author>babailong</author><pubDate>Tue, 13 Nov 2018 11:25:31 +0800</pubDate><description><![CDATA[synchronized 关键字通常用于两处：

同步块
同步方法

// 同步块
synchronized (obj) {
}
// 同步方法
public synchronized void foo() {
}

synchronized 只有一个目的，实现代码的同步。
每个对象都有一个监视器（monitor），其被占用与否就代表其是否被锁定。不同线程对监视器的占用或说同步锁的访问是互斥的——...]]></description><category></category></item><item><title><![CDATA[Windows中的4种链接]]></title><link>https://blog.youkuaiyun.com/babailong/article/details/83996822</link><guid>https://blog.youkuaiyun.com/babailong/article/details/83996822</guid><author>babailong</author><pubDate>Mon, 12 Nov 2018 19:03:29 +0800</pubDate><description><![CDATA[Windows 中我们经常会用到快捷方式，但其实除了快捷方式外，Windows 还有 3 种链接方式，即一共有 4 种链接方式。

硬链接
软件链接/符号链接
Junction/目录联接
快捷方式

后两种是 Windows 独有的。
链接通常可以使用 mklink 命令进行创建。
硬链接
mklink /H Link Target

只能为文件创建硬链接。
硬链接跟原文件没有什么差别，通过下面命...]]></description><category></category></item><item><title><![CDATA[【知识点小结】Java static 关键字]]></title><link>https://blog.youkuaiyun.com/babailong/article/details/83829018</link><guid>https://blog.youkuaiyun.com/babailong/article/details/83829018</guid><author>babailong</author><pubDate>Wed, 07 Nov 2018 18:13:36 +0800</pubDate><description><![CDATA[Java 关键字 static 跟 final 一样，有很多用处，也是“关键字重载”的典范。
一般可用在 5 处：

静态成员类
静态方法
静态变量
静态初始化块
静态导入

下面的示例展示了全部的用法：
package com.ericzong.java.sample.syntax;
// 静态导入，可导入静态成员，这里导入的是静态方法
import static com.ericzong.ja...]]></description><category></category></item><item><title><![CDATA[【专题讨论】为什么Java内部类只能访问final修饰的外部局部变量？]]></title><link>https://blog.youkuaiyun.com/babailong/article/details/83825335</link><guid>https://blog.youkuaiyun.com/babailong/article/details/83825335</guid><author>babailong</author><pubDate>Wed, 07 Nov 2018 15:46:42 +0800</pubDate><description><![CDATA[public class InnerClassAccessFinalVar {
	public static void main(String[] args) {
		int i = 42;
		// i = 100;
		
		class Inner {
			public void test() {
				System.out.println(i);
			}
		}
		
		Inner ...]]></description><category></category></item><item><title><![CDATA[【知识点小结】final 关键字]]></title><link>https://blog.youkuaiyun.com/babailong/article/details/83789656</link><guid>https://blog.youkuaiyun.com/babailong/article/details/83789656</guid><author>babailong</author><pubDate>Tue, 06 Nov 2018 16:31:35 +0800</pubDate><description><![CDATA[Java 中，final 关键字可以在多处使用，可以修饰类、方法、变量，效果都很类似，但又各有差异。可谓是“关键字重载”的典范。
总体来说，final 带有一种“不可变”的意思。其各种用法可参考下表：




修饰对象
效果




类
不能被继承


静态方法
不能被子类隐藏


实例方法
不能被子类重写


变量
不能重新赋值


final 修饰的成员变量不能仅执行默认初始化，而不显式地赋值...]]></description><category></category></item><item><title><![CDATA[通过注册表添加文件夹右键菜单]]></title><link>https://blog.youkuaiyun.com/babailong/article/details/83752522</link><guid>https://blog.youkuaiyun.com/babailong/article/details/83752522</guid><author>babailong</author><pubDate>Mon, 05 Nov 2018 16:58:02 +0800</pubDate><description><![CDATA[这里我以 ConEmu 工具为例，将它添加到文件夹右键菜单，以方便地通过右键菜单在指定文件夹打开 ConEmu。（cmd 也是类似的）
将下列代码复制到一文本文档，注意修改 ConEmu 相关路径。
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\ConEmu]
&quot;Icon&quot;=&quot;d:\\program...]]></description><category></category></item><item><title><![CDATA[【知识点小结】try-with-resources 语句]]></title><link>https://blog.youkuaiyun.com/babailong/article/details/83746586</link><guid>https://blog.youkuaiyun.com/babailong/article/details/83746586</guid><author>babailong</author><pubDate>Mon, 05 Nov 2018 15:08:15 +0800</pubDate><description><![CDATA[简介
try-with-resources （下简称“TWR”）是 Java 7 的新特性，是一种特殊的 try 语句，特殊性主要表现在两个方面：与原来的 try 语句在语法上有少许差异；其中定义了资源并会自动关闭它们。所谓“资源”，就是诸如流等需要关闭的对象。
《The JavaTM Tutorials》[^1]相关示例如下：
static String readFirstLineFromFil...]]></description><category></category></item><item><title><![CDATA[【漫谈】Java 中的标签]]></title><link>https://blog.youkuaiyun.com/babailong/article/details/83588172</link><guid>https://blog.youkuaiyun.com/babailong/article/details/83588172</guid><author>babailong</author><pubDate>Wed, 31 Oct 2018 20:48:49 +0800</pubDate><description><![CDATA[Java 中有个用得很少的东西——标签。
语法像下面这样：
label:


使用标签的唯一理由是：跳出嵌套循环。

因此，标签应放在循环语句前，之间不应有其他语句。
然后在循环中的 break 或 continue 之后指定跳转到的标签名即可。
区别在于 break 跳出标签所在循环，而 continue 继续标签所在循环。
    @Test
    public void testBreak...]]></description><category></category></item><item><title><![CDATA[【知识点小结】Java switch 语句]]></title><link>https://blog.youkuaiyun.com/babailong/article/details/83587146</link><guid>https://blog.youkuaiyun.com/babailong/article/details/83587146</guid><author>babailong</author><pubDate>Wed, 31 Oct 2018 17:06:26 +0800</pubDate><description><![CDATA[switch 语句是一种有多路分支语句。
对于 Java 而言，通常会涉及以下知识点：

switch 可使用的数据类型是受限的；
switch 存在贯穿（fallthrough）现象；

受限的数据类型
switch 语句中可使用的数据类型有：

基本数据类型 byte, short, char, int 及其封装类型
字符串
枚举类型

贯穿
如果 case 分支中的代码不以 break 结束...]]></description><category></category></item><item><title><![CDATA[【漫谈】 Java 中的 Void 和 void]]></title><link>https://blog.youkuaiyun.com/babailong/article/details/83546135</link><guid>https://blog.youkuaiyun.com/babailong/article/details/83546135</guid><author>babailong</author><pubDate>Tue, 30 Oct 2018 17:55:43 +0800</pubDate><description><![CDATA[Java 中，大家对 void 应该是相当熟悉了。它表示“空”，所有无返回值的方法都使用它表示返回类型。
public static void main(String[] args) {
	// ...
}

void 是一种基本数据类型。
而 Void 是 void 封装类型，API 上称其为“占位符（placeholder）”。
看起来，Void 之于 void 类似于 Integer 之于 ...]]></description><category></category></item><item><title><![CDATA[JNI字段描述符]]></title><link>https://blog.youkuaiyun.com/babailong/article/details/83148704</link><guid>https://blog.youkuaiyun.com/babailong/article/details/83148704</guid><author>babailong</author><pubDate>Thu, 18 Oct 2018 16:23:20 +0800</pubDate><description><![CDATA[(JavaNative Interface FieldDescriptors)




Java 类型
JNI 字段描述符




boolean
Z


byte
B


char
C


short
S


int
I


long
J


float
F


double
D


void
V


class
Lclassname;（以“L”开头，“;”结尾；路径分隔符“/”；嵌套类用“$”...]]></description><category></category></item><item><title><![CDATA[网页中与滚动条相关的属性和方法]]></title><link>https://blog.youkuaiyun.com/babailong/article/details/39502141</link><guid>https://blog.youkuaiyun.com/babailong/article/details/39502141</guid><author>babailong</author><pubDate>Mon, 08 Oct 2018 16:38:24 +0800</pubDate><description><![CDATA[通常，前端开发很少会主动操作滚动条，不过，功能测试的话有时会涉及这些操作。下面本文将总结一些笔者曾在JS脚本中用到的相关属性和方法。

注：它们都是原生的，但一般并非是标准的，所以需要了解它们的浏览器兼容性。

滚动到可视区


			方法
			
			
			描述
			
		
			scrollIntoView()
			
			方法让当前的元素滚动到浏览器窗口的可视区域内。
		HTMLE...]]></description><category></category></item><item><title><![CDATA[命令行创建文件和文件夹]]></title><link>https://blog.youkuaiyun.com/babailong/article/details/82840637</link><guid>https://blog.youkuaiyun.com/babailong/article/details/82840637</guid><author>babailong</author><pubDate>Tue, 25 Sep 2018 16:01:54 +0800</pubDate><description><![CDATA[创建文件夹
# Windows、Linux、Mac通用
mkdir xxx
# Windows 简写命令
md xxx

创建文件
对于Linux而言，可以使用touch命令创建一个新的空白文件：
# Linux/Mac
touch newfile.txt
# Windows，NUL大小写不敏感
type NUL &amp;gt; newfile.txt

当然，我们还可以通过重定向来创建新文件，通常使用...]]></description><category></category></item><item><title><![CDATA[Commons Configuration简介]]></title><link>https://blog.youkuaiyun.com/babailong/article/details/79019459</link><guid>https://blog.youkuaiyun.com/babailong/article/details/79019459</guid><author>babailong</author><pubDate>Wed, 10 Jan 2018 09:01:16 +0800</pubDate><description><![CDATA[http://commons.apache.org/proper/commons-configuration/
Commons Configuration
提供了一个通用配置接口，使得一个Java程序能从各种输入源中读取配置数据。它提供对单值和多值配置参数的类型化访问。
支持的输入源：

Properties files
XML documents
Windows INI files]]></description><category></category></item></channel></rss>