自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(92)
  • 资源 (11)
  • 收藏
  • 关注

原创 RabbitMQ预取值

rabbitmq预取值

2022-12-23 19:53:38 278 1

原创 Idea运行build和writing classes太久

2022-02-22 16:05:53 1336

原创 初识Netty

Netty介绍:2、事件驱动的含义,根据客户端的ACCPECT、等等事件进行处理的同步模型与异步模型各层次封装原型netty的应用场景

2022-02-20 15:04:14 234 1

原创 RabbitMq延迟队列

延时队列,延时队列内部是有序的,最重要的特性就体现在它的延时属性上,延时队列中的元素是希望在指定时间到了以后或之前取出和处理,简单来说,延时队列就是用来存放需要在指定时间被处理的元素的队列死信队列其实也是延迟队列,因为正常队列中设置时间就会发送到死信队列中(消息过期)...

2022-01-26 09:31:01 92

原创 RabbitMq 死信队列

死信队列死信,顾名思义就是无法被消费的信息。一般来说,producer将消息投递到broker或者直接到queue里,consumer从queue取出消息进行消费,但某些时候由于特定的原因导致queue中的某些消息无法被消费,这样的消息如果没有后续的处理,就变成了死信(Dead Letter),所有的死信都会放到死信队列中。 应用场景:为了保证订单业务的消息数据不丢失,需要使用到RabbitMq的死信队列机制,当消息消费发生异常时,将消息投入死信队列中。还有比如说:用户在商城下单成功并点击支...

2022-01-24 20:57:05 2385

原创 好的设计方法例子设计方法

