自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xianzhan_的博客

https://github.com/Xianzhan

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

原创 Java - FFM API 实现扫雷助手

使用FFM API实现扫雷助手.

2024-01-13 09:30:00 954

原创 Java - InetAddress#isReachable 方法解析

在 Java 中,类提供一个方法来检查一个网络地址是否可达,其作用类似与在命令行执行ping命令,这个方法就是方法。

2023-12-06 23:26:38 386

原创 Git - cherry-pick

本地 Git 仓库有两个分支,分别为main和devdev是main在 hash 为a2的时候创建的开发分支:现在需要将dev分支中 hash 为b1的 commit 单独合并到分支main去:这种将dev中部分特定 commit 合并到其他分支的操作在git中的命令是 cherry-pick🍒。

2023-11-30 10:00:00 128

原创 CMD - ping

ping命令主要测试到达指定 IP 或主机的连通性。

2023-11-25 15:00:00 168

原创 日常 - 后端响应数据国际化的解决方案

国际化映射

2023-07-18 22:09:16 964

原创 日常 - HttpURLConnection 网络请求 TLS 1.2

验证 JDK 8 HttpUrlConnection 是否支持 TLS 1.2。

2023-05-28 10:00:00 1436

原创 微服务 - 远程调用 OpenFeign

Feign是一个声明式的 HTTP 客户端,它可以让你像调用本地方法一样访问远程服务。Feign 的灵感来源于 Retrofit、JAXRS-2.0 和 WebSocket,它通过可定制的解码器和错误处理,编写任意的 HTTP API。Feign 还整合了 Ribbon 和 Hystrix,具有负载均衡和熔断的能力。Feign 有两种实现:Netflix Feign 和OpenFeign。

2023-03-15 09:00:00 616 1

原创 微服务 - 服务注册 Eureka

微服务(Microservices,一种软件架构风格)核心的组件包括注册中心,随着微服务的发展,出现了很多注册中心的解决方案,其中包括我们熟知的Eureka。Eureka 的设计原则是AP,即可用性和分区容错性。在某一时刻各个节点的数据可能是不一致的,但最终会同步保持一致。Eureka 主打高可用,对数据一致性要求较低,可适用于云机房集群,跨越多机房部署的场景。

2023-03-04 22:05:46 446

原创 日常 - 顺序读写与随机读写

每当需要访问磁盘驱动器上的块时,机械手臂必须将磁头移动到正确的轨道(寻道时间),然后磁盘盘片必须旋转以找到正确的扇区(旋转延迟),这种机械动作需要时间完成。

2023-02-27 23:30:26 638

原创 Java - ServerSocket 之同步阻塞 IO

使用实现一个同步阻塞 IO的 HTTP 协议程序,该程序响应返回一个。并研究其如何与 Linux 系统的接口绑定在一起。Java 的 BIO 实现的 ServerSocket,在现实开发中并不推荐这种。从代码也可以看出,每个连接都需要一个线程去处理,否则将会阻塞无法处理其他事务。而线程的创建又是非常占用系统资源(内存/CPU资源)的,从而导致并发低。因此,该模式也只适用于并发低的场景。

2022-10-04 09:30:00 470

原创 日常 - UX 响应 Nginx 502 Bad Gateway

通过提供的工具类请求 UX 机票供应商,单次的数据量很小。

2022-09-04 21:15:00 599

原创 JVM - GC 概念

GC 的一些概念

2022-06-12 13:03:52 364

原创 JVM - 架构

JVM 架构

2022-06-11 19:43:53 132

原创 MySQL - binlog 二进制日志

MySQL 二进制日志主从复制数据恢复general query log

2022-06-11 10:00:00 188

原创 Spring - @Transaction 事务

研究 Spring 事务实现原理。

2022-02-02 15:48:14 934

原创 Spring - 总览

Spring 使创建 Java 企业应用程序变得容易,因为它包含了 Java 企业应用所需的一切,支持 Groovy 和 Kotlin 作为 JVM 上的替代语言,并且具有根据应用程序的需要创建多种架构的灵活性。

2022-01-20 09:15:00 219

原创 MySQL - SELECT 行构造器表达式

MySQL 行构造器的使用与性能

2022-01-20 09:00:00 419

