<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[bincavin的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/bincavin</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; bincavin]]></copyright><item><title><![CDATA[非阻塞同步算法与CAS(Compare and Swap)无锁算法]]></title><link>https://blog.youkuaiyun.com/bincavin/article/details/54671179</link><guid>https://blog.youkuaiyun.com/bincavin/article/details/54671179</guid><author>bincavin</author><pubDate>Sun, 22 Jan 2017 21:37:48 +0800</pubDate><description><![CDATA[原文http://www.cnblogs.com/Mainz/p/3546347.html

非阻塞同步算法与CAS(Compare
 and Swap)无锁算法



锁（lock）的代价
锁是用来做并发最简单的方式，当然其代价也是最高的。内核态的锁的时候需要操作系统进行一次上下文切换，加锁、释放锁会导致比较多的上下文切换和调度延时，等待锁的线程会被挂起直至锁释放。在上下文切换的]]></description><category></category></item><item><title><![CDATA[CAS原理 Java SE1.6中的Synchronized]]></title><link>https://blog.youkuaiyun.com/bincavin/article/details/54671146</link><guid>https://blog.youkuaiyun.com/bincavin/article/details/54671146</guid><author>bincavin</author><pubDate>Sun, 22 Jan 2017 21:35:46 +0800</pubDate><description><![CDATA[CAS原理 Java SE1.6中的Synchronized


 收藏

  


摘要: 在多线程并发编程中Synchronized一直是元老级角色，很多人都会称呼它为重量级锁，但是随着Java SE1.6对Synchronized进行了各种优化之后，有些情况下它并不那么重了，本文详细介绍了Java SE1.6中为了减少获得锁和释放锁带来的性能消耗而引入的偏向锁和轻量级锁，以及]]></description><category></category></item><item><title><![CDATA[java中的参数传递方式]]></title><link>https://blog.youkuaiyun.com/bincavin/article/details/54563701</link><guid>https://blog.youkuaiyun.com/bincavin/article/details/54563701</guid><author>bincavin</author><pubDate>Sun, 15 Jan 2017 17:42:07 +0800</pubDate><description><![CDATA[java中的参数传递方式
  

转载▼


http://blog.sina.com.cn/s/blog_59ca2c2a0100qhjx.html


无论是什么语言，要讨论参数传递方式，就得从内存模型说起，主要是我个人觉得从内存模型来说参数传递更为直观一些。闲言少叙，下面我们就通过内存模型的方式来讨论一下Java中的参数传递。

这里的内存模型涉及到两种类型的内存：栈内]]></description><category></category></item><item><title><![CDATA[Java并发编程：volatile关键字解析]]></title><link>https://blog.youkuaiyun.com/bincavin/article/details/54428315</link><guid>https://blog.youkuaiyun.com/bincavin/article/details/54428315</guid><author>bincavin</author><pubDate>Sat, 14 Jan 2017 19:33:24 +0800</pubDate><description><![CDATA[Java并发编程：volatile关键字解析





Java并发编程：volatile关键字解析
　　 volatile这个关键字可能很多朋友都听说过，或许也都用过。在Java 5之前，它是一个备受争议的关键字，因为在程序中使用它往往会导致出人意料的结果。在Java 5之后，volatile关键字才得以重获生机。
　　volatile关键字虽然从字面上理解起来比较简单，但是要用]]></description><category></category></item><item><title><![CDATA[Unit Testing --Mockito：一个强大的用于 Java 开发的模拟测试框架]]></title><link>https://blog.youkuaiyun.com/bincavin/article/details/18550287</link><guid>https://blog.youkuaiyun.com/bincavin/article/details/18550287</guid><author>bincavin</author><pubDate>Mon, 20 Jan 2014 11:32:25 +0800</pubDate><description><![CDATA[http://www.oschina.net/translate/mockito-a-great-mock-framework-for-java-development










介绍

