- 博客(62)
- 资源 (4)
- 收藏
- 关注
转载 concurrentHashMap 原理
ConcurrentHashMap融合了hashtable和hashmap二者的优势。hashtable是做了同步的,hashmap未考虑同步。所以hashmap在单线程情况下效率较高。hashtable在的多线程情况下,同步操作能保证程序执行的正确性。但是hashtable每次同步执行的时候都要锁住整个结构。看下图:图左侧清晰的标注出来,lock每次都要锁住整个结构。Conc
2017-07-02 14:36:32
300
转载 hashmap 扩容
0.数组、链表 Java中,ArrayList、LinkedList就是分别用数组和链表做内部实现的。 数组将元素在内存中连续存放,由于每个元素占用内存大小相同,可以通过下标迅速访问数组中任何元素。但是如果要在数组中增加一个元素,需要移动大量元素,在内存中空出一个元素的空间,然后将要增加的元素放在其中。同样的道理,如果想删除一个元素,同样需要移动大量元素去填掉被移动的
2017-07-02 14:24:15
330
转载 深入理解io
阻塞 / 非阻塞描述的是函数,指访问某个函数时是否会阻塞线程(block,线程进入阻塞状态)。同步 / 异步描述的是执行IO操作的主体是谁,同步是由用户进程自己去执行最终的IO操作。异步是用户进程自己不关系实际IO操作的过程,只需要由内核在IO完成后通知它既可,由内核进程来执行最终的IO操作。这两组概念交集在一起参生的非阻塞同步IO和非阻塞异步IO的概念就不难理解。非阻塞同步I
2017-06-17 18:03:14
383
转载 IO - 同步,异步,阻塞,非阻塞
《 IO - 同步,异步,阻塞,非阻塞 》是我在开始学习epoll和libevent的时候写的,主要的思路来自于文中的那篇link 。写完之后发现很多人都很喜欢,我还是非常开心的,也说明这个问题确实困扰了很多人。随着学习的深入,渐渐的感觉原来的理解有些偏差,但是还是没引起自己的重视,觉着都是一些小错误,无伤大雅。直到有位博友问了一个问题,我重新查阅了一些更权威的资料,才发现原来的文章中有很大的理论
2017-06-17 17:41:29
191
转载 io理解
http://www.th7.cn/Program/java/201608/926114.shtmlhttp://www.th7.cn/Program/java/201608/926114.shtmlJAVA IO 以及 NIO 理解2016-08-05 08:22:44来源:作者:50人点击由于Netty,了解了一些异步IO的知
2017-06-06 13:20:25
367
转载 java 调优工具
摘要: JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat、hprof等小巧的工具,本博客希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具有所了解。 现实企业级Java开发中,有时候我们会碰到下面这些问题:OutOfMemoryError,内存不足
2017-02-21 20:44:17
337
转载 LocalCache本地缓存
LocalCache本地缓存分享前言一、本地缓存应用场景二、Java本地缓存标准三、java开源缓存框架四、LocalCache实现结束语 前言本次分享探讨java平台的本地缓存,是指占用JVM的heap区域来缓冲存储数据的缓存组件。 一、本地缓存应用场景localcache有着极大
2016-12-03 16:24:52
5298
转载 客户端和服务端通信加解密
对于移动端与服务器端进行加密通信,传统的方法是移动端和服务器都采用非对称加密方法进行加解密:1、服务器端生成私钥和公钥对,移动端预先存放服务器端公钥2、移动端在登陆时,使用服务器端的公钥加密登陆信息。移动端生成私钥和公钥,然后将公钥发送给服务器。3、服务器私用移动端的公钥给移动端发送消息。但是,非对称加解密的速度要比对称加解密慢,尤其是在移动端性能有限的情况下,所以
2016-11-29 22:11:54
4547
转载 ubuntu14.04 nginx + fmp + mysql
http://blog.youkuaiyun.com/hanshileiai/article/details/45580001
2015-09-09 18:12:55
290
转载 欢迎使用优快云-markdown编辑器
http://blog.youkuaiyun.com/hanshileiai/article/details/45580001
2015-09-09 18:11:24
257
原创 ubuntu安装redis
Ubuntu 系统电脑一台网络百度经验:jingyan.baidu.com方法/步骤1以root权限登录,切换到/usr目录下.2接下来输入命令,apt-get install redis-server,如图:步骤阅读3安装完成后,Redis服务器会自动启动,我们检查Redis服务器程序,执
2015-09-01 19:37:06
273
原创 ubuntu 安装 mysql
ubuntu mysql远程连接http://blog.youkuaiyun.com/helen_shw/archive/2010/01/22/5224524.aspxkiki@kiki-desktop:/etc/apache2mysql error number 2003Can't connect to MySQL server xxx.xxx.xxx.xxx (10061)在ubu
2015-08-31 20:48:15
261
原创 ubuntu14.04 安装git
安装的方法有两种,一种直接是通过ubuntu的APT安装,这种方法最简便,缺点是版本可能不是最新的。所有还有另一种方法是下载源码进行安装,这种能安装到想要的版本。这里只说第一种:步骤:sudo apt-get updatesudo apt-get install git然后配置自己的git账号信息,这样才能进行相关的操作:git config --global user
2015-08-31 19:44:36
334
原创 ubuntu14.04安装goole浏览器
接下来是从网络上下载Chrome对应是版本的包,小编的系统是64位的,因此,执行:wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb。如下图:步骤阅读3接下来是从网络上下载Chrome对应是版本的包,小编的系统是64位的,因此,执行:wget https
2015-08-31 11:40:10
495
转载 Java高级工程师面试题目汇集(关于Struts,Spring,Hibernate三大框架的面试)
http://blog.youkuaiyun.com/nlwangxin/article/details/14165485
2015-03-04 11:30:39
444
转载 spring源码解析的好文章
http://www.open-open.com/doc/view/d59d5cfa1c0c464bb815fb16f9a05b23
2015-01-19 23:42:45
376
转载 cglib代理是怎么回事
http://blog.youkuaiyun.com/xiaohai0504/article/details/6832990
2014-12-23 13:28:58
353
转载 java动态代理详解
在学习Spring的时候,我们知道Spring主要有两大思想,一个是IoC,另一个就是AOP,对于IoC,依赖注入就不用多说了,而对于Spring的核心AOP来说,我们不但要知道怎么通过AOP来满足的我们的功能,我们更需要学习的是其底层是怎么样的一个原理,而AOP的原理就是java的动态代理机制,所以本篇随笔就是对java的动态机制进行一个回顾。在java的动态代理机制中,有两个重要的类或接口
2014-12-12 11:07:19
326
转载 过滤器与拦截器的区别
过滤器与拦截器的区别 过滤器,是在java web中,你传入的request,response提前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者struts的 action进行业务逻辑,比如过滤掉非法url(不是login.do的地址请求,如果用户没有登陆都过滤掉),或者在传入servlet或者 struts的action前统一设置字符集,或者去除掉一些非法字符
2014-08-10 15:40:12
445
转载 struts2 源码分析
http://wenku.baidu.com/link?url=PvS5ZEhZqQaDRvztEq6RIkwW6KXByXDIW9YApw3As5PFQPjDMjiBlmIKexrdkjbgDiXHQvg_-kRErt6W5uu8du1Xpc3AAwNiso3bO6x0pA_
2014-08-05 13:47:14
432
转载 mysql 语句优化
http://wenku.baidu.com/link?url=fqiNUQBY2HWNjMDFyd4IPigCaWYKkRnjJLPVxQJWngGcwPlLFPfE3e61fTcJFZWBnXryKIuIaHkVMk5mzWcRU1F8z4FF8br1pVuGiKqcbpq
2014-08-05 09:37:25
365
转载 用Shell脚本对IP的字符串与整数形式进行相互转换
#!/bin/sh if [ $# -ne 2 ]then echo "$0 -[i|n] [ip|num]" exit 1fi function num2ip(){ num=$1 a=$((num>>24)) b=$((num>>16&0xff)) c=$((num>>8&0xff)) d=$((num&0xff)) echo "$d.$c.$b.$a"}
2014-08-01 11:03:27
1192
转载 linux grep命令
http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2856896.html
2014-07-30 10:51:15
471
转载 代理模式与装饰模式的异同
代理模式和装饰模式有很大的相似之处,看代理模式的类图,可以看做是代理模式的类图,也可以看做是装饰模式的类图,因为他们之间太像了,像到什么程度?把实现的代码改一下就是装饰模式,改回来就是代理模式。追美女的一种方式是从她的朋友下手,让她的死党帮忙,那就离成功没有多远了。好,我们把她的死党作为这个美女的代理,开始的时候我们当然要和代理打交道了,我们用代理模式实现以下。定义一个接口,这个借口有一个
2014-07-25 09:58:42
378
转载 linux shell cut 命令用法
linux之cut用法cut是一个选取命令,就是将一段数据经过分析,取出我们想要的。一般来说,选取信息通常是针对“行”来进行分析的,并不是整篇信息分析的。(1)其语法格式为:cut [-bn] [file] 或 cut [-c] [file] 或 cut [-df] [file]使用说明cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至
2014-07-23 16:23:40
482
转载 shell sort命令
(转http://www.cnblogs.com/51linux/archive/2012/05/23/2515299.html)sort是在Linux里非常常用的一个命令,管排序的,集中精力,五分钟搞定sort,现在开始!1 sort的工作原理sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。[roc
2014-07-18 14:05:19
350
转载 shell处理大文件 http://longriver.me/?p=57
http://blog.youkuaiyun.com/sunny5211/article/details/9261201
2014-07-16 15:28:23
416
原创 linux myslq命令大全
linux下mysql命令大全1.linux下启动mysql的命令: mysqladmin start /ect/init.d/mysql start (前面为mysql的安装路径) 2.linux下重启mysql的命令: mysqladmin restart /ect/init.d/mysql restart (前面为mysql的安装路径) 3.l
2014-07-15 22:22:04
508
转载 java bitSet的学习
(1)BitSet类 大小可动态改变, 取值为true或false的位集合。用于表示一组布尔标志。 此类实现了一个按需增长的位向量。位 set 的每个组件都有一个 boolean 值。用非负的整数将 BitSet 的位编入索引。可以对每个编入索引的位进行测试、设置或者清除。通过逻辑与、逻辑或和逻辑异或操作,可以使用一个 BitSet 修改另一个 BitSet 的内容。
2014-07-10 16:51:15
487
转载 常见海量数据处理问题
1,给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?方案1:可以估计每个文件安的大小为50G×64=320G,远远大于内存限制的4G。所以不可能将其完全加载到内存中处理。考虑采取分而治之的方法。(1)遍历文件a,对每个url求取hash(url)%1000,然后根据所取得的值将url分别存储到1000个小文件(a0,
2014-07-10 14:51:14
464
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人