- 博客(70)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
原创 (详细版)java实现小程序获取微信登录,用户信息,手机号,头像
ps:springboot结合mybatisPlus、mysql实现,简单易懂,一件粘贴使用,详细往下看↓。
2023-04-04 18:40:25 16310 15
原创 双亲委派模型
通过自定义类加载器,可以在loadClass方法中控制类的加载顺序,从而绕过双亲委派机制。@Override// 先尝试自己加载try {= null) {// 如果加载失败,委派给父类加载器// 从文件或其他来源获取类数据// 示例中返回 null2. 使用在某些情况下,可以通过设置线程上下文类加载器来绕过双亲委派机制。线程上下文类加载器可以通过来设置,并通过来获取。
2024-06-06 13:55:32 578
原创 synchronized什么情况下会释放锁?
当一个线程在一个对象上调用notify()或notifyAll()方法时,它会唤醒等待在这个对象上的一个或多个线程,这些线程会尝试获取对象的锁。综上所述,synchronized会在代码块执行完毕、异常抛出、调用wait()方法以及调用notify()或notifyAll()方法时释放锁。当一个线程在一个对象上调用wait()方法时,它会释放这个对象的锁,使得其他线程能够访问这个对象。如果一个线程在执行synchronized代码块时抛出了异常,JVM会自动释放锁,以免造成死锁。
2024-05-27 05:46:43 658
原创 Java线程同步的方式有哪些?
synchronized关键字:Lock接口:volatile关键字:Atomic类:使用wait()、notify()、notifyAll()方法:
2024-05-27 05:36:25 392
原创 什么是值传递和引用传递?
在引用传递中,方法调用时,传递的是实际参数的引用(地址),而不是值的副本。这意味着,如果在方法内部改变了参数所引用的对象的状态,这种改变会影响到原始参数所引用的对象。在Java中,对象类型(如数组、类实例等)的传递是引用传递。在值传递中,方法调用时,传递的是实际参数的值的副本。这意味着,如果在方法内部改变了参数的值,这种改变不会影响到原始参数的值。在Java中,基本数据类型(如int、float、boolean等)的传递就是值传递。
2024-05-27 04:52:43 172
原创 集合框架有哪些
Java集合框架提供了丰富的接口和类,用于处理各种类型的数据集合。选择合适的集合类型取决于具体的应用场景和需求,例如对有序性、线程安全性和性能的要求。通过合理使用这些集合类,可以编写高效、可维护的Java应用程序。
2024-05-27 04:30:37 521
原创 三层架构有哪三层,为什么要三层
三层架构(Three-Tier Architecture)是一种常见的软件架构模式,将应用程序分为三个逻辑层次:表示层、业务逻辑层和数据访问层。每一层都负责处理特定的任务,这样的分层设计有助于提高系统的可维护性、可扩展性和灵活性。
2024-05-27 04:27:23 626
原创 异常有什么,异常类有什么
有时候,标准的异常类不能完全描述问题,这时可以创建自定义异常类。自定义异常类通常继承自Exception或。自定义检查异常示例自定义运行时异常示例检查异常需要在编译时处理或声明,表示可以预期的异常情况。运行时异常通常是编程错误,只有在运行时才会发现,不需要在编译时处理。错误是严重的系统级问题,程序不应尝试处理。可以通过继承Exception或创建自定义异常类,以更好地描述特定的异常情况。
2024-05-27 04:15:59 396
原创 数据结构链表和数组的区别
数组:适用于需要频繁进行随机访问且元素数量固定的场景,访问速度快,但插入和删除效率较低。链表:适用于需要频繁插入和删除操作且元素数量动态变化的场景,插入和删除效率高,但访问速度较慢。
2024-05-27 03:55:58 496
原创 Java自定义注解判断修改后两个对象的指定字段变化情况,并展示出对应的中文名和对应的值
注解标注,则获取该注解的值作为字段的中文名,然后获取该字段的旧值和新值,并比较它们是否相等,如果不相等,则将字段名和值添加到结果中。方法,用于比较两个对象的指定字段是否发生变化。该方法首先通过反射获取对象的所有字段,然后遍历所有字段,如果字段被。接下来,我们需要定义一个工具类来比较两个对象的指定字段是否发生变化,如下所示。然后,在需要比较两个对象的指定字段是否发生变化的地方,调用。最后,我们可以在需要比较的类的字段上添加。属性,用于存储需要比较的字段的中文名。这个工具类定义了一个。
2023-03-22 15:47:14 1973 1
原创 java实现小程序获取微信登录,用户信息,手机号,头像
getUserInfo()方法需要传入用户的access_token和openid,会返回一个包含用户信息的Map,包括昵称、头像和手机号(获取用户手机号需要用户在小程序内进行授权)。然后,调用execute()方法发送请求并获取响应。注意,在实际使用中,需要将代码中的YOUR_APP_ID和YOUR_APP_SECRET替换成在微信公众平台中申请的应用ID和应用秘钥。另外,需要在小程序中调用wx.login()方法获取code,并将code传给Java后台,以便获取access_token和用户信息。
2023-03-22 10:54:20 3849
原创 java word转pdf,docx4j转pdf,docx4j导出pdf乱码,docx4j导出pdf丢失插画和图片,aspose将word转pdf 一共两种方法
docx4j转pdf,aspose转pdf,docx4j导出pdf乱码,docx4j导出pdf丢失插画和图片
2023-01-08 17:24:27 2789
原创 java实现 elasticsearch es 的单个条件查询和多个条件查询,根据id更新指定字段
elasticsearch es 的单个条件查询和多个条件查询,根据id更新指定字段ES根据单个条件查询ES根据多个条件查询ES根据id,局部更新文档
2022-12-29 10:16:21 9474 5
原创 redis为什么要自己实现SDS表示字符串
解决方法:在用字符数组表示字符串的同时,在这个字符串中增加两个字段,一个表示分配给该字符数组的总长度alloc字段,还有一个是表示字符串现有长度的len字段,这样在获取长度的时候就不会依赖\0了,直接返回len的值就可以了,还有就是当我们做追加操作的时候,只需要判断追加的部分的len加上已有的字符串的len字段的长度,是否大于alloc,如果超过就重新申请空间,如果没有超过,直接在后面去追加就可以了。基于以上的设计,redis当中的其它操作比如复制,比较等等,都可以用类似的方式,非常高效的进行操作。
2022-09-14 22:01:40 562
原创 @Transaction 事务什么时候会失效
4.如果在当前类中进行内部调用方法,比如在a类中有a方法和b方法,a方法没有加@Transaction,b方法加了@Transaction,在方法a中调用方法b,方法b中的事务也不会生效。这是因为spring在扫描bean的时候会自动为标注了@Transaction注解类生成一个代理类,在有注解方法被调用时,实际上是代理类调用的,代理类在调用之前会开启事务,执行事务操作。但是同类中的方法相互调用,相当于this.b(),此时的b方法并非代理类调用,而是直接通过原有的bean直接调用,所以注解不起作用。
2022-09-06 15:26:56 632
原创 java执行python脚本,传递参数拿到返回值
2:java取python print打印在控制台的数据。4:最好就是这样直接执行linux命令,别搞花里胡哨的。1:python脚本是在linux环境下。3:java代码举例。
2022-09-06 11:19:25 1760 3
原创 java执行linux命令,java删除没有权限的文件
2:有时候用 file.delete()删除文件,但是文件只有--rw读写权限,所以需要直接执行linux命令强制删除。
2022-09-05 16:31:56 942
原创 linux人像识别python环境搭建
ps:不懂python的部署环境还是很麻烦的,起码我自己是超级难受,搞得我要吐要吐要吐!所以流程是这样,按照这个是可以搞起来的,特别详细的就算了,我已经不想吐第二次了。就这吧,毁灭吧/(ㄒoㄒ)/~~
2022-09-04 10:32:52 660
原创 EasyExcel大批量数据导出OOM,个人案例和解决办法
通过分析,首先想到的是创建的对象GC不过来,但是为什么会GC不过来呢,通常来说,导出如果是没有用的对象,GC效率还是可以的,如果导致GC速度慢,可能是因为对象还存在引用的地方。①将集合list对象调用clear()Api,进行remove,然后对这个集合对象赋值为null,这样这个集合对象在使用完之后,肯定没有了引用的地方。1:在我查询大量数据进行导出的时候往往第一次导出是没有问题,但是短时间内连续导出的时候就会出现OOM,导致服务节点重启。②调整虚拟机内存大小,我原配置是2g,调整为3g。
2022-09-04 10:10:38 3659
原创 jar运行报错no main manifest attribute
1:linux环境运行jar包,找不到main。将下面的加在pom文件中就可以了。原因:pom缺少配置。
2022-08-25 15:34:11 1351
原创 org.apache.tomcat.util.http.fileupload.impl.FileSizeLimitExceededException: The field file exceeds i
org.apache.tomcat.util.http.fileupload.impl.FileSizeLimitExceededException: The field file exceeds its maximum permitted size of 1048576 bytes
2022-08-04 23:29:14 5185
原创 java.lang.IllegalArgumentException: Target must not be null
java.lang.IllegalArgumentException: Target must not be null
2022-07-01 11:51:55 5342
原创 seata序列化问题
seata datetime字段序列化问题个人解决方案: 在2022年5月17号官方地址,官方推出的1.5.1版本的解决了这个序列化问题: 引入下面依赖:一定要版本
2022-06-19 21:10:05 1651
原创 java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver项目连接不上mysql
java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver项目连接不上mysql
2022-06-16 15:37:22 488
原创 集成seata到springboot,cloud项目,找不到事务分组
集成seata到springboot,cloud项目,找不到事务分组can not get cluster name in registry config 'service.vgroupMapping.walle-frame-seata-service-group'
2022-05-31 09:46:17 1818 2
原创 Spring Cloud Alibaba、Seata、Nacos、Sentinel、RocketMQ版本对应关系
Spring Cloud Alibaba、Seata、Nacos、Sentinel、RocketMQ版本对应关系
2022-05-27 14:18:01 876 1
原创 集成seata启动异常: Error creating bean with name ‘seataBeanPostProcessor‘
看下异常:java.lang.IllegalArgumentException: Could not find class [org.springframework.cloud.netflix.feign.FeignAutoConfiguration] at org.springframework.util.ClassUtils.resolveClassName(ClassUtils.java:334) at org.springframework.core.annotation.TypeMapp
2022-05-27 11:37:24 1370
原创 filebeat+elasticsearch管道提取message字段
1:个人使用背景:filebeat采集日志写入es的时候,日志内容在message字段中,因为其中添加了tid字段,要提取出projectname,date,tid等这些字段,采用管道对数据进行预处理,格式化数据,重新构建了索引,最后查询,排序,条件查询什么的都直接操作字段就可以了。 ps:原理什么的就不说了,目标就是能直接操作下来,实际点。第一步:首先要创建管道pipeline.json文件1)touch一个pipeline.json文件,具体路径最好是跟日志文件一起(自己决定吧...
2022-05-25 10:04:35 3080
sentinel规则(都已实现)持久化到mysql数据库,解压修改数据库地址即可使用,里面有数据库需要创建的表sql
2022-06-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人