本文将介绍模拟测试框架Mockito的一些基础概念, 介绍该框架的优点，讲解应用Mockito的Java示例.

模拟(Mock)的概念 

在软件开发的世界之外, "]]></description><category></category></item><item><title><![CDATA[图论算法-求（有向）图中任意两点间所有路径]]></title><link>https://blog.youkuaiyun.com/bincavin/article/details/16813781</link><guid>https://blog.youkuaiyun.com/bincavin/article/details/16813781</guid><author>bincavin</author><pubDate>Tue, 19 Nov 2013 00:46:29 +0800</pubDate><description><![CDATA[图论算法-求（有向）图中任意两点间所有路径
 
求（有向）图中任意两点间所有路径
1建图：
     图类中包括如下信息：顶点集合，邻接矩阵。
     节点类中包括如下信息：是否被访问过，节点的名称，从这个节点访问到下一个节点的集合
 


 
图1


 
图2
 
2 算法思路
  A 将始点设置为已访问，将其入栈
  B 查看栈顶节点V在图中，有没有可以]]></description><category></category></item><item><title><![CDATA[java synchronized静态同步方法与非静态同步方法，同步语句块]]></title><link>https://blog.youkuaiyun.com/bincavin/article/details/14431789</link><guid>https://blog.youkuaiyun.com/bincavin/article/details/14431789</guid><author>bincavin</author><pubDate>Wed, 06 Nov 2013 22:41:50 +0800</pubDate><description><![CDATA[进行多线程编程，同步控制是非常重要的，而同步控制就涉及到了锁。
       对代码进行同步控制我们可以选择同步方法，也可以选择同步块，这两种方式各有优缺点，至于具体选择什么方式，就见仁见智了，同步块不仅可以更加精确的控制对象锁，也就是控制锁的作用域，何谓锁的作用域？锁的作用域就是从锁被获取到其被释放的时间。而且可以选择要获取哪个对象的对象锁。但是如果在使用同步块机制时，如果使用过多的锁也会容易]]></description><category></category></item><item><title><![CDATA[think in java interview-高级开发人员面试宝典(二)]]></title><link>https://blog.youkuaiyun.com/bincavin/article/details/10623481</link><guid>https://blog.youkuaiyun.com/bincavin/article/details/10623481</guid><author>bincavin</author><pubDate>Fri, 30 Aug 2013 17:32:04 +0800</pubDate><description><![CDATA[http://blog.youkuaiyun.com/lifetragedy/article/details/9751079



从现在开始，以样题的方式一一列出各种面试题以及点评，考虑到我在前文中说的，对于一些大型的外资型公司，你将会面临全程英语面试，因此我在文章中也会出现许多全英语样题。
这些题目来自于各个真实的公司，公司名我就不一一例举了，是本人一直以来苦心收藏的。
一个JAVA 的MAI]]></description><category></category></item><item><title><![CDATA[SCJP PDF]]></title><link>https://blog.youkuaiyun.com/bincavin/article/details/10622861</link><guid>https://blog.youkuaiyun.com/bincavin/article/details/10622861</guid><author>bincavin</author><pubDate>Fri, 30 Aug 2013 17:29:25 +0800</pubDate><description><![CDATA[https://java.net/downloads/jfjug/SCJP%20Sun%20Certified%20Programmer%20for%20Java%206-0071591060.pdf]]></description><category></category></item><item><title><![CDATA[Sqlserver－bcp]]></title><link>https://blog.youkuaiyun.com/bincavin/article/details/9245567</link><guid>https://blog.youkuaiyun.com/bincavin/article/details/9245567</guid><author>bincavin</author><pubDate>Thu, 04 Jul 2013 17:55:12 +0800</pubDate><description><![CDATA[BCP学习（5）：BCP常见问题集

http://msdn.microsoft.com/zh-cn/library/ms191516

