antlr提取代码注释
摘要:1. 来由 为什么要写提取注释呢,起因是工作需要。弄这么个不太重要的功能点来讲,旨在抛砖引玉。 一般而言,大家使用antlr解析源代码的时候,不会关心注释和空格之类内容,默认会过滤掉,不会放到语法树里,讲了,真把空格这类东西保留在语法树里,会带来很多问题。要保留注释的话,也不会放进语法树里,而是会导
阅读全文
posted @
2017-09-30 16:23
csguo
阅读(1813)
推荐(0)
java开发编译器:中间语言格式
摘要:阅读博客的朋友可以到我的网易云课堂中,通过视频的方式查看代码的调试和执行过程: http://study.163.com/course/courseMain.htm?courseId=1002830012 在通常情况下,编译器会将目标语言转换成某种中间语言格式,而不是直接将源代码转换成二进制机器指令
阅读全文
posted @
2017-09-30 14:54
csguo
阅读(1721)
推荐(0)
用java做操作系统内核:软盘读写
摘要:在前两节,我们将一段代码通过软盘加载到了系统内存中,并指示cpu执行加入到内存的代码,事实上,操作系统内核加载也是这么做的。只不过我们加载的代码,最大只能512 byte, 一个操作系统内核,少说也要几百兆,由此,系统内核不可能直接从软盘读入系统内存。 通常的做法是,被加载进内存的512 Byte程
阅读全文
posted @
2017-09-30 14:53
csguo
阅读(1516)
推荐(0)
操作系统的理解
摘要:1、在单核计算机里,有一个资源是无法被多个程序并行使用的:cpu。 没有操作系统的情况下,一个程序一直独占着全都cpu。 如果要有两个任务来共享同一个CPU,程序员就需要仔细地为程序安排好运行计划--某时刻cpu和由程序A来独享,下一时刻cpu由程序B来独享 而这种安排计划后来成为OS的核心组件,被
阅读全文
posted @
2017-09-30 14:43
csguo
阅读(576)
推荐(0)
进程、线程、并发执行的概念
摘要:关于进程、线程、并发执行的概念,我们先来看下面的一段话:“一般来说,当运行一个应用程序的时候,就启动了一个进程,当然有些会启动多个进程。启动进程的时候,操作系统会为进程分配资源,其中最主要的资源是内存空间,因为程序是在内存中运行的。在进程中,有些程序流程块是可以乱序执行的,并且这个代码块可以同时被多
阅读全文
posted @
2017-09-30 14:42
csguo
阅读(785)
推荐(0)
DAO设计模式(转)
摘要:J2EE开发人员使用数据访问对象(DAO)设计模式把底层的数据访问逻辑和高层的商务逻辑分开.实现DAO模式能够更加专注于编写数据访问代码. 我们先来回顾一下DAO设计模式和数据访问对象. DAO基础 DAO模式是标准的J2EE设计模式之一.开发人员使用这个模式把底层的数据访问操作和上层的商务逻辑分开
阅读全文
posted @
2017-09-30 14:38
csguo
阅读(236)
推荐(0)
反应器(Reactor)模式
摘要:Java NIO非堵塞技术实际是采取反应器模式,或者说是观察者(observer)模式为我们监察I/O端口,如果有内容进来,会自动通知我们,这样,我们就不必开启多个线程死等,从外界看,实现了流畅的I/O读写,不堵塞了。 同步和异步区别:有无通知(是否轮询),异步:处理完后会通知请求方堵塞和非堵塞区别
阅读全文
posted @
2017-09-30 14:37
csguo
阅读(552)
推荐(0)
java字符串应用之表达式解析器
摘要:一、表达式的组成 1、数字 2、运算符:+ - / * ^ % = 3、圆括号 4、变量二、运算符优先级 由高到低分别为:+-(正负号)、^、*/%、+-、= 优先级相等的运算符按照从左到右的顺序计算三、关键技术点 1、确定运算的优先级,从高到低分别为:原子元素表达式,包括数字和变量;括号表达式;一
阅读全文
posted @
2017-09-30 14:34
csguo
阅读(8113)
推荐(0)
Aviator 表达式求值引擎开源框架
摘要:简介¶ Aviator是一个高性能、轻量级的java语言实现的表达式求值引擎,主要用于各种表达式的动态求值。现在已经有很多开源可用的java表达式求值引擎,为什么还需要Avaitor呢? Aviator的设计目标是轻量级和高性能 ,相比于Groovy、JRuby的笨重,Aviator非常小,加上依赖
阅读全文
posted @
2017-09-30 14:33
csguo
阅读(48490)
推荐(4)
表达式解析引擎的设计
摘要:前言 表达式的计算是一个一般性的问题。在报表领域,经常会出现支持计算公式的需求。MS Office Excel中的函数计算就是一个很好的参考例子。 本文提供一个表达式引擎的设计方案,能够满足报表领域的复杂计算要求。 一个良好的表达式引擎应该支持基本的二元运算和函数调用,而且二元运算能够嵌套函数调用,
阅读全文
posted @
2017-09-30 14:31
csguo
阅读(5100)
推荐(0)
基于Java的简易表达式解析工具(一)
摘要:最近需要用到相关表达式解析的工具,然后去网上搜索,找到了一个用C#写的表达式解析工具,仔细看了功能后发现,这正是我需要的,如果我能将它改造成基于Java语言的方式,岂不是更好吗,所以花了一段时间,把网上的C#的代码转换成了Java的代码,如今已经用它处理完美的处理一些表达式解析的工作。 先来看下这个
阅读全文
posted @
2017-09-30 14:28
csguo
阅读(2387)
推荐(0)
基于Java的简易表达式解析工具(二)
摘要:之前简单的介绍了这个基于Java表达式解析工具,现在把代码分享给大家,希望帮助到有需要的人们,这个分享代码中依赖了一些其他的类,这些类大家可以根据自己的情况进行导入,无非就是写字符串处理工具类,日期处理的工具类什么的。 这个Java的表达式解析的工具只用了5个类,而且写得也很简单明了,相信有一些编程
阅读全文
posted @
2017-09-30 14:27
csguo
阅读(4887)
推荐(0)
有限状态机驱动的整形,浮点型数值识别器
摘要:大家好,欢迎大家来到coding迪斯尼.本节代码可在如下链接下载: http://pan.baidu.com/s/1jHqNGjk 或是网易云课堂视频所在附件。 阅读博客的朋友可以到我的网易云课堂中,通过视频的方式查看代码的调试和执行过程: http://study.163.com/course/c
阅读全文
posted @
2017-09-30 14:26
csguo
阅读(1001)
推荐(0)
词法解析算法的一些概念说明
摘要:大家好,欢迎大家来到Coding迪斯尼,在深入探究词法解析算法前,我们需要了解一些基本概念。了解基本概念有点像背单词,它有些无聊,但你又不得不做。好在这类事情在我们的课程里不多。大家过过眼,留个心眼就好。 阅读博客的朋友可以到我的网易云课堂中,通过视频的方式查看代码的调试和执行过程: http://
阅读全文
posted @
2017-09-30 14:25
csguo
阅读(1720)
推荐(0)
编译原理输入系统的实现
摘要:大家好,欢迎大家来到coding迪斯尼,愿天下没有难学的知识 阅读博客的朋友可以到我的网易云课堂中,通过视频的方式查看代码的调试和执行过程: http://study.163.com/course/courseMain.htm?courseId=1002830012 这篇文章是我课程中的系列讲稿,也
阅读全文
posted @
2017-09-30 14:23
csguo
阅读(696)
推荐(0)
输入及词法分析详解
摘要:欢迎大家来到coding迪斯尼,我的愿景是:让天下没有难学的知识 这句话是跟马云学的,就算没马云的命,那就用马云的话,也是不错的。 阅读博客的朋友可以到我的网易云课堂中,通过视频的方式查看代码的调试和执行过程: http://study.163.com/course/courseMain.htm?c
阅读全文
posted @
2017-09-30 14:21
csguo
阅读(1661)
推荐(0)
用java实现编译器-算术表达式及其语法解析器的实现
摘要:大家在参考本节时,请先阅读以下博文,进行预热: http://blog.csdn.net/tyler_download/article/details/50708807 本节代码下载地址: http://pan.baidu.com/s/1sjWiwPn 代码的理解和运行是吃透编译原理的关键,如果我们
阅读全文
posted @
2017-09-30 14:13
csguo
阅读(2630)
推荐(2)
用java实现一个简易编译器-语法解析
摘要:语法和解析树: 举个例子看看,语法解析的过程。句子:“我看到刘德华唱歌”。在计算机里,怎么用程序解析它呢。从语法上看,句子的组成是由主语,动词,和谓语从句组成,主语是“我”,动词是“看见”, 谓语从句是”刘德华唱歌“。因此一个句子可以分解成 主语 + 动词 + 谓语从句: 句子-->主语+动词 +
阅读全文
posted @
2017-09-30 13:44
csguo
阅读(3639)
推荐(1)
用java实现一个简易编译器1-词法解析入门
摘要:本文对应代码下载地址为: http://download.csdn.net/detail/tyler_download/9435103 视频地址: http://v.youku.com/v_show/id_XMTQ3NTQwMDkxMg==.html?from=s1.8-1-1.2 技术的发展可谓是
阅读全文
posted @
2017-09-30 13:39
csguo
阅读(3217)
推荐(1)
模板方法模式
摘要:一、简介 模板方法模式是类的行为模式,需要开发抽象类和具体子类的工程师之间的合作。一个工程师负责给出一个算法的轮廓和骨架,另一个工程师负责给出这个算法的各个逻辑步骤。代表这些具体逻辑步骤的方法称为基本方法,而将这些基本方法汇总起来的方法叫做模板方法。 二、设计思想 模板模式通常会设计一个抽象类,内部
阅读全文
posted @
2017-09-24 22:42
csguo
阅读(292)
推荐(0)
JMX超详细解读
摘要:一、JMX的定义 JMX(Java Management Extensions)是一个为应用程序植入管理功能的框架。JMX是一套标准的代理和服务,实际上,用户可以在任何Java应用程序中使用这些代理和服务实现管理。这是官方文档上的定义,我看过很多次也无法很好的理解。我个人的理解是JMX让程序有被管理
阅读全文
posted @
2017-09-24 22:36
csguo
阅读(617)
推荐(0)
java Fork/Join框架
摘要:应用程序并行计算遇到的问题 当硬件处理能力不能按摩尔定律垂直发展的时候,选择了水平发展。多核处理器已广泛应用,未来处理器的核心数将进一步发布,甚至达到上百上千的数量。而现在很多的应用程序在运行在多核心的处理器上并不能得到很好的性能提升,因为应用程序的并发处理能力不强,不能够合理有效地的利用计算资源。
阅读全文
posted @
2017-09-24 22:16
csguo
阅读(334)
推荐(0)
Java 并行编程!
摘要:多核处理器现在已广泛应用于服务器、台式机和便携机硬件。它们还扩展到到更小的设备,如智能电话和平板电脑。由于进程的线程可以在多个内核上并行执行,因此多核处理器为并发编程打开了一扇扇新的大门。为实现应用程序的最大性能,一项重要的技术就是将密集型任务拆分成可以并行执行的若干小块,以便最大程度利用计算能力。
阅读全文
posted @
2017-09-24 21:51
csguo
阅读(5609)
推荐(0)
Java简单的RPC实现(一)
摘要:RPC使用java最基本的,传输层使用Socket,序列化使用Serializable,java 动态代理模式,但是未实现消息注册等相关信息 大道至简 server端 ConfMonitor RpcThread StartUp HelloImpl IHello 客户端实现: ProxyFactory
阅读全文
posted @
2017-09-22 16:00
csguo
阅读(4235)
推荐(0)
Java的SPI机制与简单的示例
摘要:一、SPI机制 这里先说下SPI的一个概念,SPI英文为Service Provider Interface单从字面可以理解为Service提供者接口,正如从SPI的名字去理解SPI就是Service提供者接口;我对SPI的定义:提供给服务提供厂商与扩展框架功能的开发者使用的接口。 在我们日常开发的
阅读全文
posted @
2017-09-22 10:49
csguo
阅读(207)
推荐(0)
简单Tomcat HTTP RPC框架
摘要:RPC基础知识 什么是RPC? RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。 RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模
阅读全文
posted @
2017-09-22 08:54
csguo
阅读(899)
推荐(0)
Java 网络IO编程总结(BIO、NIO、AIO均含完整实例代码)
摘要:转载请注明出处:http://blog.csdn.net/anxpp/article/details/51512200,谢谢! 本文会从传统的BIO到NIO再到AIO自浅至深介绍,并附上完整的代码讲解。 下面代码中会使用这样一个例子:客户端发送一段算式的字符串到服务器,服务器计算后返回结果到客户端。
阅读全文
posted @
2017-09-21 22:54
csguo
阅读(451)
推荐(0)
Java序列化机制和原理
摘要:Java序列化算法透析 Serialization(序列化)是一种将对象以一连串的字节描述的过程;反序列化deserialization是一种将这些字节重建成一个对象的过程。Java序列化API提供一种处理对象序列化的标准机制。在这里你能学到如何序列化一个对象,什么时候需要序列化以及Java序列化的
阅读全文
posted @
2017-09-21 22:36
csguo
阅读(1033)
推荐(0)
攻破JAVA NIO技术壁垒
摘要:现在使用NIO的场景越来越多,很多网上的技术框架或多或少的使用NIO技术,譬如Tomcat,Jetty。学习和掌握NIO技术已经不是一个JAVA攻城狮的加分技能,而是一个必备技能。再者,现在互联网的面试中上点level的都会涉及一下NIO或者AIO的问题(AIO下次再讲述,本篇主要讲述NIO),掌握
阅读全文
posted @
2017-09-21 18:29
csguo
阅读(194)
推荐(0)
代理模式(Proxy)
摘要:代理模式是对象的结构型模式,代理模式给某一个对象提供了一个代理对象,并由代理对象控制对原对象的引用。 代理分静态代理和动态代理 一、静态代理 代码示例 接口 [java] view plain copy print? package com.jialinl; public interface Int
阅读全文
posted @
2017-09-21 17:44
csguo
阅读(312)
推荐(0)
Java序列化与反序列化
摘要:Java序列化与反序列化是什么?为什么需要序列化与反序列化?如何实现Java序列化与反序列化?本文围绕这些问题进行了探讨。 1.Java序列化与反序列化 Java序列化是指把Java对象转换为字节序列的过程;而Java反序列化是指把字节序列恢复为Java对象的过程。 2.为什么需要序列化与反序列化
阅读全文
posted @
2017-09-21 17:33
csguo
阅读(172)
推荐(0)
java内存中的对象
摘要:前记:几天前,在浏览网页时偶然的发现一道以前就看过很多遍的面试题,题目是:“请说出‘equals’和‘==’的区别”,当时我觉得我还是挺懂的,在心里答了一点(比如我们都知道的:‘==’比较两个引用是否指向同一个对象,‘equals’比较两个对象的内容),可是总觉得心里有点虚虚的,因为这句话好像太概括
阅读全文
posted @
2017-09-21 17:29
csguo
阅读(442)
推荐(0)
IOC给程序带来的好处
摘要:IOC(inversion of control)的中文解释是“控制反转”或者“依赖注入”,它的实现目的是:我们可以通过配置文件来控制程序的流程,达到程序代码的优化。初学者往往弄不清楚为什么我们可以通过“控制反转”或“依赖注入”来优化我们的代码。今天我想借这个机会说说我对IOC程序设计原则的认识,以
阅读全文
posted @
2017-09-21 17:26
csguo
阅读(4675)
推荐(1)
hadoop的RPC机制 -源码分析
摘要:这些天一直奔波于长沙和武汉之间,忙着腾讯的笔试、面试,以至于对hadoop RPC(Remote Procedure Call Protocol ,远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。可以参考:http://baike.baidu.com/v
阅读全文
posted @
2017-09-21 17:25
csguo
阅读(274)
推荐(0)
JAVA动态代理
摘要:最近一直在分析hadoop的RPC机制。在hadoop中,DataNode和NameNode之间的控制信息的交流是通过RPC机制完成的,采用的是动态代理和java NIO(参考博客:http://weixiaolu.iteye.com/blog/1479656 ) 的方式。DataNode端是通过获
阅读全文
posted @
2017-09-21 17:05
csguo
阅读(189)
推荐(0)
Java NIO原理图文分析及代码实现
摘要:最近在分析hadoop的RPC(Remote Procedure Call Protocol ,远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。可以参考:http://baike.baidu.com/view/32726.htm )机制时,发现hadoo
阅读全文
posted @
2017-09-21 16:57
csguo
阅读(265)
推荐(0)
Hadoop/Spark生态圈里的新气象
摘要:令人惊讶的是,Hadoop在短短一年的时间里被重新定义。让我们看看这个火爆生态圈的所有主要部分,以及它们各自具有的意义。 对于Hadoop你需要了解的最重要的事情就是 ,它不再是原来的Hadoop。 这边厢,Cloudera有时换掉HDFS改用Kudu,同时宣布Spark是其圈子的核心(因而一概取代
阅读全文
posted @
2017-09-21 16:34
csguo
阅读(441)
推荐(0)
Hadoop RPC机制的使用
摘要:一、RPC基础概念 1.1 RPC的基础概念 RPC,即Remote Procdure Call,中文名:远程过程调用; (1)它允许一台计算机程序远程调用另外一台计算机的子程序,而不用去关心底层的网络通信细节,对我们来说是透明的。因此,它经常用于分布式网络通信中。 RPC协议假定某些传输协议的存在
阅读全文
posted @
2017-09-21 14:49
csguo
阅读(441)
推荐(0)
远程通信机制RPC与RMI的关系
摘要:1.RPC RPC(Remote Procedure Call Protocol)远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC不依赖于具体的网络传输协议,tcp、udp等都可以。由于存在各式各样的变换和细节差异,相应的rpc也派生出了各式远程过
阅读全文
posted @
2017-09-21 13:19
csguo
阅读(653)
推荐(1)
一个故事讲清楚NIO
摘要:假设某银行只有10个职员。该银行的业务流程分为以下4个步骤: 1) 顾客填申请表(5分钟); 2) 职员审核(1分钟); 3) 职员叫保安去金库取钱(3分钟); 4) 职员打印票据,并将钱和票据返回给顾客(1分钟)。 我们看看银行不同的工作方式对其工作效率到底有何影响。 1 BIO方式 每来一个顾客
阅读全文
posted @
2017-09-21 11:59
csguo
阅读(212)
推荐(0)
javaRPC原理
摘要:在学校期间大家都写过不少程序,比如写个hello world服务类,然后本地调用下,如下所示。这些程序的特点是服务消费方和服务提供方是本地调用关系。 而一旦踏入公司尤其是大型互联网公司就会发现,公司的系统都由成千上万大大小小的服务组成,各服务部署在不同的机器上,由不同的团队负责。这时就会遇到两个问题
阅读全文
posted @
2017-09-21 11:47
csguo
阅读(2694)
推荐(0)
[Hive]使用 Antlr 开发领域语言
摘要:Antlr 简介 Antlr 能做什么 编程语言处理 识别和处理编程语言是 Antlr 的首要任务,编程语言的处理是一项繁重复杂的任务,为了简化处理,一般的编译技术都将语言处理工作分为前端和后端两个部分。其中前端包括词法分析、语法分析、语义分析、中间代码生成等若干步骤,后端包括目标代码生成和代码优化
阅读全文
posted @
2017-09-19 17:41
csguo
阅读(758)
推荐(0)
[Hive]HiveSQL解析原理
摘要:Hive是基于Hadoop的一个数据仓库系统,在各大公司都有广泛的应用。美团数据仓库也是基于Hive搭建,每天执行近万次的Hive ETL计算流程,负责每天数百GB的数据存储和分析。Hive的稳定性和性能对我们的数据分析非常关键。 在几次升级Hive的过程中,我们遇到了一些大大小小的问题。通过向社区
阅读全文
posted @
2017-09-19 17:37
csguo
阅读(7412)
推荐(3)
[经典]网关,DNS,DHCP三者关系详解
摘要:什么叫网关的精解 Sample Text转自(协议分析论坛)计算机主机网关的作用是什么?假设你的名字叫小不点,你住在一个大院子里,你的邻居有很多小伙伴,在门口传达室还有个看大门的李大爷,李大爷就是你的网关。当你想跟院子里的某个小伙伴玩,只要你在院子里大喊一声他的名字,他听到了就会回应你,并且跑出来跟
阅读全文
posted @
2017-09-19 09:25
csguo
阅读(871)
推荐(0)
TCP/IP协议栈概述及各层包头分析
摘要:TCP/IP协议栈中各层包头的分析 Protocol列表示的是该数据包最高层对应的协议,Length列表示该包的长度(包括从底层的协议到最高层的协议,其中包头一般是,链路层14字节,IP20字节,TCP20字节) 1、获取数据包 (a) 以“DIY_DE2之DM9000A网卡调试系列例程(二)——D
阅读全文
posted @
2017-09-18 17:57
csguo
阅读(4747)
推荐(0)
HTTP协议—— 简单认识TCP/IP协议
摘要:大学没读计算机专业,所以很多的专业知识都不知道。既然已经从事了IT这个行业,就势必要去了解下网络底层,虽然实际工作中这些东西用不到。高楼大厦,起于平川。不积跬步,无以至千里,不积小流,无以成江海。我现在的知识结构,就如同空中楼阁。稍微遇到高层次的问题,可能就理解不了了。一棵大树如果不在刚开始的时候深
阅读全文
posted @
2017-09-18 17:25
csguo
阅读(828)
推荐(0)
IP:网际协议
摘要:IP简介: 最高位在左边,记为0bit;最低位在右边,记为31bit。 Big endian网络节次序:传输次序位线传输0~7bit,然后传输8~15bit,依次类推。 Little endian:以其他存储形式存储二进制整数的机器,必须在传输数据之前把首部1转换成网络字节次序。 TTL生存时间字段
阅读全文
posted @
2017-09-18 16:08
csguo
阅读(1191)
推荐(0)
ARP地址解析协议原理
摘要:概述 网络层以上的协议用IP地址来标识网络接口,但以太数据帧传输时,以物理地址来标识网络接口。因此我们需要进行IP地址与物理地址之间的转化。 对于IPv4来说,我们使用ARP地址解析协议来完成IP地址与物理地址的转化(IPv6使用邻居发现协议进行IP地址与物理地址的转化,它包含在ICMPv6中)。
阅读全文
posted @
2017-09-18 14:35
csguo
阅读(55794)
推荐(5)
基于线程实现的生产者消费者模型(Object.wait(),Object.notify()方法)
摘要:需求背景 利用线程来模拟生产者和消费者模型 系统建模 这个系统涉及到三个角色,生产者,消费者,任务队列,三个角色之间的关系非常简单,生产者和消费者拥有一个任务队列的引用,生产者负责往队列中放置对象(id),消费者负责从队列中获取对象(id),其关联关系如下 方案1 因为是多线程操作,所以对任务的存取
阅读全文
posted @
2017-09-18 11:58
csguo
阅读(336)
推荐(0)
一个基于Socket的http请求监听程序实现
摘要:首先来看以下我们的需求: 用java编写一个监听程序,监听指定的端口,通过浏览器如http://localhost:7777来访问时,可以把请求到的内容记录下来,记录可以存文件,sqlit,mysql数据库,然后把接受到的信息在浏览器中显示出来 要点: Socket,线程,数据库,IO操作,观察者模
阅读全文
posted @
2017-09-18 11:55
csguo
阅读(4592)
推荐(1)
UrlConnection连接和Socket连接的区别
摘要:关于UrlConnection连接和Socket连接的区别,只知道其中的原理如下:抽象一点的说,Socket只是一个供上层调用的抽象接口,隐躲了传输层协议的细节。urlconnection 基于Http协议,Http协议是应用层协议,对传输层Tcp协议进行了封装,是无状态协议,不需要你往考虑线程、同
阅读全文
posted @
2017-09-18 11:48
csguo
阅读(1623)
推荐(0)
Socket原理
摘要:短连接 连接->传输数据->关闭连接 HTTP是无状态的,浏览器和服务器每进行一次HTTP操作,就建立一次连接,但任务结束后就中断连接。短连接是指SOCKET连接后发送后接收完数据后马上断开连接。 长连接 连接->传输数据->保持连接->传输数据->....->关闭连接 长连接指建立SOCKET连接
阅读全文
posted @
2017-09-18 11:28
csguo
阅读(607)
推荐(0)
TCP连接、Http连接与Socket连接
摘要:1、TCP连接 手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上。 建立起一个TCP连接需要经过“三次握手”: 第一次握手:客户端发送syn包(syn=j)到服务器,并
阅读全文
posted @
2017-09-18 11:02
csguo
阅读(2415)
推荐(0)
DHCP协议原理及其实现流程
摘要:DHCP(Dynamic Host Configuration Protocol):动态主机配置协议 在常见的小型网络中(例如家庭网络和学生宿舍网),网络管理员都是采用手工分配IP地址的方法,而到了中、大型网络,这种方法就不太适用了。在中、大型网络,特别是大型网络中,往往有超过100台的客户机,手动
阅读全文
posted @
2017-09-18 10:44
csguo
阅读(2903)
推荐(0)
DHCP详解
摘要:DHCP,DNS和HTTP是3种常见的高层协议。 一,动态主机配置协议DHCP 1,DHCP简介 DHCP(Dynamic Host Configuration Protocol),动态主机配置协议,是一个应用层协议。当我们将客户主机ip地址设置为动态获取方式时,DHCP服务器就会根据DHCP协议给
阅读全文
posted @
2017-09-18 09:21
csguo
阅读(12346)
推荐(1)
图解ARP协议(四)代理ARP原理与实践(“善意的欺骗”)
摘要:一、代理ARP概述 我:当电脑要访问互联网上的服务器,目标MAC是什么? 很多小伙伴在刚学习网络协议的时候,经常这样直接回应:不就是服务器的MAC嘛! 这时我会反问:那电脑怎么拿到这个服务器的MAC地址呢? 小伙伴一般都自信的抛出下面两个点: ①根据网络通信中数据封装的原则,通信双方需要封装源目IP
阅读全文
posted @
2017-09-15 18:27
csguo
阅读(5602)
推荐(3)
图解ARP协议(三)ARP防御篇-如何揪出“内鬼”并“优雅的还手”
摘要:一、ARP防御概述 通过之前的文章,我们已经了解了ARP攻击的危害,黑客采用ARP软件进行扫描并发送欺骗应答,同处一个局域网的普通用户就可能遭受断网攻击、流量被限、账号被窃的危险。由于攻击门槛非常低,普通人只要拿到攻击软件就可以扰乱网络秩序,导致现在的公共网络、家庭网络、校园网、企业内网等变得脆弱无
阅读全文
posted @
2017-09-15 17:38
csguo
阅读(3655)
推荐(3)
[图解]ARP协议(一)
摘要:一、ARP概述 如果要在TCP/IP协议栈中选择一个"最不安全的协议",那么我会毫不犹豫把票投给ARP协议。我们经常听到的这些术语,包括"网络扫描"、"内网渗透"、"中间人拦截"、"局域网流控"、"流量欺骗",基本都跟ARP脱不了干系。大量的安全工具,例如大名鼎鼎的Cain、功能完备的Etterca
阅读全文
posted @
2017-09-15 16:58
csguo
阅读(62276)
推荐(22)
图解ARP协议(二)ARP攻击原理与实践
摘要:一、ARP攻击概述 在上篇文章里,我给大家普及了ARP协议的基本原理,包括ARP请求应答、数据包结构以及协议分层标准,今天我们继续讨论大家最感兴趣的话题:ARP攻击原理是什么?通过ARP攻击可以做什么,账号是否可以被窃取?有哪些常见的ARP渗透(攻击)工具可以用来练手?ARP扫描和攻击有什么区别,底
阅读全文
posted @
2017-09-15 16:26
csguo
阅读(13362)
推荐(6)
端口扫描工具nmap
摘要:nmap 使用介绍 nmap是目前为止最广为使用的国外端口扫描工具之一。我们可以从[url]http://www.insecure.org/[/url]进行下载,可以很容易的安装到Windows和unix操作系统中,包括mac os x(通过configure、make 、make install等
阅读全文
posted @
2017-09-15 15:37
csguo
阅读(2490)
推荐(0)
如何查看端口+如何开启/关闭端口
摘要:如何查看端口+如何关闭开放端口 在Windows 2000/XP/Server 2003中要查看端口,可以使用Netstat命令: 依次点击“开始→运行”,键入“cmd”并回车,打开命令提示符窗口。在命令提示符状态下键入“netstat -a -n”,按下回车键后就可以看 到以数字形式显示的TCP和
阅读全文
posted @
2017-09-15 15:30
csguo
阅读(9066)
推荐(2)
Windump 的用法/Windump 是什么?
摘要:Windump Windump是Windows环境下一款经典的网络协议分析软件,其Unix版本名称为Tcpdump。它可以捕捉网络上两台电脑之间所有的数据包,供网络管理员/入侵分析员做进一步流量分析和入侵检测。在这种监视状态下,任何两台电脑之间都没有秘密可言,所有的流量、所有的数据都逃不过你的眼睛(
阅读全文
posted @
2017-09-15 15:20
csguo
阅读(5463)
推荐(0)
TCP/IP协议简介
摘要:TCP/IP协议简介 什么是TCP/IP? TCP协议和IP协议指两个用在Internet上的网络协议(或数据传输的方法)。它们分别是传输控制协议和互连网协议。这两个协议属于众多的TCP/IP 协议组中的一部分。 TCP/IP协议组中的协议保证Internet上数据的传输,提供了几乎现在上网所用到的
阅读全文
posted @
2017-09-15 13:50
csguo
阅读(901)
推荐(0)
交换机工作原理
摘要:一、概述1993年,局域网交换设备出现,1994年,国内掀起了交换网络技术的热潮。其实,交换技术是一个具有简化、低价、高性能和高端口密集特点的交换产品,体现了桥接技术的复杂交换技术在OSI参考模型的第二层操作。与桥接器一样,交换机按每一个包中的MAC地址相对简单地决策信息转发。而这种转发决策一般不考
阅读全文
posted @
2017-09-15 11:35
csguo
阅读(1860)
推荐(0)
令狐冲和TCP/IP协议的第三层协议的关系(经典)
摘要:今天突然想起来去看了看我以前在csdn的博客,发现一篇以前一直被奉为经典的文章,哈哈,再转过来和大家看看: 令狐冲十四岁那年进入华山,那年岳琳珊八岁,岳不群白天给两人指点剑法,晚上令狐冲给小师妹讲故事哄她入睡。后来,岳不群陆续收了劳德诺,陆大有等徒弟,又忙于修炼紫霞神功,就没有时间指点徒弟。于是他做
阅读全文
posted @
2017-09-15 08:32
csguo
阅读(493)
推荐(0)
NetXray
摘要:NetXRay是由Cinco Networks公司开发的一个用于高级分组检错的软件,功能很强大。IP地址查询工具。 硬件要求 硬件要求 对硬件要求低,可运行常用的windows平台。 主要功能 主要功能 1、监视网络状态,为优化网络性能提供资料:长时间的捕获,依据统计数值分析网络性能。 2、网络中包
阅读全文
posted @
2017-09-15 08:13
csguo
阅读(892)
推荐(0)
TCP/IP协议的三次握手及实现原理
摘要:TCP/IP是很多的不同的协议组成,实际上是一个协议组,TCP用户数据报表协议(也称作TCP传输控制协议,Transport Control Protocol。可靠的主机到主机层协议。这里要先强调一下,传输控制协议是OSI网络的第四层的叫法,TCP传输控制协议是TCP/IP传输的6个基本协议的一种。
阅读全文
posted @
2017-09-14 18:45
csguo
阅读(2614)
推荐(1)
OSI及TCP/IP的概念和区别
摘要:什么是TCP/IP协议 TCP/IP协议(Transfer Controln Protocol/Internet Protocol)叫做传输控制/网际协议,又叫网络通讯协议,这个协议是Internet国际互联网络的基础。 TCP/IP是网络中使用的基本的通信协议。虽然从名字上看TCP/IP包括两个协
阅读全文
posted @
2017-09-14 18:14
csguo
阅读(2320)
推荐(0)
http协议介绍
摘要:http协议基础 HTTP(HyperText Transfer Protocol)是超文本传输协议的缩写,它用于传送WWW方式的数据,关于HTTP协议的详细内容请参考RFC2616。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本、以及包含请求修
阅读全文
posted @
2017-09-14 17:57
csguo
阅读(439)
推荐(0)
Http协议之Content-Length
摘要:前言 http协议是互联网中最重要的协议之一,虽然看上去很简单,但是实际中经常遇到问题,我们就已经遇到好几次了。有长连接相关的,有报文解析相关的。对http协议不能一知半解,必须透彻理解才行。所以就写了这个系列分享http协议的问题与经验。 问题 我们的手机App在做更新时会从服务器上下载的一些资源
阅读全文
posted @
2017-09-14 17:50
csguo
阅读(6806)
推荐(0)
粒子群优化算法
摘要:粒子群优化算法属于群智能(swarm intelligence)优化算法。群智能分两种,一种是粒群优化,另一种是蚁群优化。 群智能概念 假设你和你的朋友正在寻宝,每个人有个探测器,这个探测器可以知道宝藏到探测器的距离。你们一群人在找,每个人都可以把信息共享出去,就跟打dota时你可以有你队友的视野,
阅读全文
posted @
2017-09-14 16:42
csguo
阅读(3729)
推荐(0)
十分钟理解Actor模式
摘要:Actor模式是一种并发模型,与另一种模型共享内存完全相反,Actor模型share nothing。所有的线程(或进程)通过消息传递的方式进行合作,这些线程(或进程)称为Actor。共享内存更适合单机多核的并发编程,而且共享带来的问题很多,编程也困难。随着多核时代和分布式系统的到来,共享模型已经不
阅读全文
posted @
2017-09-14 16:26
csguo
阅读(26794)
推荐(3)
tomcat原理解析(二):整体架构
摘要:一 整体结构 前面tomcat实现原理(一)里面描述了整个tomcat接受一个http请求的简单处理,这里面我们讲下整个tomcat的架构,以便对整体结构有宏观的了解。tomat里面由很多个容器结合在一起,主要有server,service,context,host,engine,wrapper,c
阅读全文
posted @
2017-09-09 21:42
csguo
阅读(722)
推荐(0)
tomcat原理解析(一):一个简单的实现
摘要:一 概述 前段时间去面试,被人问到了tomcat实现原理。由于平时没怎么关注容器的实现细节,这个问题基本没回答上来。所以最近花了很多时间一直在网上找资料和看tomcat的源码来研究里面处理一个HTTP请求的流程。网上讲tomcat的帖子比较多,大多都是直接切入主题看其源码,从我个人感受来说直接研究其
阅读全文
posted @
2017-09-09 21:32
csguo
阅读(419)
推荐(0)
Caffe入门随笔
摘要:Caffe入门随笔 分享一下自己入门机器学习的一些资料:(1)课程,最推荐Coursera上的Andrew NG的Machine Learning,最好注册课程,然后跟下来。其次是华盛顿大学的Machine Learning系列课程,一共有6门,包括毕业设计(2)书籍: 机器学习(周志华西瓜书)、机
阅读全文
posted @
2017-09-09 20:24
csguo
阅读(574)
推荐(0)
SQL注入原理讲解
摘要:1.1.1 摘要 日前,国内最大的程序员社区CSDN网站的用户数据库被黑客公开发布,600万用户的登录名及密码被公开泄露,随后又有多家网站的用户密码被流传于网络,连日来引发众多网民对自己账号、密码等互联网信息被盗取的普遍担忧。 网络安全成为了现在互联网的焦点,这也恰恰触动了每一位用户的神经,由于设计
阅读全文
posted @
2017-09-09 20:06
csguo
阅读(29329)
推荐(1)