6 追赶的蜗牛

尚未进行身份认证

一个程序就是一个世界。。。

等级
TA的排名 7k+

Java并发编程:并发容器之ConcurrentHashMap

下面这部分内容转载自:  http://www.haogongju.net/art/2350374  JDK5中添加了新的concurrent包,相对同步容器而言,并发容器通过一些机制改进了并发性能。因为同步容器将所有对容器状态的访问都串行化了,这样保证了线程的安全性,所以这种方法的代价就是严重降低了并发性,当多个线程竞争容器时,吞吐量严重降低。因此Java5.0开

2016-02-19 01:13:24

深入分析ConcurrentHashMap

术语定义术语英文解释哈希算法hashalgorithm是一种将任意内容的输入转换成相同长度输出的加密方式,其输出被称为哈希值。 哈希表hashtable根据设定的哈希函数H(key)和处理冲突方法将一组关键字映象到一个有限的地址区间上,并以关键字在地址区间中的象作为记录在表中的存储位置,这种表称

2016-02-19 01:07:59

高并发下商城秒杀活动的处理

秒杀抢购活动是现在很多商城常见的营销手段,小米抢购、淘宝的整点免单、聚划算等都是成功的例子。从简单处着手,秒杀是很好理解的:设置要秒杀的商品的数量,抢完为止。但是,实际应用中一瞬间的高并发压力、以及并发带来的负库存是要着重考虑。要避免负库存的出现,可以在数据库加锁,不管外部多少请求,都可以在数据库操作前给阻断。当然,这种思路可以用在流量不大的普通商品上,用在高并发的秒杀商品上显然是

2016-02-19 00:52:55

Java HashMap中put与get的工作原理