1.错误：Error = [Microsoft][SQL Native Client]Unable to open 
BCP host data-file.
　原因：用户对导入导出的文件夹没有足够的操作权限。
　解决方案：给用户添加足够权限来操作相]]></description><category></category></item><item><title><![CDATA[java发送GET、POST请求]]></title><link>https://blog.youkuaiyun.com/bincavin/article/details/8963109</link><guid>https://blog.youkuaiyun.com/bincavin/article/details/8963109</guid><author>bincavin</author><pubDate>Thu, 23 May 2013 00:18:16 +0800</pubDate><description><![CDATA[使用Java发送GET、POST请求 ——节选自《疯狂Java讲义》
   URL的openConnection()方法将返回一个URLConnection对象，该对象表示应用程序和 URL 之间的通信链接。程序可以通过URLConnection实例向该URL发送请求、读取URL引用的资源。

通常创建一个和 URL 的连接，并发送请求、读取此 URL 引用的资源需要如下几个步骤：
（1）]]></description><category></category></item><item><title><![CDATA[HttpURLConnection 请求数据流的写入(write)和读取(read)]]></title><link>https://blog.youkuaiyun.com/bincavin/article/details/8963029</link><guid>https://blog.youkuaiyun.com/bincavin/article/details/8963029</guid><author>bincavin</author><pubDate>Wed, 22 May 2013 23:47:24 +0800</pubDate><description><![CDATA[HttpURLConnection请求数据流的写入(write)和读取(read)
URLConnection类给应用程序和web资源之间架设起了通信的桥梁，这些web资源通常是通过url来标记的,本文将讲述如何使用HttpURLConnection来访问web页面(发送数据流)和读取数据流。

在Servlet中对于需要用post方式(get会暴露参数)写入参数的时候就用到了HttpURL]]></description><category></category></item><item><title><![CDATA[Oracle Exception]]></title><link>https://blog.youkuaiyun.com/bincavin/article/details/8947050</link><guid>https://blog.youkuaiyun.com/bincavin/article/details/8947050</guid><author>bincavin</author><pubDate>Sun, 19 May 2013 16:07:55 +0800</pubDate><description><![CDATA[Error :
SQL> startup open
ORA-32004: obsolete ordeprecated parameter(s) specified for RDBMS instance
ORACLE instance started.
 
Total System Global Area1043886080 bytes
FixedSize]]></description><category></category></item><item><title><![CDATA[oracle 对executeBatch并不完全支持总是返回-2]]></title><link>https://blog.youkuaiyun.com/bincavin/article/details/8947038</link><guid>https://blog.youkuaiyun.com/bincavin/article/details/8947038</guid><author>bincavin</author><pubDate>Sun, 19 May 2013 16:06:28 +0800</pubDate><description><![CDATA[oracle对executeBatch并不完全支持总是返回-2


prepareStatement always return －2 ， but statement can return the number of update


使用jdbc的executeBatch 方法，如果数据库为oracle，则无论是否成功更新到数据，返回值都是-2，而不是真正被sql更新到的记录数,也就]]></description><category></category></item><item><title><![CDATA[/bin、/sbin、/usr/bin、/usr/sbin目录的区别]]></title><link>https://blog.youkuaiyun.com/bincavin/article/details/8928985</link><guid>https://blog.youkuaiyun.com/bincavin/article/details/8928985</guid><author>bincavin</author><pubDate>Wed, 15 May 2013 09:54:39 +0800</pubDate><description><![CDATA[/bin、/sbin、/usr/bin、/usr/sbin目录的区别
 
在linux下我们经常用到的四个应用程序的目录是/bin、/sbin、/usr/bin、/usr/sbin 。而四者存放的文件一般如下：
  www.2cto.com  
bin目录: 
bin为binary的简写主要放置一些系统的必备执行档例如:cat、cp、chmod df、dmesg、gzip、kill、ls]]></description><category></category></item><item><title><![CDATA[java 构造函数和静态变量的执行顺序]]></title><link>https://blog.youkuaiyun.com/bincavin/article/details/8924363</link><guid>https://blog.youkuaiyun.com/bincavin/article/details/8924363</guid><author>bincavin</author><pubDate>Tue, 14 May 2013 10:47:15 +0800</pubDate><description><![CDATA[java构造函数和静态变量的执行顺序（实例一）


 

