自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 收藏
  • 关注

转载 K:Tcp/Ip三次握手与四次挥手

@转载自:http://blog.csdn.net/oney139/article/details/8103223和@转载自:http://blog.csdn.net/hacker00011000/article/details/52319111TCP头部: 其中 ACK   SYN 序号  这三个部分在以下会用到,它们的介绍也在下面。  暂时需要的信息有:AC

2017-11-09 17:34:15 281

转载 k:UDP打洞原理

@装载自:http://www.cnblogs.com/wunaozai/p/5545150.html关于Client R会少接收到一个"打洞消息"这个信息。不是因为UDP的丢包,是Client L 发送的打洞命令。简单说一下。一开始ClientL发送一个UDP到Server,此时ClientL的路由器会保留这样的一条记录(ClientL:IP:Port->Server:IP:Po

2017-11-07 23:37:23 537

转载 K:NAT原理与NAT穿越

@装载自:http://blog.csdn.net/whoamiyang/article/details/51992208先做一个约定: 内网A中有:A1(192.168.30.112),A2(192.168.30.114)两个用户网关X1(一个NAT设备)有公网IP222.225.80.51; 内网B中有:B1(192.168.40.112),B2(192.168

2017-11-07 22:40:55 431

转载 K:DHCP工作过程

@装载自:http://tonyguo.blog.51cto.com/379574/163475/一、DHCP客户机初始化:1. 寻找DHCP Server。当DHCP客户机第一次登录网络的时候(也就是客户机上没有任何IP地址数据时),它会通过UDP 67端口向网络上发出一个DHCPDISCOVER数据包(包中包含客户机的MAC地址和计算机名等信息)。因为客户机还不知道自己

2017-11-07 22:33:44 267

原创 Q:记学习枚举过程中的一个小问题

在学习有关java枚举的时候,我们知道了所有的枚举类型均是继承自java.lang.Enum类的,且所有的枚举常量均是该枚举类型的一个对象,且对象名即为该枚举常量的名称。例子如下:源码:public enum T {    SPRING,SUMMER,AUTUMN,WINTER;} 反编译后的代码:public final class T extends Enum

2017-10-26 15:53:46 265

原创 KandQ:单例模式的七种写法及其相关问题解析

@改进自:http://cantellow.iteye.com/blog/838473设计模式中的单例模式可以有7种写法,这7种写法有各自的优点和缺点。代码示例(java)及其分析如下:一、懒汉式public class Singleton{private static Singleton singleton;private Singleton(){}public

2017-10-25 23:26:26 261

原创 K:Serializable或Externalizable对象的序列化

在java中,对一个对象进行序列化操作,其有两种方式,第一种是通过实现java.io.Serializable接口,该接口是一个标志接口,其没有任何抽象方法需要进行重写,实现了Serializable接口的类,其序列化过程是默认的,当然,也可以通过在该类中重写如下四个方法对序列化的过程进行控制:0、privateObject writeReplace() throws ObjectStre

2017-10-25 21:22:09 317

原创 K:枚举的线程安全性及其序列化问题

@改进自:http://blog.csdn.net/jinzhencs/article/details/50561359枚举是如何保证线程安全的且其在序列化和反序列化的操作中是单例的要想看源码,首先得有一个类吧,那么枚举类型到底是什么类呢?是enum吗?答案很明显不是,enum就和class一样,只是一个关键字,他并不是一个类,那么枚举是由什么类维护的呢,我们简单的写一个枚举:publ

2017-10-24 22:14:25 622

转载 K:java序列化和反序列化

@转载自:http://blog.csdn.net/wangloveall/article/details/7992448/Java序列化与反序列化是什么?为什么需要序列化与反序列化?如何实现Java序列化与反序列化?本文围绕这些问题进行了探讨。 1.Java序列化与反序列化 Java序列化是指把Java对象转换为字节序列的过程;而Java反序列化是指把字节序列恢复为Java对象的过程

2017-10-23 22:51:05 179

转载 K:小白科普之分布式和集群

@转载自:https://mp.weixin.qq.com/s/HbYfF4iBGgc7VHPFr5qJoA   @公众号:码农翻身1分布式小明的公司有3个系统: 系统A、系统B和系统C ,这三个系统所做的业务不同,被部署在3个独立的机器上运行, 他们之间互相调用(当然是跨域网络的), 通力合作完成公司的业务流程。将不同的业务分布在不同的地方

