自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 第2讲 程序设计语言及其文法

基本概念字母表字母表∑是一个有穷的符号集合符号包括: 字母,数字,标点符号字母表的运算包含4种:乘积、n次幂、正闭包、克林闭包乘积:把头一个闭包与后面的闭包的每一项相乘,以此类推。。。n次幂:就是把乘积里的每一个闭包,都替换成相同的闭包,几次幂就几个正闭包:每一个n次幂都添加到一个闭包里头,而且幂必须大于零克林闭包:每一个n次幂都添加到一个闭包里头,而且幂可以为零串字母表里面的一项就是一个串串主要有连接运算和幂运算文法定义文法里主要有两种符号:语言基本符号 and 语

2021-07-19 13:55:08 892

原创 编译原理绪论

一.什么是编译编译就是把高级语言(源语言)翻译成汇编语言或者机器语言(目标语言)的过程。二.编译器的结构人工翻译:一个英文句子想要翻译成中文,首先你要知道该句子的意思,而要知道该句子的意思,就要分析源语言。得到句子的意思,亦即系中间状态,即可根据这个意思翻译成中文。过程说明:要得到句子的意思,我们首先要知道句子的结构:一个句子的核心在于谓语动词,知道了谓语动词,就等于知道了句子的一半意思。知道了谓语动词,我们就会想知道动作的施事者和受事者,就是知道做了什么,然后就想知道时间地点人物,最

2021-07-14 11:49:31 148

原创 JavaScript异步实现

目前实现js异步处理,有三种基本方法,分别系setTimeout/setInterval ,Promise ,Async + await接下来分别说说各个的用法与区别:1.setTimeout/setInterval这两作用相仿,都有两个参数,第一个是回调函数(用于延时/隔段时间 执行)的函数名,第二个是时间(毫秒为单位).setTimeout的作用是:根据第二个参数所写的时间,延时执行回调函数。setInterval的作用是: 根据第二个参数所写的时间,每隔一段时间,执行回调函数。说说他

2021-07-12 16:50:13 174

原创 JavaScript异步机制

Js是一门单线程语言,即同一时间只能执行一段代码。所以,对于同步任务,后一个任务只能等前一个任务执行完才能执行。异步机制:而异步任务,需要借助even loop 事件循环机制处理。当存在执行到异步任务时,会先把异步任务挂起,交由浏览器其他线程来检测call back回调任务。当检测到有回调任务时,则把回调任务放到任务队列。执行流程:(Js执行引擎主线程会优先检测任务队列中是否有事件可执行,接着再处理其他异步任务)Js线程处理完了同步任务后,会循环检测任务队列。取出任务队列中的任务,压到同

2021-07-12 16:44:27 143

原创 springboot-RabbitMQ

pom首先导入rabbitmq依赖(启动器) <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> <...

2020-03-25 23:47:28 70

原创 RabbitMQ-路由模式

订阅模式(fanout)channel.exchangeDeclare(EXCHANGE_NAME, "fanout");类似广播,不处理路由键生产者发送消息到交换器,与该路由器绑定的队列都能收到信息。package com.test.rabbitmq.ps;import java.io.IOException;import java.util.concurrent.Timeou...

2020-03-24 15:45:10 132

原创 RabbitMQ-工作队列

安装完 http://localhost:15672/ 登录,默认账户和密码都是guest轮询分发(round-robin)一条队列有多个消费者,当生产者发送消息到队列时,默认会平均发送到各个消费者,不考虑他们的处理能力。package com.test.rabbitmq.work;import java.io.IOException;import java.util.concurr...

2020-03-24 15:13:22 80

原创 springboot中的yml配置

格式:( k:[空格] v )绑定到Bean1.加上 @ConfigurationProperties(prefix = “person”)2.加上**@Component**,将Bean加入容器。

2020-03-23 11:36:28 95

原创 springboot-cache

组成CacheManager负责创建,管理,获取各个Cache。可以是Radis一类的缓存。Cache就是CacheManager里面所存储的缓存。里面存储着各种KV键值对。cacheNames可以指定缓存名字。里面存储与该cacheNames相关的KV键值对。各个注解@Cacheable注解先执行(先去缓存查看该cacheNames 下,key值是否存在,存在则直接调用缓存,不...

2020-03-22 14:18:23 109

原创 Mysql高级

事务隔离

2020-03-03 12:46:36 60

原创 SQL 里JOIN的用法

JOIN的用法

2020-02-25 14:15:35 66

原创 分层的好处

能够精确定位到错误的位置。

2020-02-24 22:48:34 750

原创 HTTP

HTTP请求信息和响应信息格式:请求:请求行请求头信息请求主体信息请求行又分3部分请求方法 请求路径 所用的协议请求方法:GET POST PUT DELETEPOST请求包含信息,所以请求头要有信息长度和信息类型(XML里的ajax请求)请求和响应的格式响应状态码304状态:比对上一次的时间和ETag,如果相同,则发出304(没发出请求数据,因为没修改过);否则...

2020-02-19 23:57:23 86

原创 原子变量

i++原子性问题:int temp = i;i = temp;i = i + 1;中间可能会被其他线程抢走CPU时间片,造成重复赋值,要解决该问题,可以采取加上synchronized锁,但会影响效率。i++会发生多线程安全问题,而原子变量采用CAS算法,可以避免该问题发生,提高效率。原子变量位于java.util.concurrent.atomic包下,采用原子变量可以避免原子性...

2020-02-19 15:19:12 138

原创 CAS算法

CAS(compare and swap)是底层硬件对并发操作的一种支持。包含了三个操作数:从内存读取出来的值V预期值A(第一步第一次读取出来的值)新值B(修改后的值)当且仅当V == A,才会执行 V = B ,把新值赋给内存否则不会进行任何操作。...

2020-02-19 14:58:29 91

原创 创建线程的四种方式

1.继承Thread类(缺点:无法再继承其他的类)通过继承Thread类,重写run方法实现。主方法先把MyThread创建出来,然后“.start()”把线程放到预备队列。public class CreateThread { public static void main(String[] args) { Thread myThread = new MyThread...

2020-02-19 14:45:43 81

原创 volatile 内存可见性

内存可见性内存可见性是指一个线程修改所使用对象时,其他线程也能看到对象的状态的变化。由于缓存的存在,线程无法及时看到对象的修改由于线程创建出来,其本身缓存的原因,所以其他线程修改对象状态的时候,本线程无法及时及时刷新本线程的缓存,可能无法看到对象状态的修改。使用volatile关键字使用volatile,可以让其他线程及时看到对象的状态发生改变,相当于线程废弃自己的缓存,直接操作内存 ...

2020-02-19 13:57:21 76

原创 Java File类创建文件

File file = new File("D:\\haha.txt");这个只是在内存中创建file的对象,并不是实际存在于硬盘中。File file2 = new File("D:\\222.txt");FileOutputStream fileOutputStream = new FileOutputStream(file2);只要有数据输出到file2对象,它就会自动在硬盘上创...

2019-09-07 15:53:18 751 1

原创 同步与异步

同步:相当于单线程,干完一件再一件异步:相当于多线程,几件事并行地干

2019-09-06 19:19:33 79

原创 img通过response得到验证码

<img title="点击图片切换验证码" id="vcodeImg" src="get_captcha?vl=4&w=150&h=40">img标签通过请求后端,得到验证码。@RequestMapping(value = "get_captcha" , method = RequestMethod.GET) public String getCpatc...

2019-08-19 20:18:45 717 1

空空如也

空空如也

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

TA关注的人

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