- 博客(24)
- 收藏
- 关注
原创 如何优化Java应用程序的性能?
2、使用适当的数据结构和集合:根据需求选择ArrayList、LinkedList还是HashMap,比如对频繁插入删除的操作,LinkedList更适合。1、利用多线程:Java有丰富的并发工具(synchronized、volatile、ExecutorService),合理利用提高程序效率。2、调整JVM参数:例如-Xmx、-XX:MetaspaceSize、-XX:+UseConcMarkSweepGC等。1、了解JVM垃圾回收机制:调整堆大小、新生代和老年代比例,以及设置适当的GC策略。
2024-10-10 11:00:06
336
原创 精简常见面试题目
不一定的,JVM通过「逃逸分析」,那些逃不出方法的对象会在栈上分配。逃逸分析是一种编译器优化技术,用于判断一个对象指针是否会在方法之外被使用,从而进行相应的优化操作。总之,逃逸分析是一项重要的静态分析技术,通过对方法的调用链进行分析,判断对象是否会逃逸出方法的作用域,从而决定对象的分配方式。它能够显著提高程序的执行效率和性能,因此被广泛应用于现代编译器优化中。51.服务熔断是一种用于处理分布式系统中服务间调用故障的机制。当一个微服务发生故障或超时时,服务熔断可以避免连锁故障,提高整个系统的稳定性。
2024-05-14 18:04:16
895
原创 一些技能相关问题
幻读是指在一个事务中,如果该事务执行了多次同样的查询,但每次查询结果不同,这是因为其他事务在此期间对数据进行了插入或删除,而在该事务的快照中看不到这些变化。综上所述,Kafka通过分布式和分区设计、顺序读写磁盘、零拷贝技术、页缓存、生产者客户端缓存消息批量发送以及集群管理工具等多种技术和机制,实现了高效的数据传输和处理能力。为了减少消息重复的发生,可以采取一些有效的措施,如使用幂等性生产者、确保正确的偏移量提交和消费者逻辑、以及合理配置Kafka的相关参数等。查看当前所有进程的资源占用。
2024-05-07 15:36:07
478
原创 框架的一些流程等(nacos,redis,xxjob)
总结:SpringBoot通过@EnableAutoConfiguration开启自动装配,通过 SpringFactoriesLoader 最终加载META-INF/spring.factories中的自动配置类实现自动装配,自动配置类其实就是通过@Conditional按需加载的配置类。桶中最多存放一定数量的令牌,当桶满时,新添加的令牌被丢弃或拒绝。当请求需要被处理时,则需要先从桶里获取一个令牌,如果桶里没有令牌可取,则拒绝服务。在你的Java项目中,你需要配置Redis的连接信息。
2024-04-29 15:35:44
440
原创 5-6年面试(上海清美1)
需要注意的是,不同的数据库管理系统(DBMS)可能采用不同的实现方式和技术来支持可重复读隔离级别,因此在具体使用时需要参考相应的DBMS文档和规范。keepAliveTime:当线程池中的线程数量大于核心线程数量时,多余的空闲线程在等待新任务到来时能够存活的最长时间。如果当前线程池中的线程数量超过corePoolSize,那么这是多余的空闲线程在终止前等待新任务的最长时间。当工作队列已满,且正在执行的线程数量达到corePoolSize时,线程池会创建新的线程来处理任务,但线程的数量不会超过这个值。
2024-03-21 17:20:50
511
原创 常见题目总结,题目加粗
1. synchronized 和 ReentrantLock 的区别?实现方式:o synchronized是Java的关键字,它在JVM层面由JVM解释器实现。o ReentrantLock是Java的并发包java.util.concurrent.locks中的一个类,它提供了与synchronized类似的功能,但实现方式更为灵活。公平性:o synchronized没有提供公平性的选项,线程的执行顺序是不确定的。o ReentrantLock提供了公平锁和非公平锁
2024-02-22 16:59:08
980
1
原创 时间格式化少了一年?
只要本周跨年,那么这周就算入下一年;就比如说今年(2019-2020) 12.31 这一周是跨年的一周,而 12.31 是周二,那使用 YYYY 的话会显示 2020,使用 yyyy 则会从 1.1 才开始算是 2020。正正经经的年,即元旦过后;
2023-09-12 15:33:29
239
1
原创 FtpClient登出后不是null
当调用logout()方法后,可以认为当前的FTP会话已经结束,底层的Socket连接已经关闭,FTPClient对象也不再可用于与服务器进行通信。但是,仍然可以使用FTPClient对象执行其他操作(如重新连接、更改配置等),如果有需要,还可以通过调用disconnect()方法来关闭底层资源。例如,可以使用isConnected()方法来检查是否与服务器建立了连接,或者通过自定义的标志变量来跟踪登录状态。需要注意的是,在使用完FTPClient对象后,应该及时关闭它,并释放相关的资源,以避免资源泄露。
2023-08-18 09:28:03
531
1
原创 list.stream().collect(Collectors.toMap(User::getId, User::getName, (k1, k2) -> k1))
综上所述,如果你想要在遇到键冲突时保留旧值,并且最终生成的Map对象使用HashMap实现类型,可以使用 list.stream().collect(Collectors.toMap(User::getId, User::getName, (k1, k2) -> k1))。list.stream().collect(Collectors.toMap(User::getId, User::getName, (k1, k2) -> k1)) 使用三参数形式的toMap()方法。区别二:Map实现类型。
2023-08-17 09:57:22
1009
1
原创 idea相关
这个个人不太建议,毕竟创建的类就是直接用来new的,如果Builder的话,要是对当前model类进行了修改,那么你需要到处去找使用了new当前对象的builder方法,然后去赋值,虽然前面看起来省了点布料,后面却需要不停的到处打补丁,中间浪费的成本实在太高了,不如一开始就一劳永逸。依赖注入的用法支持不同:@Autowired 既支持构造方法注入,又支持属性注入和 Setter 注入,而 @Resource 只支持属性注入和 Setter 注入;点击改为toString后再copyValue。
2023-05-29 10:41:42
205
原创 MySql的小总结
否则,使用utf8mb4_unicode_ci,因为它比较准确。[CDATA[ ]]>是xml的语法,放在CDATA[]内部的特殊字符都会被解析器忽略,所以在我们使用、、、、、、、等标签实现动态sql时,我们需要把sql语句中出现的<、<=、&等特殊符号都放在CDATA[]的内部。utf8mb4_unicode_ci比较准确,utf8mb4_general_ci速度比较快。二、utf8mb4_general_ci和utf8mb4_bin和utf8mb4_unicode_ci的区别。
2023-05-29 10:27:01
64
原创 @Transactiona和@Transactional(rollbackFor = Exception.class)区别
hierarchy:层级结构,在idea中功能为打开一个类的层级机构图如果想查看哪个类的层级结构图,就打开该类,然后按快捷键ctrl+H。
2023-04-27 17:50:21
265
原创 4.5年常见面试题(纬创-理想)
JAVA机制反射是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是Class类中的方法.所以先要获取到每一个字节码文件对应的Class类型的对象.原理主要是通过Class类来实现的。Class类是Java中反射机制的核心类,它可以在运行时动态地获取一个类的信息。
2023-04-02 17:53:11
378
原创 3年常见面试题
a、like查询以“%”开头;e、对索引列进行运算(+,-,,/,!keepAliveTime:当线程池中的线程数量大于 corePoolSize 的时候,如果这时没有新的任务提交,核心线程外的线程不会立即销毁,而是会等待,直到等待的时间超过了 keepAliveTime才会被回收销毁;keepAliveTime:当线程池中的线程数量大于 corePoolSize 的时候,如果这时没有新的任务提交,核心线程外的线程不会立即销毁,而是会等待,直到等待的时间超过了 keepAliveTime才会被回收销毁;
2023-03-16 22:31:33
1601
原创 如何让你的程序的access_token一直有效?
如何让你的程序的access_token一直有效?(高并发场景下)?解决方案业务逻辑一、存数据库建个表access_token id主键、 token、 操作时间取access_token 查询表的数据是否存在,如果这条数据存在,用当前时间-数据库操作时间>7200秒如果大于7200秒,就去查询微信服务器获取最新token,更新 MYSQL表的记录数。如果小于7200秒,直接就使用即可。二、存文件AccessToken类–》FileInputStream/FileOutputStrea
2021-06-25 21:02:40
689
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人