原创 VSCode - 设置自定义 shell

VSCode 自定义终端

2021-12-18 15:03:22 4753

原创 日常 - CompletableFuture 异步网约车服务超时未关闭

项目场景:通过网约车服务叫车,由于与多个供应商合作,因此叫车时采用多线程异步叫车。设置超时时间,在设定时间范围内,成功在某个供应商叫车即返回成功给前端,进入等待司机接单页面(loading),否则则返回叫车失败。问题描述:偶尔会在同一个供应商创建多个订单,导致多个司机接单!代码如下package xianzhan.j17;import java.time.LocalDateTime;import java.util.List;import java.util.concurrent.Arra

2021-11-19 08:45:00 1039

原创 Java - try-with-resources 语法糖

文章目录前言try-finallytry-with-resources总结前言在运行程序时进行 I/O 操作(如读取文件)后如果不关闭,那么进程就会一直占用该资源造成内存泄漏,特别是进行写操作,操作系统还会对该文件上锁,导致其他进程无法对该文件操作。因此,对资源 I/O 操作要记得进行 close()。try-finally在 Java 代码里,读取文件操作如下:public static void file() throws IOException { Path pom = Paths

2021-10-10 19:54:02 124

原创 Java - foreach 语法糖

文章目录前言代码反编译结论前言探究 foreach 循环语法糖。代码首先,当然是先看下代码:public static void foreach(int[] arr) { for (int i : arr) { System.out.println(i); }}执行后生成的相关字节码为: 0 aload_0 1 astore_1 2 aload_1 3 arraylength 4 istore_2 5 iconst_0 6 istore_3

2021-10-10 18:42:14 180

原创 Java - 自定义注解

文章目录前言代码RetentionPolicy前言实现自定义注解。代码@An 注解package xianzhan.jdk8.annotation;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;/** * 自定义注解

2021-10-10 16:49:32 102

原创 Java - java.lang.NullPointException 没有堆栈

项目场景:提示:这里简述项目相关背景:例如:项目场景:示例:通过蓝牙芯片(HC-05)与手机 APP 通信,每隔 5s 传输一批传感器数据(不是很大)问题描述:提示:这里描述项目中遇到的问题:例如:数据传输过程中数据不时出现丢失的情况,偶尔会丢失一部分数据APP 中接收数据代码:@Override public void run() { bytes = mmInStream.read(buffer); mHandler.obta

2021-10-02 12:14:17 3507 1

原创 Java - SHA1WithRSA PKCS8 签名

文章目录前言代码作用前言算法:SHA1WithRSA密钥格式:PKCS8代码package xianzhan.id;import java.nio.charset.StandardCharsets;import java.security.KeyFactory;import java.security.KeyPair;import java.security.KeyPairGenerator;import java.security.NoSuchAlgorithmException;

2021-09-27 22:20:12 856

原创 DS&A - Base64

文章目录前言前言Base64 是一种基于 64 个可打印字符来表示二进制数据的表示方法。由于

2021-09-25 22:25:04 88

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

文章目录前言解决方案问题原因前言解决方案以管理员身份运行 CMD,执行以下命令:netsh winsock reset重启计算机再次启动 WSL2。问题原因某些代理软件 VPN 和 WSL2 的 sock 端口冲突。wsl2安装kali 不成功...

2021-09-25 14:34:43 639

原创 Rust - JNI 绑定

文章目录前言资源前言快速浏览 Rust 基础语法。资源Rust 官方文档Rust 语言之旅微软 Take your first steps with Rust

2021-09-06 22:32:41 944

原创 Rust - 安装配置 Windows

文章目录前言前言记录在 Windows 10 系统下的 Rust 开发配置。

2021-09-02 21:18:07 351

原创 日常 - SQL 批量插入 MySQL 非自增主键

文章目录前言前言最近因业务需要,项目 KC 接入新的供应商 SQ,原先已经推送给供应商 DD 的计划单需要推送给 SQ,

2021-08-31 00:16:23 1239

原创 Docker - 安装配置 WSL2

文章目录前言前言

2021-08-22 21:03:09 901

原创 Maven - 安装配置

文章目录前言下载环境变量settings.xml最后前言安装 Apache Maven 工具。下载Apache Maven 官网下载最新版,下载的是一个压缩包,我们可以选择本地电脑的一个目录进行解压,解压后就需要配置环境变量了。环境变量因为我使用的开发环境是 Win10,所以这里就直接放图:新建用户变量添加到 Path 变量运行 mvn -v 查看版本接下来就要配置 settings.xml 。settings.xml首先,在用户目录下创建 .m2 目录:> cd

2021-08-22 00:24:17 78

原创 Docker - 安装配置 Docker Desktop

文章目录前言环境安装配置前言记录 Windows 10 环境下使用 docker。记得最开始时,docker 在 Windows 上使用的各种不便,最后 WSL2 的出现,使得现在 Docker Desktop 安装即可以用。wsl --list环境说明版本Windows 10 专业版版本号20H2操作系统内部版本19042.1110当然,还需要启用虚拟化安装配置只需要下载 Docker Desktop 安装即可。如果是国内,可能还需要配置容器

2021-07-24 17:19:56 335 1

原创 Hyper-V - Ubuntu 20.04 配置文件设置静态 IP

文章目录前言配置文件前言Hyper-V - Ubuntu 20.04 设置静态 IP配置文件第一步,先查看本地网卡名称是什么,执行 ip addr 命令。第二步,进入配置文件目录,执行 cd /etc/netplan/ 命令并备份原配置。第三步,修改配置文件并保存,sudo vim 01-network-manager-all.yaml。# Let NetworkManager manage all devices on this systemnetwork: ethernets:

2021-05-23 12:10:29 700

原创 Hyper-V - 安装 Ubuntu 20.04

文章目录环境前言环境Windows 10 专业版版本号 2004操作系统版本 19041.867Hyper-V 管理器版本 10.0.19041.1Ubuntu 20.04前言在 Win10 的 Hyper-V 虚拟机上安装 Ubuntu 20.04.

2021-04-29 22:21:57 7263 1

原创 MySQL - 通讯

MySQL - 通讯协议前言前言

2021-04-04 14:07:23 135 1

原创 Hyper-V - Ubuntu 20.04 设置静态 IP

Hyper-V Ubuntu 20.04 设置静态 IP环境前言Hyper-V本机网络WLANvEthernet Ubuntu 20虚拟机环境Windows 10 专业版版本号 2004操作系统版本 19041.867Hyper-V 管理器版本 10.0.19041.1Ubuntu 20.04前言解决电脑重启后, 虚拟机中 Ubuntu 系统 IP 变化导致 finalshell 无法连接.Hyper-V创建虚拟网络交换机记住 Ubuntu 20 这个名字, 后面用到.

2021-03-28 17:06:13 2075 2

原创 Java - JDBC 操作流程

Java - JDBC前言前言

2021-03-28 16:16:37 156 1

原创 MySQL - 安装配置

MySQL - 安装配置前言前言

2021-03-21 13:26:02 221

原创 日常 - 关于语言与原生

日常 - 关于语言与原生前言语言C/C++前言只需提供一个可执行文件, 即可运行服务, 无需配置其它, 那是多么幸福的事.语言在容器(微服务)当道的今天, 特别是 Docker 成为主流, 而且 Kubernetes 也成为大公司必备, 如果一门语言开发完部署还需要在容器上安装笨重的运行环境, 我想这语言会逐渐被时代淘汰吧.于是乎, 各个语言都在争先的原生化.C/C++C/C++ 这个就不用多说了, 原本就支持编译成可执行文件, C 比较原始, 很多常见数据类型需要自己写或者网上找类库, C

2021-02-28 21:41:42 134

原创 Java - HttpClient 下载文件

文章目录环境前言HTTP 下载总结环境JDK 15前言当我们的业务需求里有文件下载功能, 后端开发人员如何提前自测下载?如果链接的 HTTP 方法为 GET 时可以直接到浏览器访问下载, 但如果是其它 HTTP 方法呢?postman? idea 自带的 http request?但上面两个工具都无法很好的满足我们的需求, 此时, 身为程序员的我们就可以自己写代码, 完善自己的工具箱.由于个人电脑一般装有最新版 JDK, 所以使用从 JDK 11 开始就有的 http 模块.HTTP 下

2021-01-20 22:10:20 1433

空空如也

空空如也

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

TA关注的人

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