java构造函数和静态变量的执行顺序（实例一） 
 


Java初始化顺序
1在new B一个实例时首先要进行类的装载。（类只有在使用New调用创建的时候才会被java类装载器装入）；
2，在装载类时，先装载父类A，再装载子类B
3，装载父类A后，完成静态动作（包括静态代码和变量，它们的级别是相同的，安装代码中出现]]></description><category></category></item><item><title><![CDATA[oracle日期类型字段的操作]]></title><link>https://blog.youkuaiyun.com/bincavin/article/details/8897654</link><guid>https://blog.youkuaiyun.com/bincavin/article/details/8897654</guid><author>bincavin</author><pubDate>Wed, 08 May 2013 09:32:38 +0800</pubDate><description><![CDATA[在java对oracle的操作中，日期字段是很头疼的事情，其实仔细研究一下也并不难掌握。
举个例子来说明：
表 book  中有name varchar2(20)//书籍名称,buydate Date //购买日期 两个字段。
已经创建了数据库连接Connection conn;
方法一、使用java.sql.Date实现比较简单的yyyy-mm-dd格式日期。
java.sql.Dat]]></description><category></category></item><item><title><![CDATA[我使用过的Linux命令之 for - Bash中的For循环]]></title><link>https://blog.youkuaiyun.com/bincavin/article/details/8778078</link><guid>https://blog.youkuaiyun.com/bincavin/article/details/8778078</guid><author>bincavin</author><pubDate>Tue, 09 Apr 2013 15:38:47 +0800</pubDate><description><![CDATA[我使用过的Linux命令之for - Bash中的For循环


博客分类：
Linux命令
BashLinuxRedHat编程F# 

我使用过的Linux命令之for - Bash中的For循环
 
 
用途说明
在shell中用于循环。类似于其他编程语言中的for，但又有些不同。for循环是Bash中最常用的语法结构。
常用格式
格式一
for 变量
do]]></description><category></category></item><item><title><![CDATA[Linux shell参数：]]></title><link>https://blog.youkuaiyun.com/bincavin/article/details/8777677</link><guid>https://blog.youkuaiyun.com/bincavin/article/details/8777677</guid><author>bincavin</author><pubDate>Tue, 09 Apr 2013 14:40:57 +0800</pubDate><description><![CDATA[在shell编程时.可以使用参数。Shell有位置参数和内部参数
1、位置参数
　　由系统提供的参数称为位置参数。位置参数的值可以用$N得到，N是一个数字，如果为1，即$1.类似C语言中的数组，Linux会把输入的命令字符串分段并给每段进行标号，标号从0开始。第0号为程序名字，从1开始就表示传递给程序的参数。如$0表示程序的名字，$1表示传递给程序的第一个参数，以此类推。
2、内部参数]]></description><category></category></item><item><title><![CDATA[什么是fetchsize？]]></title><link>https://blog.youkuaiyun.com/bincavin/article/details/8727612</link><guid>https://blog.youkuaiyun.com/bincavin/article/details/8727612</guid><author>bincavin</author><pubDate>Wed, 27 Mar 2013 17:28:50 +0800</pubDate><description><![CDATA[1. 什么是fetchsize？

1.1  Oracle中的fetchsize

先来简单解释一下，当我们执行一个SQL查询语句的时候，需要在客户端和服务器端都打开一个游标，并且分别申请一块内存空间，作为存放查询的数据的一个缓冲区。这块内存区，存放多少条数据就由fetchsize来决定，同时每次网络包会传送fetchsize条记录到客户端。应该很容易理解，如果fetchsize设置为20]]></description><category></category></item></channel></rss>