一、Put :让我们看下put方法的实现:/**  * Associates the specified value with the specified key in this map. If the  * map previously contained a mapping for the key, the old value is  * rep

2016-02-19 00:47:13

Java HashMap原理实例讲解

面试的时候经常会遇见诸如:“java中的HashMap是怎么工作的”,“HashMap的get和put内部的工作原理”这样的问题。本文将用一个简单的例子来解释下HashMap内部的工作原理。首先我们从一个例子开始,而不仅仅是从理论上,这样,有助于更好地理解,然后,我们来看下get和put到底是怎样工作的。我们来看个非常简单的例子。有一个”国家”(Country)类,我们将要用Country

2016-02-19 00:43:22

HashMap的工作原理 面试问题

HashMap的工作原理是近年来常见的Java面试题。几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道HashTable和HashMap之间的区别,那么为何这道面试题如此特殊呢?是因为这道题考察的深度很深。这题经常出现在高级或中高级面试中。投资银行更喜欢问这个问题,甚至会要求你实现HashMap来考察你的编程能力。ConcurrentHashMap和其它同步集合的引入

2016-02-19 00:38:15

HashMap实现原理分析

1.HashMap的数据结构数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。     数组数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难;链表链表存储区间离散,占用内存比较宽松,故空间复杂度很小,但时间复杂度很大,达O(N)。链表的特点是:寻址困难

2016-02-19 00:32:00

Java代理模式 动态代理 的应用场景

先看一下代理模式,这个应该是设计模式中最简单的一个了,类图  代理模式最大的特点就是代理类和实际业务类实现同一个接口(或继承同一父类),代理对象持有一个实际对象的引用,外部调用时操作的是代理对象,而在代理对象的内部实现中又会去调用实际对象的操作 Java动态代理其实内部也是通过Java反射机制来实现的,即已知的一个对象,然后在运行时动态调用其方法,这样在调用前后作一些相应的

2016-02-19 00:22:43

JAVA代理模式与动态代理模式

1、代理模式所谓代理,就是一个人或者一个机构代表另一个人或者另一个机构采取行动。在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之前起到中介的作用。代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。生活中的例子:过年加班比较忙,没空去买火车票,这时可以打个电话到附近的票务中心,叫他们帮你买张回家的火车票,当然这会附加额外

2016-02-19 00:14:08

单例模式的使用场景

java中单例设计模式是应用比较广泛的一种模式。简单说,单例设计模式是为保证类的实例对象的唯一性而存在的一种模式,最常见的就是大家常用的软件的配置文件了。具体什么是单例设计模式我就不细说了,想了解的请自行查阅。我这里简单说说在java的API中,具体哪些类用到了单例设计模式,概括的不全,只把我学过的和认为重要的分享给大家,希望大家批评指正,也可以帮我一起完善,谢谢一、java.bean

2016-02-19 00:07:16

Java设计模式之单例模式 double---checked----locking双重检查锁定

在GoF的23种设计模式中,单例模式是比较简单的一种。然而,有时候越是简单的东西越容易出现问题。下面就单例设计模式详细的探讨一下。所谓单例模式,简单来说,就是在整个应用中保证只有一个类的实例存在。就像是JavaWeb中的application,也就是提供了一个全局变量,用处相当广泛,比如保存全局数据,实现全局性的操作等。 1、最简单的实现首先,能想到的最简单的实现

2016-02-18 23:53:29

sql中exists,not exists的用法

exists:强调的是是否返回结果集,不要求知道返回什么,比如: selectnamefromstudentwheresex='m'andexists(select1fromgradewhere...),只要exists引导的子句有结果集返回,那么exists这个条件就算成立了,大家注意返回的字段始终为1,如果改成“select 2fromgrad

2016-02-18 23:42:57

sql优化 in和exists效率讨论

系统要求进行SQL优化,对效率比较低的SQL进行优化,使其运行效率更高,其中要求对SQL中的部分in/notin修改为exists/notexists修改方法如下:in的SQL语句SELECTid,category_id,htmlfile,title,convert(varchar(20),begintime,112)aspubtime FROMta

2016-02-18 23:22:02

ConcurrentHashMap的锁分段技术

术语定义术语英文解释哈希算法hashalgorithm是一种将任意内容的输入转换成相同长度输出的加密方式,其输出被称为哈希值。 哈希表hashtable根据设定的哈希函数H(key)和处理冲突方法将一组关键字映象到一个有限的地址区间上,并以关键字在地址区间中的象作为记录在表中的存储位置,这种表称

2016-02-14 22:58:56

并发容器ConcurrentHashMap与synchronized联合使用达到线程安全

最近做的项目中遇到一个问题:明明用了ConcurrentHashMap,可是始终线程不安全除去项目中的业务逻辑,简化后的代码如下:[java] viewplain copypublic class Test40 {        public static void main(String[] args) throws In

2016-02-14 22:54:43

Linux下mysql数据库的数据导入导出

数据的导入导出  1、文本数据转到数据库中  文本数据应符合的格式:字段数据之间用tab键隔开,null值用来代替。例:  1nameduty2006-11-23  数据传入命令loaddatalocalinfile"文件名"intotable表名;  2、导出数据库和表  mysqldump--optnews>news

2016-02-14 22:41:09

mysql 创建用户与授权、修改密码

默认root初始密码为空,可以直接使用mysql命令,回车进入。。。。创建一个MySQL用户使用如下命令创建一个用户名和密码分别为"myuser"和"mypassword"的用户。mysql>CREATEUSER'myuser'@'localhost'IDENTIFIEDBY'mypassword';一旦用户被创建后,包括加密的密码、权限和资源限制在内的

2016-02-14 22:34:51

Linux 下mysql常用命令--启动、停止、重启

1、查看mysql版本方法一:status;方法二:selectversion();2、Mysql启动、停止、重启常用命令a、启动方式1、使用service启动:[root@localhost/]#servicemysqldstart(5.0版本是mysqld)[root@szxdbetc]#servicemysqlstart(5.5.7版

2016-02-14 22:21:52

Linux中du命令:同样可以查看使用的空间,但是与df有不同

Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的.1.命令格式:du [选项][文件]2.命令功能:显示每个文件和目录的磁盘使用空间。3.命令参数:-a或-all  显示目录中个别文件的大小。   -b或-bytes  显示目录或文件大小时,以by

2016-02-14 22:06:12

Linux中df命令:用来检查linux服务器的文件系统的磁盘空间占用情况

linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。1.命令格式:df [选项] [文件]2.命令功能:显示指定磁盘文件的可用空间。如果没有文件名被指定,则所有当前被挂载的文件系统的可用空间将被显示。默认情况下,磁盘空间将以 1KB 为单位进行显示,除非环境变量 POS

2016-02-14 21:54:34

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!