Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

理解Java中的volatile关键字

理解Java中的volatile关键字

Java语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量。这两种机制的提出都是为了实现代码线程的安全性。Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”;与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是 synchronized 的一部分。Java编程思想(第4版) 中文清晰PDF完整...
Java利用httpasyncclient进行异步HTTP请求

Java利用httpasyncclient进行异步HTTP请求

前段时间有个需求在springmvc mapping的url跳转前完成一个统计的业务。显然需要进行异步的处理,不然出错或者异常会影响到后面的网页跳转。异步的方式也就是非阻塞式的,当异步调用成功与否程序会接着往下执行,不必等到输入输出处理完毕才返回。主要用到httpasyncclient-4.0.1.jar,httpclient-4.3.2.jar,httpcore-4.3.2.jar,httpcore-nio-4.3.2.jar,commons-loggi...
排序总结之选择式排序

排序总结之选择式排序

一,直接选择排序介绍:直接选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。选择排序的主要优点与数据移动有关。如果某个元素位于正确的最终位置上,则它不会被移动。选择排序每次交换一对元素,它们当中至少有一个将被移到其最终位置上,因此对n个元素的表进行排序...
排序总结之基数排序

排序总结之基数排序

基数排序(radix sort)是属于“分配式排序”(distribution sort),基数排序又称“桶子法”(bucket sort)或bin sort,顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些“桶”中,藉以达到排序的作用,基数排序法是属于稳定性的排序,其时间复杂度为O (nlog(r)m),其中r为所采取的基数,而m为堆数,在某些时候,基数排序法的效率高于其它...
排序总结之插入式排序

排序总结之插入式排序

算法概述:插入排序(Insertion Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。插入排序主要分为三种,即直接插入,二分插入(利用二分法来减少比较次数),希尔排序(又称缩小增量排序)插入的主...
深入理解C语言中的移位运算

深入理解C语言中的移位运算

说明:本文主要摘录自《深入理解计算机系统》第二章信息的表示与处理。移位运算: C语言还提供了一组移位运算,以便向左或者向右移动位模式。对于一个位表示为[xn-1,xn-2,…,x0]的操作数x,C表达式x<<k会生成一个值,其位表示为[xn-k-1,xn-k-2,…,x0,0,…,0]。也就是说,x向左移动k位,丢弃最高的k位,并在右端补k个0。移位量应该是一个0~n-1之间的值。移位运算是从左至...
Android应用实现多语言切换

Android应用实现多语言切换

关于Android应用实现多语言切换,有好几种办法,网上也搜到很多资料,这里有个简单有效的办法。步骤如下:在资源文件中新建一个文件夹values-en,在里面新建一个strings.xml,把默认values文件夹中的strings.xml中的内容拷贝一份到values-en中的strings.xml,再把该文件夹中的中文内容转换为英文,例如<string name="set">设置</string>转换为<string na...
2015腾讯校园招聘软件测试部分笔试题

2015腾讯校园招聘软件测试部分笔试题

2015腾讯校园招聘软件测试部分笔试题1、计算机系统中CPU中的base寄存器和limit寄存器的作用是()2、操作系统不执行以下哪个操作()A 分配内存 B 输出/输入 C 资源回收 D 用户访问数据库资源3、以下哪个是用于用户拨号认证的()A PPTP B IPSec C L2P D CHAP4、下列哪一项用于产生数字签名()A 接收方的私钥B 发送方的私钥C 发送方的公钥D 接收方的公钥5、以下哪个不属于单向哈希表的特征()A 它把任意长度的信息转换...
C语言中的声明与定义的区别

C语言中的声明与定义的区别

1、对于下面的声明语句int a;如果其位置出现在所有的函数体之外,那么它就被称为外部对象a的定义。这个语句说明了a是一个外部整型变量,同时为a分配了存储空间。因为外部对象a并没有被明确指定任何初始值,所以它的初始值默认为0(某些系统中的连接器对以其他语言编写的程序并不保证这一点,C编译器有责任以适当方式通知连接器,确保未指定初始值的外部变量初始化为0)。2、又如下面的声明语句:int a = 7;在定义a的同时也为a明确指定了初始值。这个语句不仅为a分配...
二分查找中的死循环

二分查找中的死循环

二分算法是我们经常会用到的一个算法。它是分治法的一个应用。不过,虽然他写起来貌似很简单,但是却很容易写错。下面我们讨论一下二分的死循环问题。(这里讨论的是整数的二分问题,浮点数的二分不容易死循环)1.查找的元素确定,值唯一或者不存在这种情况等下,我们的流程分为三个分支:(相等、小于、大于)。这类不容易死循环,代码如下:if ( data[mid] == key ) return mid;if ( data[mid] > key ) r = mid...
AVL树(平衡二叉查找树)

AVL树(平衡二叉查找树)

1、AVL树的定义平衡二叉查找树,又称作AVL树(以提出此树的两人人名命名的),AVL树是一种高度平衡的二叉查找树,它或者是一颗空树,或者是具有下列性质的二叉查找树:(1)它的左子树和右子树都是平衡二叉查找树(2)它的左子树和右子树的深度差的绝对值不超过1将二叉树上的节点的左子树的深度减去右子树的深度的值定义为节点的平衡因子,因此平衡因子的值只可能是:-1、0 和 1。2、AVL树的插入和删除AVL树也是二叉查找树,因此满足二叉查找树的性质。AVL树最大的...
2015年阿里巴巴校招面试经验汇总

2015年阿里巴巴校招面试经验汇总

(转自:http://blog.csdn.net/supera_li/articl/details/39254825)一方面我为大家做个总结性的服务平台吧。收集一下周围招聘群里面的同学拿到offer的经验。我是一名搬运工,将不断更新,面试时间就近原则进行自上而下排序~,服务更多的同学。话说我面试是在20多日,我也可以学习学习嘛。不多说了。搬运工开始复制啦~~~~~有面经的同学给博客连接,回复到下面评论,我看到后,把博文地址加进来~0913研发工程师(感谢相...
使用 Chrome 开发工具的设备模式来开发响应式 Web 应用

使用 Chrome 开发工具的设备模式来开发响应式 Web 应用

我们在桌面和移动设备上开发网站,通常我们倾向于最初的桌面体验。 但是这与越来越多的用户使用移动设备访问网络的趋势相脱离。 为了提高网站的用户体验,我们需要准确地知道网站在移动设备上的效果。 不久前,Chrome 开发者工具包里加入了手机模拟器特性,但是它不能连接真实的设备,还需要很多试验和调试。 Chrome38 Beta版包含一个新的设备模式:一次点击就可以启动手机模拟器、检查设备连接情况、模拟片状网络。现在,开启chrome“获取元素&rd...
<< 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 >>