自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 收藏
  • 关注

原创 java自定义注解

/ 获取User类中所有的方法(getDeclaredMethods也行)try// 如果一个注解指定注解类型是存在于此元素上此方法返回true,否则返回false//参数 -- 对应于注解类型的Class对象//此方法返回该元素的注解在此元素的指定注释类型(如果存在),否则返回null// 如果Method代表了一个方法 那么调用它的invoke就相当于执行了它代表的这个方法,在这里就是给set方法赋值结果:louis30@Slf4j@Component。

2024-09-18 09:49:42 267

原创 TransactionSynchronizationManager 事务提交后才执行某些操作

4、 如果检测到有活跃的事务,则通TransactionSynchronizationManager.registerSynchronization 方法注册一个TransactionSynchronizationAdapter的匿名子类实例。这个匿名子类重写了 afterCommit()方法,以在事务提交后执行回调动作action.callback()。1、在Spring框架的事务管理环境下,根据当前是否有活跃的事务来执行一个回调动作。

2024-08-15 18:57:52 358

原创 使用aqua data studio进行mysql、oracle、syabse等等debug调试

2、在”一般“里选择使用的数据库,如sybase、mysql,3、登录成功后,会显示数据库,点击要debug的存储过程。

2024-04-23 15:49:22 311

原创 iReasoning mib Browser 发送trap消息

Tools-TrapSender

2024-04-10 15:32:50 186

原创 docker-compse安装es(包括IK分词器扩展)、kibana、libreoffice

Kibana是一个开源的分析与可视化平台,设计出来用于和Elasticsearch一起使用的。你可以用kibana搜索、查看存放在Elasticsearch中的数据。Kibana与Elasticsearch的交互方式是各种不同的图表、表格、地图等,直观的展示数据,从而达到高级的数据分析与可视化的目的。Elasticsearch、Logstash和Kibana这三个技术就是我们常说的ELK技术栈,可以说这三个技术的组合是大数据领域中一个很巧妙的设计。

2024-04-01 17:05:06 1213

原创 [java] 23种设计模式之责任链模式

公司请假系统,业务逻辑如下:不超过3天的,组长审批超过3天且小于7天的,总监审批超过7天且小于15天的,部长审批超过15天,前端直接拒绝,不会进入审批流程(违反了公司的请假规定)底层小职员请假,直接去OA系统填写请假申请,生成请假工单系统会根据请假天数,将请假工单派发给对应的审批人以请假审批系统为例,组长 → \rightarrow→ 总监 → \rightarrow→ 部长形成了一条链职员提交请假申请后,请求会沿着这条链传递,直到有对象可以处理它。

2024-03-06 11:03:06 592

原创 [java] 23种设计模式之桥接模式

桥接(Bridge)模式属于结构型设计模式。通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。把抽象(abstraction)与行为实现(implementation)分离开来,从而可以保持各部分的独立性以及应对它们的功能扩展。

2024-03-04 17:19:40 727

原创 [java] 23种设计模式之装饰者模式

比如我们去买一个肉夹馍,你可以选择加生菜、鸡蛋、鸡柳、香肠等等,一个肉夹馍加上不同的配料价格是不同的,那么我们如何去计算价钱呢?​ 1、在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。(3)装饰(Decorator)角色:持有一个组件(Component)对象的实例,并实现一个与抽象构件接口一致的接口。(1)抽象组件(Component)角色:给出一个抽象类,以规范准备接收附加功能的对象。(4)具体装饰(Concrete Decorator)角色:负责给组件对象添加上附加的功能。

2024-02-28 16:51:50 685

原创 [java] 23种设计模式之代理模式

代理(Proxy)模式:为某对象提供一种代理以控制对该对象的访问。即客户端通过代理间接地访问该对象,从而限制、增强或修改该对象的一些特性。比如我们在租房子的时候会去找中介,为什么呢?因为你对该地区房屋的信息掌握的不够全面,希望找一个更熟悉的人去帮你做,此处的代理就是这个意思。使用代理模式,可以将功能划分的更加清晰,有助于后期维护!中介代理房东租房:房东作为中介的成员变量。测试,中介租房,实际就是房东租房。

2024-02-27 17:21:42 873

原创 [java] 23种设计模式之适配器模式

适配器模式将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题。主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。首先,我们来看看核心思想就是:有一个Source类,拥有一个方法,待适配,目标接口时Target,通过Adapter类,将Source的功能扩展到Target里输出:这样Target接口的实现类就具有了Source类的功能。

2024-02-27 16:18:41 749

原创 [java]23种设计模式之工厂模式

根据工厂模式,应该有个抽象工厂,AbstractHumanFactory就担当了这个责任,里面有个抽象方法createHuman,那HumanFactory就是实现类了,实现抽象工厂里的方法。这种工厂模式的好处是职责清晰,结构简单,但是给扩扩展性和可维护性带来了一定的影响,因为如果要扩展一个产品类,就需要建立一个相应的工厂类,这样就增加了扩展的难度。这就是静态工厂模式,在实际项目中,根据需求可以设置成静态工厂类,但是缺点是扩展比较困难,如果就一个工厂,不需要扩展,可以这么设计,仍然是很常用的。