2017-10-23 15:36:30 335

原创 K:正则表达式之进阶

子表达式前面所介绍的关于重复匹配的知识,其重复匹配的字符只作用于紧挨着的前一个字符而言,而有时候要将一个集体(姑且用该概念进行称呼)进行重复多遍的进行匹配,则使用前面所介绍的知识,其是无法做到的。为此,使用了子表达式的概念。子表达式是一个更大的表达式的一部分,把一个表达式划分为一系列子表达式的目的是为了把那些子表达式当作一个独立元素来进行使用。子表达式,用(和)括起来,其()中的内容表示一个整

2017-10-22 23:16:31 307

原创 K:正则表达式之基础简介

正则表达式(regular expression 简称regex)是一种工具,和其它工具一样是为了解决某一类问题而发明的。正则表达式是一些用来匹配和处理文本的字符串。平时主要用于查找和替换符合相应模式的文本,而该模式,就是由正则表达式所定义。需要注意的是,使用正则表达式对字符串进行匹配,正则表达式的编写方案并不是唯一的,同一个问题,往往会有多种方案。同时,需要注意的是正则表达式的语法是区分大小

2017-10-22 20:39:22 511

转载 K:maven的相关介绍

maven的相关简介,以及在eclipse中如何使用maven。@文章:http://blog.csdn.net/jiuqiyuliang/article/details/41076215

2017-10-21 16:52:33 181

转载 K:eclipse导入github的maven项目

@转载自:http://yunchow.iteye.com/blog/2120001ps:需要注意的是,电脑中需要先安装了maven,而使用maven又必须先安装了JDK。maven的安装和配置详见:https://jingyan.baidu.com/article/d8072ac45d3660ec94cefd51.html从远程GIT上导出一个Maven项目到Eclipse大

2017-10-21 15:43:25 375

转载 K:利用Github、Eclipse进行分布式协同开发

@转载自: http://blog.csdn.net/zhzxlc_06/article/details/46671153     Git是分布式版本控制的一种实现方式,Github提供了Git版本库托管服务。本文主要介绍利用Github与Eclipse进行团队分布式协同开发。需要指出的是,任何IDE都可以与Git协作进行开发,Eclipse与Github并无关联。Git历史

2017-10-20 23:33:32 378

转载 K:利用System.getProperties()方法获得的虚拟机进程的信息

@装载自:http://blog.csdn.net/coolhty/article/details/3260659public class JavaGetProperties{ public static void main(String[ ] args) { Properties props=System.getProperties(); //系统属性 System

2017-10-08 12:56:45 253

转载 K:Eclipse Memory Analyzer的安装和使用

@转载自:http://blog.csdn.net/wizard_rp/article/details/73266194简单描述一下Eclipse中Memory Analysis toos插件的安装和使用,以下简称MAT。 1. 安装  在Eclipse help -> Eclipse Marketplace下搜索Memory: 图 1-1 搜索MAT插件 

2017-10-05 19:09:37 299

转载 K:java枚举的常见用法

@转载自:http://www.cnblogs.com/felicityxi/p/6710231.html和http://blog.csdn.net/zknxx/article/details/51884536用法一:常量在JDK1.5 之前,我们定义常量都是: publicstaticfianl.... 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量

2017-10-04 11:31:27 239

原创 K:找寻最长子序列的四个算法

