自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

白首码农的博客

老当益壮,宁移白首之心;穷且益坚,不弃码农之路。

  • 博客(60)
  • 收藏
  • 关注

原创 Windows下命令行修改IP及DNS

需求在频繁更换网段的情况下,通过动本修改比较方便。修改IPnetsh interface ip set address "以太网" static 192.168.1.136 255.255.255.0 192.168.1.1修改DNSnetsh interface ip set dns "以太网" static 61.18.120.24

2022-03-09 21:57:51 1086

原创 Ubuntu如何安装Nodejs

需求wsl装的是ubuntu系统,在打包前端镜像时提示npm找不到,需要安装下NodeJS.参考资源https://github.com/nodesource/distributions操作指令curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -sudo apt-get install -y nodejs...

2022-03-09 07:30:00 350

原创 Lenovo笔记本功能键不用按Fn键如何进行设置

问题现象开发进行断点调试时,经常需要按Fn键进行辅助,操作很不顺畅。操作步骤1、按住Fn+F2键,打开电脑开关键,进入BIOS。2、进入BIOS之后,找到“Configuration” , “Hotkey Mode”,将其Disable掉即可。...

2021-11-24 21:06:37 4888 4

原创 windows10安装docker 并修改镜像源

安装WSL2可查看相关笔记安装docker desktophttps://www.docker.com/products/docker-desktop修改默认镜像源屏幕右下角:Settings->Docker Engine"registry-mirrors": ["https://ustc-edu-cn.mirror.aliyuncs.com"],查看docker相关信息docker info 修改linux下docker在镜像源# 修改/etc/docker/daemon.j

2021-11-20 20:26:10 1776

原创 通过PL/SQL Developer远程连接Oracle时出现中文乱码问题

参考资料https://blog.youkuaiyun.com/zgjswp/article/details/106263201解决方案1、查看oracle服务器使用的编码select userenv('language') from dual;2、修改系统环境变量NLS_LANG = AMERICAN_AMERICA.ZHS16GBK (步骤1查询到的编码)...

2021-11-20 20:24:14 559

原创 wsl2 参考的对象类型不支持尝试的操作

参考资料https://www.jianshu.com/p/089b1599d274问题描述使用win10的linux子系统时,有时会出现以下以下异常。参考的对象类型不支持尝试的操作。Press any key to continue…解决办法netsh winsock reset

2021-11-20 20:22:43 2542 2

原创 windows系统tomcat启动中文乱码问题

修改tomcat的conf下的logging.properties中的参数java.util.logging.ConsoleHandler.encoding = GBK

2021-11-20 20:21:01 477

原创 制作SOFA Registry的Docker镜像

参考资料https://github.com/steventong/sofa-registry-docker/blob/master/Dockerfile创建DockerfileFROM adoptopenjdk/openjdk8:jdk8u262-b10-alpineWORKDIR /tmp/buildRUN apk update && \ apk upgrade && \ apk add git maven curlRUN wget ht

2021-11-20 20:19:29 541

原创 通过docker安装nexus3

参考资料https://www.cnblogs.com/sanduzxcvbnm/p/13099635.htmlhttps://www.cnblogs.com/lipg/p/13878133.html拉取nexus3镜像docker pull sonatype/nexus3运行nexus容器docker run -id --privileged=true --name=nexus3 --restart=always -p 8081-8084:8081-8084 -v /docker/nexus

2021-11-20 20:16:49 765

原创 通过Docker安装Mysql

拉取镜像docker pull mysql:8.0.27准备相关数据目录及文件mkdir -p /docker/mysql/etc /docker/mysql/data vim /docker/mysql/etc/my.cnfmy.cnf[mysqld]pid-file = /var/run/mysqld/mysqld.pidsocket = /var/run/mysqld/mysqld.sockdatadir = /var/lib/my

2021-11-20 20:14:49 629

原创 JDK基础镜像的制作

创建DockerfileFROM openjdk:8-jdk-alpineRUN apk --update add tzdata && \ cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \ echo "Asia/Shanghai" > /etc/timezone && \ apk del tzdata && \ rm -rf /var/c

2021-11-20 20:11:35 1144

原创 Docker安装Redis

