<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Stay hungry, stay foolish.]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/iteye_1084</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; iteye_1084]]></copyright><item><title><![CDATA[IDEA设置JDK无效问题解决方案]]></title><link>https://blog.youkuaiyun.com/iteye_1084/article/details/82680349</link><guid>https://blog.youkuaiyun.com/iteye_1084/article/details/82680349</guid><author>iteye_1084</author><pubDate>Sun, 19 Mar 2017 22:42:57 +0800</pubDate><description><![CDATA[
IDEA中所有jdk类库方法找不到，调用代码报红，设置jdk也无效的问题解决方案
今天敲代码的时候电脑意外蓝屏（没错，系统是Windows10），重新启动IDEA的时候代码里面一片红，提示JDK找不到。而事实上JDK已经被正确配置并导入，更换了多个版本，代码无数次地重新导入，一切如故——IDEA一直提示JDK未设置。

 项目设置如下图，一切看起来都完全ok。

   


 设置之...]]></description><category></category></item><item><title><![CDATA[StringBuffer与StringBuilder的线程安全性验证]]></title><link>https://blog.youkuaiyun.com/iteye_1084/article/details/82678132</link><guid>https://blog.youkuaiyun.com/iteye_1084/article/details/82678132</guid><author>iteye_1084</author><pubDate>Wed, 11 Jan 2017 08:56:00 +0800</pubDate><description><![CDATA[
对于国内面试中经常问“StringBuffer和StringBuilder有何区别”，知乎上曾有一番讨论。
我以为，好的面试官可以在这个问题上直接进一步，“你不知道这两个的区别没关系，我可以告诉你，我们聊聊短生命周期对象管理和线程安全性吧。”所以取而代之的这样的一个问题就更有意义了：请写一个程序来验证StringBuffer和StringBuilder的线程安全性。
 
线程安全性是指，...]]></description><category></category></item><item><title><![CDATA[ThreadPoolExecutor使用示例]]></title><link>https://blog.youkuaiyun.com/iteye_1084/article/details/82649422</link><guid>https://blog.youkuaiyun.com/iteye_1084/article/details/82649422</guid><author>iteye_1084</author><pubDate>Sun, 27 Mar 2016 13:50:53 +0800</pubDate><description><![CDATA[
通常，使用Java开发并发程序时，我们创建Runnable对象，然后创建对应的线程Thead对象来执行它们。Java 5之后，Java并发API提供了Executor框架，主要包括Executor接口，它的子接口ExecutorService，以及实现上述两个接口的ThreadPoolExecutor类。
 
这种机制使得任务的创建和任务的执行分离，使用executor，开发者只需要实现R...]]></description><category></category></item><item><title><![CDATA[Java ConcurrentHashMap 最佳实践]]></title><link>https://blog.youkuaiyun.com/iteye_1084/article/details/82648355</link><guid>https://blog.youkuaiyun.com/iteye_1084/article/details/82648355</guid><author>iteye_1084</author><pubDate>Sun, 06 Mar 2016 15:18:23 +0800</pubDate><description><![CDATA[
相对于HashMap，ConcurrentHashMap提供了内部实现的并发支持。使得开发者在多线程应用中访问ConcurrentHashMap时，不必使用synchronized同步代码块。
 
