- 博客(36)
- 资源 (4)
- 收藏
- 关注

原创 java面试题2024
准备换工作了,给自己定个目标,每天至少整理出一道面试题。题型会比较随机,感觉这样更容易随机到面试官要问的东西。整理时我会把我认为正确的回答写出来,比较复杂的也尽量把原理贴出来,争取做到无论为了应付面试,还是为了学习提升,都可以帮助到你。
2024-01-08 22:57:54
1344
原创 谈谈Java内存模型(JMM)以及对volatile关键字的理解
如果重排序之后的执行结果,与按 Happens-before 关系来执行的结果一致,那么这种重排序并不非法(也就是说,JMM 允许这种重排序)Java内存模式是一种虚拟机规范,Java内存模型规定线程之间的共享变量必须存储在主内存中。每个线程都有自己的工作内存,线程的工作内存保存了该线程用到的变量和主内存的副本拷贝,线程对变量的操作都在工作内存中进行。1)如果一个操作 Happens-before 另一个操作,那么第一个操作的执行结果将对第二个操作可见,而且第一个操作的执行顺序排在第二个操作之前。
2024-04-01 23:35:25
614
原创 Dubbo 负载均衡算法说明
在集群负载均衡时,Dubbo 提供了多种均衡策略,缺省为基于权重的随机负载均衡策略。具体实现上,Dubbo 提供的是客户端负载均衡,即由 Consumer 通过负载均衡算法得出需要将请求提交到哪个 Provider 实例。目前 Dubbo 内置了如下负载均衡算法,可通过调整配置项启用。
2024-03-28 22:45:34
931
原创 Dubbo启动流程
4.服务消费者通过代理对象(Proxy)发起远程调用请求。5.Monitor 组件来统计服务的调用次数和调用时间。1.服务提供者将服务实例化后注册到注册中心。2.服务消费者向注册中心订阅所需的服务。3.注册中心异步将变更通知服务消费者。
2024-03-28 22:28:42
265
原创 MySQL数据库索引失效
解决办法是直接带函数新建一个索引,length(id)作为字段新建索引。3.对索引字段进行表达式计算,例如where age+1 = 18。6.索引字段类型为varchar,但是与int类型进行匹配,比如age字段为varchar,where age>10时就不会走索引。4.联合索引中未使用最左侧索引字段,比如联合索引包含字段(name,age),我们只根据age字段进行匹配不会走索引。1.对索引字段使用左或者两侧模糊匹配时索引失效(使用右模糊匹配可以走索引)5.OR条件有一侧条件字段未使用索引。
2024-01-23 09:31:38
492
原创 线程和进程的区别
一个进程可以包含多个线程。进程之间的资源是相互独立,而同一进程下的线程之间可以共享进程中的资源。线程是处理器任务调度和执行的基本单位。进程是操作系统资源分配的基本单位。
2024-01-23 09:09:01
442
原创 synchronized 锁升级
synchronized 锁升级策略是为了减少性能消耗,提高程序执行效率。第一步:判断对象头中否是当前线程的线程ID,如果是,表示当前线程获得偏向锁,直接执行同步代码。如果不是,使用CAS自旋进行锁竞争。第三部:当自旋超过一定次数,或有其他线程来争抢时,锁会膨胀为重量级锁,除了拥有锁的线程外的其他线程全部阻塞。第二部:当一个线程已拥有偏向锁时,第二个线程通过CAS自旋来竞争锁时,此时升级为轻量级锁。synchronized 锁升级。
2024-01-18 00:01:51
816
原创 ChatGPT 和文心一言哪个更好用?
如果您需要处理自然语言处理和机器学习应用,例如开发智能客服或智能翻译应用,那么ChatGPT可能是更好的选择。总之,ChatGPT和文心一言各有千秋,哪个更好用取决于您的需求和喜好。如果您需要处理自然语言处理和机器学习应用,例如开发智能客服或智能翻译应用,那么ChatGPT可能是更好的选择。如果您需要生成各种类型的文本,例如广告、文章、社交媒体帖子等,那么文心一言可能更适合您。在人工智能技术不断发展的今天,ChatGPT和文心一言作为两种不同类型的人工智能工具,都受到了广泛的关注和应用。
2024-01-17 19:30:20
3402
3
原创 什么是双亲委派模型?
Java 中的类加载器包括BootstrapClassLoader(启动类加载器),ExtensionClassLoader(扩展类加载器)以及AppClassLoader(应用程序类加载器)。双亲委派的执行流程是,当类加载器进行类加载时,先判断是否存在父加载器,如果存在则调取父类加载器中的loadClass方法,直到最顶层的Bootstrap类加载器,此时开始加载类,如果自己无法加载,则使用子类加载器尝试加载。这种设计的好处是,避免类的重复加载,保证了 Java 的核心 API 不被篡改。
2024-01-13 01:02:26
533
原创 算法:给你一个整数数组 nums 和一个整数k,请你统计并返回该数组中和为 k 的子数组的个数
算法:给你一个整数数组 nums 和一个整数k,请你统计并返回该数组中和为 k 的子数组的个数。用前缀和方法来解决。
2024-01-10 10:20:12
958
原创 Spring Bean 默认是单例的,如何保证并发安全
层的bean中定义了当前登录用户ID的类成员变量,导致客户操作时,创建人或修改人记录成其他人的ID,当时的解决方案就是增加了注解@Scope("prototype")启用原型模式。1.Bean由单例改为原型。在类上增加注解@Scope("prototype"),缺点是会增加服务器开销。在实际工作中遇到过这个问题,在。2.避免使用类成员变量。
2024-01-09 23:21:33
495
原创 @Autowired 和 @Resource 的区别是什么?
当一个接口存在多个实现类的情况下,@Autowired 和@Resource都需要通过名称才能正确匹配到对应的 Bean。@Autowired 可以通过 @Qualifier 注解来显示指定名称,@Resource可以通过 name 属性来显示指定名称。@Autowired 是 Spring 提供的注解。默认的注入方式为byType(根据类型进行匹配)。@Resource 是 JDK 提供的注解。默认注入方式为 byName(根据名称进行匹配)。
2024-01-09 22:29:40
686
原创 RocketMQ单节点安装教程
在进行工具测试消息收发之前,我们需要告诉客户端NameServer的地址,RocketMQ有多种方式在客户端中设置NameServer地址,这里我们利用环境变量。为 Apache RocketMQ 提供包含 Java,C++,C#,Golang,JavaScript,Rust 在内的所有主流编程语言的云原生的,健壮的客户端解决方案。临时的环境变量,只在当前命令窗口生效,所以如果要在两个命令窗口中分别启动生产者与消费者,则两个窗口都需要先执行配置环境变量命令。命名服务,充当注册中心和路由管理。
2023-12-29 09:27:24
727
1
转载 cookie,sessionStorage,localStorage与浏览器新开窗口window.open的关系
localStorage和sessionStorage的区别
2023-11-15 09:51:54
339
1
原创 AQS详解(JAVA面试高频题)
AQS 是一个抽象队列同步器,位于包下的。主要用来构建锁和同步器,许多同步类实现都依赖于它,如ReentrantLock、ReentrantReadWriteLock、Semaphore,CountDownLatch等。。
2023-07-13 14:01:02
581
1
原创 Map中的put、putIfAbsent、compute、computeIfAbsent、computeIfPresent使用方法
Map中的put、putIfAbsent、compute、computeIfAbsent、computeIfPresent使用方法
2023-06-23 22:26:38
11634
2
原创 JS中==与===区别
在JavaScript中,==和===两个运算符都用于比较变量或值之间的相等性。它们之间的主要区别在于它们对待数据类型的方式。
2023-05-18 13:56:03
198
原创 Oracle中LISTAGG函数使用教程
假设我们有一张表(TBL),包含字段A和字段B,我们要根据字段A进行分组,并将每个分组中的字段B拼接成一个新的字段C。我把要拼接的字段使用to_char()函数转一次解决了乱码问题。函数来实现将合并数据中某个字段通过逗号分隔拼成一个新的字段的需求。表示按照字段B排序后再将它们拼接起来,可以根据实际情况调整该选项。可以使用Oracle中的。
2023-04-26 15:30:25
962
原创 java字符串格式化传参的三种方法
java格式化拼接字符串的三种方法String.format()java.text.MessageFormat.format()org.slf4j.helpers.MessageFormatter.arrayFormat()/MessageFormatter.format()
2023-03-01 11:14:57
1313
原创 Java使用UTF-8或GBK编码后还是乱码的问题
java中使用utf-8或gbk编码后乱码问题以及通过Charset.defaultCharset()和System.getProperty("file.encoding")获取默认字符集方法以及区别。
2023-02-20 12:13:05
4764
rocketmq-dashboard源码以及使用maven打包时缺失包yarn-1.22.10.tar.gz
2024-01-05
org.codehaus.plexus.plexus-container-default.3.1.0
2018-06-14
美团cat缺失jar,org.unidal.*,framewortk-bom:pom:4.0.0
2018-06-12
阿酷同学录管理系统-C#项目
2012-01-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人