自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 缓冲区溢出原理及教学版攻击演示

简单说下其原理: 通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,进而运行精心准备的指令,以达到攻击的目的。 如上图,程序的缓冲区比作一个个格子(内存单元),每个格子中存放不同的东西,有的是命令,有的是数据,当程序需要接收用户数据,程序预先为之分配了4个格子(上图中黄色的0~3号格子)。按照程序设计,就是要求用户输入的数据不超过4个。而用户在输入数据时

2017-04-16 12:53:02 2159

原创 ThreadPoolExecutor中活跃的线程数超过corePoolSize后新来的请求会进入阻塞队列

关于该类的文档 https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ThreadPoolExecutor.html 描述中有以下内容 Core and maximum pool sizes ............. When a new task is submitted in method execute(jav...

2018-10-23 00:15:58 11346 1

原创 Spring笔记

一、spring简介spring是一个开源轻量级框架, 用于替代EJB。 核心的主要部分 (1) IOC: 控制反转,让spring来创建和管理对象而不需要new (2) AOP: 面向切面,扩展功能不用修改源代码实现 spring框架为j2ee全家桶提供一站式解决方案 - 在web层中有: springMVC - 在service层中有: spring的IOC - 在dao层中有: sp

2017-05-13 16:22:56 355

原创 信息的表示和处理(待补充)

信息存储在计算机中,数据的基本单元是字节,字节的概念类似于生活中米、秒等基本单位。一个字节表示 8个位,至于为什么是8个位,这其中有些不可描述的原因。以二进制数 10010100 为例子, 它一共有8位,刚好 表示 一个字节。 可以表示成10进制数的 148 ,也能可以表示成十六进制的 0x94. 不管用什么进制来表示 ,它们代表的“数” 本质上都是相同的,多少进制这些不过是表象而已。有了上面的例

2017-04-28 23:14:50 486

原创 使用消息队列要注意异步问题

案情重演: 先从一张时序图开始 首先有两个系统A、B,他们之前用ActiveMQ作为交互。为了记录上面的执行情况,在数据库中有一个字段来标识执行到哪一步的状态,状态说明如下: 1: 插入数据库时的初始状态,即第1步完成后的状态 2: 推送ActiveMQ成功后的状态,也就是第2步完成后的状态 3: 处理结果成功的状态,也就是第6步完成后的状态【最终状态,下面会提到。】正常来说从步骤1到

2017-04-16 12:53:36 548

原创 简述CPU、内存、硬盘与指令之间的关系

一、概述CPU、内存和硬盘三者的关系如上图所示,指令则是CPU能做的所有事情。二、CPUCPU(中央处理器)类似计算机的大脑,负责运算任务。 虽然CPU的构造很复杂,但能做的事其实很简单,主要是: 1.从内存中读取指令 2.执行指令(其中包括对指令的进一步翻译) 3.把执行结果写回内存 那么是怎样读取要执行的指令的呢?CPU内部有很多寄存器,其中一个是EIP(以x86指令集为例), 该寄

2017-04-16 12:46:39 913

原创 实现自己SpringMVC的RequestMapping

开发后端接口服务时可能会用到SpringMVC, 然而SpringMVC会用到Servlet, 而Servlet又依赖tomcat等容器。 为了高并发要求,我们可以实现部分SpringMVC的功能,而且又不会依赖容器启动。 首先,要写个RequestMapping那样的注解类@Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME

2017-04-16 12:42:32 653

原创 一种比if-else和switch更符合开闭原则的方法

大家想必写过类似这样的代码: if () {} else if() {} else if(){} …… 当条件多时代码显得非常冗长,而且每次添加条件时需要修改主流程的代码。这样就破坏了类的开闭原则。基于此,我们可以采用另一种比较优雅的实现方式, 首先,定义一个接口, 这个接口很重要,是用来替代if-else的关键。 interface ISerivice

2017-04-16 12:40:44 1087

原创 计算机系统漫游

计算机系统漫游读书笔记本章通过一个helloworld源程序从编译到执行的的流程来说明系统的运行机制。 信息就是位+上下文 程序被其他程序翻译成不同的格式 了解编译系统如何工作是大有益处的 处理器读并解释存储在存储器中的指令 高速缓存至关重要 存储设备形成层次结构 操作系统管理硬件 系统之间利用网络通信 重要主题 小结 1.1 信息就是位+上下文系统中所有的信息都 是由一连串的位(01) 表示,这些

2017-04-16 12:36:32 368

空空如也

空空如也

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

TA关注的人

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