<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[halfgap的博客]]></title><description><![CDATA[学习记录]]></description><link>https://blog.youkuaiyun.com/halfgap</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; halfgap]]></copyright><item><title><![CDATA[反向面试（转载）]]></title><link>https://blog.youkuaiyun.com/halfgap/article/details/102682105</link><guid>https://blog.youkuaiyun.com/halfgap/article/details/102682105</guid><author>halfgap</author><pubDate>Tue, 22 Oct 2019 14:39:26 +0800</pubDate><description><![CDATA[反向面试

]]></description><category></category></item><item><title><![CDATA[liunx下查看日志最实用命令和方法]]></title><link>https://blog.youkuaiyun.com/halfgap/article/details/100990158</link><guid>https://blog.youkuaiyun.com/halfgap/article/details/100990158</guid><author>halfgap</author><pubDate>Wed, 18 Sep 2019 17:21:19 +0800</pubDate><description><![CDATA[原文链接：https://www.cnblogs.com/xiashan17/p/7059978.html

]]></description><category></category></item><item><title><![CDATA[在工作中常用到的SQL]]></title><link>https://blog.youkuaiyun.com/halfgap/article/details/100986965</link><guid>https://blog.youkuaiyun.com/halfgap/article/details/100986965</guid><author>halfgap</author><pubDate>Wed, 18 Sep 2019 16:13:43 +0800</pubDate><description><![CDATA[原文链接：https://segmentfault.com/a/1190000019913273

]]></description><category></category></item><item><title><![CDATA[使用LOG的一些基础]]></title><link>https://blog.youkuaiyun.com/halfgap/article/details/100986781</link><guid>https://blog.youkuaiyun.com/halfgap/article/details/100986781</guid><author>halfgap</author><pubDate>Wed, 18 Sep 2019 16:11:07 +0800</pubDate><description><![CDATA[原文地址：https://segmentfault.com/a/1190000020208400

]]></description><category></category></item><item><title><![CDATA[foundation-validation]]></title><link>https://blog.youkuaiyun.com/halfgap/article/details/88643083</link><guid>https://blog.youkuaiyun.com/halfgap/article/details/88643083</guid><author>halfgap</author><pubDate>Mon, 18 Mar 2019 17:02:41 +0800</pubDate><description><![CDATA[You can use the foundation-validation library for this. That way you can reuse the validation across all components in the project. Something as simple as adding a new property.
This has been tested o...]]></description><category></category></item><item><title><![CDATA[Sling Model 注解]]></title><link>https://blog.youkuaiyun.com/halfgap/article/details/88286461</link><guid>https://blog.youkuaiyun.com/halfgap/article/details/88286461</guid><author>halfgap</author><pubDate>Thu, 07 Mar 2019 09:52:42 +0800</pubDate><description><![CDATA[1.创建Sling Model
@Model:声明一个bean为Sling模型。
@Inject:将资源属性注入类变量中。
@PostConstruct:声明根据业务逻辑派生信息后初始化bean的函数。在所有注入完成后调用该函数。
@Model(adaptables = Resource.class)

public class ContactUsModel {

	private String ...]]></description><category></category></item><item><title><![CDATA[AEM记录]]></title><link>https://blog.youkuaiyun.com/halfgap/article/details/88172889</link><guid>https://blog.youkuaiyun.com/halfgap/article/details/88172889</guid><author>halfgap</author><pubDate>Tue, 05 Mar 2019 11:10:12 +0800</pubDate><description><![CDATA[在dialog中创建可选的项目，仅可编辑选中的项目，隐藏未选择的项目
watch?v=JZFFxxiFpGY
创建并导入CSS,JS
watch?v=8i2Uy_99_TU&amp;amp;t=3s
在touchUI下创建Multifield menu
watch?v=8SYdSfYmnVM