//Initialize ConcurrentHashMap instance
ConcurrentHashMap&amp;lt;String, Integer&amp;gt; m = new Concurre...]]></description><category></category></item><item><title><![CDATA[LeetCode[贪心算法] - #122 Best Time to Buy and Sell Stock II]]></title><link>https://blog.youkuaiyun.com/iteye_1084/article/details/82643223</link><guid>https://blog.youkuaiyun.com/iteye_1084/article/details/82643223</guid><author>iteye_1084</author><pubDate>Sun, 08 Nov 2015 21:46:26 +0800</pubDate><description><![CDATA[
原题链接：#122 Best Time to Buy and Sell Stock II
 
要求：
假定你有一个包含n个元素的整型数组，其中的第i个元素是指定股票在第i天的价格。
设计一个算法来计算在这n天里可能获得的最大利润。注：只考虑单只该股票的买入和卖出时机，一天内可以买卖多次，但不允许同一时间内存在多次交易（即：再次买入之前，必须买入该股票）
 
难度：中等
 
分析：...]]></description><category></category></item><item><title><![CDATA[LeetCode[排序] - #148 Sort List]]></title><link>https://blog.youkuaiyun.com/iteye_1084/article/details/82638929</link><guid>https://blog.youkuaiyun.com/iteye_1084/article/details/82638929</guid><author>iteye_1084</author><pubDate>Thu, 13 Aug 2015 10:21:37 +0800</pubDate><description><![CDATA[
原题链接：#148 Sort List
 
要求：
给一个单向链表排序，要求时间复杂度为O(nlogn)且空间复杂度为O(1)。
单向链表定义如下：
class ListNode{
    int val;
    ListNode next;
    ListNode(int x){
        this.val = x;
    }
}
 
难度：中等
 
...]]></description><category></category></item><item><title><![CDATA[轻量级框架与重量级框架]]></title><link>https://blog.youkuaiyun.com/iteye_1084/article/details/82638846</link><guid>https://blog.youkuaiyun.com/iteye_1084/article/details/82638846</guid><author>iteye_1084</author><pubDate>Tue, 11 Aug 2015 22:49:55 +0800</pubDate><description><![CDATA[
事实上“轻量级”与“重量级”并没有确切的定义。轻重量级之分应当考虑如下几个方面：
 
