自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 资源 (11)
  • 论坛 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 pagehelper/PageInterceptor导致MyBatis执行SQL问题

问题同事J上了一个需求, 导致一个跟这个需求毫无关系的接口报错, 报错信息显示是因为SQL语法问题, 正常SQL应该是这样:select * from table where condition order by field limit from, size但是现在却是:select * from table where condition limit from, size order by field不知道为什么order by跑到limit后面去了, 所以导致MySQL语法问题项目配置

2020-11-11 14:05:44 20

原创 netty学习笔记-netty的整体结构(一)

不使用netty是怎么实现网络通信的netty是一个网络框架, 本篇会向你介绍netty的整体结构.回忆下我们在上学时实现的"聊天室小程序", 当时是如何做的. 首先我们定义两个系统Server和Client, 然后在Server端构造一个ServerSocket, 绑定一个端口port, 通过accept()方法等待请求进来, 为了处理多个请求, 通常我们在这里获取到请求后会将具体的处理任务派给其他线程处理, 当前线程继续accept()等待下一次请求. Client这边会构造一个Socket, 绑定

2020-11-02 22:39:37 11 2

原创 springboot(一) 启动过程-如何监听启动过程(1)

SpringApplication了解下Springboot的启动过程, 目标是整明白如何监听启动过程中的各个节点. Springboot启动就是一个main方法@SpringBootApplication(exclude = {DruidDataSourceAutoConfigure.class})public class MyApplication { public static void main(String[] args) { SpringApplication.

2020-09-29 09:35:54 31

原创 dubbo学习(六) -- dubbo spi

前言了解过java spi后, 马上来看看dubbo spi有什么特殊之处dubbo spidemo还是以一个运行的demo开始, 基本和官网一样public static void main(String[] args) { ExtensionLoader<Robot> extensionLoader = ExtensionLoader.getExtensionLoader(Robot.class); Robot r = extensionL

2020-07-06 22:27:17 91

原创 dubbo学习(五) -- java spi

前言深入dubbo源码前最好先了解下java spi(service provider interface)机制, 简单来说, spi可以帮我们加载指定文件中描述的接口实现类. 嗯…就这? 是不是太简单了, 虽然我是个菜瓜, 那我也知道Class.forName呀~ 那我们来研究下~java spidemo尽管千篇一律, 还是给出一个可运行demo// 首先你需要一个对外接口public interface GreetOrBye { String say(String name);}

2020-06-14 23:00:01 49

原创 guava EventBus 学习二 源码

上篇介绍了guava包中的event bus的使用, 本篇深入源码了解实现细节EventBus了解首先当然要看EventBus类, 类上的注释说了很多, 总结如下:1 EventBus保证在多线程环境下, 不会同时访问订阅者, 除非订阅者标注了AllowConcurrentEvents注解. 如果没有使用这个注解, 订阅者不需要担心消息重入的问题.2 消息接收方法只能接收一个参数, 而且会根据消息类型路由消息到指定的订阅者. 如果消息类型存在父子关系, 那么发送子类消息, 父类订阅者也会收到.3

2020-05-26 08:16:24 82

原创 消息中间件(三) 之 RabbitMQ延迟队列

延迟任务什么是延迟任务需要延迟一段时间才需要处理的任务. 比如订单关闭, 电商平台一般会给用户30分钟左右交钱时间, 当超时未交钱就需要关闭订单. 订单的延时关闭就是一种延迟任务.怎么实现延迟任务定时任务最普遍的做法应该就是定时任务了, 比如订单关闭例子, 我们会将订单存储在表中, 通过定时任务定时扫表, 比如10分钟一次, 对扫描结果进行时间处理, 如果是超时订单则执行关闭操作.定时任务实现简单, 缺点是时间延迟时间不准确, 在订单例子中, 如果第一次扫描发现订单为29分钟未支付, 那么该订单

2020-05-11 09:10:36 101

原创 使用mybatis动态加载外部sql

背景不知道你们公司内部有没有这样的困惑, 很多部门经常会要求你们部门提供接口, 查询一些数据, 接口基本没有业务逻辑, 一条sql足以, 但是为了这个sql就不得不开发一个接口, 费时费力. 很多人也想过解决, 比如经常见到的, 会写一个包含很多字段的SQL, 然后通过不同的入参拼接不同的sql(mybatis中的). 这种方式简单粗暴, 只能查询固定表, 如果换一个表的数据, 还是要重新写, ...

2020-04-29 22:57:27 156

原创 VIM 常用操作

不定期更新, 里面内容都是作者经常使用的功能, 在这里记录下来方便自己, 如果有用也是方便大家常用快捷键普通操作命令模式下:i 插入模式o 光标移动到下一行, 并转换为插入模式gg 光标跳转到文件第一行的行首G 光标跳转到文件最后一行的行首数字 + gg 跳转到指定行, 比如直接到15行, 则按下15后ggshift + 4 光标跳转到行尾0(零) 光标跳转到行首列操作1 ...

2020-04-27 21:15:25 33

原创 guava EventBus 学习一

背景event bus 数据总线, 数据发送者发送信息到总线, 数据接收者从总线接收数据. 大概类似于下飞机去取行李的时候, 旅客在行李传送带旁边等候自己的行李, 在这个场景下, 飞机相当于发送者, 旅客为接收者, 传送带就是我们的数据总线, 旅客上飞机就是一个注册的过程. 与我们后面准备学习的guava中的EventBus不同的是, 旅客是自己"拉取"的行李, 但是在guava中是总线根据注册...

2020-04-20 08:34:09 57

原创 dubbo学习(四)-- 注册中心

注册中心在orz框架中(对就是我们在做的这个框架的名字orz~), 消费者是写死生产者地址的, 为了后面支持集群扩展(真的么…), 我们这次搞一个注册中心, orz是抄…咳咳…借鉴dubbo的产品(产品…), 所以我们使用zookeeper来作为注册中心. 现在先简单了解下注册中心, 帮助还不熟悉的同学(me~).下面是zk官方文档的一些翻译, 斜体是翻译, 粗体是个人理解zookeeper...

2020-04-11 23:25:34 47

原创 消息中间件 二 之AMQP实战(下) RabbitMQ springboot实践

实现内容RabbitMQ + springboot 实现消息的发送和监听springboot版本2.1.8直接上代码配置类@Configurationpublic class RabbitConfig { // mq地址 @Bean(value = "connectionFactory") @Primary public ConnectionFacto...

2020-03-10 22:16:30 34

原创 消息中间件 二 之AMQP实战(上)

实例分析前面我们看了AMQP说明文档, 对AMQP有了大体的了解, 本文从实例出发再过一遍AMQP的基本操作.准备环境RabbitMQ server 3.7.16RabbitMQ client 5.7.3客户端代码使用的是RabbitMQ官网教程, 如下:public static void main(String[] args) throws IOException, Timeou...

2020-02-11 22:44:26 287

原创 深入理解计算机系统 之 第一章 计算机系统漫游

1、只有ASCII构成的文件称为 文本文件,所有其他文件称为 二进制文件2、在Unix系统中,从源文件到目标文件的转化是由 编译器驱动程序完成的链接是将调用的函数通过某种方式结合到可执行文件中。3、系统的硬件组成总线, 贯穿整个系统的一组电子管道称为总线。它携带信息并负责在各个部件中传递。I/O设备, 通过适配器或者控制器连接到I/O总线。主存,在处理程序时,用来存储程序和程序处理...

2020-02-08 09:13:39 36

翻译 消息中间件 一 之 AMQP译文(下)

3 Functional Specification 功能性说明3.1 Server Functional Specification 服务端功能性说明3.1.1 Messages and Content 信息和内容在中间件处理路由和队列系统中, 信息具有原子性. 信息中有一个内容, 内容包含一个内容头, 用来存储一系列属性; 还有一个内容体, 用来保存二进制数据块信息可以对应多种不同的应...

2020-01-19 14:40:42 128

翻译 消息中间件 一 之 AMQP译文(上)

RabbitMQ是AMQP的实现成果, 所以在研究RabbitMQ之前, 不如先看看协议本身.1 Overview 概述1.1 Goals of This Document 文档目标This document defines a networking protocol, the Advanced Message Queuing Protocol (AMQP), whichenables c...

2020-01-07 22:19:14 36

原创 消息中间件 零

消息中间件是什么?MOM Message-Orientd Middleware is software infrastructure focused on sending and receiving messages between distributed systems.消息中间件就是在分布式系统中发送和接收信息的软件.从定义知, 我们通常说的消息中间件指的是在分布式系统中收发信息的工具...

2019-12-24 22:00:05 29

原创 dubbo学习(三)--优化调用功能

信息在上一章中我们已经实现了一个基本完美的rpc框架,但是我们不能骄傲,需要不断完善。首先我们来处理下消息传递的问题,之前是以‘-’分割字符串,只能传递一个参数。现在我们把它修改为json格式传递。这里json选择使用阿里的fastjson,啊,真是强强联和~~maven:<dependency> <groupId>com.alibaba</groupId...

2019-10-15 19:01:10 68

原创 dubbo 学习(二)-- 简单实现远程方法调用

参考博客前言在学习dubbo过程中,经常有“我要学习什么的想法”,经常有看完一部分不知道后面要干嘛的时候。总的来说感觉自己缺少“dubbo能干什么?”的明确答案,所以在学习的时候就缺乏学习路线,这也跟自己长期的学习习惯有关:我要学习A技能,上网搜索 “A技能教程”或者“从零开始学A”。这样自己的学习完全依赖他人的总结,所以导致学习的成果同样依赖博客的质量,这就是高耦合啊同学们!!!我的学习质量...

2019-10-12 16:42:55 56

翻译 RabbitMQ 教程译文(六) + 学习

原文Remote procedure call (RPC)在第二篇教程中,我们学会了怎么把耗时的消息通过工作队列发送给多个消费者。但是,如果我们请求一个远端服务,需要等待返回结果,那我们要怎么做。这就是完全不同的两种情况,后者被称为RPC。在我们这次教程中,我们通过RabbitMQ创建一个RPC系统:一个客户端以及一个可扩展的服务端。因为我们没有什么任务需要分发,所以我们会创建一个简单的R...

2019-09-24 18:49:16 30

原创 小程序(一)用户登陆

登陆用户登陆主要是为了获取用户标示,用于后续的业务流程。用户登陆的流程图如下本地缓存根据小程序文档,在用户不手动删除的情况下,本地缓存会一直存在,所以我们会将用户的登录信息缓存在本地中,setStorage,在本项目中会存储用户的openId;在使用的时候getStorage,如果获取不到则表示用户没有登录,后面进行登录;wx.loginwx.login执行后小程序框架会给我们返回用...

2019-09-19 08:53:32 55

原创 aop方式的参数校验

背景由于历史背景,公司项目中的接口都使用json格式入参,使用com.alibaba.fastjson.JSONObject来接收,形如public @ResponseBody Result xxx(@RequestBody JSONObject reqJsonObj) { String a = reqJsonObj.getString("a"); St...

2019-09-09 22:06:32 446

原创 小程序(零)开发前期准备

前言因为一个原因需要一个答题的小程序,作为程序员当然要自己动手实现,目前还在开发中,一段时间会发布开发过程,最终会展示全部代码。1.1 环境准备按照小程序流程下载编译器、注册账号等;1.2 熟悉代码结构代码结构如下图[外链图片转存失败(img-1k713VHa-1567058129431)(小程序(零)开发前期准备.resources/94BB427D-9B82-4922-A495-0...

2019-08-29 13:57:28 19

原创 数据结构(二)--散列

目录什么是散列散列函数hash冲突分离链表法探测散列表线性探测法平方探测法双散列再散列什么是散列散列首先是一个数组,所以它的访问速度快,它与数组的不同在于可以通过一个关键字访问数据,这个关键字与数组下标之间的映射关系有散列函数提供。散列函数所以说,散列函数对于一个散列是非常重要的,它的第一个主要功能就是将关键字映射到数组下标。比较简单的散列函数,比如关键字是正整数,那么散列函数可以是将关...

2019-07-17 12:48:25 64

翻译 RabbitMQ 教程译文(五) + 学习

原文地址https://www.rabbitmq.com/tutorials/tutorial-five-java.htmlTopics在之前的教程中,我们改进了日志系统,我们使用direct exchange代替fanout exchange,不使用广播的形式发送日志。而且我们可以挑选感兴趣的日志接收。虽然使用direct exchange改进了我们的日志系统,但是还是有限制的,在多个条...

2019-05-27 13:38:54 35

原创 dubbo学习(一)--入门例子

dubbo的介绍大家自行百度,下面以一个demo作为dubbo学习的开始DUBBO 入门例子 - 一个服务一个实现dubbo版本2.5.8注册中心使用zookeeper,版本3.4代码结构如下api是接口服务定义consumer是服务消费者provider是服务生产者api代码如下public interface DemoService { String sayHi...

2019-05-23 13:34:47 65

原创 MYSQL学习笔记-01-简单使用

123

2019-05-02 08:51:19 47

原创 数据结构(一)--树

目录树的定义二叉查找树AVL树单旋转双旋转伸展树展开java中树的应用树的定义什么是树 :一棵树是一些节点的集合。这个集合可以是空集;若不是空集,则树由称作根的节点r以及0或多个非空的子树组成,这些子树中每一颗的根都被来自根r的一条有向的边所连接。也就是说,一棵树是N个节点和N-1条边的集合。一些名字解释儿子:节点的子树的根叫做该节点的儿子;父亲:该节点就是儿子的父亲;树叶:没有儿子的...

2019-05-01 09:56:01 258

翻译 RabbitMQ 教程译文(四) + 学习

TODO

2019-04-20 21:21:28 57

翻译 RabbitMQ 教程译文(三) + 学习

TODO

2019-04-15 10:09:00 52

翻译 RabbitMQ 教程译文(二) + 学习

原文地址以下图片,除了特殊声明的,其他均来自官网教程工作队列在第一篇教程中,我们完成了从一个队列中发送和接收信息的程序。在本篇教程中,我们会创建一个工作队列Work Queue,我们会通过这个队列向多个节点发送比较耗时的任务。工作队列的核心思想就是避免立即处理比较耗时的操作,然后阻塞等待处理结果。我们会将任务封装成一个信息存储在队列中,然后延后处理任务。一个工作进程会在后台弹出队列中的任...

2019-04-12 14:56:53 63

翻译 RabbitMQ 教程译文(一) + 学习

原文地址以下图片除非特殊说明,均来自RabbitMQ官网教程。介绍RabbitMQ是一个信息代理工具:它可以用来接收和传递信息。你可以把它想象成一个邮局,当你需要邮寄信件的时候,你只需要将信件放到邮箱里,信件就会由邮递员交到目的地。在这里,RabbitMQ充当了邮局、邮箱和邮递员的角色。RabbitMQ与邮局的最大区别就是,它不传递纸质信件,它传递二进制数据。下面是RabbitMQ使用到...

2019-04-11 17:31:14 88

原创 JVM学习笔记(三)

上回我们通过一个 Hello World 程序,分析了class文件结构,这回我们来分析下JVM是如何加载class文件和文件中的程序。

2019-02-24 22:10:45 114

原创 MYSQL学习笔记-00

首先安装mysql,安装的服务器访问不了网络,所以采用离线模式安装。安装环境如下:查看Linux信息[root@localhost ~]# cat /etc/redhat-releaseCentOS Linux release 7.4.1708 (Core)mysql安装安装环境centos7安装mysql 5.7.23 x64mysql官网下载mysql-5.7.23-1.el7....

2018-12-02 21:34:51 95

原创 JVM学习笔记(二)

上次我们分析了常量池

2018-11-06 07:12:24 84

原创 JVM学习笔记(一)

本系列知识80%来自《深入理解Java虚拟机》(周志明)一书,其他部分来自网络再加上一些自己的理解,如有问题请大家指出。在跟着书学习虚拟机的过程中,确实非常枯燥,但是学过之后在工作中真的有一种原来如此的感觉(好像有点燥~)。希望大家坚持学习下去~还有我~.~开始~ 在我们初次学习java的时候,第一行代码一般都是“hello world”,如下:public class Firs...

2018-09-25 22:53:23 1203

翻译 JAVA RMI 文档中文(四)

3.4 类的动态加载 RMI允许任意可序列化的对象作为参数、返回值或者异常在RMI调用中传递。RMI利用对象的序列化机制实现虚拟机间对象的传递,也会使用合适的本地信息命名调用流,以便接收端可以下载这个文件。当远端方法的参数和返回值在接收端的虚拟机中分解组合为对象时,在流中的所有对象类型都需要类定义。分解组合过程中,首先会尝试通过本地类加载上下文中的名字来解析类。RMI也会为动态加载类...

2018-09-10 21:56:02 119

翻译 JAVA RMI 文档中文(三)

2.7 远端对象的定位一个简单的命名服务器可以存储命名的远端对象的引用。java.rmi.Naming可以使用以URL为基础的方法存储一个远端对象的引用。对于客户端来说,如果要调用远端对象的方法的话,那么需要先获取到远端对象的引用。一个远端引用通常可以作为方法调用的参数或者返回值来获取。RMI系统提供了简单的命名服务器,它用于从指定的主机上获取远端对象。java.rmi.Naming提供了...

2018-03-23 10:37:51 188

翻译 JAVA RMI 文档中文(二)

2.6 远端方法调用时的参数传递一个远端对象只要可以序列化就可以是方法参数或是返回值。这就包括了基础对象、远端对象和实现了java.io.Serializable的非远端对象。更多关于如何序列化类的信息科一参考 “Java Object Serialization Specification”。这些参数或者返回值不是本地的,它们是通过RMI系统动态下载的。更多细节查看Dynamic Class...

2018-03-13 16:37:20 213 1

翻译 JAVA RMI文档中文

原文链接 2.4 RMI 接口和类概述 负责rmi系统远程调用使用的类和接口都定义在 java.mri包中。下图展示了这些接口和类之间大概的关系: 2.4.1 java.rmi.Remote 接口 在RMI中,一个remote接口会声明一系列的方法,这些方法可能会被一个远端的java虚拟机调用。一个远端接口必须满足下列条件: 1、一个远端接口必须直接或间接实现java.rmi.Rem...

2018-03-12 22:02:18 455

IC LAYOUT BASICS

版图课件基础 LAYOUT设计 CMOS AND BIPOLAR DESIGN AND LAYOUT

2013-04-22

基于FPGA的电风扇的自动定时开关控制器设计

1. 本设计通过一个二选一选择器,可以让使用者选择电风扇的工作状态,普通工作状态还是定时工作状态。 2. 通过计数器的运用完成倒计时功能,实现电风扇的定时功能。 3. 通过计数器完成对主时钟的分频,为电路提供其各自的时钟。 4. 通过D触发器和与门电路完成对定时信号的处理,提供倒计时是否结束的信号。 5. 通过门电路的控制实现总开关控制电扇是否工作,即总开关开,电扇工作;总开关关,电扇停止工作,不论定时是否完成。

2013-04-14

基于FPGA的电风扇的开关控制器

1. 任务 运用FPGA 用FPGA开发板的按键作为输入控制键,用数码管显示当前电风扇自动定时状态(包括:自动开/关,工作定时等)。 2. 目的 运用verilog hdl描述设计,在开发板上实现要求。 3. 使用环境 (软件/硬件环境,设备等) Ep2c35f672c6开发板

2013-04-14

verilog 2进制转换bcd码

verilog语言实现二进制和bcd码的转换

2012-06-23

交通灯实验报告

交通灯实验报告 verilog 图形分析

2011-12-22

序列检测器实验报告

序列检测器实验报告 verilog 图形分析

2011-12-22

具有读写功能的mpu接口

读写功能mpu接口实验报告,图形,图形分析!!!

2011-11-28

约翰逊计数器

约翰逊计数器实验报告,图形及图形分析!!!

2011-11-28

四位超前进位加法器

四位超前进位加法器实验报告,图形及图形分析

2011-11-28

四位比较器和八选一数据选择器

四位比较器和八选一数据选择器实验报告,图形及图形分析

2011-11-28

lynx文本浏览器

lynx浏览器 小巧好用,win7也可以试试的哦~~~

2017-09-14

关于hadoop的跨平台移植问题

发表于 2015-07-23 最后回复 2015-07-24

关于cuda和FPGA

发表于 2014-05-14 最后回复 2015-07-23

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

TA关注的人 TA的粉丝

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