自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(233)
  • 资源 (34)
  • 收藏
  • 关注

原创 计价器跳4的问题

原题:程序员小明打了一辆出租车去上班。出于职业敏感,他注意到这辆出租车的计费表有点问题,总是偏大。出租车司机解释说他不喜欢数字4,所以改装了计费表,任何数字位置遇到数字4就直接跳过,其余功能都正常(23->25,399->500(400、401、402、……))。你能根据计费表的数字,计算出实际的数字吗?示例1、input 5 output 4示例2、input 17 output 15示例3、input 100 output 81示例4、input 500 ..

2022-05-25 21:04:44 1020 1

原创 最长回文子符串

算法-最长回文子串

2022-05-25 20:50:11 199

原创 算法-字母异位词分组

题目描述:给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。字母异位词=字符串的长度一样 &&组成 字符串的字母种类一样示例:输入:["eat", "tea", "tan", "ate", "nat", "bat"],输出:[ ["ate","eat","tea"], ["nat","tan"], ["bat"]]说明:所有输入均为小写字母。不考虑答案输出的顺序。代码实现: hash + 数组+排序...

2022-05-16 23:14:18 192

原创 算法-字母异位词-判断2个字符串是否是异位词

说明字母异位词=字符串长度一样 && 字符串中的字母种类一样数组+排序+字符串equalimport java.util.Arrays;import java.util.Scanner;class Solution { public static void main(String[] args) { System.out.println(test("anagram","nagaram")); System.out.println(test(...

2022-05-16 23:03:09 306

原创 日志切面类

import cn.hutool.core.util.StrUtil;import cn.hutool.core.util.URLUtil;import com.alibaba.fastjson.JSON;import io.swagger.annotations.ApiOperation;import lombok.extern.slf4j.Slf4j;import org.aspectj.lang.ProceedingJ.

2022-03-22 14:46:22 584

原创 docker常用命令

1. 拉起镜像:dockerpull镜像名docker pull morunchang/fastdfs2. 查看镜像:dockerimages3.查看运行的镜像:dockerps-a4.停止容器 dockerstop容器名,容器名即dockerps-a的names列5.删除容器 dockerrm-f容器名6. 重启或启动容器 dockerstart容器名,dockerrestart容器名7.容器随...

2022-03-21 08:51:22 572

原创 雪花算法2-18位数字

public class IDWorker { /** * 起始的时间戳 */ private final static long START_STMP = 1480166465631L; /** * 每一部分占用的位数 */ private final static long SEQUENCE_BIT = 12; //序列号占用的位数 private final static long MACHINE_BIT = 5; .

2022-03-12 11:45:00 516

原创 RocketMQ消息发送方式

普通消息同步生产者importorg.apache.rocketmq.client.producer.DefaultMQProducer; importorg.apache.rocketmq.client.producer.SendResult; importorg.apache.rocketmq.client.producer.SendStatus; importorg.apache.rocketmq.common.message.Message; ...

2022-03-12 11:00:00 881

原创 RocketMQ配置文件broker-xx.properties中的配置项详解

#所属集群名字brokerClusterName=rocketmq-cluster#broker名字,注意此处不同的配置文件填写的不一样brokerName=broker-b#0 表示 Master,>0 表示 SlavebrokerId=0#nameServer地址,分号分割namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数defaultT.

2022-03-05 17:30:58 624

原创 加解密--BCryptPasswordEncoder

import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;public class PasswordEncoderUtil { public static Boolean matches(String raw, String encoded) { return new BCryptPasswordEncoder().matches(raw, encoded); } .

2022-02-25 10:02:55 1492

原创 springboot启动过程中常用的回调

springboot启动过程中常用的回调常用的回调接口ApplicationContextInitializer ApplicationListener ApplicationRunner CommandLineRunner示例ApplicationContextInitializer接口是在spring容器初初始化之前调用的自定义spring容器启动前需要处理的业务逻辑importorg.springframework.context.ApplicationContextInit.

2022-01-10 22:00:00 271

原创 枚举及常用场景

枚举类什么是枚举类枚举类的理解,类可以创建的对象数量是有限个,确定的,此时的类可以定义为枚举类 当需要定义一组常量时,强烈推荐使用枚举类 如果枚举类中只有一个对象,则可作为单例模式的实现方式 自定义枚举类/** *1.枚举类的使用 *1.1枚举类的理解,类的对象数量是有限个,确定的,此时的类可以定义为枚举类 *1.2当需要定义一组常量时,强烈推荐使用枚举类 *1.3如果枚举类中只有一个对象,则可以作为单例模式的实...

2022-01-10 14:17:11 528

原创 kettle的编译使用

1. 从github 选择自己想要的版本下载2.修改maven的settings.xml为kettle的 ,下载地址:settings.xml-Java文档类资源-CSDN下载3. 进入下载目录,执行mvn install -DskipTests(可能会失败,多试几次)4. 在XXXX\Kettle-9.2.0.2\assemblies\client\target找到pdi-ce-9.2.0.0-SNAPSHOT.zip文件解压5. 执行Spoon.bat运行即可..

2021-12-09 01:00:53 506

原创 Hadoop高可用

IP规划 HOST NN NN JN DN ZKFC ZK node01 * * * node02 * * ..

2021-09-04 10:57:32 284 1

原创 CyclicBarrier的例子

package com.allen.concurrent.no9;import java.util.Random;import java.util.concurrent.BrokenBarrierException;import java.util.concurrent.CyclicBarrier;public class TestCyclicBarrier { public static void main(String[] args) {// CyclicBarri.

2021-08-16 21:10:25 152

原创 软件架构设计原则与软件设计模式

软件架构设计原则目标: 高内聚、低耦合、代码的可重用性、可读性、可靠性、可维护性指导思想: 软件架构设计原则 单一职责原则 开闭原则 里氏替换原则 依赖倒置原则 接口隔离原则 迪米特原则 合成复用原则解决方法/方案: 软件开发的设计模式实战:实战时要权衡,找到适合自己业务的点(从成本、维护上考虑)软件开发的涉及的设计模式2.1 分类:创建型模式(创建对象的) 结构型模式(为了达到某种目的,增加一个结构/模块,强调结构变化) 行为型模式(为做某事,而提出了如何做...

2021-06-07 23:37:28 93

原创 @Scheduler&@Async的优化

import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org..

2021-04-06 15:32:18 293 1

原创 docker安装rabbitmq镜像

1. docker ps 查看正在运行的镜像/服务2. 在docker容器中安装rabbitmqdocker run -d --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3 -management第1次执行,因为本地没有rabbitmq的镜像,会从仓库下载镜像并安装2.1 参数说明 rabbitmq:3 :表示镜像的名字,其中3表示版本3 ...

2021-04-02 00:02:05 603

原创 centos8 安装 docker

1. 安装依赖sudo yum install yum-utils device-mapper-persistent-data lvm2 -y 2. 添加docker仓库sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo在浏览器输入https://download.docker.com/linux/centos/docker-ce.repo会自动下载...

2021-04-01 22:33:14 290

原创 margin:外边距

围绕在元素边框的空白区域是外边距。设置外边距会在元素外创建额外的“空白”区域。接受任何长度单位、百分数值甚至负值,默认值为0 往往也是内盒子边框与外盒子的边框的距离 其写法也是有1、2、3、4值,其用法和padding一样 接受任何长度单位,可以是像素、英寸、毫米或 em。 百分数是相对于父元素的 width 计算的 浏览器会为某些元素设置默认的外边距,eg:p元素的上下空一行 margin-top、margin-right、margin-bottom、margin-left分别设置4个方向

2020-11-21 20:49:14 1223

原创 2020-11-21 padding: 内边距以及盒子模型的例子

padding 属性定义元素边框与元素内容之间的空白区域padding 属性接受长度值或百分比值,但不允许使用负值。 百分百相对的父元素的width值 padding:(一个值)上下左右内边距均为这个值:h1 {padding: 10px;} padding:(两个值)第一个值为上下内边距,第二个值左右内边距 padding:(三个值)第一个值为上内边距,第二个值为左右内边距,第三个值为下内边距。 padding:(四个值)第一个值为上内边距,第二个值为右内边距,第三个值为下内...

2020-11-21 10:31:20 644 1

原创 nacos源码编译打包

1. 从github下载nacos的源码 https://github.com/alibaba/nacos.git2. 在命令行执行 :如果是windows不要在power shell上执行mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U3. 生成的jar包在nacos\distribution\target目录下4. 解压上面的包,进入bin目录 启动命令:startup.cmd -m sta...

2020-09-02 10:44:18 5364

原创 Docker部署Springboot项目

1. 查看centos7的内核版本[root@allen ~]# uname -r3.10.0-693.el7.x86_642. 安装maven(前提以及安装好jdk)说明:安装maven是为了在服务器打包源码用的,此处用不到2.1 下载&解压wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gztar -z...

2020-08-27 11:16:17 139

原创 Docker基于Centos7的安装

安装方法1:yum install -y docker[root@allen ~]# yum install -y docker此方法可能存在网络问题,导致下载不下来本地安装需要提前下载好:docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpmdocker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm验证:执行docker -v卸载卸载旧版本$ sudo yum remove d...

2020-08-27 10:22:53 93

原创 交换排序

交换排序:顾名思义,目的是排序,手段是不断交换2个数据的位置分为:冒泡和快速(冒泡升级版)public class JiaoHuanSort { /** * 冒泡排序 * 循环比较相邻的两个数,将较大的数放在后面 * * @param nums 待排序数值序列 */ private static int[] bubbleSort(int[] nums) { int len = nums.length;

2020-08-18 23:47:01 101

原创 插入排序

插入排序顾名思义,首先说排序,是目的,插入是手段,所谓插入即在某个位置上放置一个数据。和交换排序的区别也就在于此(交换排序是2个数据交换位置(2个数据),插入排序是把数据放入某个位置(一个位置,一个数据))插入排序分为直接插入和希尔插入 2种排序package com.allen.datastructure_algorithm.paixu;import java.util.ArrayList;import java.util.Arrays;import java.util.LinkedLi

2020-08-18 23:37:23 120

原创 mysql8遇到的坑mysql8 ERROR 1726 (HY000): Storage engine ‘MyISAM‘ does not support system tables. [mysql

从低版本的mysql库,通过navicat执行sql导入mysql8,发现无法连接,因为密码错了,mysql8 ERROR 1726 (HY000): Storage engine 'MyISAM' does not support system tables. [mysql.db]当时因为密码错了,就通过https://blog.csdn.net/zhige_j/article/details/93975581修改密码1. vim/etc/my.cnf在 [mysqld]最...

2020-08-18 15:38:04 13718

原创 XShell使用过程中遇到的问题

最近使用vmware安装linux虚拟机后,使用xshell连接很慢很卡,解决方法修改/etc/ssh/sshd_config的UseDNS取消即可(只适合自己安装虚拟机学习,生产环境不要改哦)

2020-08-18 11:03:36 553

原创 类加载

JVM进程被终止的情况:运行完正常结束 执行System.exit()或Runtime.getRuntime().exit() 遇到未捕获异常或错误而结束 强制结束JVM进程类使用/加载三步骤:装载、连接、初始化类的加载:指的是将类的class文件读入内存,并为之创建一个java.lang.Class对象类的连接:负责把类的二进制数据合并到JRE中。又分为3个阶段:验证/校验:检查载入Class文件 准备:给类的静态变量分配存储空间并设置初始值 解析:非必须,将类的二进制数据中的

2020-07-22 23:40:20 115

原创 软件设计的7大原则

1. 开闭原则:对修改关闭,对扩展开发2. 依赖倒置原则:(高层、底层、抽象、细节 就是通过抽象解决高层、底层、细节的关系,让底层或细节修改不影响高层)3. 单一职责原则:一个类、接口或方法只负责一项职责4. 接口隔离原则:接口细化,不用大接口即创建多个专门接口,而不使用单一总接口,客户端不应该依赖它不需要的接口/功能(跟单一职责很像)。5. 迪米特原则:也叫最少知原则即一个对象应尽可能少的对其他对象了解。降低类与类之间的耦合度。只和朋友交流,不和陌生人说话。出现在成员变量、方法的参数或

2020-07-22 09:08:01 145

原创 oracle账号过期和账号被锁

今天账号过期和之前改密码后代码密码没有改,导致多次尝试账号被锁Sys登录sqlplus sys/allen@orcl_db as sysdba改密码和账号解冻alter user activiti identified by allen;alter user activiti account unlock;密码永不过期2. 查看用户使用的profile,要名字select username,profile from dba_users;2.设置账号...

2020-07-16 15:43:54 155

原创 springboot整合netty优雅关闭netty(未企业实战)

@SpringBootApplicationpublic class SpringbootNettyApplication { public static void main(String[] args) { SpringApplication.run(SpringbootNettyApplication.class, args); NioEventLoopGroup bossGroup = new NioEventLoopGroup(1); N.

2020-07-08 11:42:11 2684 1

原创 RocketMQ源码分析准备知识之CommonsCli

RocketMQ4.7.0版本使用了<dependency> <groupId>commons-cli</groupId> <artifactId>commons-cli</artifactId> <version>1.2</version></dependency>即采用了apache的命令行工具包比如:org.apache.rocketmq.namesrv.Na...

2020-06-23 17:51:01 160

原创 RocketMQ08之运维管理

运维管理1 集群搭建1.1 单Master模式这种方式风险较大,一旦Broker重启或者宕机时,会导致整个服务不可用。不建议线上环境使用,可以用于本地测试。启动 NameServer### 首先启动Name Server$ nohup sh mqnamesrv &验证Name Server 是否启动成功$ tail -f ~/logs/rocketmqlogs/namesrv.logThe Name Server boot success...启动 Broker

2020-06-23 17:31:49 474

原创 Runtime.getRuntime().addShutdownHook的坑

public class TestRuntime { private static ScheduledExecutorService executorService = Executors.newScheduledThreadPool(3); static { Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() { @Override public .

2020-06-23 15:00:05 575

原创 RocketMQ07-- 12大特性

1 订阅与发布消息的发布是指某个生产者向某个topic发送消息;消息的订阅是指某个消费者关注了某个topic中带有某些tag的消息,进而从该topic消费数据。2 消息顺序消息有序指的是一类消息消费时,能按照发送的顺序来消费。例如:一个订单产生了三条消息分别是订单创建、订单付款、订单完成。消费时要按照这个顺序消费才能有意义,但是同时订单之间是可以并行消费的。RocketMQ可以严格的保证消息有序。顺序消息分为全局顺序消息与分区顺序消息,全局顺序是指某个Topic下的所有消息都要保证顺序...

2020-06-22 14:33:01 153

原创 RocketMQ06---6大设计

RocketMQ 6大设计消息存储消息存储是RocketMQ中最为复杂和最为重要的一部分,本节将分别从RocketMQ的消息存储整体架构、PageCache与Mmap内存映射以及RocketMQ中两种不同的刷盘方式三方面来分别展开叙述。1.1 消息存储整体架构消息存储架构图中主要有下面3个跟消息存储相关的文件构成。CommitLog:消息主体以及元数据的存储主体,存储Producer端写入的消息主体内容,消息内容不是定长的。单个文件大小默认1G ,文件名长度为20位,左边补零,剩.

2020-06-22 14:15:38 241

原创 RocketMQ05基本概念

1 消息模型(Message Model)RocketMQ主要由 Producer、Broker、Consumer 三部分组成 Producer 负责生产消息 Consumer 负责消费消息 Broker 负责存储消息。Broker 在实际部署过程中对应一台服务器,每个 Broker 可以存储多个Topic的消息,每个Topic的消息也可以分片存储于不同的 Broker。Message Queue 用于存储消息的物理地址,每个Topic中的消息地址存储于多个 Message Queue 中...

2020-06-22 08:53:54 159

原创 HDFS-001-了解

hadoop的思想就是把一个文件划分为N个block,然后把block散列到不同机器上。因此block块的大小设定就非常重要了大数据运算的结论:1.分治思想2.并行计算3.计算向数据移动(减少传输IO消耗的时间 数据移动比分布式计算更耗时)4.数据本地化读取这四个条件将是整个大数据技术需要关心的重点 什么是HDFS? HDFS(Hadoop Distributed File System)是一个分布式文件系统 什么是分布式文件系统呢? 简单说就是一个文件用..

2020-06-20 15:03:47 208

原创 RocketMQ04最佳实践

从生产者、消费者、broker、NameServe、客户端配置、系统配置等6个方面生产者1.1 发送消息注意事项Tags的使用(过滤消息)一个应用尽可能用一个Topic,而消息子类型则可以用tags来标识。tags由应用设置,只有生产者在发送消息设置了tags,消费方在订阅消息时才可以利用tags通过broker做消息过滤:message.setTags("TagA")。Keys的使用(消息的身份证和避免重复消费结合用)用Keys字段唯一标识一个消息,方便将来定位消息丢失问题。服...

2020-06-19 17:45:13 210

基于activeMQ的消息推送.zip

基于activemq的消息推送,利用stomp协议,支持IE、edge、谷歌、火狐等浏览器。消息推送个人认为比websocket好用

2019-12-09

ActiveMQ的队列queue模式(事务、应答、转发模式、阻塞消息)

activemq queue模式,事务、应答、转发模式、MessageConsumer的receive阻塞方法的测试

2019-12-06

ActiveMQ的队列、topic模式

ActiveMQ的两种消息模式的例子,queue和topic,注释很详细,告诉你每步做什么,非springboot整合

2019-11-22

ActiveMQ的队列模式

ActiveMQ的队列模式,初学ActiveMQ的,一个很好的体验、入门,代码注释很清楚,JMS的java使用步骤

2019-11-20

8种常用创建线程的方法thread.zip

详解8种常用java创建线程的方法,8年老鸟从头开始整理的资料

2019-10-23

Sublime3.zip

是一款比较小巧、使用的html开发工具,非常适合临时写个html测试一下的场景

2019-10-21

netty4简单客户端和服务端01.zip

netty4入门级,简单客户端和服务端,可以与之前上传的netty3对比学习

2019-09-07

Netty3客户端服务端hi allen.zip

netty3简单的客户端和服务端,入门级帮助解决刚接触netty3的码友

2019-09-07

多线程之06三种中止线程的方法比较.docx

如何优雅的中止一个线程。即能达到中止线程的目的又能保证线程安全、代码优雅

2019-07-31

Springboot自定义启动器,源码+详细讲解-傻子都能看懂

springboot 自定义启动器:4个注解+一个spring.factories文件构建一个start

2019-07-19

spring资源访问的一个例子

一个简单的利用spring boot + spring 的资源访问例子,重点关于路径,打包后能正常运行

2019-03-08

springboot集成websocket的简单例子

一个springboot集成websocket的简单例子,好多网上资源无法用,特上传

2019-03-02

Mybatis学习源码的实例代码

用于学习mybatis源码的一个例子;结合idea的debug工具查看mybatis的运行原理

2019-02-19

mybatis入门之级联1对1(无延迟加载)

mybatis入门之1对1关联。案例中也由如何使用自定义typeHandler实现枚举类和数据库字典的转换

2019-02-12

mybatis入门之typeHanlder的三种使用案例

主要讲解EnumOrdinalTypeHandler和EnumTypeHandler以及自定义typeHandler处理枚举类和数据库字典的映射

2019-02-08

mybatis入门之简单增删改查

mybatis的入门简单的增删改查,是学习mybatis入门以及学习源码必经之路

2019-02-07

mybatis自带代码生成器

定性:mybatis自带的代码生成器 介绍一种解决方案,其他的类似: 工具:idea jar包:mybatis-generator-core-1.3.2.jar &amp;mysql;-connector-java-5.1.34.jar(以mysql为例) 命令:java -jar  mybatis-generator-core-1.3.2.jar -configfile generator.xml -overwrite(在idea 或者dos下执行) 一个xml配置: 1.   数据库驱动包位置即mysql-connector-java-5.1.34.jar的决定路径 2. 数据库的连

2019-02-03

mybatis入门之xpath解析xml

XPath解析xml的例子;mybatis入门之xpath解析xml;至少xpath入门

2019-01-30

mybatis入门之jdbc操作数据库

mybatis入门之如何使用jdbc操作数据库;连接、预处理、传参、处理结果集、关闭资源

2019-01-28

springboot的profile的例子

springboot,讲解profile的例子:传参、参数、配置文件(application.properties中添加spring.profiles.active的值)

2018-09-10

springboot配置含动态配置

springboot配置文件的学习(含动态配置)&EnvironmentPostProcessor;接口的用法

2018-09-10

个人整理全网最全枚举资料(java),word文档形式发布

个人整理全网最全枚举资料(java)

2022-01-10

settings.xml

kettle的需要的maven配置文件

2021-12-09

Hadoop3.3高可用环境搭建 .docx

五台虚拟机搭建Hadoop3.3.1高可用完全分布式环境

2021-11-29

软件设计模式的6大原则.xmind

本人8年的开发自我总结,自认为全网比较好的总结,希望对你们所有帮助

2021-05-08

MobaXterm backup.zip

linux服务好帮手,因为xshell收费,特提供此工具,ftp功能没有xshell强大,满足日常使用

2020-09-23

springboot-es.zip

Springboot2整合es的例子,本人亲测试,ok,可以 参考https://blog.csdn.net/zhuhaoyu6666/article/details/106091910

2020-05-13

Nodejs环境搭建.docx

nodejs的环境搭建,以及安装好nodejs的一些全局配置以及通过node的异步执行的例子,如何执行代码

2020-04-30

css的作用、3种形式、文件规划、选择器(大全)

整理的css的知识,主要是css的作用、3种使用方式、css文件规划、选择器

2020-02-26

WebMvcConfigurer.docx

WebMvcConfigurer的使用,很详细很详细,

2019-12-30

springboot-jsp.zip

springboot2.x整合jsp,难点就是依赖、scope属性的使用

2019-12-18

RabbitMQ.zip

windows 下安装RabbitMQ,因为官网下载太慢,所以上传此安装包,节约大家的时间。安装包含有RabbitMQ的依赖环境erlang的安装包,希望对大家有所帮助。

2019-12-15

基于Springboot+ActiveMQ事务==本地事件表+activemq.zip

基于Springboot+ActiveMQ事务==本地事件表+activemq,即利用activemq+本地事件表实现分布式事务的功能

2019-12-12

websocket.zip

springboot2.x整合websocket的例子,很详细,也带有传参(请求路径),大多数开发都能满足

2019-12-05

空空如也

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

TA关注的人

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