...]]></description><category></category></item><item><title><![CDATA[Sling Model 入门]]></title><link>https://blog.youkuaiyun.com/halfgap/article/details/88170348</link><guid>https://blog.youkuaiyun.com/halfgap/article/details/88170348</guid><author>halfgap</author><pubDate>Tue, 05 Mar 2019 10:22:25 +0800</pubDate><description><![CDATA[Sling Model的作用
Entirely annotation driven. “Pure” POJOs.
纯注解驱动
Use standard annotations where possible.
尽可能的使用标准注释
Pluggable
可插入的
OOTB, support resource properties (via ValueMap), SlingBindings, OSGi ...]]></description><category></category></item><item><title><![CDATA[LeetCode周期小结12-03]]></title><link>https://blog.youkuaiyun.com/halfgap/article/details/84763742</link><guid>https://blog.youkuaiyun.com/halfgap/article/details/84763742</guid><author>halfgap</author><pubDate>Mon, 03 Dec 2018 14:26:48 +0800</pubDate><description><![CDATA[7. 整数反转
给出一个 32 位的有符号整数，你需要将这个整数中每位上的数字进行反转。
示例 1:
输入: 123
输出: 321
示例 2:
输入: -123
输出: -321
示例 3:
输入: 120
输出: 21
注意:
假设我们的环境只能存储得下 32 位的有符号整数，则其数值范围为 [−231,  231 − 1]。请根据这个假设，如果反转后整数溢出那么就返回 0。
我的解答
pub...]]></description><category></category></item><item><title><![CDATA[一道简单的算法题--整数反转的一些记录]]></title><link>https://blog.youkuaiyun.com/halfgap/article/details/84649879</link><guid>https://blog.youkuaiyun.com/halfgap/article/details/84649879</guid><author>halfgap</author><pubDate>Fri, 30 Nov 2018 14:30:16 +0800</pubDate><description><![CDATA[首先是题干
给出一个 32 位的有符号整数，你需要将这个整数中每位上的数字进行反转。
假设我们的环境只能存储得下 32 位的有符号整数，则其数值范围为 [−231,  231 − 1]。请根据这个假设，如果反转后整数溢出那么就返回 0。
我首先想到的就是字符串的相关操作，于是头也不会地写出了以下的代码
public class Demo {
	public static int reverse(i...]]></description><category></category></item><item><title><![CDATA[如何说服你的同事使用TDD]]></title><link>https://blog.youkuaiyun.com/halfgap/article/details/84538953</link><guid>https://blog.youkuaiyun.com/halfgap/article/details/84538953</guid><author>halfgap</author><pubDate>Mon, 26 Nov 2018 13:46:26 +0800</pubDate><description><![CDATA[http://bridgeforyou.cn/2017/12/03/How-to-Persuade-Your-Teemmate-to-use-TDD/


TDD（Test-driven development），也就是我们常说的“测试驱动开发”，是由&amp;amp;nbsp;Kent Beck&amp;amp;nbsp;在1996年提出的概念。TDD这个术语，经常被人挂在嘴边，然而真正在项目实施，却寥寥无几。

是TDD对开...]]></description><category></category></item><item><title><![CDATA[常用的设计模式]]></title><link>https://blog.youkuaiyun.com/halfgap/article/details/83867549</link><guid>https://blog.youkuaiyun.com/halfgap/article/details/83867549</guid><author>halfgap</author><pubDate>Thu, 08 Nov 2018 20:18:50 +0800</pubDate><description><![CDATA[单例模式
单例模式是一种常用的软件设计模式。
在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问，从而方便对实例个数的控制并节约系统资源。
应用场景：如果希望在系统中某个类的对象只能存在一个，单例模式是最好的解决方案。
单例模式详解

工厂模式
工厂模式主要是为创建对象提供了接口。
应用场景如下：
在编码时不能预见需要创建哪种类的实例...]]></description><category></category></item><item><title><![CDATA[Spring AOP中常用名词解释]]></title><link>https://blog.youkuaiyun.com/halfgap/article/details/83867454</link><guid>https://blog.youkuaiyun.com/halfgap/article/details/83867454</guid><author>halfgap</author><pubDate>Thu, 08 Nov 2018 20:12:50 +0800</pubDate><description><![CDATA[Spring AOP中常用名词解释
1.切面（Aspect）：
一个关注点的模块化，这个关注点可能会横切多个对象。事务管理是J2EE应用中一个关于横切关注点的很好的例子。 在Spring AOP中，切面可以使用通用类（基于模式的风格） 或者在普通类中以 @Aspect 注解（@AspectJ风格）来实现。

2.连接点（Joinpoint）：
在程序执行过程中某个特定的点，比如某方法调用的时候或者...]]></description><category></category></item><item><title><![CDATA[java的list集合如何根据对象中的某个字段排序]]></title><link>https://blog.youkuaiyun.com/halfgap/article/details/81710709</link><guid>https://blog.youkuaiyun.com/halfgap/article/details/81710709</guid><author>halfgap</author><pubDate>Wed, 15 Aug 2018 20:40:53 +0800</pubDate><description><![CDATA[集合提供了一个工具类：java.util.Collections 
 集合的工具类提供了若干静态方法，可以方便我们队集合做一系列操作，其中之一就是排序 
 需要注意，提供的方法只能对List集合排序，因为Set集合不全是有序的。 
但是如果要求根据集合中某个元素的值排序，该如何进行呢? 
 代码演示