package 好用设计1;@FunctionalInterfacepublic interface CallBackInterface { void handler(int playerId, String data) throws Exception;}package 好用设计1;public class ChoiceMethod { public static CallBackInterface CALL_1 = ((playerId, data) ->.

2021-09-30 16:56:15 76

原创 JVM分析学习

Java GC机制主要完成3件事:确定哪些内存需要回收确定什么时候需要执行GC如何执行GC。理解并行与并发的区别1、并发是指用户线程与GC线程同时执行(不一定是并行,可能交替,但总体上是在同时执行的),不需要停顿用户线程(其实在CMS中用户线程还是需要停顿的,只是非常短,GC线程在另一个CPU上执行);2、并行收集是指多个GC线程并行工作,但此时用户线程是暂停的;GC管理的区域:GC管理的主要区域是Java堆,一般情况下只针对堆进行垃圾回收。方法区、栈和本地方法区不被GC所管理栈:堆是由

2020-09-05 00:11:37 164

原创 Eclipse操作的一些方法

(1)新建maven项目时没有出现src/main/java和src/test/java目录的解决方法https://blog.csdn.net/xiangwangxiangwang/article/details/78392456(2)在Eclipse中使用Project Explorer视图与Package Explorer视图https://blog.csdn.net...

2019-10-27 16:04:26 105

原创 RabbitMQ教程

安装好RabbitMQ之后:我们就可以进行代码编辑了简单队列:添加依赖:P:消息的生产者C:消息的消费者红色:队列生产者将消息发送到队列,消费者从队列中获取消息。(1)添加依赖:<dependency> <groupId>com.rabbitmq</groupId> <artifactId>a......

2019-09-30 16:36:20 447

原创 idea线上debug

连接上对应的服务器和debug的端口(123)可以在启动的时候设置为debug模式./....sh debug进入服务器:查看debug端口是否有开启:netstat -nptl | grep 123(如果出现证明端口开启了)如果没有开启就进行iptables-IINPUT-ptcp--dport123 -jACCEPTwindows...

2019-09-23 19:02:04 540

转载 服务器排查

先理解java中的堆、栈、方法区堆:线程共享,存储对象以及数组(数组也是对象的一种 new方式创建出来的),同时由于对象内存是动态分配的,对象在超过生命周期及空指针的时候会被gc垃圾回收机制回收,所以效率较慢。栈:用于存储基本数据类型以及对象的引用类型(这里指的基础类型是指不为static修饰的变量,如成员变量 局部变量等.)同时栈存在着先进后出的特点与队列需要区分开(队列是2个口子,...

2019-09-22 22:38:45 161

原创 主键与索引

总体来说:主键相当于一本书的页码,索引相当于书的目录。两者的比较:主键是一定是唯一性索引,但唯一性索引不一定是主键数据库管理系统对于主键自动生成唯一索引,所以主键是一个特殊的索引唯一索引标识索引值唯一,一个表可以有多个唯一索引,但主键只能有一个主键列不能为空,但唯一索引列可以为空一张表只能有一个主键,但可以有多个索引...

2019-09-05 16:52:22 117

原创 Linux(5)-inode节点

索引节点:inode分区要格式化,创建文件系统Inode:中文意思是索引节点(index node),在每个Linux存储设备或存储设备分区(存储设备可以是硬盘,软盘,U盘)被格式化为文件系统后,一般都有两部分:第一部分是Inode,第二部分是Block。(Linux特有的)Block是用来存储实际数据用的,例如:照片,视频等普通文件数据。而inode就是用来存储这些数据...

2019-08-25 22:51:54 345

原创 数据库基础

关键字的执行顺序:select--from--where--group by--having--order by其中select和from是必须的,其他关键词是可选的,这六个关键词的执行顺序与sql语句的书写顺序并不是一样的,而是按照下面的顺序来执行from--where--group by--having--select--order by,from:需要从哪个数据表检索数据whe...

2019-08-19 16:00:47 92

原创 Linux(2)- Linux基础命令

Linux命令形式: 命令 [参数] [路径文件] []代表可选 rm -f /tmp/log.log 为什么需要参数,因为一个命令有多重功能,多种用途1、创建一个目录: mkdir /data (make directory)2、查看某个目录...

2019-08-17 17:03:07 318

原创 Linux基础(2)---系统基础

Linux中,通过设备名来访问设备,设备名称放在“/dev”目录中。Linux中常用的外部设备文件名: 光驱:/dev/cfrom 硬盘(IDE)/dev/hdX (X=a,b,c) 硬盘(SCSI) /dev/sdX(X=a,b,c)Linux系统分区的要求:(a)至少要有 / (根目录) (b) swap(交换分区)的作用:...

2019-08-17 17:02:38 937

原创 java基础题(2)

(1)& 与 &&的区别& 的两种用法(1)按位与 (2)逻辑与&&:称之为短路运算,如果 && 左边的表达式的值为false,右边的表达式会被直接短路掉,不会进行运算。 当在验证用户登录时判定用户不是 null 而且不是空字符串,应当写为 username!=null && !usern...

2019-08-11 01:55:51 103

原创 java多线程(3)synchronized

synchronized关键字几种应用方式 在并发编程中存在线程安全问题,主要原因有:1.存在共享数据 2.多线程共同操作共享数据。关键字synchronized可以保证在同一时刻,只有一个线程可以执行某个方法或某个代码块,synchronized关键字是java并发编程中常使用的同步锁,用于锁住方法或者代码块,锁代码块时可以是synchronized(this){}...

2019-08-08 13:10:44 88

转载 容器CopyOnWriteArrayList

ArrayList和CopyOnWriteArrayList都是实现了List接口List接口中的方法:public interface List<E> extends Collection<E> { int size(); boolean isEmpty(); boolean contains(Object o); Itera...

2019-08-05 13:34:58 116

原创 Linux基础(4)-

Linux文件类型和扩展名在Linux系统中,可以说一切设备(包括目录、普通文件)皆为文件。文件类型包含有普通文件、目录、字符设备文件、块设备文件、符号链接文件等等Linux里文件扩展名和文件类型没有关系ls -ld /aaa (看目录本身必须加 d ,要不然就看里面的文件了)输入 ls -l-rw-r--r-- (第一个 - 表示文件的类...

2019-08-04 16:05:44 110

原创 Java多线程(2)-Interrupt

中断在java中主要有3个方法,interrupt(),isInterrupted()和interrupted()。interrupt(),在一个线程中调用另一个线程的interrupt()方法,即会向那个线程发出信号——线程中断状态已被设置。至于那个线程何去何从,由具体的代码实现决定。isInterrupted(),用来判断当前线程的中断状态(true or false)。i...

2019-07-29 13:11:36 125

原创 RSA

实现签名与验证:package com.fosu.rsa;import java.io.IOException;import java.security.KeyPair;import java.security.KeyPairGenerator;import java.security.PrivateKey;import java.security.PublicKey;...

2019-07-26 21:02:53 89

转载 RPC讲解

https://www.jianshu.com/p/b0343bfd216e

2019-07-25 12:12:47 105

转载 编程思想

单例模式获取单例的时候判断单例是否为空两次的问题if(heroFate == null){ synchronized (this){ if(Student == null){ student = new Student(); // 根据playerId 和 HeroId 从数据库中找出一条记录 S...

2019-07-24 09:01:34 103

转载 Linux(3)---Shell

Shell 是实现 Linux 系统自动化管理的工具。必备知识:vi/vim编辑器的熟练使用,SSH 终端 及“.vimrc”的设置需要熟练使用。 Linux150个常用命令使用 常见Linux网络服务部署及排错:例如:crond,nfs,rsync,inotify,lanmp,sersync,ssh等 Sh...

2019-07-12 21:14:05 93

转载 设计模式:

一、代理模式 通过代理对象访问目标对象,这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。 编程中的思想:不要随意去修改别人已经写好的代码或者方法。如果需要修改,可以通过代理的方式来扩展方法。 主要思维:代理对象与目标对象,代理对象是目标对象的扩展,并会调用目标对象。如下图所示:一、静态代理静态代理在使...

2019-06-26 00:30:50 83

原创 java基础题

java面向对象的特性: (1)继承 (2)封装 (3)多态性:不同子类型对同一消息做出不同的相应。方法重载是编译时的多态性(前绑定),方法重写是运行时的多态性(后绑定)。 (4)抽象:访问修饰符:java对象clone()方法java赋值是复制对象引用,如果我们想要得到一个对象的副本,使用赋值操作是无法达到目的的:...

2019-06-24 23:10:42 112

转载 Linux(1)- Linux基础

Linux的组成: Linux操作系统、文本编辑器、高级语言编辑器、图形界面 Linux操作系统 = 内核 + 系统软件 + 应用程序 (系统版本,内核版本) Linux特点: 多任务系统:可以同时听歌,打游戏等等 多用户:多个用户同时登录系统。 多进程系统GNU: GNU项目本...

2019-06-23 16:05:31 98

原创 服务端(7)netty+protobuf

1、protobuf protobuf是一种很协议,是谷歌推出的一种序列化协议:(把对象转换成2进制数据)1、创建一个 player.proto 文件 先java中写一个类package com.protoclass player{ long playerId; int age; String name; List&...

2019-06-22 17:18:40 228

原创 netty服务端(五)Netty实现单客户端多连接程序

线程池工作原理: 创建线程池的时候一开始会初始化好几个线程,会给每一个线程分配一个工作队列。然后从任务队列中取出一个任务,如果有任务,执行线程的run方法,如果没有任务,则进行阻塞队列,直到工作队列有新的任务进来。才继续取出一个任务。 如果线程池中有多个工作队列就是如下所示(下图假设有 这个线程池有三个工作队列),会有顺序分配到三个队列,这三个队列是并发的执行。...

2019-06-22 00:17:56 10327 8

原创 java服务端(一)线程池(2)

多线程中的队列 并发队列 并发队列ConcurrentLinkedQueue(非阻塞队列) 并发与并行:并行是多个Cup,而并发是指资源有限的情况下,两者交替使用资源。交替使用,提高效率。 ConcurrentLinkedQueue是Queue的一个安全实现.Queue中元素按FIFO原则进行排序.采用CAS操作,来保证元素...

2019-06-20 00:12:19 142

原创 TCP 协议

TCP 黏包和拆包: 发生TCP粘包或拆包的几种原因(还有) 1、要发送的数据大于TCP发送缓冲区剩余空间大小,将会发生拆包。 2、待发送数据大于MSS(最大报文长度),TCP在传输前将进行拆包。 3、要发送的数据小于TCP发送缓冲区的大小,TCP将多次写入缓冲区的数据一次发送出去,将会发生粘包。 4、接收数据端的应用层没有及时读取接收缓冲区中的数据...

2019-06-05 14:25:59 83

原创 java服务端(三)NIO实现Netty框架

NIO实现Netty框架 简介:Netty就是有 看门服务员(线程+selector)是迎接客人(接受请求),点菜服务员 (线程+selector)去 处理客人的点菜等等。客人就相当于一个客户端的请求。 各个类的流程 一、主启动类流程:(Start.java) 1、创建线程池管理者: 用于管理 Boss (看门服务员) 和 Worker ...

2019-06-02 23:26:38 244

原创 java服务端(3)netty框架基础

netty各种对象:Netty服务器创建流程:创建步骤: 1、创建服务类bootstrap://服务类ServerBootstrap bootstrap = new ServerBootstrap(); 2、两个重要的线程池://boss线程监听端口,worker线程负责数据读写ExecutorService boss = Executors.newCache...

2019-06-01 23:59:42 481

转载 Java服务端(二)- Java网络编程NIO

Java Nio 基础知识点 并发:多线程抢占CPU,可能不同时执行,侧重于多个任务交替执行。(一个CPU) 并行:线程可以不共享CPU,可每个线程一个CPU同时执行多个任务。(多个CPU) 阻塞:相对于数据而言,需要一直等待数据准备好才能进行下一步操作(BIO,accept) 非阻塞:不管数据有没有准备好都可以往下执行下一步逻辑 同步:相对于IO操作而言,在...

2019-06-01 19:40:39 197

原创 Java服务端(二)- Java标准输入输出NIO

基础知识: NIO即New IO,在之前的Java编程中,一般使用流的方式来处理IO,所有的IO都被视作单个字节的移动,通过stream对象一次移动一个字节。流IO负责把对象转换为字节,然后再转换为对象。 NIO与IO有相同的作用和目的,但实现方式不同,NIO主要用到的是块。所以NIO的效率要比IO高。流与块的比较: IO是以流的方式处理数据,...

2019-05-31 23:41:16 226

原创 多线程

理解并发与并行并发:多线程抢占CPU,可能不同时执行,侧重于多个任务交替执行。(一个CPU)并行:线程可以不共享CPU,可每个线程一个CPU同时执行多个任务。(多个CPU)什么是线程安全:多个线程并发执行时,仍旧能保证数据的正确性,这种现象称之为线程安全。导致线程不安全的因素:多个线程并发执行 多个线程并发执行时存在共享数据集(临界资源) ...

2019-05-12 20:42:51 117

转载 java服务端(一)线程池

线程池中的四个构造方法:构造方法一:public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue) { t...

2019-05-12 20:22:41 283

原创 函数的多态原理

1、面向对象的三大概念、三种境界(封装,继承,多态)         封装:突破了C语言的概念,有用了类,成员函数与属性         继承:  继承可以复用以前人写的代码         多态:多态,不仅继承以前的人代码,后来人的代码 2、加了virtual的时候回发生多态#include &lt;iostream&gt;using namespace std;...

2018-09-08 10:07:45 1042

原创 类的设计方法和程序

首先我们需要对类进行函数声明:array.h#pragma once#include &lt;iostream&gt;using namespace std;// 进行类的声明class Array{public: Array(int length); Array(const Array&amp; obj); // 构造函数 ~Array(); ...

2018-09-07 19:07:00 1142

【医院就诊挂号系统】.zip

医院挂号系统,完整项目,可以做实际项目经验与毕业设计

2021-08-31

Bootstrap实战源码

bootstrap实战(书籍加源码,完全整合版本) 所有东西都有,可以直接看,也有源码示范

2018-12-19

进销存储管理系统设计

进销管理存储系统毕业设计,数据库课程设计,大学的课程设计,已经拥有完美的设计文档

2018-09-08

企业工资管理系统包括源码

企业工资管理系统包括源码,包含了源码分享,可以直接用于数据库设计的毕业设计,可以直接打开 .exe 直接运行的软件界面

2018-09-07

MP 3播放器

MP 3播放器 可以直接使用, 也可以让大学的多媒体作业直接上交,有详细的文档说明

2018-06-14

MFC音频播放器

利用c语言制作的带界面的音乐播放器,简单小巧 MFC音频播放器

2018-06-14

Windows程序设计(第五版pdf代码)深入浅出MFC

Windows程序设计(第五版pdf代码)深入浅出MFC,包含了3部分内容,分别是windows程序设计第五版pdf中文高清,和代码,深入浅出MFCpdf中文,比较全面的学习windos开发的全部资料了,免费分享!和别人十一分没多大差别

2018-06-06

算法导论第三版答案(中文版和英文版).zip

算法导论第三版答案(中文版和英文版)PDF 算法导论第三版答案(中文版和英文版)PDF 算法导论第三版答案(中文版和英文版),课后习题的答案 网上的 算法导论(第三版)答案都不完整,这个是完整版答案,分每章一个单独pdf格式的文件,易于查阅。有需要的请自行下载。

2018-05-03

2018年软件设计全部试卷(07到17年历年考试真题)

2018年软件设计全部试卷(07到17年历年考试真题) 2018年软件设计全部试卷(07到17年历年考试真题包含答案。) 很齐全的,我自己在淘宝网中购买的,所以分给别人一起看

2018-04-14

词法分析作业

通过设计编制调试一个具体的词法分析程序,加深对词法分析原理的理解。并掌握在对程序设计语言源程序进行扫描过程中将其分解为各类单词的词法分析方法。 编制一个读单词过程,从输入的源程序中,识别出各个具有独立意义的单词,即基本保留字、标识符、常数、运算符、分隔符五大类。并依次输出各个单词的内部编码及单词符号自身值。(遇到错误时可显示“Error”,然后跳过错误部分继续显示)

2018-03-14

空空如也

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

TA关注的人

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