自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 问答 (1)
  • 收藏
  • 关注

原创 Win32汇编系列五、分支结构程序设计

程序不可能完全的顺序去执行,有时候我们会使用选择、循环结构去设计,本章记录汇编中的选择结构程序设计,也就是学习条件转移指令。条件转移指令就是根据测试的条件是否满足,如果满足,则进行转移,条件测试指令测试标志寄存器中一个或多个标志是否满足要求,如果满足要求,则控制转移到目的地址,如果不能满足要求,CPU就忽略条件转移指令并顺序执行,比如,在逻辑左移指令执行后,可以测试CF标志位判断操作数移出的最高位是否为1。示例JZJZ指令就是当ZF标志位等于1时跳转,ZF标志位是运算结果位0时该标志位等于1,否则为

2020-08-31 18:53:24 270

原创 Win32汇编系列四、逻辑运算指令

这章很简单,就是与(And)、或(OR)、非(NOT)、异或(XOR)的运算。逻辑与(And)两个数进行And运算时,当两个位都是1时,那么结果为1,否则为0,举例8 And 10,8的二进制是1000,10的二进制是1010,所以最后的结果为8(1000)。1000 (8)1010 (10)1000 (8)受影响的标志位有CF、OF、PF、SF、ZF。.386.Model Flat, StdCallOption Casemap :Noneinclude C:\masm32\i

2020-08-25 16:27:19 307

原创 Win32汇编系列三、整数算数运算符

整数算数运算指令也就是进行加、减、乘、除,相应的指令就是ADD、SUB、MUL、DIV,操作数可以是8位、16位、32位的。标志寄存器标志寄存器又称程序状态字,主要用于反映处理器的状态和ALU运算结果的某些特征及控制指令的执行,有些指令的执行会改变标志位,就比如逻辑运算指令等,不同的指令会影响不同的标志位。每个标志位具体什么意思,本章就不说了。如上面的PF,反应了运算结果中1的个数的奇偶性,如果个数为偶数,那么PF位位1,否则为0,还有如ZF反应了运算结果是否为0,如果为0,那么ZF位位1,否则为

2020-08-24 17:16:18 694

原创 Win32汇编系列二、数据传送指令

MOVMOV相当于高级语言的赋值语句,如int a= 1,把1赋值给a,1是源,a是目标。MOV的语法如下:MOV Reg/Mem,Reg/Mem/ImmReg表示寄存器,英文Register的缩写,Mem表示内存,Imm表示立即数,逗号后面的Reg/Mem/Imm都表示源操作数,逗号前面表示目的操作数,MOV的功能就是把源操作数的值传递给目的操作数。.386.Model Flat, StdCallOption Casemap :Noneinclude C:\masm32\include\

2020-08-23 10:40:25 329

原创 Win32汇编开篇、Hello World

下载MASM32地址:http://www.masm32.com/MASM32并不是微软官方发布的软件,是国外的MASM爱好者自行整理和编写的一个软件包,最高版本为11.0版,另外下载了MASM32 ,还要下载一个开发工具RadASM,RadASM下不下载都行,如果没有,需要我们手动编译(ml)、链接(exe)。有了RadASM,可以一键编译、链接、运行。注意的是,MASM32 安装只能安装在某个盘的根目录,我第一次安装在某个目录下,貌似在编译时会报错,具体记不清了。Hello Word.38

2020-08-21 21:41:34 1288

原创 你知道阻塞队列有哪些吗?