参考资料https://www.cnblogs.com/yqh0128/articles/14592910.html操作步骤获取 redis 镜像docker pull redis查看本地镜像docker images从官网获取redis.confmkdir -p /docker/redis/etc /docker/redis/datacd /docker/redis/etcwget http://download.redis.io/redis-stable/redis.confv

2021-11-20 20:09:07 882

原创 安装Windows子系统(WSL2)-Ubuntu

参考资料https://docs.microsoft.com/zh-cn/windows/wsl/install-manualhttps://blog.youkuaiyun.com/qq_28412779/article/details/113565257https://blog.youkuaiyun.com/networken/article/details/106980430安装步骤启用适用于 Linux 的 Windows 子系统以管理员身份启用powershelldism.exe /online /enabl

2021-11-10 22:38:08 1555

原创 SOFA Boot 整合SOFA RPC 、SOFA Registry

参考资料https://www.wenjiangs.com/doc/dc7xvpxhhttps://www.sofastack.tech/projects/sofa-rpc/getting-started-with-rpc/SOFA Stack 在gitee上的源码仓库https://gitee.com/sofastack源码stulab-sofarpc.zip整合的关键步骤添加依赖项注意版本号<parent> <groupId>com.alipay.so

2021-11-10 21:42:22 3480

原创 Windows下批量删除maven中多余的lastUpdated文件

@echo offset REPOSITORY_PATH=C:\Users\EData\.m2\repositoryrem waiting...for /f "delims=" %%i in ('dir /b /s "%REPOSITORY_PATH%\*lastUpdated*"') do ( del /s /q %%i)rem finishedpause

2021-11-10 21:33:48 739

原创 SOFA Registry的简单安装

参考资料https://www.bookstack.cn/read/SOFARegistry/Server-QuickStart.md安装步骤导出源码git clone https://gitee.com/sofastack/sofa-registry.git编译打包cd sofa-registrymvn clean package -DskipTests解压到指定目录cp server/distribution/integration/target/registry-integrat

2021-11-10 21:31:33 832 4

原创 Eclipse下maven项目异常:Could not initialize class org.codehaus.plexus.archiver.jar.JarArchiver

问题描述Could not initialize class org.codehaus.plexus.archiver.jar.JarArchiver参考来源https://blog.youkuaiyun.com/culven/article/details/86737332解决办法<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin

2021-11-10 21:27:22 1036

原创 算法面试题之合并两个有序数组

面试题两个有序的整型数组arr1,arr2,将arr2合并到arr1中,使arr1成为一个有序数组解题思路大体有三中思路:1、合并之后再进行整体排序2、通过双指针算法从前往后进行遍历两个数组,最后将剩余的数据复制到arr13、通过双指针算法从后往前进行遍历,无需将arr在初始数组暂存到额外的数组中,这是对方法2的改进。示例代码import java.util.Arrays;/* 合并两个有序数组 */public class MergeOrderedArray.

2021-10-30 10:57:26 2173

原创 算法面试题之子数组最大平均数

