- 浏览: 41217 次
- 性别:
- 来自: 北京
最新评论
文章列表
转自:http://xy1991.iteye.com/blog/1143686
一、面向连接的协议
UDP是一种无连接的协议,而TCP则是一种面向连接的协议。所谓面向连接的协议,就是在两个对等端内部网之间直接建立逻辑连接。
它通过跟踪数据的传送,并确认和跟踪序号来确保它成功到达接收方。简单来说,TCP传输数据比UDP安全。
二、TCP握手
TCP面向连接的传输是以两个主机间的握手开始的。一个主机发送到另一个主机之间的握手有以下三个作用:
1、确保目的主机可用
2、确保目的主机正在侦听目标端口号
3、通知给目的主机发出者的序号,是双方在传输数据时可以 ...
cpu基本概念
在多核心的CPU中,我们在一个封装(socket或者processor)里放入多核(core)。
在超线程(Hyper-threading, HT)中,对于一个物理存在的核心,操作系统会当成两个虚拟的逻辑核心来使用,二个逻辑核心共享L1和L2缓存。
绿色和蓝色标识一个socket
以Sandy Bridge (SNB)家族的Intel Xeon E5-2430为例:
核心(Cores)数量:六核心
来源:http://server.51cto.com/sCollege-198840.htm
从系统架构来看,目前的商用服务器大体可以分为三类,即对称多处理器结构(SMP:Symmetric Multi-Processor),非一致存储访问结构(NUMA:Non-Uniform Memory Access),以及海量并行处理结构(MPP:Massive Parallel Processing)。它们的特征分别描述如下:
SMP(Symmetric Multi-Processor)
所谓对称多处理器结构,是指服务器中多个CPU对称工作,无 ...
jstack中的nid的含义
- 博客分类:
- 基础知识
当运行jstack时,一个stack的内容如下:
Full thread dump Java HotSpot(TM) 64-Bit Server VM (23.25-b01 mixed mode):"Attach Listener" daemon prio=10 tid=0x00000000029eb800 nid=0x5cac waiting on condition [0x0000000000000000] java.lang.Thread.State: RUNNABLE Locked ownable synchronizers: - N ...
来源:http://www.searchtb.com/2012/12/玩转cpu-topology.html
先温习几个概念
请原谅对部分术语笔者直接引用了wikipedia上的英文解释,因为哥实在做不到比wikipedia上更准确描述。我会试着解释部分的术语,并 在本节的最后梳理一下这些术语之间的关系。注意,笔者对由于不准确的描述导致的性能下降,进程crash等任何问题不承担任何责任☺NUMA:Non-Uniform Memory Access (NUMA) is a computer memory design used in multiprocessing, where t ...
在看affinity时发现,有cpu的物理核心和逻辑核心的概念,两个有什么区别呢?
物理核心数,是cpu中真实的核心数。每个核心有独立缓存。
逻辑核心数,是通过超线程技术得到的核心数,逻辑核心共享缓存。
如:单核处理器开启超线程,逻辑核心是2,物理核心是1。
如果在/proc/cpuinfo中看物理核心和逻辑核心呢?
1.具有相同core id的cpu是同一个core的超线程。2.具有相同physical id的cpu是同一颗cpu封装的线程或者cores。
具体如下:
1. 查看物理CPU的个数(physical CPU number) #cat ...
转自:http://www.geek521.com/?p=8778
Java线程有哪些不太为人所知的技巧与用法?
萝卜白菜各有所爱。像我就喜欢Java。学无止境,这也是我喜欢它的一个原因。日常工作中你所用到的工具,通常都有些你从来没有了解过的东西, ...
转自:http://blog.csdn.net/historyasamirror/article/details/5961368
这篇文章分为两部分,前面是ThreadPoolExecutor的一些基本知识,后一部分则是Mina中一个特殊的ThreadPoolExecutor代码解析。算是我的Java学习笔记吧。
基础
在我看来,java比C++的一个大好处就是提供了对多线程的支持(C++只有多线程的库,语言本身不包含线程的概念)。而其中我最爱用的就是ThreadPoolExecutor这个类,它实现了一个非常棒的thread pool。 thread pool一般被 ...
简介
HotSpot JVM中,和性能相关的三个部分为:Heap, JIT Compiler, Garbage Collector。
其中Heap是数据对象存储区域,由Garbage Collector来管理。
大多数的调优选项都是通过设定合适的Garbage Collector来调整Heap区域大小来进行调优的。
性能的两个衡量指标:
1. 响应时间(Responsiveness)
2. 吞吐量(Throughput)
Garbage Collection的简介
垃圾回收的过程,是在内存中区分出正在使用的对象和不再使用的对象,然后把不用的对象删除的过程。具体步骤如下:
1. ...
jstat工具可以详细的显示出HotSpot VM的性能信息.
目前Sun JDK和OpenJDK中均使用了HotSpot技术,即热点代码探测技术。通过执行计数器找出最具有编译价值的代码,然后通知JIT编译器以方法为单位进行编译。如果一个方法被频繁调用,或方法中有效循环次数很多,将会分别触发标准编译和OSR(栈上替换)编译动作。通过编译器与解释器恰当地协同工作,可以在最优化的程序响应时间与最佳执行性能中取得平衡,而且无须等待本地代码输出才能执行程序,即时编译的时间压力也相对减小,这样有助于引入更多的代码优化技术,输出质量更高的本地代码。
详细的参数及含义见本文结尾的参考文献3.
例如: ...
在第一篇中,我们来介绍查看jvm运行状态的一些工具。
jps
jps用来查看当前系统中运行的java程序
jps, 使用默认参数的话,直接显示出java程序的pid(即vmid)和运行的程序名称。
jps, 使用-v参数,显示传入到jvm的参数.
jcmd
jcmd是jdk7中提供的新工具, 可以获得比jps更多的信息.
jcmd, 使用默认参数, 显示pid和类名称(或者jar名称)
jcmd中最重要的是,使用jcmd pid help,可以查看jvm中允许jcmd获取哪些信息. 如
下面例子中,也可以直接使用类名称(或者jar名称)来代替pid来执行. 即下 ...
原文见:
https://www.eclipse.org/m2e/documentation/m2e-execution-not-covered.html
HINT: Use quick fix to create “ignore” mapping, then replace <ignore/> action with <execute/>. M2Eclipse 1.3 and newer assume safer runOnIncremental=false by default. It is recommended to always specific desire ...
java内部使用的编码为unicode编码,在netbeans中使用时有时会将properties配置文件保存成unicode格式的,这样在其它编辑器中会显示成\0000字符.
java自带的工具native2ascii可以将unicode编码转换成utf-8编码,命令如下:
native2ascii -reverse -encoding UTF-8 unicode.properties utf-8.properties
1. FindBugs: 找出代码中的低级错误
http://findbugs.cs.umd.edu/eclipse/
2. Checkstyle: 根据规则检查代码是否符合规范
http://eclipse-cs.sf.net/update/
3. maven插件:
http://download.eclipse.org/technology/m2e/releases
4. svn插件
http://subclipse.tigris.org/update_1.8.x/
5. Commons4E is an Eclipse plug-in for making using the Ja ...
1. HttpClient连接池原理及一次连接时序图, 见:http://www.haogongju.net/art/1928653
2. HttpClient连接池抛出大量ConnectionPoolTimeoutException: Timeout waiting for connection异常排查 http://blog.csdn.net/shootyou/article/details/6615051
3. 再谈应用环境下的TIME_WAIT和CLOSE_WAIT http://blog.csdn.net/shootyou/article/details/6622226 ...