<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[JAVA]]></title><description><![CDATA[因为专注所以专业]]></description><link>https://blog.youkuaiyun.com/wherejaly</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wherejaly]]></copyright><item><title><![CDATA[ConcurrentHashMap JDK1.8源码深入剖析(一)]]></title><link>https://blog.youkuaiyun.com/wherejaly/article/details/77483292</link><guid>https://blog.youkuaiyun.com/wherejaly/article/details/77483292</guid><author>wherejaly</author><pubDate>Tue, 22 Aug 2017 17:44:48 +0800</pubDate><description><![CDATA[ConcurrentHashMap JDK1.8源码深入剖析(一)阅读前建议掌握的知识
CAS操作
hashMap的原理
并发相关锁的知识
并发中原子性，可见性，重排序的概念
特性
底层实现原理为数组+链表+红黑树
当链表大小阀值超过8时转换为红黑树
大量使用CAS操作来实现无锁
并发扩容
主要属性TREEIFY_THRESHOLD,UNTREEIFY_THRESHOLDstatic final i]]></description><category></category></item><item><title><![CDATA[Redis实现分布式锁]]></title><link>https://blog.youkuaiyun.com/wherejaly/article/details/77163296</link><guid>https://blog.youkuaiyun.com/wherejaly/article/details/77163296</guid><author>wherejaly</author><pubDate>Mon, 14 Aug 2017 16:33:39 +0800</pubDate><description><![CDATA[Redis实现分布式锁分布式锁的一些问题
并发问题，若多个客户端同时上锁，结果只允许一个客户端成功，其他失败，可以利用redis的SETNX 命令来实现，该命令允许若给定的 key 已经存在，则 SETNX 不做任何动作,设置成功，返回 1 ,设置失败，返回 0 。
上锁后解锁的问题，可以考虑使用redis key的ttl过期，通过PEXPIRE来设置key的自动过期。若不使用自动过期特性，则需要在]]></description><category></category></item><item><title><![CDATA[could-not-read-Username-for-https-github-com-Invalid-argument]]></title><link>https://blog.youkuaiyun.com/wherejaly/article/details/77163284</link><guid>https://blog.youkuaiyun.com/wherejaly/article/details/77163284</guid><author>wherejaly</author><pubDate>Mon, 14 Aug 2017 16:32:43 +0800</pubDate><description><![CDATA[好久没玩hexo blog了，今天心血来潮想恢复使用，结果发现使用hexo d命令时会报如下错误could not read Username for 'https://github.com': Invalid argument网上搜索了下，这个问题有以下几个原因：
如果安装git客户端的时候没有勾选git命令在bash和cmd命令都有效，若是在cmd命令下则因为没有将git添加到windows的p]]></description><category></category></item><item><title><![CDATA[如何在windows中安装Oracle的SQLPlus]]></title><link>https://blog.youkuaiyun.com/wherejaly/article/details/50857255</link><guid>https://blog.youkuaiyun.com/wherejaly/article/details/50857255</guid><author>wherejaly</author><pubDate>Fri, 11 Mar 2016 16:41:33 +0800</pubDate><description><![CDATA[SQL*Plus OverviewSQL*Plus是一个用于与Oracle Database交互和执行查询的工具，我们要安装的是命令行工具。 
安装环境
Windows7 64位
Oracle 11g
下载命令行工具点击这里进入官网下载，下载其中两个文件instantclient-basic-windows.x64-12.1.0.2.0.zip
instantclient-sqlplus-windo]]></description><category></category></item><item><title><![CDATA[Oracle - ORA-01840: input value not long enough for date format]]></title><link>https://blog.youkuaiyun.com/wherejaly/article/details/50827619</link><guid>https://blog.youkuaiyun.com/wherejaly/article/details/50827619</guid><author>wherejaly</author><pubDate>Tue, 08 Mar 2016 15:32:39 +0800</pubDate><description><![CDATA[错误日志：Oracle - ORA-01840: input value not long enough for date format在程式执行查询方法时，日志中出现以上错误错误原因：原因是查询语句中某个日期参数格式有问题，例如设置了date = to_date('2015-02-29 08:53', 'yyyy-mm-dd hh24:mi:ss'),而2015年根本没有2月29日，故而报错。解决]]></description><category></category></item><item><title><![CDATA[Hexo安装教程(一)]]></title><link>https://blog.youkuaiyun.com/wherejaly/article/details/50818426</link><guid>https://blog.youkuaiyun.com/wherejaly/article/details/50818426</guid><author>wherejaly</author><pubDate>Mon, 07 Mar 2016 12:42:25 +0800</pubDate><description><![CDATA[什么是Hexo?Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown（或其他渲染引擎）解析文章，在几秒内，即可利用靓丽的主题生成静态网页。Hexo安装环境
Windows7
Hexo安装步骤概览
安装node.js
安装github desktop
安装hexo 开始安装安装node.jsHexo依赖node.js,所以点击node.js下载最新稳定版本，我的版本为v5.7.]]></description><category></category></item><item><title><![CDATA[ORA-01882: timezone region]]></title><link>https://blog.youkuaiyun.com/wherejaly/article/details/50789281</link><guid>https://blog.youkuaiyun.com/wherejaly/article/details/50789281</guid><author>wherejaly</author><pubDate>Thu, 03 Mar 2016 16:06:44 +0800</pubDate><description><![CDATA[ORA-01882: timezone region错误日志：ORA-01882: timezone region用weblogic配置连接池连到oracle时报错错误原因：原因是timezone没有设置解决方法：在jvm（Edit setDomainEnv.cmd）的参数后加入 
-Duser.timezone=HKT]]></description><category></category></item><item><title><![CDATA[如何将UITableViewDelegate和UITableViewDataSource从UITableViewController中分离出来?]]></title><link>https://blog.youkuaiyun.com/wherejaly/article/details/5821463</link><guid>https://blog.youkuaiyun.com/wherejaly/article/details/5821463</guid><author>wherejaly</author><pubDate>Wed, 18 Aug 2010 16:21:00 +0800</pubDate><description><![CDATA[      大家都知道如果给UITableViewController装载一些数据和控制cell的行为(高度,样式等)都需要指定UITableView的delegate给自身,一般会使用IB或者在viewDidLoad中写上self.tableView.delegate = self;然后实现UITableViewDelegate和UITableViewDataSource中的方法,例如:– tableView:cellForRowAtIndexPath: 等等.      那么如何将实现UITableVi]]></description><category></category></item><item><title><![CDATA[如何移动组件的位置，例如如何将UIAlertView显示在屏幕上部]]></title><link>https://blog.youkuaiyun.com/wherejaly/article/details/5625903</link><guid>https://blog.youkuaiyun.com/wherejaly/article/details/5625903</guid><author>wherejaly</author><pubDate>Wed, 26 May 2010 16:59:00 +0800</pubDate><description><![CDATA[苹果自带的警告框非常好用，但是它总是显示在屏幕中间，我们如何将它的位置移动呢？从Iphone SDK3开始我们可以使用CGAffineTransformTranslateUIAlertView * alert = [ [ UIAlertView alloc ] initWithTitle:@"Alert" message:@"Alert"                         d]]></description><category></category></item><item><title><![CDATA[如何在navigationBar的中间添加一张自定义图片？]]></title><link>https://blog.youkuaiyun.com/wherejaly/article/details/5582684</link><guid>https://blog.youkuaiyun.com/wherejaly/article/details/5582684</guid><author>wherejaly</author><pubDate>Wed, 12 May 2010 14:51:00 +0800</pubDate><description><![CDATA[以下代码展示了如何在navigationBar中间添加一张自定义图片UIImage *image = [UIImage imageNamed: @"NavBarImage.png"];UIImageView *imageView = [[UIImageView alloc] initWithImage: image];self.navigationItem.titleView = im]]></description><category></category></item><item><title><![CDATA[如何给组件添加事件并传递参数]]></title><link>https://blog.youkuaiyun.com/wherejaly/article/details/5563506</link><guid>https://blog.youkuaiyun.com/wherejaly/article/details/5563506</guid><author>wherejaly</author><pubDate>Thu, 06 May 2010 15:18:00 +0800</pubDate><description><![CDATA[     我们以UIButton为demoUIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(buttonX, buttonY, width, height)];//给button添加点击事件，action参数中写入事件执行方法[button addTarget:self action:@selector(acti]]></description><category></category></item><item><title><![CDATA[如何转换NSString与NSDate?]]></title><link>https://blog.youkuaiyun.com/wherejaly/article/details/5545712</link><guid>https://blog.youkuaiyun.com/wherejaly/article/details/5545712</guid><author>wherejaly</author><pubDate>Fri, 30 Apr 2010 11:47:00 +0800</pubDate><description><![CDATA[     想要在NSString与NSDate之间进行转换，答案是使用NSDateFormatter,该类提供了– dateFromString: 和– stringFromDate:两个关键的方法，具体使用请看如下代码：NSDateFormatter *formatter = [[NSDateFormatter alloc] init];[formatter setDateFormat:]]></description><category></category></item><item><title><![CDATA[怎样将UIImage对象保存到JPG或者PNG文件中？]]></title><link>https://blog.youkuaiyun.com/wherejaly/article/details/5538248</link><guid>https://blog.youkuaiyun.com/wherejaly/article/details/5538248</guid><author>wherejaly</author><pubDate>Wed, 28 Apr 2010 11:54:00 +0800</pubDate><description><![CDATA[我们都知道如果要从data中或者file中读取数据并包装成UIImage可以使用+ imageWithData: 和+ imageWithContentsOfFile: 但如果想把UIImage的图片数据写入到jpg或者png格式的文件中呢？答案是UIImageJPEGRepresentation，请看如下代码/ Create paths to output imagesNSString ]]></description><category></category></item><item><title><![CDATA[Eclipse快捷键大搜集(不断更新)]]></title><link>https://blog.youkuaiyun.com/wherejaly/article/details/5533184</link><guid>https://blog.youkuaiyun.com/wherejaly/article/details/5533184</guid><author>wherejaly</author><pubDate>Tue, 27 Apr 2010 11:14:00 +0800</pubDate><description><![CDATA[Eclipse快捷键大全 Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行交互位置(同上)Alt+← 前一个编辑的页面A]]></description><category></category></item><item><title><![CDATA[Xcode快捷键大搜集(不断更新)]]></title><link>https://blog.youkuaiyun.com/wherejaly/article/details/5533085</link><guid>https://blog.youkuaiyun.com/wherejaly/article/details/5533085</guid><author>wherejaly</author><pubDate>Tue, 27 Apr 2010 11:01:00 +0800</pubDate><description><![CDATA[        如果想要练成独孤九剑,出招快是第一秘诀,所以想要提高开发速度,从省时间的角度,第一位要解决的就是使用快捷键来代替一些繁琐的操作.于是本人搜集了众多快捷键,并不断更新,力求完美.alt+cmd   +上alt+cmd   +左／右 （sdk3.0之后有不同）alt+左/右control+左/右cmd＋左/右alt+shift+左/右control+shif]]></description><category></category></item><item><title><![CDATA[怎样获得documents文件夹以及为文件改名]]></title><link>https://blog.youkuaiyun.com/wherejaly/article/details/5530090</link><guid>https://blog.youkuaiyun.com/wherejaly/article/details/5530090</guid><author>wherejaly</author><pubDate>Mon, 26 Apr 2010 15:29:00 +0800</pubDate><description><![CDATA[  可以使用c函数NSSearchPathForDirectoriesInDomain来查找各种目录。它是Foundation函数，因此它可以与Cocoa for Mac OS X共享。它的很多可用选项都是专门为OS X设计的，在iphone上不会返回任何值。其原因在于，这些位置并不存在于iphone（如Downloads文件夹）上，或者你的应用程序由于iPhone的沙盒机制而没有访问该位置的权限]]></description><category></category></item><item><title><![CDATA[GPL协议的适用范围]]></title><link>https://blog.youkuaiyun.com/wherejaly/article/details/5037563</link><guid>https://blog.youkuaiyun.com/wherejaly/article/details/5037563</guid><author>wherejaly</author><pubDate>Sat, 19 Dec 2009 12:50:00 +0800</pubDate><description><![CDATA[本文转载至http://www.javaeye.com/topic/188442 由robbin大大发表 Google运行的服务器操作系统是自己改造过的Linux，而Linux采用的是GPLv2协议。按照你的理解，Google有义务向每个使用Google搜索服务的网民提供他们的服务器操作系统源代码。但是我可以担保，你去找Google要他们的操作系统源代码，Google是绝对不会给你]]></description><category></category></item><item><title><![CDATA[java.lang.IllegalArgumentException: id to load is required for loading]]></title><link>https://blog.youkuaiyun.com/wherejaly/article/details/4722370</link><guid>https://blog.youkuaiyun.com/wherejaly/article/details/4722370</guid><author>wherejaly</author><pubDate>Sat, 24 Oct 2009 11:11:00 +0800</pubDate><description><![CDATA[2009-10-24 10:58:57 org.zkoss.zk.ui.impl.UiEngineImpl handleError:1108严重: >>java.lang.IllegalArgumentException: id to load is required for loading>>    at org.hibernate.event.LoadEvent.(LoadEvent.]]></description><category></category></item><item><title><![CDATA[org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 1 in XML document from class path resource]]></title><link>https://blog.youkuaiyun.com/wherejaly/article/details/4663162</link><guid>https://blog.youkuaiyun.com/wherejaly/article/details/4663162</guid><author>wherejaly</author><pubDate>Tue, 13 Oct 2009 11:55:00 +0800</pubDate><description><![CDATA[org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 1 in XML document from class path resource [mo/com/sinokru/gxt/config] is invalid; nested exception is org.xml.sax.SAXParseE]]></description><category></category></item><item><title><![CDATA[jcifs.smb.SmbException: NTLMv2 requires extended security ]]></title><link>https://blog.youkuaiyun.com/wherejaly/article/details/4584517</link><guid>https://blog.youkuaiyun.com/wherejaly/article/details/4584517</guid><author>wherejaly</author><pubDate>Wed, 23 Sep 2009 15:30:00 +0800</pubDate><description><![CDATA[錯誤日志:jcifs.smb.SmbException: NTLMv2 requires extended security (jcifs.smb.client.useExtendedSecurity must be true if jcifs.smb.lmCompatibility >= 3)	jcifs.smb.NtlmPasswordAuthentication.getSigning]]></description><category></category></item></channel></rss>