面试题给一个整数数组,找出平均数最大且长度为K在下标连续的子数组,并输出该最大平均数。输入:[1,12,-5,-6,50,3],K=4输出:12.75最大平均数 (12-5-6+50)/4=12.75实现思路通过指针遍历,逐次取和并判断得到最大的子数组之和示例代码public class MaximumAverageNumOfSubArraysTest { public static void main(String[] args) { int[]

2021-10-30 09:38:43 168

原创 算法面试题之求根运算

求根运算主要有两种方法:一种是二分法,这个是比较好理解的一种是牛顿迭代法,这个有点晦涩,迭代的公式是这样的其中/** * 求根运算 */public class CalRootTest { public static void main(String[] args) { System.out.println(byBinarySearch(81,2)); System.out.println(byNewtonIterator(.

2021-10-29 23:02:06 267

原创 算法面试题之斐波那契数列

斐波那契数列的求值,只要有三种方法:暴力递归、去重递归、双指针迭代/** * 斐波那契数列: 0,1,1,2,3,5,8,13,21,34,55 */public class FibonacciSequenceTest { public static void main(String[] args) { System.out.println("暴力递归:" + byViolentRecursion(10)); System.out.println(

2021-10-29 19:35:02 97

原创 算法面试题之两数之和

从一个整型数组中查找两个数,这两个数之和需要等于指定的值 如果无序的话,可以通过双重遍历、Map暂存法来实现 如果是有序数组,还可通过 二分查找、双指针遍历法来实现import java.util.Arrays;import java.util.HashMap;import java.util.Map;/** * 从一个整型数组中查找两个数,这两个数之和需要等于指定的值 * 如果无序的话,可以通过双重遍历、Map暂存法来实现 * 如果是有序数组,还可通过 二分查找、双指针...

2021-10-29 18:45:57 144

原创 算法面试题之获取整型数组中三个数最大的乘积

整体的思路: 如果全正、全负,最大值则为:最大的数*第二大的数*第三大的数 如果存在正负,最大值则为:最小在负数*第二小的负数*最大的正数问题的关键是得到需要的这5个数import java.util.Arrays;/** * 获取整型数组中三个数最大的乘积 * 整体的思路: * 如果全正、全负,最大值则为:最大的数*第二大的数*第三大的数 * 如果存在正负,最大值则为:最小在负数*第二小的负数*最大的正数 * 问题的关键是得到需要的这5个数 */p...

2021-10-29 18:02:57 158

原创 算法面试题之寻找数组中心下标

问题的关键是怎么以最小的代价来计算左侧与右侧的数据之和。关键的思想是:数组的总和 =左侧之和 +中心数值 +右侧之和。随着向右遍历,左侧之和在递增,右侧之和在递减。import java.util.Arrays;/** * 数找数组中心的下标位置,如果存在中心下标A,那么A左侧的数据之和要等于右侧数据之和 */public class FindArrayCenterIndexTest { public static void main(String[] args) {...

2021-10-29 16:31:26 103

原创 算法面试题之有序数组排除重复的元素,并且返回数组的新长度

主要是采用双指针算法来剔除重复的元素/** * 有序数组排除重复的元素,并且返回数组的新长度 */public class OrderedArrayRemoveDuplicateDataTest { public static void main(String[] args) { int[] datas = {1,2,3,3,4,4,5,5,5}; System.out.println(removeDuplicateDatas(datas));

2021-10-29 16:10:07 145

原创 算法面试题之统计N以内素数的个数

主要有两种方法:一种是按照素数的定义来逐个进行判断。一种是通过埃筛法(素数的相关特性)对素数进行标识筛选。/** * 统计N以内素数的个数 */public class PrimeNumberStatTest { public static void main(String[] args) { System.out.println(byDefine(100)); System.out.println(byEthmoidalMethod(100)

2021-10-29 15:53:48 482

原创 算法面试题之单链表的反转

主要是采用两种方式:一种是递归,一种是迭代/** * 单链接表链接顺序反转 * */public class LinkedListReverseTest { public static void main(String[] args) { LinkedListNode node = new LinkedListNode(1,2,3,4,5); System.out.println(node);// System.out.print

2021-10-29 15:19:43 90

原创 gradle如何添加自定义源文件目录

修改build.gradle文件// 添加自定义源文件目录sourceSets { main { java.srcDirs += ['src/main/testa','src/main/testb'] }}// 打印源文件目录信息task printSourceSetInformation(){ doLast{ sourceSets.each { srcSet -> println "["+srcSet.n

2021-10-29 09:48:58 2004

原创 设计模式之状态模式

基本概念对有状态的对象,把复杂的“判断逻辑”提取到不同的状态对象中,允许状态对象在其内部状态发生改变时改变其行为使用场景问题如下图,业务需要对不同的条件做不同的处理,如果这个处理的逻辑比较繁琐或者是判断的条件比较多的话,全写在一个方法里明显不容易维护。调整将条件(状态)相关的逻辑抽离到具体的类里,如下图。示例代码public class StatePatternTest { public static void main(String[] args) ..

2021-10-11 18:34:18 75

原创 设计模式之装饰器模式

基本概念指在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)。应用场景问题如图,因业务需要,在调用operate()方法之前或者之后,需要做一些额外的操作,如果直接改动现有代码,明显不符合开闭原则。调整如下图,增加一个Decorator类,它的operate方法会在实际operate方法之外增加一些额外的操作。示例代码public class DecoratorPatternTest { public static void m.

2021-10-11 17:36:00 66

原创 设计模式之外观模式

基本概念外观(Facade)模式又叫作门面模式,是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,外部应用程序不用关心内部子系统的具体细节,这样会大大降低应用程序的复杂度,提高了程序的可维护性。使用场景问题客户端在完成某个业务操作时需要调用多个子系统(服务)中的方法,它需要对每个方法的职能有清晰准确认识才能正确使用,很明显这个不符合迪米特法则。调整在Client端与子系统之间增加一个外观类,如下图在客..

2021-10-11 16:39:42 125

原创 Java NIO关于文件读写、拷贝、删除操作备忘

import java.io.IOException;import java.nio.channels.FileChannel;import java.nio.charset.Charset;import java.nio.file.FileVisitResult;import java.nio.file.Files;import java.nio.file.Path;import java.nio.file.Paths;import java.nio.file.SimpleFileVisi.

2021-10-05 08:06:15 188

原创 Centos7时间同步

安装ntpdateyum install ntpdate -y配置定时任务crontab -e*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com查看定时服务的状态systemctl status crond设置定时服务开机自启systemctl enable crond

2021-09-24 16:51:01 103

原创 Centos7开启SSH服务

查看sshd状态systemctl status sshd修改配制文件(/etc/ssh/sshd_config)# vim /etc/ssh/sshd_configPort 7722#AddressFamily anyListenAddress 0.0.0.0ListenAddress ::​PermitRootLogin yes​PasswordAuthentication yes启动ssh服务systemctl start sshd问题排查启动失败,使

2021-09-24 16:38:50 167

原创 Centos7中yum源的更新

备份mkdir /etc/yum.repos.d/repo_bak/mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/repo_bak/下载新的CentOS-Base.repowget http://mirrors.aliyun.com/repo/Centos-7.repo -O /etc/yum.repos.d/Centos-7.repo清理缓存、创建缓存yum clean allyum makecache查看启用的yum源和所有的y

2021-09-24 16:26:52 104

原创 虚拟机设置桥接方式连接网络

Bridge(桥接)将所有虚拟机和物理主机虚拟到同一个网络环境,给虚机分配与宿主机不同的IP地址、相同的掩码和网关,使主机与虚拟机处于同一网段内(虚机加入主机所在的局域网中)。这样虚拟机网络环境可以看做和物理机一样。...

2021-09-24 16:00:24 275

原创 六大设计原则(SOLID)备忘

单一职责原则(SRP):Single Responsibility Principle职责有粒度之分,有层级之别,当系统越复杂,一个类的职责应该越单一,以提高类的透明度,便于维护。好比在小公司,一个人可能身兼数职,因为事情少,负责多件事也能应付,主要是可以减少人力成本。如果在大公司,职位体系全面,每个人都有固有职责,这样更便于管理。所以这里面有个权衡问题,如果业务简单,划分出太多的类完全没必要。开闭原则(OCP):Open-Closed PrincipleSoftware entiti

2021-09-19 13:51:06 95

原创 Spring如何解决循环依赖

问题由来为什么Spring IOC容器在处理循环依赖这块比较复杂,主要是AOP代理(AnnotationAwareAspectJAutoProxyCreator)的引入,它会改变对象的引用地址。如果按默认的顺序,这个代理类是在装配属性(populateBean)之后才执行的,所以Spring把生成代理这块的逻辑放在一个lambda表达式里,即一个ObjectFactory匿名类里() -> getEarlyBeanReference(beanName, mbd, bean),如果存在循环引用,

2021-09-18 23:45:32 74

原创 JAVA类加载器相关备忘

有哪些类加载器引导类加载器(Bootstrap ClassLoader)c++编写,无法直接引用,主要负责加载jre/lib目录下的核心类库扩展类加载器(Extension ClassLoader)主要负责加载jre/lib/ext目录下的标准扩展类库应用类加载器(Application ClassLoader)主要负责加载CLASSPATH环境变量下的类,应用中的类基本是用的这个类加载器自定义类加载器(Custom ClassLoader)可以通过继承java.lang.C

2021-09-16 12:06:14 93

原创 Java中SPI机制使用示例

SPI是什么SPI ,全称为 Service Provider Interface,是一种服务发现机制,动态的为某个接口寻找服务实现。它通过在ClassPath路径下的META-INF/services文件夹查找文件,自动加载文件里所定义的类。代码示例定义接口package com.test;​public interface DataProcessor { void process();}定义实现类package com.abc;​import com.tes.

2021-09-15 22:11:20 327

空空如也

空空如也

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

TA关注的人

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