![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 55
暮归山
这个作者很懒,什么都没留下…
展开
-
使用Python制作一个微信机器人
通过构造不同的data参数从而实现发送不同的信息,这里我就发送文字和图片进行了测试。这就可以和上述的接收信息进行结合,当接收到别人发送来的信息的时候就可以本地处理,处理完就可调用此方法来发送信息给别人!接收到来信即可自行处理,比如可以将chatgpt接入,就可以实现一个便捷的ChatGpt小助手,就可以通过这个来实现对一个群或者多个群组进行服务!通过本地搭建一个flask服务器来接收信息,这里我简单使用展示,就没有对接收的信息进行处理了。原创 2024-07-05 17:14:56 · 244 阅读 · 0 评论 -
如何使用gewechat开发微信机器人
在实际应用中,你可以将机器人应用到不同场景中,以便实现更加智能化和高效的工作和生活。在创建应用时,需要填写应用的基本信息,如应用名称、应用描述、应用图标等。同时,你需要将微信机器人的地址添加到微信的服务器配置中,以便微信能够正确地调用机器人。例如,你可以根据用户的反馈和需求,对机器人的回复和聊天能力进行迭代和改进。同时,你也可以根据机器人的运行情况和性能数据,对机器人的性能进行优化和调整。完成微信机器人的搭建后,你可以将其应用到实际场景中。同时,你也可以将机器人应用到个人微信中,以便实现智能助手的功能。原创 2024-07-05 15:50:54 · 465 阅读 · 0 评论 -
cookie和session的区别,分布式环境怎么保存用户状态
原理: 任何一个服务器上的session发生改变(增删改),该节点会把这个 session的所有内容序列化,然后广播给所有其它节点,不管其他服务器需不需要session,以此来保证Session同步。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用COOKIE。2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,考虑到安全应当使用session。缺点: 会对网络负荷造成一定压力,如果session量大的话可能会造成网络堵塞,拖慢服务器性能。原创 2024-03-13 17:17:01 · 245 阅读 · 0 评论 -
[javase高级] HashMap实现原理
put操作和set操作进行操作的对象是主要是key,如果你查看源码的话会发现value只是跟着key的步伐在走而已,并没有实质性的进行操作,对于put操作,首先会计算出当前key对应的hash值,接着找到计算出来的hash值在数组中的下标位置,查看该下标位置处对应的链表是否为null,为空的话直接将当前键值对插入到该链表首位,不会执行当前key对象的equals方法;那什么情况就叫冲突几率高呢?2、HashMap是允许你的键或者值为null的;原创 2024-03-11 17:11:40 · 252 阅读 · 0 评论 -
HashMap线程安全(含答案)
HashTable的get/put方法都被synchronized关键字修饰,说明它们是方法级别阻塞的,它们占用共享资源锁,所以导致同时只能一个线程操作get或者put,而且get/put操作不能同时执行,所以这种同步的集合效率非常低,一般不建议使用这个集合。这个也是最推荐使用的线程安全的Map,也是实现方式最复杂的一个集合,每个版本的实现方式也不一样,在jdk8之前是使用分段加锁的一个方式,分成16个桶,每次只加锁其中一个桶,而在jdk8又加入了红黑树和CAS算法来实现。来看看HashTable的源码。原创 2024-03-08 15:36:57 · 299 阅读 · 1 评论 -
SpringBoot几个常用的注解
(3)@EnableAutoConfiguration和@SpringBootApplication是类级别的注解,根据maven依赖的jar来自动猜测完成正确的spring的对应配置,只要引入了spring-boot-starter-web的依赖,默认会自动配置Spring MVC和tomcat容器。(6)@ImportResource类级别注解,当我们必须使用一个xml的配置时,使用@ImportResource和@Configuration来标识这个文件资源的类。原创 2024-03-06 16:56:47 · 246 阅读 · 1 评论 -
java编程题,打印n对括号的全部有效组合
如题所述,当n=3时,可能的组合有:(()()), ((())), ()(()), (())(), ()()()if(leftRem < 0 || rightRem < leftRem) { // 无效输入。if(rightRem > leftRem) { // 右括号比左括号跟多就可以加入右括号。if(leftRem == 0 && rightRem == 0) { // 木有括号了。if(leftRem > 0) { // 还有左括号可用则加入左括号。@param list 装括号组合的容器。原创 2024-03-04 16:25:04 · 305 阅读 · 1 评论 -
Spring boot与Spring cloud 之间的关系
Spring boot 是 Spring 的一套快速配置脚手架,可以基于spring boot 快速开发单个微服务,Spring Boot,看名字就知道是Spring的引导,就是用于启动Spring的,使得Spring的学习和使用变得快速无痛。多个小有服务整合成的大服务,要有一个消息总线来用于互相通知和调用,要有一个服务发现程序来管理某个小服务上线可用,同时在服务离线时也要能处理,各个小服务要尽量各自独立,还要考虑服务的依赖性,集群的负载均衡,配置文件的分离。既然很多东西都是一样的,为什么还要去配置。原创 2024-02-28 17:16:06 · 243 阅读 · 1 评论 -
ArrayList和Vector的区别
第三句话:在查看API时,发现Vector有4个构造方法,比 ArrayList多了一个。而在JDK1.7以后,是按照新容量 = 原容量 +(原容量 >> 1)来计算的,大约也在50%左右,所以都不是很多资料上说的就是50%,同时由于位运算的速度比快,所以ArrayList在JDK1.7之后效率更高,也可以看出来,;在ArrayList的底层,是通过定义一个DEFAULT_CAPACITY的常量来指定的,而Vector的底层,是直接在空参构造中,通过写死了一个this(10)来指定的;原创 2024-02-26 16:39:40 · 293 阅读 · 1 评论 -
nner join 与 left join 之间的区别
需求是从数据库查数据,在前端以柱形图的形式展现出来,查到的数据按行业分组,显示每个行业的户数及户数占比,涉及到的字段有A表的用户数、总用户数和B表的行业名称。换句话说,左表(A)的记录将会全部表示出来,而右表(B)只会显示符合搜索条件的记录(例子中为: A.aID = B.bID).仔细观察一下,就会发现,和left join的结果刚好相反,这次是以右表(B)为基础的,A表不足的地方用NULL填充.left join是以A表的记录为基础的,A可以看成左表,B可以看成右表,left join是以左表为准的.原创 2024-02-23 17:00:38 · 284 阅读 · 0 评论 -
HashMap遍历方式
HashMap是一个键值对的集合,我们不能通过简单的循环来遍历HashMap,所以我们一般通过以下两种方式来遍历HashMap,一种是通过KeySet集合来遍历,另一种是通过entry键值对对象来遍历。通过keySet()方法 获取HashMap的keySet 集合。map.put(“李晨”,“范冰冰”);map.put(“冷锋”,“龙小云”);map.put(“杨过”,“小龙女”);map.put(“李晨”,“范冰冰”);map.put(“冷锋”,“龙小云”);map.put(“杨过”,“小龙女”);原创 2024-02-21 16:29:12 · 250 阅读 · 0 评论