自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (20)
  • 收藏
  • 关注

转载 2020-10-14

前言键盘可以说是我们最常使用的输入硬件设备了,但身为程序员的你,你知道「键盘敲入 A 字母时,操作系统期间发生了什么吗」?那要想知道这个发生的过程,我们得先了解了解「操作系统是如何管理多种多样的的输入输出设备」的,等了解完这个后,我们再来看看这个问题,你就会发现问题已经被迎刃而解了。正文设备控制器我们的电脑设备可以接非常多的输入输出设备,比如键盘、鼠标、显示器、网卡、硬盘、打印机、音响等等,每个设备的用法和功能都不同,那操作系统是如何把这些输入输出设备统一管理的呢?为了屏蔽设备之

2020-10-14 22:06:23 188

转载 漫谈linux文件IO

转载自:http://blog.chinaunix.net/uid-27105712-id-3270102.html在Linux开发中,有几个关系到性能的东西,技术人员非常关注:进程,CPU,MEM,网络IO,磁盘IO。本篇文件打算详细全面,深入浅出。剖析文件IO的细节。从多个角度探索如何提高IO性能。本文尽量用通俗易懂的视角去阐述。不copy内核代码。 阐述之前,要先有个大...

2020-03-28 17:47:08 213

原创 C++实现命令模式

概述:命令模式是一种行为型模式,将一个请求封装成一个对象,从而可以用不同的请求对象进行参数化优点:降低命令请求端和接收端的耦合度新的命令只需要封装成相应的对象,就可以添加到系统中,可扩展性好缺点:命令比较多的情况下,会导致创建过多的命令类使用场景:客户端有多个请求协议的情况下,可以将协议当做命令UML类图:实例: #include <iostrea...

2019-07-21 12:10:14 410

原创 C++实现模板模式

概述:模板模式是一种行为型模式,它用来定义一个算法的框架,而将一些步骤延迟到子类中。模板方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤优点:在父类中形式化地定义一个算法,而由它的子类来实现细节的处理,在子类实现详细处理算法时并不会改变算法的执行步骤复用了父类中的代码在模板模式中,可以通过子类来覆盖父类的基本方法,不同的子类提供基本方法的不同实现,更换和...

2019-07-13 20:33:30 1006

原创 C++实现策略模式

概述:策略模式是一种行为型模式,它用来定义一系列的算法 ,把它们一个个封装起来,并且使它们可以互换优点:算法之间可以随便互换,扩展性好避免使用多重条件判断语句缺点:策略类会变多,系统会变大客户端必须知道所有的策略类以及它们的区别使用场景:有多重条件判断语句一个系统需要动态地从几个算法中选择一个UML类图:每一种自行车都是一种策略,用户可以...

2019-07-13 18:30:46 721

原创 C++实现适配器模式

概述:适配器模式是一种结构性模式,它将一个类的接口转换成客户需要的接口,使得原来由于接口不兼容而不能一起工作的类可以一起工作优点:可以让没有关联的两个类一起运行提高了类的复用性缺点:过多适配器系统会比较乱,系统的维护性变差使用场景:当想使用已经存在的类,但是这个类的接口不符合客户需求UML类图:用户拿着适配器将两孔充电器转换成三孔实例:#include...

2019-07-13 18:13:24 236

原创 C++实现外观模式

概述:外观模式是结构型模式,它将复杂的子类系统抽象到同一个接口进行管理,外界只需要通过该接口与子类系统进行交互,而不必直接与复杂的子类系统进行交互外观模式降低访问复杂系统的内部子系统的复杂度,简化客户端与之的接口优点:减少客户端与系统之间的耦合度简化客户端代码缺点:不符合开闭原则,扩张功能需要修改客户端和统一接口的代码使用场景:客户端与系统存在最大的依赖性...

2019-07-13 17:54:10 291

原创 C++实现代理模式

概述:代理模式是一种结构型模式,在某些情况下,一个对象不适合或者不能直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用优点:代理模式能够将客户与真正被调用的对象分离,降低了耦合度客户端可以通过代理与多个目标对象交互,目标对象的修改和扩展客户端并不感知,扩展性和维护性强缺点:在客户端和真正目标对象之间增加代理对象,请求速度有可能会变慢增加代理会使系...

2019-07-13 17:29:08 788 1

原创 C++实现单例模式(懒汉、饿汉、线程安全和局部静态变量法)

