自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(108)
  • 资源 (5)
  • 收藏
  • 关注

原创 自定义注解

自定义注解

2022-06-30 17:09:38 170 1

原创 cas 实现原理

cas 实现原理

2022-06-18 21:27:46 152

原创 公平锁与非公平锁

公平与非公平锁

2022-06-17 14:51:36 147

原创 手写线程池

public static MultipartFile base64ToMultipart(String base64) { try { String[] baseStrs = base64.split(","); Base64.Decoder decoder = Base64.getDecoder(); byte[] b = new byte[0]; decoder.decode(baseSt

2022-06-16 11:00:43 64

原创 Ribbon轮询算法

LoadBalancer接口import org.springframework.cloud.client.ServiceInstance;import java.util.List;/** * 负载均衡接口 * * @author wenhui * @Date 2021/2/21 */public interface LoadBalancer { /** * 获取需要访问的机器 * * @param serviceInstances

2021-02-21 17:25:47 707

原创 Ribbon负载规则替换

1. 新建package,添加自定义规则类官方文档警告 FooConfiguration必须有@Configuration,但注意它并不在主应用上下文的@ComponentScan中,否则它会被所有的@RibbonClients分享(意思就是覆盖所有客户端的默认值)。如果开发人员使用@ComponentScan(或@SpringBootApplication),那就必须采取措施避免被覆盖到(例如将其放入一个独立的,不重叠的包中,或以@ComponentScan指明要扫描的包。/** * Ribbo

2021-02-14 22:07:04 159

原创 SpringBoot 用jrebel热部署抛出内存不足解决办法

Springboot 启动项中设置VM options 增加虚拟内存-mx2048m -XX:MaxPermSize=2048m -Drebel.spring_plugin=true -Drebel.hibernate_plugin=true

2021-01-26 22:06:21 293

原创 IDEA 配置启动多个相同SringBoot服务

编辑启动配置允许打开多个服务窗口修改服务端口覆盖.yml配置中的端口server.port = 8090

2021-01-05 22:18:27 1897

原创 Java IO

什么是流?内存与设备间传输数据的通道文件字节输入流/** * 文件字节输入流 */public class IOTest { public static void main(String[] args) throws Exception { FileInputStream fis = new FileInputStream("D:\\abc.txt"); byte[] buf = new byte[1024]; int count =

2020-11-10 17:20:41 109

原创 java反射基础

java反射基础public class ReflectTest { public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException, IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchFieldException { // 类加载,会调用构造方法,执行

2020-11-10 13:38:52 106 1

原创 java创建线程

继承Thread类创建线程/** * @author wenhui * @description 继承Thread类创建线程 * @Date 2019/10/6 */public class CreateThread extends Thread { @Override public void run() { for (int i = 0; i < 10; i++) { System.out.println(i);

2020-11-09 21:42:07 95

原创 单例模式

单例模式饿汉式/** * 饿汉式:直接创建实例对象,不管是否需要都会创建 */public class Singleton1 { public static final Singleton1 INSTANCE = new Singleton1(); private Singleton1() { }}懒汉式/** * @author wenhui * @description 懒汉式 * @Date 2020/11/9 */public class

2020-11-09 17:22:26 63

原创 i++和++i的区别

i++和++i的区别i++ 先赋值再运算++i 先运算再赋值public class BaseDataType { public static void main(String[] args) { int i = 1; i = i++; int j = i++; int k = i + ++i * i++; System.out.println("i: "+i); System.out.print

2020-11-09 12:50:31 170

原创 跳出当前的多重嵌套循环

跳出当前的多重嵌套循环public class BaseDataType { public static void main(String[] args) { ok: for(int i = 0; i < 10; i++) { for(int j = 0; j < 10; j++) { if(i==3) { break ok;

2020-11-07 21:26:05 62

原创 &和&&的区别

&和&&的区别&和&&的区别&运算符有两种用法:(1)按位与;(2)逻辑与。&&运算符是短路与运算。逻辑与跟短路与的差别是非常巨大的,虽然二者都要求运算符左右两端的布尔值都是true 整个表达式的值才是 true。&&之所以称为短路运算,是因为如果&&左边的表达式的值是 false,右边的表达式会被直接短路掉,不会进行运算。public class BaseDataType { publ

2020-11-07 20:19:30 227

原创 ThreadLocal 使用

问题:多线程在某一时间访问到的是同一个对象class ResNumber { public int count = 0; public int getNumber() { count = count + 1; return count; }}class Mythread extends Thread { private ResNumber resNumber; public Mythread(ResNumber resN

2020-10-14 21:55:31 122

原创 Lock锁的简单使用

synchronized和locksynchronized: 自动的获取和释放锁synchronized(new Object()) { ...}lock:手动的获取和释放锁Lock lock = new ReentrantLock(); lock.lock(); try { ... } catch (Exception e) { e.printStackTrace(); } finall

2020-10-13 16:43:29 449 1

转载 java枚举

java枚举简单使用1.定义的常量public enum PizzaStatus { ORDERED, READY, DELIVERED; }2.枚举类型中定义属性,方法和构造函数public enum PinType { REGISTER(100000, "注册使用"), FORGET_PASSWORD(100001, "忘记密码使用"), UPDATE_PHONE_NUMBER(100002, "更新手机号码使用"); priva

2020-10-12 22:02:11 72

原创 Java获取对象内存地址

haseCode()方法获取并非对象内存地址hashCode方法的主要作用是为了配合基于散列的集合一起正常运行,获取对象散列的地址,并非实际内存地址。java直接打印对象,结果是十六进制的散列地址值public class ObjectTest { public static void main(String[] args) { Object obj = new Object(); System.out.println(obj); System.

2020-10-09 21:50:38 17803

原创 String,StringBuffer和StringBuilder 的区别

String,StringBuffer和StringBuilder 的区别1、String 中使用 final 关键字字符数组保存字符串,对象是不可变的,也就可以理解为常量,线程安全2、StringBuilder 与 StringBuffer 都继承自 AbstractStringBuilder 类,在 AbstractStringBuilder 中也是使用字符数组保存字符串 char[]value 但是没有用 final 关键字修饰,所以这两种对象都是可变的3、StringBuffer 对方法加了同

2020-10-09 15:13:02 181

原创 java中wait()和notify()使用

java中的守护块Object.wait() -挂起一个线程Object.notify() -唤醒一个线程class Source { public int count = 0; public boolean flag = false; // 是否有数据}class Producer implements Runnable { private Source source; public Producer(Source source) { th

2020-10-08 17:30:20 1336 1

原创 java使用atomic原子类

产生背景当给变量加了volatile关键字, 表示该变量对所有线程可见, 但不保证原子性.public class VolatileDemo extends Thread { public volatile static int count = 0; @Override public void run() { for(int i = 0; i < 10000; i++) { count++; } S

2020-10-04 21:47:02 729

原创 java volatile关键字可见性

原始代码public class VolatileDemo extends Thread { public boolean flag = true; public void setFlag(boolean flag) { this.flag = flag; } @Override public void run() { System.out.println("===start==="); try {

2020-10-04 20:44:57 121

原创 java使用同步代码块解决线程安全问题

模拟抢票public class TrainThread implements Runnable { public static int count = 100; @Override public void run() { while (count > 0) { synchronized (this) { System.out.println(Thread.currentThread().getNam

2020-09-30 20:18:56 154

原创 java 守护线程

守护线程和用户线程的区别守护线程: 为程序提供后端服务的线程成为守护线程,非守护线程运行结束时守护线程也一并结束;用户线程:用户线程和守护线程唯一的区别就是Daemon(Thread.getDaemon())为false;import static java.lang.Thread.currentThread;public class CreateRunnable implements Runnable { @Override public void run() {

2020-09-21 12:16:25 95

原创 weixin-java-tools 模板消息

从github拉取项目代码地址:https://github.com/Wechat-Group/WxJava测试号新增测试模板修改test-config.xml文件功能测试找到测试类:weixin-java-tools\weixin-java-mp\src\test\java\me\chanjar\weixin\mp\api\impl\WxMpTemplateMsgServiceImplTest.java...

2020-09-20 16:51:18 381

原创 redirect_uri 域名与后台配置不一致 10003

redirect_uri 域名与后台配置不一致 10003解决方式1.登录测试账号,修改域名2.如果域名有改变,微信菜单需要重新创建重新请求创建菜单接口

2020-09-19 17:09:49 2785

原创 Docker Jenkins启动springboot项目

添加shell脚本命令echo "打包完成"#!/bin/bash -ileproject=demo-0.0.1-SNAPSHOT.jarecho "切换路径"cd /var/jenkins_home/workspace/springboot-demo/demo/target/ pid=`ps -ef | grep $dir$project | grep -v grep | awk '{print $2}'`if [ -n "$pid" ]then kill -9 $pid e

2020-09-13 21:12:25 232

原创 Docker Jenkins 配置Maven

Jenkins安装Maven插件搜索插件 Maven Integration检验插件是否已安装Docker宿主机器解压maven压缩包apache-maven-3.6.3-bin.tar.gz解压到Jenkins挂载目录位置 [ /usr/local/jenkins/jenkins_home ]jenkins挂载设置为:jenkins -v /usr/local/jenkins/jenkins_home:/var/jenkins_homeJenkins全局配置Maven指定setti

2020-09-10 22:03:38 5187 1

原创 向 GitLab 提交代码之后自动触发 Jenkins 构建

安装gitlab插件在Jenkins服务器中,安装GitLab和GitLab Hook登录gitlab,生成一个Personal Access Tokens打开settings找到Access Tokens设置生成token进入Jenkins,添加api token路径:首页 --> 凭据 --> 添加凭据添加api token进入Jenkins系统设置,配置gitLab添加,保存进入Jenkins项目,配置gitlab源码管理构建触发

2020-08-21 12:43:02 3762 1

原创 Jenkins拉取Gitlab项目代码配置SSH Keys步骤

Jenkins容器生成秘钥进入目录:cd ~/.ssh如果没有该目录就创建:mkdir -p ~/.ssh生成秘钥:ssh-keygen -t rsa -C “登录gitlab的邮箱”查看对应的ssh-keyjenkins@f050d7fa04f0:~/.ssh$ lsid_rsa id_rsa.pubid_rsa.pub:公钥,复制到gitlab平台配置ssh-keyid_rsa:私钥,复制到jenkins平台配置jenkins凭据拷贝id_rsa.pub到gitlab配置ssh-

2020-08-20 14:00:08 7353 2

原创 jenkins下载插件速度很慢

场景描述用Docker安装最新版jenkins,安装完成输入密码,接着进入安装推荐安装插件页面,发现插件安装速度及慢而且部分无法安装解决方案修改default.json文件:1.替换 updates.jenkins-ci.org/download 为 mirrors.tuna.tsinghua.edu.cn/jenkins2.替换 www.google.com 为 www.baidu.com重启docker容器:docker container restart jenkins...

2020-08-19 15:02:27 699 4

原创 docker安装gitlab

下载镜像docker pull gitlab/gitlab-ce创建目录mkdir -p /usr/local/gitlab/configmkdir -p /usr/local/gitlab/logs mkdir -p /usr/local/gitlab/data启动运行docker run -detach \ --publish 8443:443 --publish 8880:80 --publish 8222:22 \ --name gitlab \ --restart a

2020-08-19 11:30:36 696

原创 虚拟机启动CentOS7黑屏无法进入系统

第一步1.以管理员方式启动CMD2.修复LSP,在CMD中输入netsh winsock reset3.重启电脑,看是否就能正常打开虚拟机第二步1.移除虚拟机没用的USB控制器、打印机、声音等设备2.重启虚拟机

2020-08-18 15:08:59 3029

原创 docker添加jenkins容器时,使用 -v 挂载时无法启动

问题使用docker run 添加jenkins容器docker run -d -p 8080:8080 -p 50000:50000 --name myjenkins -v /usr/local/jenkins/jenkins_home:/var/jenkins_home jenkins:2.60.3出现错误:解决方法原因:CentOS7中的安全模块selinux把权限禁掉了,无法使用-v命令进行挂载解决方法:添加selinux规则,将要挂载的目录添加到白名单chcon -Rt svi

2020-08-16 14:30:14 629

原创 解决GitHub网站加载缓慢问题

修改hosts文件打开目录C:\Windows\System32\drivers\etc 找到 hosts文件,添加以下内容## GitHub Start192.30.253.112 http://github.com192.30.253.113 http://github.com151.101.184.133 http://assets-cdn.github.com151.101.185.194 http://github.global.ssl.fastly.net192.30.253.11

2020-08-08 14:16:07 780

原创 Springboot文件 日志输出logback-spring.xml配置

logback-spring.xml配置<?xml version="1.0" encoding="UTF-8"?><!--scan:当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒当scan为true时,此属性生效。默认的时间间隔为1分钟。debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值

2020-07-15 16:52:33 937

原创 使用winSW工具将批处理bat注册为windows系统服务

项目需求:将kafka启动注册为windows系统服务开发环境中使用批处理一键启动,但是生产环境中需要注册为系统服务方便维护原始批处理代码:@echo offstart cmd /k "bin\windows\zookeeper-server-start.bat config\zookeeper.properties"start cmd /k "bin\windows\kafka-server-start.bat config\server.properties"exit使用winS

2020-06-16 15:23:24 2754

原创 BAT文件批一键启动Kafka

BAT文件批一键启动Kafka@echo offstart cmd /k "bin\windows\zookeeper-server-start.bat config\zookeeper.properties"start cmd /k "bin\windows\kafka-server-start.bat config\server.properties"exit

2020-06-15 14:38:18 709

原创 BAT文件批处理执行cmd命令

BAT文件批处理执行cmd命令@echo offecho **********************************************echo.echo 更新.NET Framework 3.5 echo.echo ********************************************** pause::进入 D:\Downloads并查看目录cmd /c "cd /d D:\Downloads & dir"pause...

2020-06-11 16:04:35 5533

JRebel 2020.1.0.1.rar

JRebel是一款JVM插件,它使得Java代码修改后不用重启系统,立即生效

2021-01-25

Docker Desktop Installer.rar

Install Docker Desktop on Windows 官网下载太慢了,给同样辛苦找下载地址的小伙伴分享下我下的资源

2020-08-12

jenkins.war

Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。

2020-08-12

bookmarks_2020_7_15.html

常用网站书签(包括各种在线工具,项目地址,开发官网文档,在线工具,软件下载网站,常见bug参考文档资料等)

2020-07-15

kafka_2.12-2.3.0-SNAPSHOT.tgz 解决windows环境自动退出问题

我在windows环境下使用kafka进程出现进程占用问题,这个文件是添加补丁过后的版本,测试过在windows环境下不会自动退出,大家可以试试看

2020-06-11

空空如也

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

TA关注的人

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