路漫漫,水迢迢

八十一难拦路七十二变制敌

SpringBoot学习笔记二之【yml配置举例与语法介绍】

    Resource目录结构说明: static:保存所有的静态资源; js css images; templates:保存所有的模板页面;(Spring Boot默认jar包使用嵌入式的Tomcat,默认不支持JSP页面);可以使用模板引擎(freemarker、thymele...

2019-01-06 21:53:30

阅读数:698

评论数:3

SpringBoot学习笔记一之【Idea下创建springboot示例、启动原理分析与两种部署启动方式】

1、使用背景 首先说下我们为什么使用springboot,原因有以下几点 1、快速创建独立运行的spring项目以及与主流框架继承 2、使用嵌入式的Servlet容器,无需打成war包 3、starters自动依赖于版本控制 4、大量的自动配置,简化开发,也可修改默认值 5、无需配置x...

2019-01-06 00:44:32

阅读数:814

评论数:0

RocketMQ学习笔记四之【DefaultMQPullConsumer使用与流程简单分析】

我们首先看下DefaultMQPullConsumer使用例子: package com.swk.springboot.rocketmq; import java.util.HashMap; import java.util.List; import java.util.Map; impor...

2019-01-05 21:59:55

阅读数:203

评论数:1

RocketMQ学习笔记三之【DefaultMQPushConsumer流量控制】

上一节我们已经把DefaultMQPushConsumer的大体流程分析了一下,从这节开始我们分析一部分消息处理的细节问题。 继续在DefaultMQPushConsumerImpl的pullMessage方法中有个ProcessQueue,待会我们来分析这个队列的作用。 public vo...

2018-12-24 23:02:45

阅读数:624

评论数:1

RocketMQ学习笔记二之【DefaultMQPushConsumer使用与流程原理分析】

版本:        <dependency>        <groupId>org.apache.rocketmq</groupId> ...

2018-12-23 00:29:44

阅读数:747

评论数:0

RocketMq学习笔记之一【常用操作命令与简单配置】

【为什么使用RocketMq】 1、应用解耦 2、流量削峰 3、消息分发 4、保证最终一致性 5、方便动态扩容 【RocketMq的角色】 producer consumer Broker NameServer broker配置文件: #nameServer 地址,分号分...

2018-12-18 23:23:57

阅读数:585

评论数:0

多线程复习笔记之四【多线程中的异常】

在一个线程组中如果其中一个线程执行报错并不影响其他线程的继续执行,例如: package com.fyw.thread.lock.exception; public class MyThread extends Thread { private String num; public ...

2018-12-16 23:54:17

阅读数:725

评论数:1

多线程复习笔记之三【多线程中的Lock使用】

Lock 1、getHoldCount() 查询当前线程保持此锁锁定的个数,也就是调用lock方法的次数 2、int getQueueLength 返回正等待此锁定的线程估计数,例如有5个线程,1个线程首先执行await,那么调用getQueueLength返回4 3、int getWa...

2018-12-16 23:00:59

阅读数:645

评论数:0

多线程复习笔记之二【线程间的通信】

Object.wait:释放锁,当时代码不会往下继续执行,需要等待notify通知,wait(1000)超过1秒自动唤醒 Object.notify:不释放锁,需要等到同步代码块执行完毕,如果没有wait线程,notify命令将被忽略。 condition 如果有多个线程处于等待状态,我想唤...

2018-12-15 17:53:51

阅读数:65

评论数:0

多线程复习笔记之一【关键属性与常用关键字概述】

1、并发和并行的区别? 并发可以发生在一个或多个CPU,同时处理多个任务,多个任务之间可以进行切换执行;并行只能发生在多核CPU,一核对应一个任务同时运行 2、线程和进程之间的区别? a) 一个程序至少有一个进程,一个进程至少有个线程 b) 进程在执行过程中拥有独立的内存单元,线程之间的内...

2018-12-15 17:47:40

阅读数:60

评论数:0

多线程设计模式:Master-Worker模式

Master-Worker是常用的并行计算模式。它的核心思想是系统由两类进程协作工作:Master进程和Worker进程。Master负责接收和分配任务,Worker负责处理子任务。当各个Worker子进程处理完成后,会将结果返回给Master,由Master作归纳总结。其好处就是能将一个大任务分...

2018-11-21 22:31:19

阅读数:52

评论数:0

java定时器之Timer使用与原理分析

Timer和TimerTask Timer是jdk中提供的一个定时器工具,使用的时候会在主线程之外起一个单独的线程执行指定的计划任务,可以指定执行一次或者反复执行多次。 TimerTask是一个实现了Runnable接口的抽象类,代表一个可以被Timer执行的任务。 【使用举例】 【sch...

2018-11-07 16:10:15

阅读数:75

评论数:1

synchronized的底层优化

Synchronized底层是通过对象内部的一个叫做监视器锁(monitor)来实现的。但是监视器锁本质又是依赖于底层的操作系统的Mutex Lock来实现的。而操作系统实现线程之间的切换这就需要从用户态转换到核心态,这个成本非常高,状态之间的转换需要相对比较长的时间,这就是为什么Synchron...

2018-11-06 23:25:27

阅读数:724

评论数:0

ReentrantLock原理

ReentrantLock主要利用CAS+AQS队列来实现。它支持公平锁和非公平锁,两者的实现类似。 CAS:Compare and Swap,比较并交换。CAS有3个操作数:内存值V、预期值A、要修改的新值B。当且仅当预期值A和内存值V相同时,将内存值V修改为B,否则什么都不做。该操作是一个原...

2018-11-04 20:18:23

阅读数:75

评论数:1

线程间的通信wait与notify

wait()方法 wait()方法使得当前线程必须要等待,等到另外一个线程调用notify()或者notifyAll()方法。 当前的线程必须拥有当前对象的monitor,也即lock,就是锁。 线程调用wait()方法,释放它对锁的拥有权,然后等待另外的线程来通知它(通知的方式是notif...

2018-10-31 22:48:09

阅读数:571

评论数:0

Java中的自旋锁

自旋锁(spinlock):是指当一个线程在获取锁的时候,如果锁已经被其它线程获取,那么该线程将循环等待,然后不断的判断锁是否能够被成功获取,直到获取到锁才会退出循环。  获取锁的线程一直处于活跃状态,但是并没有执行任何有效的任务,使用这种锁会造成busy-waiting。 Java如何实现自...

2018-10-25 22:20:41

阅读数:255

评论数:1

10、销售月饼的最大利润

题目描述 月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需 求量,请你计算可以获得的最大收益是多少。 注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有3种月饼,其库存量分别为18、15、10万吨...

2018-09-06 22:53:07

阅读数:77

评论数:0

9、数字黑洞

题目描述 给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到 一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的6174,这个神奇的数字也叫Kaprekar常数。 例如,我们从6767开始,将得...

2018-08-28 22:16:06

阅读数:74

评论数:0

8、锤子剪刀布

题目描述 大家应该都会玩“锤子剪刀布”的游戏: 现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。 输入描述: 输入第1行给出正整数N(<=105),即双方交锋的次数。随后N行,每行给出一次交锋的信息,即甲、乙双方同时给出的...

2018-08-22 22:11:34

阅读数:64

评论数:0

7、A除以B

题目描述 本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数。你需要输出商数Q和余数R,使得A = B * Q + R成立。 输入描述: 输入在1行中依次给出A和B,中间以1空格分隔。 输出描述: 在1行中依次输出Q和R,中间以1空格分隔。 输入例子: ...

2018-08-20 22:01:15

阅读数:97

评论数:0

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