- 博客(60)
- 收藏
- 关注
原创 camunda监听器执行顺序
4. 任务节点TaskListener:create -》 assignment -》 complete。3. 任务节点ExecutionListener: start。5. 任务节点ExecutionListener: end。7. 结束节点:start - 》 end。1. 开始节点:start -》 end。2. 连线:take。6. 连线:take。
2025-03-25 15:46:48
166
原创 Java 中的 PO、VO、DAO、BO、DTO、POJO
Controller 层:接收请求,使用 VO 对象将数据返回给前端。Service 层:处理业务逻辑,使用 BO 对象封装业务逻辑。Repository 层:访问数据库,使用 DAO 对象进行数据操作。DTO 对象:在不同层或服务之间传递数据,特别是在微服务中。PO 对象:用于 ORM映射,与数据库表结构一一对应。
2025-03-18 09:01:48
793
原创 nlp工具包地址汇总
自然语言处理(Natural Language Processing)是深度学习的主要应用领域之一。CS224d: Deep Learning for Natural Language Processinghttp://cs224d.stanford.edu/CS224d课程的课件http://web.stanford.edu/class/cs224n/syllabus.htmlCMU的NLP教程。该网页下方还有美国其他高校的NLP课程的链接。http://demo.clab.cs.cmu.edu/NLP/
2025-01-24 16:03:22
652
原创 ApplicationEventPublisher订阅发布
自定义需要发布的事件类型,自定义的event继承ApplicationEventreturn msg;
2024-12-26 09:43:24
640
原创 java自定义注解
/ 获取User类中所有的方法(getDeclaredMethods也行)try// 如果一个注解指定注解类型是存在于此元素上此方法返回true,否则返回false//参数 -- 对应于注解类型的Class对象//此方法返回该元素的注解在此元素的指定注释类型(如果存在),否则返回null// 如果Method代表了一个方法 那么调用它的invoke就相当于执行了它代表的这个方法,在这里就是给set方法赋值结果:louis30@Slf4j@Component。
2024-09-18 09:49:42
318
原创 TransactionSynchronizationManager 事务提交后才执行某些操作
4、 如果检测到有活跃的事务,则通TransactionSynchronizationManager.registerSynchronization 方法注册一个TransactionSynchronizationAdapter的匿名子类实例。这个匿名子类重写了 afterCommit()方法,以在事务提交后执行回调动作action.callback()。1、在Spring框架的事务管理环境下,根据当前是否有活跃的事务来执行一个回调动作。
2024-08-15 18:57:52
634
1
原创 使用aqua data studio进行mysql、oracle、syabse等等debug调试
2、在”一般“里选择使用的数据库,如sybase、mysql,3、登录成功后,会显示数据库,点击要debug的存储过程。
2024-04-23 15:49:22
480
原创 docker-compse安装es(包括IK分词器扩展)、kibana、libreoffice
Kibana是一个开源的分析与可视化平台,设计出来用于和Elasticsearch一起使用的。你可以用kibana搜索、查看存放在Elasticsearch中的数据。Kibana与Elasticsearch的交互方式是各种不同的图表、表格、地图等,直观的展示数据,从而达到高级的数据分析与可视化的目的。Elasticsearch、Logstash和Kibana这三个技术就是我们常说的ELK技术栈,可以说这三个技术的组合是大数据领域中一个很巧妙的设计。
2024-04-01 17:05:06
1294
原创 [java] 23种设计模式之责任链模式
公司请假系统,业务逻辑如下:不超过3天的,组长审批超过3天且小于7天的,总监审批超过7天且小于15天的,部长审批超过15天,前端直接拒绝,不会进入审批流程(违反了公司的请假规定)底层小职员请假,直接去OA系统填写请假申请,生成请假工单系统会根据请假天数,将请假工单派发给对应的审批人以请假审批系统为例,组长 → \rightarrow→ 总监 → \rightarrow→ 部长形成了一条链职员提交请假申请后,请求会沿着这条链传递,直到有对象可以处理它。
2024-03-06 11:03:06
614
原创 [java] 23种设计模式之桥接模式
桥接(Bridge)模式属于结构型设计模式。通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。把抽象(abstraction)与行为实现(implementation)分离开来,从而可以保持各部分的独立性以及应对它们的功能扩展。
2024-03-04 17:19:40
747
原创 [java] 23种设计模式之装饰者模式
比如我们去买一个肉夹馍,你可以选择加生菜、鸡蛋、鸡柳、香肠等等,一个肉夹馍加上不同的配料价格是不同的,那么我们如何去计算价钱呢? 1、在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。(3)装饰(Decorator)角色:持有一个组件(Component)对象的实例,并实现一个与抽象构件接口一致的接口。(1)抽象组件(Component)角色:给出一个抽象类,以规范准备接收附加功能的对象。(4)具体装饰(Concrete Decorator)角色:负责给组件对象添加上附加的功能。
2024-02-28 16:51:50
708
原创 [java] 23种设计模式之代理模式
代理(Proxy)模式:为某对象提供一种代理以控制对该对象的访问。即客户端通过代理间接地访问该对象,从而限制、增强或修改该对象的一些特性。比如我们在租房子的时候会去找中介,为什么呢?因为你对该地区房屋的信息掌握的不够全面,希望找一个更熟悉的人去帮你做,此处的代理就是这个意思。使用代理模式,可以将功能划分的更加清晰,有助于后期维护!中介代理房东租房:房东作为中介的成员变量。测试,中介租房,实际就是房东租房。
2024-02-27 17:21:42
898
原创 [java] 23种设计模式之适配器模式
适配器模式将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题。主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。首先,我们来看看核心思想就是:有一个Source类,拥有一个方法,待适配,目标接口时Target,通过Adapter类,将Source的功能扩展到Target里输出:这样Target接口的实现类就具有了Source类的功能。
2024-02-27 16:18:41
770
原创 [java]23种设计模式之工厂模式
根据工厂模式,应该有个抽象工厂,AbstractHumanFactory就担当了这个责任,里面有个抽象方法createHuman,那HumanFactory就是实现类了,实现抽象工厂里的方法。这种工厂模式的好处是职责清晰,结构简单,但是给扩扩展性和可维护性带来了一定的影响,因为如果要扩展一个产品类,就需要建立一个相应的工厂类,这样就增加了扩展的难度。这就是静态工厂模式,在实际项目中,根据需求可以设置成静态工厂类,但是缺点是扩展比较困难,如果就一个工厂,不需要扩展,可以这么设计,仍然是很常用的。
2024-02-27 09:16:03
624
原创 Java多线程共享变量控制volatile
比 如number++,这个操作实际上是三个操作的集合(读取number,number加1,将新的值写回number),volatile只能保证每一 步的操作对所有线程是可见的,但是假如两个线程都需要执行number++,那么这一共6个操作集合,之间是可能会交叉执行的,那么最后导致number 的结果可能会不是所期望的。如下代码:最后的number的结果不一定是500,有可能是比500小,因为number++不是一个原子性的操作,用volatile不能保证可见性。volatile如何实现可见性?
2024-01-31 16:55:26
607
1
原创 从无到有制作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
656
原创 [java] 23种设计模式之策略模式 可以代替大量if else
策略模式是一个非常简单且常用的设计模式,策略模式最常见的作用就是解决代码中冗长的 if-else 或 switch 分支判断语句。
2024-01-10 16:59:47
590
1
原创 麒麟系统安装docker、mysql、clickhouse
本操作为麒麟系统版本V10,x86_64操作系统。临时下载clickhouse指定版本到指定目录。安装5.7.22版本mysql。三、安装clickhouse。1、查看麒麟系统版本信息。删除clickhouse。麒麟系统下载rpm包地址。一,安装docker。
2024-01-08 18:49:02
3564
原创 使用idea回退指定版本
2、点击提交按钮,查看是否是要回退的文件,再push远程。选择要回退的版本,右击Revert Commit,1、idea左下角git按钮,--log 标签。
2023-11-09 16:11:12
8345
1
原创 gateway通过filter路由转发或过滤到不同的网关
实现了gateway对于websocket的支持,内部通过websocketClient实现将一个http请求协议换转成websocket,实现调用方无感知的请求websocket的服务,只需要将schme设置成ws或者wss这么简单。条件过滤器,只有当请求的header scheme为forward的时候才会发生,否则会忽略没有任何作用,当有转发需求的时候会将request的请求path修改,从而修改了请求的目的地址。将网关上的请求转为对应业务应用的真实ip的请求。接口网关转发到另一个接口网关。
2023-06-19 10:01:26
1409
原创 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
1894
原创 离线安装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
2236
原创 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
381
原创 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
1873
原创 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
1478
1
原创 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
1416
telnet 、sftp和unzip的rpm包
2024-01-08
docker-compose-linux-x86-64和docker-19.03.0.tg
2024-01-08
网络拓扑发现JAVA-SugarNMSTool 网络拓扑发现软件源代码
2022-11-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人