package other;/** * 该类用于演示寻找最长子序列的几种算法 * @author 学徒 * */public class MaxSubLined{ public static void main(String[] args) { int[] array={-2,11,-4,13,-5,2,-5,-3,12,-9}; MaxSubLined max=new

2017-10-04 10:16:05 465

原创 K:找寻数组中第n大的数组元素的值的三个算法

package other;import java.util.Arrays;/** * 该类用于演示在一个无序的数组中寻找第n大的数的三个算法 * @author 学徒 * */ public class FindTHNumber {  int[] array=null;  public static void main(String[] args)  {   FindT

2017-10-04 10:13:51 465

转载 K:注解处理

@转载自:http://www.cnblogs.com/peida/archive/2013/04/26/3038503.html如果没有用来读取注解的方法和工作,那么注解也就不会比注释更有用处了。使用注解的过程中,很重要的一部分就是创建并使用注解处理器。Java SE5扩展了反射机制的API,以帮助程序员快速的构造自定义注解处理器。注解处理器类库(java.lang.reflect.An

2017-10-01 16:22:26 208

转载 K:注解语法简介

@转载自:http://www.cnblogs.com/peida/archive/2013/04/24/3036689.html注解分为元注解(meta-annotation)和自定义注解元注解:元注解:是负责注解(动词)其它注解(名词)的注解(名词)。java5.0中有4个标准的注解。它用来对其它annotation类型作说明1.@Target2.@Retention

2017-10-01 16:20:20 250

转载 K:注解简介

@转载自:http://www.cnblogs.com/peida/archive/2013/04/23/3036035.html什么是注解(Annotation):Annotation(注解)注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用

2017-10-01 16:18:45 226

转载 k:java中的内存泄露及其线程状态可视化

@转载自:http://www.jb51.net/article/49428.htmQ:在Java中怎么可以产生内存泄露?A:Java中,造成内存泄露的原因有很多种。典型的例子是一个没有实现hasCode和equals方法的Key类在HashMap中保存的情况。最后会生成很多重复的对象。所有的内存泄露最后都会抛出OutOfMemoryError异常,下面通过一段简短

2017-09-29 23:07:43 277

转载 K:java中的内存泄露

@转载自:http://www.importnew.com/12961.htmlJava语言的一个关键的优势就是它的内存管理机制。你只管创建对象,Java的垃圾回收器帮你分配以及回收内存。然而,实际的情况并没有那么简单,因为内存泄漏在Java应用程序中还是时有发生的。下面就解释下什么是内存泄漏,它为什么会发生,以及我们如何阻止它的发生。1. 什么是内存泄漏?内存泄漏

2017-09-29 23:02:58 163

转载 k:java中jps命令的使用

@转载自:http://blog.csdn.net/wisgood/article/details/38942449jps是jdk提供的一个查看当前java进程的小工具, 可以看做是JavaVirtual Machine Process Status Tool的缩写。非常简单实用。命令格式:jps [options ] [ hostid ] [options]选项 :-q:仅输

2017-09-29 22:57:58 349

转载 K:JVM调优总结 -Xms等

@转载自:http://unixboy.iteye.com/blog/174173/ 堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JD

2017-09-29 22:39:36 357

转载 K:谈谈Runtime类中的freeMemory,totalMemory,maxMemory等几个方法

@转载自:http://7sunet.iteye.com/blog/285007最近在网上看到一些人讨论到java.lang.Runtime类中的freeMemory(),totalMemory(),maxMemory ()这几个方法的一些问题,很多人感到很疑惑,为什么,在java程序刚刚启动起来的时候freeMemory()这个方法返回的只有一两兆字节,而随着 java程序往前运行,

2017-09-29 21:45:31 298

翻译 Q:JDK6中的substring()方法容易导致内存泄露而JDK7不会出现这样的情况的原因

@文章来源:https://www.programcreek.com/2013/09/the-substring-method-in-jdk-6-and-jdk-7/JDK6和JDK7中提供的substring(int beginIndex,int endIndex)方法的实现是不同的。这篇文章用来讲解其不同之处。为了简单起见,在这文章中,substring()方法代表了substring

2017-09-29 20:30:41 415

转载 Q:java中serialVersionUID的作用

@转载自:http://www.cnblogs.com/guanghuiqq/archive/2012/07/18/2597036.html 简单来说,Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体(类)的serialVersionUID进行比较,如果相同就认为是

2017-09-23 12:09:36 368

原创 Q:java中关于String类型的一个问题

在java中,曾经编写过一个代码,其导致了程序运行的出错,经过多次检查之后,发现其问题出现在字符串对象上。其问题代码简写如下:class Test{    private String questionString=null;    public static void main(String[] args)    {        Test as=new Test();

2017-09-23 10:47:25 222

转载 eclipse连接github

eclipse下与github进行关联

2017-09-10 17:24:13 372

原创 K:设计模式—绪论

设计模式:  设计模式是一种模式,在面向对象的语言中,它运用类与方法来达到目标。或许我们已经注意到,某些人的代码简洁而实用,那么他们究竟是怎样才能让代码拥有如此的简单之美?设计模式提升了代码的水准,通常会实用更少的类来完成目标。模式是思想的体现,而非具体的实现。  任何模式的核心要素在于它的意图,这才是运用模式的潜在价值。设计模式的意图在于用更为简便的方式表达需求。根据意图对模式进行分类,其情况

2017-09-03 21:32:33 214

原创 K:栈和队列的比较

栈和队列的相同点:  1.都是线性结构,即数据元素之间具有“一对一”的逻辑关系  2.都可以在顺序存储结构和链式存储结构上进行实现  3.在时间代价上,插入和删除操作都需常数时间;在空间代价上,情况相同  4.多链栈和多链队列的管理模式可以相同栈和队列的不同点:  1.删除数据元素操作的位置不同。对于栈而言,其在一端插入数据元素,同时在该端删除数据元素,对于队列而言,其在一端插入数据元素,

2017-09-01 12:35:16 315

原创 k:特殊的线性表—队列

队列的概念:队列是另一种特殊的线性表,它的特殊性体现在其只允许在线性表的一端插入数据元素,在线性表的另一端删除数据元素(一般会采用在线性表的表尾那端(没被head指针所指的那端)插入数据元素,在线性表的表头(被head指针所指的那端)那端删除数据元素,因为按照此种方式进行操作的队列,无论采用的是顺序存储方式的物理结构还是链式存储方式的物理结构,其插入和删除数据元素的时间复杂度为O(1))。所以队列是

2017-09-01 10:52:25 398

原创 Q:关于栈的常见问题

对于栈,一个常见的问题是:给定一个序列a0,a1,a2,a3…an依次顺序入栈,在元素顺序入栈的过程中,栈中任意一个元素可以选择是否出栈,则其共有几种出栈的可能,给定的出栈序列中,哪种是不可能的。  针对以上的这个问题(实际上是两个),对于出栈的可能的种类数目,其总共有种,详见卡塔兰数问题。wiki链接:https://zh.wikipedia.org/wiki/%E5%8D%A1%E5%A1%9

2017-08-31 13:23:24 791 2

原创 k:特殊的线性表—栈

栈(Stack):  栈是一种特殊的线性表,栈中的数据元素以及数据元素之间的逻辑关系和线性表相同,两者之间的差别在于:线性表的插入和删除操作可以在表的任意位置进行,而栈的插入和删除操作只允许在表的尾端进行。其中,允许进行插入和删除操作的一端称为栈顶,另一端称为栈底。通常,将元素插入栈的操作叫做入栈(push),而将元素从栈中进行删除并返回的操作叫做出栈(pop)。栈可以看成是一种受限的特殊的线性表

2017-08-31 11:47:39 414

原创 K:线性表的实现—链表

单链表的概念:  采用链式存储方式存储的线性表称之为链表,链表中每个节点包含存放数据元素的值的数据域和存放指向逻辑上相邻节点的指针域。若一个节点中只包含一个指针域,则称此链表为单链表。 单链表的特点:  1. 单链表是通过指向后继节点的指针把它的一串节点连接成一个链  2. 以线性表这种第一个数据元素的存储地址作为线性表的起始地址,称做线性表的头指针。一个单链表就是由他的头指针head来唯一

2017-08-30 17:37:53 384 2

原创 K:顺序表和链表的比较

顺序表和链表是线性表的两种基本实现形式(链表还有多种变化形式),对于这两种实现方式,没有一种方法可以称是最好的,他们各自有着各自的特点和优缺点,适用于不同的应用场景。  与顺序表相比,链表较为灵活,它既不要求在预先分配的一块连续的存储空间中存储线性表的所有数据元素,也不要求按其逻辑顺序来分配存储单元,可根据需要进行存储空间的动态分配。因此,当线性表的长度变化较大或长度难以估计时,宜用链表。但在线性

2017-08-30 11:10:16 449 1

原创 K:线性表的实现—顺序表

所谓顺序表,就是顺序存储的线性表。顺序存储就是用一组地址连续的存储单元依次存放线性表中各个数据元素的存储结构。线性表中所有数据元素的类型是相同的,所以每一个数据元素在存储器中占用相同的大小的空间。假设每一个数据元素占b个存储单元,且a0(即线性表中的第一个数据元素)的存储地址为Loc(a0)(此地址也称为线性表的基地址),则第i个数据元素的地址可表示为: Loc(ai)=Loc(a0)+i*b 其

2017-08-30 10:48:51 330 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除