什么是阻塞队列阻塞队列也是Queue队列的一种,叫BlockingQueue,所以BlockingQueue继承了 Queue。另外Queue 和 BlockingQueue 都是在 Java 5 中加入的。public interface BlockingQueue<E> extends Queue<E> {BlockingQueue是线程安全的,所以很多时候我们可以利用这个特性,去解决业务中的问题,比如在使用生产者/消费者模式的时候,生产者只需要往队列里添加元素,消费者只

2020-08-20 21:20:53 538

原创 一套键盘如何控制多台电脑?

昨天在群里看见一个小伙伴问一套键盘如何控制多台电脑?正好勾起以前学习Windows时候的乐趣,其实这个也做过,是我的一个朋友需要,实现原理也比较简单,大概就是通过键盘钩子钩住按键,通过Socket发送到其他电脑上,其他电脑开始模拟按键,鼠标也是一样,大概会用法到以下API。啥是钩子Windows中的窗口程序是基于消息机制,事件驱动的,根据不同的消息完成不同的功能,钩子就是拦截Windows的某些消息,在这个消息到达指定窗口前会拦截下来,我们可以从中获取我们想要的信息,可以加工改变这个消息,也可以不作处理

2020-08-17 18:54:57 1575

原创 最强Markdown,tui.editor+vue

前言自建博客我觉得最痛苦的事就是选用哪个Markdown,找一个符合自己的非常不容易,当前我使用的是editor.md这款,其实非常不错,地址:https://pandao.github.io/editor.md,但是他有几个缺点,让我萌生换其他的想法。于是闲下时间重新找了一款,那就是tui.editor。tui.editor和editor.md的star都挺高,另外editor.md是国产的。下面将演示tui.editor与Vue集成。tui.editor与Vue下载npm inst

2020-08-09 12:01:41 2502 3

原创 太强了,这几位大神编写的JAVA面试、教程、框架都在这了。

下载地址关注公众号 《听风逝夜85》,回复Java即可获取下载连接。1.1000道 互联网Java工程师面试题2.Java面试3.SpringBoot经典学习笔记4.深入浅出+Java+多线程5.淘宝技术这十年6.各种架构视频...

2020-08-08 08:45:42 134

原创 不是吧,JMX啥你都不知道?

JMX简介在Java程序中,对JVM和系统检测一直是我们所需要的,但是以前开发人员必须通过一些底层的 JVM API,比如 JVMPI 和 JVMTI 等,才能监测 Java 程序运行过程中的 JVM 和系统的一系列情况,但是这种凡是需要大量的 C 程序和 JNI 调用,开发效率十分低下,为了解决这个问题,Sun 公司也在其 Java SE 5 版本中,正式提出了 Java 管理扩展(Java Management Extensions,JMX)用来管理检测 Java 程序,同时 JMX 也在 J2EE

2020-08-07 21:23:33 396

原创 自定义SpringBoot Starter,也如此简单

什么是Starter?Spring Boot由众多Starter组成,可以认为Starter是一种服务——使得使用某个功能的开发者不需要关注各种依赖库的处理,不需要具体的配置信息, 由Spring Boot自动通过classpath路径下的类发现需要的Bean,并加入相应的Bean。下面通过一个简单的例子来演示如何编写自己的starter。增加依赖新建一个SpringBoot项目后,增加如下依赖:<?xml version="1.0" encoding="UTF-8"?><pr

2020-08-07 13:44:07 146

原创 Nginx代理Tomcat后,如何优雅的获取客户端真实IP?

前言在我的博客中,我的个人博客,使用了Nginx作为反向代理,但是这就导致在Tomcat中获取客户端IP的值为127.0.0.1,由于后续需要查找IP所在地,进行数据统计,所以这个必须要解决。解决方案在这里,主要使用proxy_set_header设置Tomcat接收到的header信息。 location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded

2020-08-06 22:26:49 866

原创 使用Nacos实现服务注册与发现

前言前几章记录了服务配置中心,使用了Nacos和Zookeeper实现,这章来记录服务的注册与发现Nacos实现微服务统一配置中心Zookeeper实现微服务统一配置中心什么是注册中心、服务注册、服务发现、?我们可以将注册中心拆解成两部分,也就是注册、中心,注册的意思也见名知意,就是将某个东西注册到某个平台上,平台管理我们注册的东西,而中心就可以看成一个统一管理信息的平台,两个部分连起来就是注册中心,也就是统一管理所有注册信息的平台。而服务注册指的是服务在启动时将自身的信息注册到注册中心中,方便

2020-08-06 12:39:20 1232

原创 动态代理会了,但JDK Proxy和CGLib有啥区别呢?

什么是动态代理?先说说什么是代理模式,代理模式就是为某个对象提供一个代理对象,并且由代理对象控制对原对象的访问。代理模式通俗来讲就是我们生活中常见的中介。而动态代理就是,在程序运行期,创建目标对象的代理对象,并对目标对象中的方法进行功能性增强的一种技术。在生成代理对象的过程中,目标对象不变,代理对象中的方法是目标对象方法的增强方法。可以理解为运行期间,对象中方法的动态拦截,在拦截方法的前后执行功能操作。动态代理有什么用?其实无论是日志框架或 Spring 框架,它们都包含了动态代理的实现代码,Jav

2020-08-06 08:35:45 413

原创 Nacos实现微服务统一配置中心

前言上一章说了使用Zookeeper实现统一配置中心,这次来说说Nacos,过程也是比较简单的。Nacos简介Nacos 致力于发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助我们快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 有以下关键特性:服务发现和服务健康监测Nacos 支持基于 DNS 和基于 RPC 的服务发现。服务提供者使用 原生SDK、OpenAPI、或一个独立的Agent TODO注册 Service 后,服务消费者可以使用DNS TOD

2020-08-05 22:32:48 1919

原创 Zookeeper实现微服务统一配置中心

为什么要使用配置中心我们在项目中通常使用配置文件配置如数据库连接,超时时间,回调地址等,如果项目里都统一放在properties文件里面,一旦我们要修改配置,那么一台服务器还好,如果有10台机器或者更多,逐一修改显的有点麻烦,当然我们有更好的解决办法,那就是使用配置中心统一配置,各个节点启动时候去配置中心拉去配置,如果要修改,各个节点也可以做到实时更新。ZookeeperZooKeeper由雅虎研究院开发,是Google Chubby的开源实现,后来托管到Apache,ZooKeeper是一个经典的

2020-08-05 12:37:46 1224

原创 论一个Nginx负载均衡的自白

前言到现在,Nginx已经占据了 Web 服务器的大壁江山,并且还在不断地增长,比如国内的 BATJ、网易、新浪等公司都可以看到它的身影。时常浏览某个网站且他发生404错误时,大部分都是Nginx的默认页面,所以对于Nginx,我们还需要继续深造一下。对于本章,将讨论一下Nginx的负载均衡策略以及原理。负载均衡策略有哪些?在此之前,先说说为什么要进行负载均衡,由于一台服务器能处理的并发数是有限的,如Tomcat,在默认情况下是150个线程来处理并发任务,如果短时间超出150人访问呢?那么此时很多

2020-08-04 20:46:36 144

原创 程序员都在用的Shiro框架,快来看看!!!

何为ShiroApache Shiro 是一个开源、轻量级的 Java 安全框架,它提供身份验证、授权、密码管理以及会话管理等功能。相对于 Spring Security,Shiro 框架更加直观、易用,同时也能提供健壮的安全性。在传统的 SSM 框架中,手动整合 Shiro 的配置步骤还是比较多的,针对 Spring Boot,Shiro 官方提供了 shiro-spring-boot-web-starter 用来简化 Shiro 在 Spring Boot 中的配置。也就是可以引入以下依赖。&lt

2020-08-03 15:48:55 457

空空如也

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

TA关注的人

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