2024-02-27 09:16:03 601

原创 Java多线程共享变量控制volatile

比 如number++,这个操作实际上是三个操作的集合(读取number,number加1,将新的值写回number),volatile只能保证每一 步的操作对所有线程是可见的,但是假如两个线程都需要执行number++,那么这一共6个操作集合,之间是可能会交叉执行的,那么最后导致number 的结果可能会不是所期望的。如下代码:最后的number的结果不一定是500,有可能是比500小,因为number++不是一个原子性的操作,用volatile不能保证可见性。volatile如何实现可见性?

2024-01-31 16:55:26 536 1

原创 使用shell脚本,从多个zip包中查询关键字yyds

使用shell脚本,从多个zip包中查询关键字yyds

2024-01-11 17:11:05 493

原创 从无到有制作docker镜像、容器详细步骤

4、每次升级时,需要把修改的test.jar 通过docker cp命令传到容器里,比较麻烦,所有有了另一种方式,通过compose文件volumes对宿主机和容器做个映射关系。a、一个运行jar ,例如 test.jar ,后面修改代码升级时,用到的jar名称需修改成test.jar。#-t 0 超时参数 检测该ip与端口是否已经能连接,超过指定时间后无论ip与端口是否已经能连接都执行后续命令。#wait-for-it.sh ip:端口 检测该ip与端口是否已经能连接,能了就执行后面的命令。

2024-01-11 16:50:41 564

原创 [java] 23种设计模式之策略模式 可以代替大量if else

策略模式是一个非常简单且常用的设计模式,策略模式最常见的作用就是解决代码中冗长的 if-else 或 switch 分支判断语句。

2024-01-10 16:59:47 534 1

原创 list 按java8各种排序,求和计算

list 按java8各种排序,求和计算

2024-01-09 19:04:47 664

原创 java map排序

map各种计算,按key、value

2024-01-09 19:02:32 436

原创 麒麟系统设置本地yum源

麒麟系统安装yum镜像源

2024-01-08 19:14:21 2485

原创 麒麟系统安装docker、mysql、clickhouse

本操作为麒麟系统版本V10,x86_64操作系统。临时下载clickhouse指定版本到指定目录。安装5.7.22版本mysql。三、安装clickhouse。1、查看麒麟系统版本信息。删除clickhouse。麒麟系统下载rpm包地址。一,安装docker。

2024-01-08 18:49:02 3206

原创 windows环境下本地起kafka

【代码】windows环境下本地起kafka。

2023-12-20 09:29:34 391

原创 使用idea回退指定版本

2、点击提交按钮,查看是否是要回退的文件,再push远程。选择要回退的版本,右击Revert Commit,1、idea左下角git按钮,--log 标签。

2023-11-09 16:11:12 6408 1

原创 java模拟http服务端

java模拟http服务端

2023-08-28 17:19:29 249

原创 gateway通过filter路由转发或过滤到不同的网关

实现了gateway对于websocket的支持,内部通过websocketClient实现将一个http请求协议换转成websocket,实现调用方无感知的请求websocket的服务,只需要将schme设置成ws或者wss这么简单。条件过滤器,只有当请求的header scheme为forward的时候才会发生,否则会忽略没有任何作用,当有转发需求的时候会将request的请求path修改,从而修改了请求的目的地址。将网关上的请求转为对应业务应用的真实ip的请求。接口网关转发到另一个接口网关。

2023-06-19 10:01:26 1210

原创 docker 使用wait-for-it.sh在不同compose文件容器之间启动顺序

​ 但是我们实际生产中,很多时候是多个docker-compose.yml文件分开启动,所以需要通过external-links来链接外部服务,前提是外部服务已经加入一个bridge网络,而external–links本质还是表示将当前yml文件的网络链接到外部服务的bridge网络中,值得一提的是,如果是docker默认的网络,是无法进行external–links。docker compose能够编排容器实例的启动顺序,但是容器里的服务启动快慢之分,无法编排服务的启动顺序。

2023-06-02 10:24:28 1334

原创 离线安装snmp

在可上网的ubuntu电脑上,使用apt-get install安装软件,然后到/var/cache/apt/archives目录下拷贝安装包到离线ubuntu电脑上。方法一在可上网的ubuntu电脑上,使用apt-get install安装软件,然后到/var/cache/apt/archives目录下拷贝安装包到离线ubuntu电脑上。修改/etc/snmp/snmpd.conf文件,大概在45行,将下面的两行注释掉,并添加下面一行。下载指令,需要将 packagename 修改为你要安装的包。

2022-12-23 16:21:17 1981

原创 byte为什么要&0xff