public static void main(String[] args) {
       ...]]></description><category></category></item><item><title><![CDATA[Map 查找表 基础知识（一）]]></title><link>https://blog.youkuaiyun.com/halfgap/article/details/81672977</link><guid>https://blog.youkuaiyun.com/halfgap/article/details/81672977</guid><author>halfgap</author><pubDate>Tue, 14 Aug 2018 19:30:17 +0800</pubDate><description><![CDATA[Map 查找表 
  Map结构的样子是一个多行两列的表格，左列称为key，右列称为value，Map总是以key-value对的形式保存一组数据。并且获取信息是根据key(键)查找对应的value(值)。 
  常用实现类： HashMap 散列表，使用散列算法实现的Map,当今查询速度最快的数据结构。 
  本文章也只讨论HashMap类的常用知识。


常用方法
关于equals重写的注意事...]]></description><category></category></item><item><title><![CDATA[多线程基础（三）-多线程并发安全问题]]></title><link>https://blog.youkuaiyun.com/halfgap/article/details/81515190</link><guid>https://blog.youkuaiyun.com/halfgap/article/details/81515190</guid><author>halfgap</author><pubDate>Wed, 08 Aug 2018 20:41:50 +0800</pubDate><description><![CDATA[多线程基础（三）-多线程并发安全问题

当多个线程并发操作同一资源时，由于线程切换实际不可控会导致操作逻辑执行顺序出现混乱，严重时会导致系统瘫痪。例如下面的代码



public class SyncDemo {
    public static void main(String[] args) {
        Table table = new Table();
        Thre...]]></description><category></category></item><item><title><![CDATA[多线程基础（二）]]></title><link>https://blog.youkuaiyun.com/halfgap/article/details/81515022</link><guid>https://blog.youkuaiyun.com/halfgap/article/details/81515022</guid><author>halfgap</author><pubDate>Wed, 08 Aug 2018 20:31:09 +0800</pubDate><description><![CDATA[多线程基础（二）



线程的优先级

线程的优先级有10个等级,分别用数字1-10表示 
 1是最低优先级,10为最高,5为默认 
 理论上优先级越高的线程获取CPU时间片的次数就越多。 
 线程是不能主动获取CPU时间片的，只能被动的分配，通过调整优先级可以最大程度改善获取时间片的次数。



interrupt方法

interrupt方法用于中断线程。调用该方法的线程的状态为将被置为”中断...]]></description><category></category></item><item><title><![CDATA[多线程基础（一）]]></title><link>https://blog.youkuaiyun.com/halfgap/article/details/81514920</link><guid>https://blog.youkuaiyun.com/halfgap/article/details/81514920</guid><author>halfgap</author><pubDate>Wed, 08 Aug 2018 20:25:11 +0800</pubDate><description><![CDATA[多线程基础（一）

线程是并发运行的,即多个线程运行时靠线程调度器统一管理。
线程调度程序会分配给线程CPU时间片段,得到时间片的线程被CPU执行,
当超时后CPU会停滞执行该线程,此时线程调度会再次分配时间片给某个线程继续操作.
所以多个线程之间,每个线程的运行都是走走停停的,这种运行方式称为并发运行.
由于CPU在所有线程间快速切换运行,感官上这些线程的代码都是&quot;同时运行&quot;的.






线...]]></description><category></category></item><item><title><![CDATA[JAVA异常处理机制(一)]]></title><link>https://blog.youkuaiyun.com/halfgap/article/details/81346862</link><guid>https://blog.youkuaiyun.com/halfgap/article/details/81346862</guid><author>halfgap</author><pubDate>Wed, 01 Aug 2018 20:01:21 +0800</pubDate><description><![CDATA[异常处理机制try-catch 
 语法定义: 
  try{ 
        //可能出现异常的代码片段 
  }catch(XXXException e){ 
       //捕获try中出现的XXXException后的处理操作代码 
  } 
try-catch演示

public class Try_CatchDemo {
    public static void main(St...]]></description><category></category></item><item><title><![CDATA[java标准IO操作(二)]]></title><link>https://blog.youkuaiyun.com/halfgap/article/details/81319233</link><guid>https://blog.youkuaiyun.com/halfgap/article/details/81319233</guid><author>halfgap</author><pubDate>Wed, 01 Aug 2018 20:01:13 +0800</pubDate><description><![CDATA[java按照读写的数据单位将流划分为两大类 
 字节流,字符流 
 字节流是以字节为单位读写数据的流,由于计算机底层都是2进制,所以字节流可以读写任意数据

字符流是以字符为单位读写数据的流,实际底层还是读写字节 
 但是字符流会自动将字节与字符进行对应的转换工作, 
 因此字符流天生具备字符编解码能力,对此字符流也仅适用于读写文本数据

java.io.Reader,java.io.Writer...]]></description><category></category></item></channel></rss>