加载的资源
Spring相对于EJB是轻量级的，但这就好像说大象比鲸轻。
如果你想要运行一个Java EE应用程序，你不能够简单地创建一个应用并直接运行它本身。需要一个JavaEE服务器来运行应用，例如Glassfish，WebLogic或WebSphere。多数应用服务器都是非常巨大并且复杂的，并不容...]]></description><category></category></item><item><title><![CDATA[LeetCode[排序] - #242 Valid Anagram]]></title><link>https://blog.youkuaiyun.com/iteye_1084/article/details/82638839</link><guid>https://blog.youkuaiyun.com/iteye_1084/article/details/82638839</guid><author>iteye_1084</author><pubDate>Tue, 11 Aug 2015 19:39:51 +0800</pubDate><description><![CDATA[
原题链接：#242 Valid Anagram
 
要求：
给定两个字符串s和t，写一个函数，判断t是否是s的变位词。
如果t跟s包含相同字符但排列顺序不同，则称t是s的变位词。
例如：
s = &quot;anagram&quot;, t =&quot;nagaram&quot;，返回true
s = &quot;rat&quot;, t = &quot;car&quot;，返回false
注意：可以假定字符串只包含小写字母。
 
难度：容易
 
...]]></description><category></category></item><item><title><![CDATA[LeetCode[动态规划] - #5 Longest Palindromic Substring]]></title><link>https://blog.youkuaiyun.com/iteye_1084/article/details/82638453</link><guid>https://blog.youkuaiyun.com/iteye_1084/article/details/82638453</guid><author>iteye_1084</author><pubDate>Tue, 04 Aug 2015 22:52:49 +0800</pubDate><description><![CDATA[
原题链接：#5 Longest Palindromic SubString
 
要求：
给定一个字符串S，找出它的最长回文子串。假定S的最大长度为1000，且最长回文子串唯一
 
难度：中等
 
分析：
假定字符串s为回文字符串，则在s头部和尾部分别添加相同字符串[x]，所得结果s'=[x]s[x]也为回文字符串（论述1）。可使用动态规划方法解决此问题，递推公式便基于此特性。
...]]></description><category></category></item><item><title><![CDATA[LeetCode[动态规划] - #198 House Robber]]></title><link>https://blog.youkuaiyun.com/iteye_1084/article/details/82638399</link><guid>https://blog.youkuaiyun.com/iteye_1084/article/details/82638399</guid><author>iteye_1084</author><pubDate>Mon, 03 Aug 2015 15:17:37 +0800</pubDate><description><![CDATA[
原题链接：#198 House Robber
 
要求：
原题是要为某盗贼设计一个能使其利益最大化的方案（这个场景并不和谐，在保持题意的情况下重新描述一个场景）。假设某糖果工厂有若干糖果机，每台糖果机每天产出不同数量的糖果，每天取糖果时不能同时取相邻两台糖果机的糖果（别问为什么），问每天能取得的最大糖果数量是多少。
 
糖果机产生的糖果数量集合可以看成一个整型数组。
 
难度：简单...]]></description><category></category></item><item><title><![CDATA[LeetCode[Array] - #217 Contains Duplicate ]]></title><link>https://blog.youkuaiyun.com/iteye_1084/article/details/82638337</link><guid>https://blog.youkuaiyun.com/iteye_1084/article/details/82638337</guid><author>iteye_1084</author><pubDate>Fri, 31 Jul 2015 22:56:13 +0800</pubDate><description><![CDATA[
原题链接：#217 Contains Duplicate
 
要求：
给定一个整型数组，判断它是否包含重复元素。当任一元素函数应当返回true，当所有元素各不相同时返回false。
 
难度：简单
 
分析：
与#1 Two Sum类似，可以两次循环遍历，依次判断每一个元素是否在其后出现；或者使用一个HashSet作为辅助结构，遍历数组，若某元素不在HashSet中则将其加入Se...]]></description><category></category></item><item><title><![CDATA[LeetCode[Array] - #1 Two Sum]]></title><link>https://blog.youkuaiyun.com/iteye_1084/article/details/82638336</link><guid>https://blog.youkuaiyun.com/iteye_1084/article/details/82638336</guid><author>iteye_1084</author><pubDate>Fri, 31 Jul 2015 22:25:57 +0800</pubDate><description><![CDATA[
原题链接：#1 Two Sum
 
要求：
给定一个整数数组，找出其中的两个数，使之相加能够得到目标数字。
函数twoSum应当返回这两个数的索引，index1应小于index2。请注意，这两个索引并非从零开始计数。
假定每个输入都有且只有一个解。
 
例：
输入：numbers{2, 7, 11, 15}, target=9
输出：index1=1, index2=2
 ...]]></description><category></category></item><item><title><![CDATA[LeetCode[字符串] - #3 Longest Substring Without Repeating Characters ]]></title><link>https://blog.youkuaiyun.com/iteye_1084/article/details/82637707</link><guid>https://blog.youkuaiyun.com/iteye_1084/article/details/82637707</guid><author>iteye_1084</author><pubDate>Mon, 20 Jul 2015 16:57:59 +0800</pubDate><description><![CDATA[
原题链接：#3 Longest Substring Without Repeating Characters
 
要求：
给定一个字符串，找到它没有重复字符的最长子串的长度。例如，&quot;abcabcbb&quot;的无重复字符最长子串为&quot;abc&quot;，其长度为3。对于由相同字符组成的字符串&quot;bbbbb&quot;，其最长子串为&quot;b&quot;，故返回长度为1。
 
难度：中等
 
分析：
遍历给定字符串，对于每一个字...]]></description><category></category></item><item><title><![CDATA[LeetCode[链表] - #2 Add Two Numbers ]]></title><link>https://blog.youkuaiyun.com/iteye_1084/article/details/82637703</link><guid>https://blog.youkuaiyun.com/iteye_1084/article/details/82637703</guid><author>iteye_1084</author><pubDate>Mon, 20 Jul 2015 16:23:29 +0800</pubDate><description><![CDATA[
原题链接：#2 Add Two Numbers
 
要求：
给定两个以链表表示的非负整数，链表中的每个节点保存整数中的一位，以倒序排列（例如，321表示为1-&amp;gt;2-&amp;gt;3）。把这两个数字相加，作为一个链表返回。
 
输入：(2-&amp;gt;4-&amp;gt;3) + (5-&amp;gt;6-&amp;gt;4)
输出：7-&amp;gt;0-&amp;gt;8
 
难度：中等
 
分析：
本题思路比较直...]]></description><category></category></item><item><title><![CDATA[LeetCode[链表] - #21 Merge Two Sorted Lists]]></title><link>https://blog.youkuaiyun.com/iteye_1084/article/details/82637700</link><guid>https://blog.youkuaiyun.com/iteye_1084/article/details/82637700</guid><author>iteye_1084</author><pubDate>Mon, 20 Jul 2015 16:01:10 +0800</pubDate><description><![CDATA[
原题链接：#21 Merge Two Sorted Lists
 
要求：
合并两个已排序的单向链表，将合并后的结果作为一个链表返回。
ListNode定义：
public class ListNode {
    int val;
    ListNode next;
    ListNode(int x) { val = x; }
}
 
难度：简单
 
分析：
...]]></description><category></category></item><item><title><![CDATA[LeetCode[动态规划] - #10 Regular Expression Matching ]]></title><link>https://blog.youkuaiyun.com/iteye_1084/article/details/82637692</link><guid>https://blog.youkuaiyun.com/iteye_1084/article/details/82637692</guid><author>iteye_1084</author><pubDate>Mon, 20 Jul 2015 12:25:39 +0800</pubDate><description><![CDATA[
原题链接：#10 Regular Expression Matching
 
要求：
实现正则表达式匹配，支持'.'和'*'。
 
'.'匹配任意单字符。
'*'匹配任何0个或多个之前元素。
 
匹配应当覆盖整个输入字符串，而不仅仅是子串。
 
函数原型：
boolean isMatch(String /* string to check */ s, String /* p...]]></description><category></category></item><item><title><![CDATA[LeetCode[动态规划] - #7 Climbing Stairs]]></title><link>https://blog.youkuaiyun.com/iteye_1084/article/details/82637674</link><guid>https://blog.youkuaiyun.com/iteye_1084/article/details/82637674</guid><author>iteye_1084</author><pubDate>Sun, 19 Jul 2015 23:03:32 +0800</pubDate><description><![CDATA[
原题链接：#7 Climbing Stairs
 
问题：
你正在攀爬一把一共有n个台阶的梯子，每次可以爬一或二阶，爬到顶共有多少种不同的方式？
 
难度：简单
 
分析：
当梯子阶数为0时，有0种攀爬方式；当阶数为1时，则有一种攀爬方式。当阶数为2时，由于每次可以爬一阶或两阶，即从0阶处爬两阶到达顶部或由1阶处爬1阶到达顶处，共2种方式。n=3时同样，可以由1阶处爬两阶或由2阶...]]></description><category></category></item><item><title><![CDATA[LeetCode[Math] - #7 Reverse Integer]]></title><link>https://blog.youkuaiyun.com/iteye_1084/article/details/82637646</link><guid>https://blog.youkuaiyun.com/iteye_1084/article/details/82637646</guid><author>iteye_1084</author><pubDate>Sat, 18 Jul 2015 23:10:38 +0800</pubDate><description><![CDATA[
原题链接：#7 Reverse Integer
 
要求：
按位反转输入的数字
例1： 输入 x = 123, 返回 321
例2： 输入 x = -123, 返回 -321
 
难度：简单
 
分析：
对于一般情况，首先保存输入数字的符号，然后每次取输入的末位（x%10）作为输出的高位（result = result*10 + x%10）即可。但须考虑边界情况，即输入大于I...]]></description><category></category></item><item><title><![CDATA[LeetCode[Math] - #66 Plus One]]></title><link>https://blog.youkuaiyun.com/iteye_1084/article/details/82637645</link><guid>https://blog.youkuaiyun.com/iteye_1084/article/details/82637645</guid><author>iteye_1084</author><pubDate>Sat, 18 Jul 2015 22:57:51 +0800</pubDate><description><![CDATA[
原题链接：#66 Plus One
 
要求：
给定一个用数字数组表示的非负整数，如num1 = {1, 2, 3, 9}, num2 = {9, 9}等，给这个数加上1。
注意：
1. 数字的较高位存在数组的头上，即num1表示数字1239
2. 每一位（数组中的每个元素）的取值范围为0~9
 
难度：简单
 
分析：
题目比较简单，只须从数组尾部开始，若当前位是9则向前...]]></description><category></category></item><item><title><![CDATA[LeetCode[位运算] - #137 Single Number II]]></title><link>https://blog.youkuaiyun.com/iteye_1084/article/details/82637643</link><guid>https://blog.youkuaiyun.com/iteye_1084/article/details/82637643</guid><author>iteye_1084</author><pubDate>Sat, 18 Jul 2015 22:18:41 +0800</pubDate><description><![CDATA[

原题链接：#137 Single Number II 
要求：
给定一个整型数组，其中除了一个元素之外，每个元素都出现三次。找出这个元素
注意：算法的时间复杂度应为O(n)，最好不使用额外的内存空间
 
难度：中等
 
分析：
与#136类似，都是考察位运算。不过出现两次的可以使用异或运算的特性 n XOR n = 0, n XOR 0 = n，即某一位上出现偶数次1将该位...]]></description><category></category></item></channel></rss>