将a[0] 作为int类型向控制台输出的时候,jvm作了一个补位的处理,因为int类型是32位所以补位后的补码就是1111111111111111111111111 10000001(32位),这个32位二进制补码表示的也是-127.当byte要转化为int的时候,高的24位必然会补1,这样,其二进制补码其实已经不一致了,&0xff可以将高的24位置为0,低8位保持原样。当然拉,保证了二进制数据性的同时,如果二进制被当作byte和int来解读,其10进制的值必然是不同的,因为符号位位置已经发生了变化。

2022-11-24 16:41:55 305

原创 vue安装步骤

③ 再次打开cmd命令窗口,输入npm config set prefix “你的路径\node_global”(“你的路径”默认安装的状况下为 C:\Program Files\nodejs)① 既然已经将node程序添加到全局系统变量中,把咱们能够直接在CMD窗口中任意位置执行node,打开CMD窗口,执行命令node -v查看node版本。② 在安装目录下新建两个文件夹【node_global】和【node_cache】② 最新版的node在安装时同时也安装了npm,执行npm -v查看npm版本。

2022-11-16 21:37:57 1707

原创 下载jar包地址

下载jar包地址:

2022-11-11 17:19:55 191

原创 kafka集群添加kerberos认证demo

当kafka开启Kerberos认证后,如何使用java API生产或消费数据呢?1).KerberosServer的配置文件krb5.conf,让程序知道我应该哪个kdc去登录认证;2).认证肯定需要指定认证方式这里需要一个jaas.conf文件,一般集群的conf目录下都有;3).就是用户的登录认证票据和认证文件,票据和keytab文件这里就不在贴了;这里kafka版本是0.10.0,版本有点老,不过方法大同小异;2.pom.xml文件依赖。

2022-11-04 17:03:44 1372 1

原创 kafka服务端

【代码】kafka服务段端。

2022-11-03 22:20:25 581

原创 docker创建keepalived镜像实现高可用

注:keepalived是通过检测keepalived进程是否存在判断服务器是否宕机,如果keepalived进程在但是nginx进程不在了那么keepalived是不会做主备切换,所以我们需要写个脚本来监控nginx进程是否存在,如果nginx不存在就将keepalived进程杀掉。在主nginx上需要编写nginx进程检测脚本(check_nginx.sh),判断nginx进程是否存在,如果nginx不存在就将keepalived进程杀掉,并将vip漂移到备份机器上。

2022-11-01 13:53:16 1296

原创 TCP和UDP demo

tcp udp java

2022-09-16 18:17:04 134

原创 使用tcpdump抓包

wireshark tcpdump

2022-09-15 16:13:09 494

原创 snmp通过get方式异步获取oid

snmp get

2022-09-15 08:45:11 846

原创 snmp协议及常见问题分析

snmp java

2022-09-14 16:43:47 4262

原创 SNMP4J与ObjectSNMP实例对比

SNMP4J与ObjectSNMP实例对比

2022-09-02 14:55:29 526

原创 springboot jar以及docker镜像太大问题解决方案

springboot jar docker

2022-09-01 14:24:04 2827

原创 CountDownLatch用于通知计算完成

countdownlatch java

2022-08-29 15:31:20 236

原创 netty 简单demo

netty demo

2022-08-29 14:25:28 1195

原创 base64加解密以及MD5加密

base64加解密MD5加密

2022-08-22 10:13:07 948

mibbroser 可以发送snmp trap消息

mibbroser 可以发送snmp trap消息

2024-04-10

telnet 、sftp和unzip的rpm包

telnet-0.17-76.ky10.x86_64.rpm、unzip-6.0-47.ky10.x86_64.rpm、vsftpd-3.0.3-31.ky10.x86_64.rpm

2024-01-08

docker-compose-linux-x86-64和docker-19.03.0.tg

docker-compose-linux-x86_64、docker-19.03.0.tgz、docker.service

2024-01-08

idea已经配置好的config

idea已经配置好的config

2023-07-27

http server端模拟器

http server端模拟器

2023-05-24

自己用的networksql

自己用

2022-11-16

arp协议网路拓扑的自动发现

arp协议网路拓扑

2022-11-15

SNMP网络拓扑的自动发现

具由大型SugarNMS智能网管软件的精华功能精简而成。SugarNMSTool是网管员、SNMP设备开发调试、SNMP诊断的日常必备工具

2022-11-06

网络拓扑发现JAVA-SugarNMSTool 网络拓扑发现软件源代码

SugarNMSTool工具只有3M大小左右,便于携带,免安装,无数据库,可在Windows、Linux、Unix系统上快速运行。 工具由大型SugarNMS智能网管软件的精华功能精简而成。SugarNMSTool是网管员、SNMP设备开发调试、SNMP诊断的日常必备工具

2022-11-06

spring整合kafka注解和xml两种方式

spring整合kafka注解和xml两种方式

2022-10-26

基于snmp的网络拓扑发现.zip

基于snmp的网络拓扑发现.zip

2022-10-14

snmpsnmpsnmpsnmpsnmpsnmp

snmpsnmpsnmpsnmpsnmpsnmp

2022-09-02

空空如也

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

TA关注的人

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