- 博客(22)
- 资源 (8)
- 收藏
- 关注
转载 AbstractQueuedSynchronizer的实现分析(下)
原文:http://www.infoq.com/cn/articles/java8-abstractqueuedsynchronizer前言经过本系列的上半部分JDK1.8 AbstractQueuedSynchronizer的实现分析(上)的解读,相信很多读者已经对AbstractQueuedSynchronizer(下文简称AQS)的独占功能了然于胸,那么这次我们通过对另一个工具类:C
2016-08-06 01:24:22 330
转载 JDK1.8 AbstractQueuedSynchronizer的实现分析(上)
深度解析Java 8:JDK1.8 AbstractQueuedSynchronizer的实现分析(上) 作者 刘锟洋 发布于 2014年7月31日http://www.infoq.com/cn/articles/jdk1.8-abstractqueuedsynchronizer前言Java中的FutureTask作为可异步执行任务并可获取执行结果而被大家所熟知。通常可以使用
2016-08-06 01:13:05 984
转载 浅谈ClassLoader
浅谈ClassLoaderJAVA启动后,是经过JVM各级ClassLoader来加载各个类到内存。为了更加了解加载过程,我通过分析和写了一个简单的ClassLoader来粗浅的分析它的原理。JVM的ClassLoader分三层,分别为Bootstrap ClassLoader,Extension ClassLoader,System ClassLoader,他们不是类
2016-07-27 23:49:13 1920
转载 fork之后子进程到底复制了父进程什么
fork之后子进程到底复制了父进程什么发表于2015/4/3 9:54:08 2161人阅读分类: 操作系统#include#include#include#includevoid main(){ char str[6]="hello"; pid_t pid=fork(); if(pid==0) { str[0]=
2016-06-03 14:41:01 1642
转载 NioEventLoop源码
http://www.lai18.com/content/1473738.html有关NioEventLoop的继承结构如下图:NioEventLoop是Netty的Reactor线程,它的职责如下:1. 作为服务端Acceptor线程,负责处理客户端的请求接入;2. 作为客户端Connecor线程,负责注册监听连接操作位,用于判断异步连接结果;3. 作为IO线
2016-05-20 14:22:37 824
转载 深入理解Java内存模型
作者:谢照东链接:https://www.zhihu.com/question/29037280/answer/43136323来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。我只是编码界的搬运工--------------------------------------------深入理解Java内存模型(一)——基础并发编程模型
2016-04-16 21:19:00 3134 2
转载 探索 ConcurrentHashMap 高并发性的实现机制
原文地址:http://www.ibm.com/developerworks/cn/java/java-lo-concurrenthashmap/java 1.7之前的代码,可能是1.6的简介ConcurrentHashMap 是 util.concurrent 包的重要成员。本文将结合 Java 内存模型,分析 JDK 源代码,探索 ConcurrentHashMap
2016-04-15 16:00:15 414
转载 java基本类型
记住java一定要用double,更鼓不变,就算数值不大也要用double。了解java虚拟机的底层会知道,float放在内存中其实是当作double来处理的,它不会比double更节约内存资源,对应的double虚拟机会直接以double形式来进行处理,快速而且精度高,但是如果用float,不但不会节约内存资源,虚拟机为了校验float的精度,会花费更多的系统资源,例如cpu时钟,程序执行步
2016-04-15 11:06:28 612 1
转载 话说ReferenceQueue
也是几年前写的,在内部邮件列表里发过,在这里保存一下。看到了这篇帖子: 《WeakHashMap的神话》http://www.javaeye.com/topic/587995因为Javaeye回帖还要先做个论坛小测验,所以懒得在上面回复了,在这里说下。以前设计缓存时也曾过用WeakHashMap来实现,对Java的Reference稍做过一些了解,其实这个问题,归根到底,是个J
2016-04-09 11:40:31 507
原创 TCP三次握手的思考,为什么要有三次握手
大家都知道TCP有三次握手的过程,今天我就仔细想了想为什么TCP要有三次握手 先贴一张三次握手的示意图 其实这个问题就是说,为什么tcp不能两次握手,或者一次握手就建立连接,和三次握手时怎么解决两次握手中的问题的。 为什么不能一次握手很容易理解,TCP是面向连接的,一次握手肯定建立不了连接,一条信息发出去连个回信都没有怎么连接?所以问题在为什么不能两次握手,这
2016-04-06 21:03:20 12376
转载 TCP三次握手与释放链接
tcp状态:LISTEN:侦听来自远方的TCP端口的连接请求SYN-SENT:再发送连接请求后等待匹配的连接请求SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认ESTABLISHED:代表一个打开的连接FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认FIN-WAIT-2:从远程TCP等待
2016-04-06 20:25:00 319
转载 深入理解jvm装载约束
网上进行google或者baidu时,以及在使用tomcat或者其它框架时,经常碰到以下的问题:12ava.lang.LinkageError: loader constraint violation: when resolving field XXXXXX have different Class objects fo
2016-03-23 16:24:53 770
转载 堆 和 栈的 区别(经典)
此文章虽然是面向C/C++程序员写得,但是对咱们Java程序员还是很有帮助的。 堆和栈的区别 一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序
2014-05-21 17:36:25 465
转载 RMI的工作原理
首先,我想先说说RMI的工作原理,因为EJB毕竟是基于RMI的嘛。废话就不多讲了,RMI的本质就是实现在不同JVM之间的调用,工作原理图如下: 它的实现方法就是在两个JVM中各开一个Stub和Skeleton,二者通过socket通信来实现参数和返回值的传递。 有关RMI的例子代码网上可以找到不少,但绝大部分都是通过extend the inter
2014-02-26 17:43:11 934
转载 HttpURLConnection的使用
[java] view plaincopy01. /* 02. * URL请求的类别分为二类,GET与POST请求。二者的区别在于: 03. * a:) get请求可以获取静态页面,也可以把参数放在URL字串后面,传递给servlet, 04. * b:) post与get的不同之处在于post的参数不是放在URL字串里面,而是放在http请求的正文内。 05. */ 06. 07. URL ur
2013-06-06 22:26:19 514
转载 ERROR 2003 Can’t connect to MySQL server on ‘localhost’
问题描述: 不久前成功安装Mysql5.1后,使用mysql时,打开cmd,输入net start mysql,提示服务名无效,查看服务列表,结果找不到mysql服务。解决方案:(参考以下命令) 1、打开cmd,切换到mysql的bin目录下 2、 D:\Program Files\MySQL5.1\bin>mysqld.exe -install
2013-05-09 23:03:45 605
转载 tomcat用法
原文地址http://www.codeeye.org/html/2009/%E5%A6%82%E4%BD%95%E5%9C%A8eclipse%E4%B8%AD%E6%B7%BB%E5%8A%A0tomcat%E6%9C%8D%E5%8A%A1%E5%99%A8.html 在J2EE开发中,时不时的要在编程过程中预览自己所做的开发,如果每次都将工程发布到T
2013-04-21 19:35:28 814
转载 ubuntu root密码
转http://xiaofei006.iteye.com/blog/299339新接触ubuntu(base on debian)的人,大多会因为安装中没有提示root密码而不太清楚为什么会这样。如何设定/改变/启用 root 使用者的密码?sudo passwd root为了启用 root 帐号 (也就是 设置一个口令) 使用:sudo passwd root当你使用完毕
2013-04-03 15:24:04 433
转载 金士顿 DT101 G2 8GU盘量产全过程图解(群联篇)(2)
首先用芯片无忧或群联量产工具版本选择查看器(APExample\getinfo)读出U盘的“MP ver/固件版本/固件日期”版本\控制芯片制造商是群联,芯片型号为ps2250,以便正确选择使用的量产工具。如下图1 这是从群联量产工具版本选择查看器(APExample&GetInfo)检测到的U盘参数,下面填写量产配置文件时要用到!
2013-04-02 15:20:47 4213
转载 优盘量产基本知识
1. 什么是量产工具,有何作用? 量是指批量的意思,即量产工具可以一次性生产出很多U盘,只要你的USB孔足够。 量产工具是针对U盘主控芯片进行操作的由厂商开发的低层软件,作用: 1)低格U盘 2)生产加密盘 3)分区,可以生产只读分区,更改U盘介质类型(removabel 和 fixed) 4)量产出USB-CDROM,此作用可以做启动光盘 5)有些U盘量产后读写速度可
2013-04-02 15:17:14 790
转载 U盘量产初期常识
量产的意思简单的说就是用一种U盘主控制芯片的厂家提供的一种软件,来把U盘分为2个部分,其中的一部分模拟成光驱读光盘的形式(只读形式),另一种还是保持U盘的正常读写功能。 用什么量产工具,主要是利用"芯片无忧"来检测U盘的主控制芯片,然后下载相对应的量产工具和相应的教程,网上已经有很多朋友都有成功的经验了,只要U盘的主控制芯片一样,方法都是一样的。但是推荐最好是同主控制芯片,同容量
2013-04-02 14:23:28 791
转载 ubuntu源
1、首先备份Ubuntu 11.04源列表 sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup (备份下当前的源列表,有备无患嘛) 2、修改更新源 sudo gedit /etc/apt/sources.list (打开Ubuntu 11.04源列表文件) 3、将
2013-03-29 14:10:17 412
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人