概述单例模式是一个创建型设计模式,一个类只会创建一个对象。由于只有一个对象,所以不能够通过new来创建对象,因此类的构造函数得是private的由于不能够new出对象,所以类内部需要提供一个函数来获取对象,这个函数和对象都是属于类的,而不是对象,因此这个函数和唯一 的对象都得是static的,并且对象是private类型的,函数是public类型的创建单例的基本步骤:1. 构造函数私有化...

2019-07-13 13:32:04 2712

原创 C++实现抽象工厂模式

概述抽象工厂模式是一个创建型设计模式,它针对的是创建产品族,而不是单单一个产品优点封装了产品的创建,使得不需要知道具体是哪种产品,只需要知道是哪个工厂即可可以支持不同类型的产品,使得模式灵活性更强可以非常方便的使用一族中的不同类型的产品缺点结构过于臃肿,如果产品类型较多或产品族较多,会非常难于管理每次如果添加一组产品,那么所有的工厂类必须添加一个方法,这样违...

2019-07-06 15:21:42 1146

原创 C++实现工厂方法模式

概述工厂方法模式是一个创建型设计模式,通过定义一个创建对象的接口,让其子类决定实例化哪一个工厂类,一个工厂类创建一个实例,工厂模式使其创建过程延迟到子类进行。在工厂方法模式中,我们在创建对象时不会对客户端暴露逻辑,并且通过使用一个共同的接口来指向创建的对象。优点符合开闭原则不需要记住具体类名,甚至连具体参数都不用记忆实现了对象创建和使用分离系统的可扩展性也就变得非常好...

2019-07-06 15:03:52 1217

原创 C++实现简单工厂模式

简单工厂模式概述简单工厂模式是用单独的类来创建其它类的实例的一种创建型模式。简单工厂模式实质是工厂类根据传入的参数,来动态决定创建哪一个产品的实例优点客户端与具体实现类解耦不用考虑对象的创建过程缺点简单工厂模式,增加功能是通过修改源代码实现,不符合开闭原则这个类的职责过重,这个类发生问题,会影响很多使用这个工厂的模块使用场景工厂类负责创建的产品类比...

2019-07-06 14:41:22 1836

原创 vim常用快捷键

光标移动:1. H:前 J:下 K:上 L:后2. 移动到行首:03. 移动到行尾:$4. 移动到文件开始位置:gg5. 移动到文件末尾:shift+g6. 跳转到100行:100G删除操作:1. 删除光标后边的字符:x2. 删除光标前的字符:X3. 删除光标当前行:dd4. 删除多行:ndd(n为自然数)5. 删除光标到行首的字符串:d06. 删除光标到行尾...

2019-06-29 13:57:39 249

原创 Makefile入门实例

编写简单的MakeFile文件Makefile概述makefile文件是用来描述整个工程的编译连接规则的,主要描述哪些源文件需要编译以及如何编译,如何生成我们想要的可执行文件。一旦Makefile文件写好,只需要一个make命令,整个工程完全自动编译,极大提高了软件的开发效率。Makefile规则Makefile主要有三大规则:目标、依赖条件和命令目标:是我们要生成的文件依赖:是要生成...

2019-06-29 13:45:50 231

原创 MyBatis自动生成实体类、DAO接口和Mapping映射文件的代码(逆向工程)

MyBatis属于一种半自动的ORM框架,它需要程序员自己编写sql语句和映射文件,但是编写映射文件和sql语句很容易出错,所以mybatis官方提供了Generator生成器,自动生成DAO接口。实体类和Mapping。这个生成器是根据单表自动生成mybatis执行所需要的代码,因此,首先得先创建数据库表,然后再自动生成代码。 1.创建user数据表create table `user`(

2017-11-30 17:18:03 5416 1

原创 在Ubuntu中安装eclipse图文详解

1.首先得先下载JDK和eclipsejdk下载网址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html eclipse下载网址:http://www.eclipse.org/downloads/packages/eclipse-ide-java-developers/heli

2017-11-30 16:28:16 123929 22

原创 MyBatis ofType和javaType区别

JavaType和ofType都是用来指定对象类型的,但是JavaType是用来指定pojo中属性的类型,而ofType指定的是映射到list集合属性中pojo的类型。pojo类:publicclass User {    privateint id;    privateString username;    private

2017-11-27 11:09:57 56359 14

原创 Spring给bean注入日期属性的方法

通常情况下,我们给Spring的bean注入属性可以通过setter方法和构造器方法给bean注入属性值,这两种方法都需要使用property标签给bean的属性赋值。如下所示,使用setter方法给bean注入Date属性值publicclass DateTest {    privateDatedate;    publicDate getD

2017-11-24 17:06:55 4650 1

原创 Spring bean在相同xml文件和不同的xml文件中引用的方式

Bean在相同的xml文件中,可以通过ref便签,以及它的local属性来引用它。如下所示:beans    xmlns="http://www.springframework.org/schema/beans";    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";    xmlns:p="http://www.s

2017-11-23 16:11:58 2269 1

原创 Spring一个类包含多个构造函数且带的参数相同所存在的注入类型问题

在Spring框架中,当一个类包含多个构造函数带的参数相同,它总是会造成构造函数注入参数类型歧义的问题。看如下一个代码:publicclass Student {        privateStringname;    privateStringaddress;    privateint age;      pub

2017-11-23 15:46:59 7686

原创 Spring的@Autowired如何自动装配在bean配置文件中声明的两个类似的bean呢?

Spring的@Autowired注解是如法分辨出两个类似的bean,也就是说如果配置文件中出现两个类似的bean@Autowired注解将无法实现自动装配功能。只有一个bean的实例:public class Customer {@Autowiredprivate Person person;//...}只有一个bean的配置文件如下:http

2017-11-23 10:08:07 7522

原创 maven项目打红叉解决方法

Maven项目打红叉,且在problem出现如下问题时:1 Java compiler level does not match the version of the installed Java project facet.SSMDemo Maven WebUnknownFaceted Project Problem (Java Version Mismatch)2、

2017-11-09 19:11:13 1924

转载 用maven创建web

(原文地址:http://blog.csdn.net/zhshulin)       目前做的项目使用的是MAVEN来管理jar包,这也是我第一次接触maven,感觉非常好,再也不用一个一个去添加和下载jar包了,直接在maven配置文件中配置就可以了,maven可以帮助我们自动下载。非常方便。之前比较忙没时间整理,现在整理一下,记录下来,加深印象。当然我们使用maven也只是最基本的,很

2017-11-09 16:28:32 124

原创 ubuntu中maven的安装与配置图文详解

1.下载Maven压缩包    下载地址为:http://maven.apache.org/download.cgi2.将Maven压缩包解压到Home目录下    解压命令为:tar zxvf apache-maven-3.5.2-bin.tar.gz    将解压后的文件移动到  /opt/maven路径下        命令为:mv apache-mave

2017-11-06 17:18:18 1013

原创 多态详解

平常问到什么是多态,相信绝大部分人会脱口而出多态不就是方法的重载和重写。但是,多态真的就是方法的重载和重写吗?为了回答这个问题我们先来看一下多态的定义。     1.多态的定义     多态性是指允许不同的子类型的对象对相同的信息作出不同的响应。     2.多态定义的理解     要理解这句话我们得先知道什么是不同的子类型的对象、相同的信息指的是什么和作出不同的响应又指的是什

2017-05-28 10:41:28 333

原创 单例模式与垃圾回收

单例模式创建的对象是否会被JVM回收在单例模式中,如果对象长久没有被使用,该对象是否会被JVM进行垃圾回收呢?在回答这个问题之前得先弄懂JVM会在什么时候对对象进行垃圾回收的。JVM如何判断一个对象需要被回收 JVM判断一个对象是否需要被回收,得对这个对象进行可达性分析。所谓的可达性分析, 就是判断这个对象是否有到达GC Roots的一个引用链,即是否能够到达这个GC

2017-05-22 11:32:04 2483

转载 Java中关于OOM的场景及解决方法

1、OOM for Heap=>例如:java.lang.OutOfMemoryError: Java heapspace【分析】 此OOM是由于JVM中heap的最大值不满足需要,将设置heap的最大值调高即可,参数样例为:-Xmx2G【解决方法】调高heap的最大值,即-Xmx的值调大。2、OOM for Perm=>例如:java.lang.Out

2017-05-20 19:59:34 378

转载 Java集合---ConcurrentHashMap原理分析

深入剖析java集合类ConcurrentHashMap的原理,从底层代码分析。

2017-05-20 18:51:33 166

原创 通俗讲解KMP算法和next数组求解

文章讲解了KMP算法的原理和next数组的意义及其通俗易懂的求解方法

2017-05-20 17:16:03 539

原创 java实现二叉查找树

1.什么是二叉查找树               二叉查找树是应用了链表的灵活性和数组的查找的高效性来实现对数据的操作和查找。               二叉查找树要么是一棵空树,要么就必须具有如下特征:                         1.二叉查找树只能有左右两棵子树                         2.根节点的值大于左子树的值,小于右子树的值(

2016-10-21 18:11:50 207

原创 基于堆的优先队列和堆排序

1.什么是优先队列         优先队列就是具备优先级的队列,优先级可以用队列里面的值大小表示,也就是值越大表示的优先级越高,所以,优先队列就是可以删除最大元素和插入元素的队列。2.什么是堆          堆又称为二叉堆,二叉堆是一组能够用堆有序的完全二叉树排序的元素,并在数组中按照层次存储(不使用数组的第一个位置)。3.为什么要使用堆来实现优先队列

2016-10-13 20:28:37 714

原创 java main函数的args[]参数

args[]这个参数主要是为程序使用者在命令行状态下与程序交互提供的一种手段。 在命令行中执行java程序的时候使用的是“java 文件名 args参数”。所以args[]是在命令行运行时输入的参数,由于可以有多个参数,所以定义成数组。之所以要把args[]数组定义为String类型是因为java缺省就认为输入的参数都为字符串,之后自己可以进行类型转换。

2016-10-09 11:40:31 539

原创 用java实现100以内的素数所组成的等差数列

用java实现100以内的素数所组成的等差数列,快速获取0-n以内的素数

2016-09-21 20:31:21 1238

转载 Java中的==和equals区别

Java中的==和equals区bi 中软国际电子政务部Jeff Chi总结,转载请说明出处。概述:      A.==可用于基本类型和引用类型:当用于基本类型时候,是比较值是否相同;当用于引用类型的时候,是比较对象是否相同。      B.对于String a = “a”; Integer b =1;这种类型的特有对象创建方式,==的时候值是相同的。      C

2014-10-22 18:13:45 179

jboss-marshalling-1.3.0.CR9.jar, jboss-marshalling-serial-1.3.0.CR9.jar

jboss-marshalling-1.3.0.CR9.jar jboss-marshalling-serial-1.3.0.CR9.jar

2017-12-12

mysql-connector-java

mysql-connector-java-5.1.45,用于java与mysql建立连接

2017-12-04

mybatis自动生成代码工具

mybatis自动生成代码工具,根据单表自动生成mybatis执行所需要的代码(mapper.java,mapper.xml,pojo)

2017-11-27

MyEclipse2016ci6破解工具

MyEclipse2016ci6破解工具 解决Myeclipse破解后依然会闪退的问题

2016-11-08

W3CSchool教程

资源包含了html/css、JavaScript、server side、ASP.NET、XML、web service等教程

2016-10-25

Java编程思想第四版思考题答案

Java编程思想第四版思考题答案 每道题都有详细的代码

2015-10-13

Java参考文档

JavaTM 2 Platform Standard Edition 6 API 规范 中文版

2015-04-07

ADT-22.3.0

ADT-22.3.0 zip压缩包 android

2014-11-11

I2C规范中文版

I2C总线规范 位传输 仲裁和时钟发生 快速模式 Hs模式

2014-05-26

USB2.0协议深入解读

USB协议简介 USB2.0的结构体系 USB2.0系统 USB2.0总线布局技术 USB2.0电源 USB2.0系统配置 USB主机:硬件和软件

2014-04-23

数字锁相环设计源程序

数字锁相环代码 硬件设计 FPGA

2014-04-23

FPGA常见警告与FPGA错误集锦

1.Found clock-sensitive change during active clock edge at time on register "" 2.Verilog HDL assignment warning at : truncated value with size to match size of target ( 4.Following 9 pins have nothing, GND, or VCC driving datain port -- changes to this connectivity may change fitting results Found pins functioning as undefined clocks and/or memory enables .Timing characteristics of device EPM570T144C5 are preliminary Design contains input pin(s) that do not drive logic Timing Analysis does not support the analysis of latches as synchronous elements for the currently selected device family

2014-04-22

华为FPGA设计流程指南

基于HDL的FPGA设计流程概述 Verilog HDL设计 逻辑仿真 逻辑综合

2014-03-27

高级FPGA教学实验指导书

quartus ii 设计过程 FPGA试验平台介绍 数字电路与数字系统试验

2014-03-27

TI_DSP资料

DSP芯片架构 TMS320系列芯片的使用说明

2014-03-24

高速乘法器

硬件乘法器发展史 高速乘法器 DSP芯片 国外乘法器

2014-03-24

VHDL和quartus ii使用介绍

VHDL语言基本使用方法 quartusii概述 quartusii的VHDL设计

2014-03-15

quartus ii 13.0_VHDL教程

quartus ii 13.0_VHDL的详细教程,有具体的步骤和图片,方便初学者学习

2014-03-14

QuartusII安装教程

QuartusII安装教程以及QuartusII的破解方法和具体步骤

2014-03-03

空空如也

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

TA关注的人

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