自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 高级面试题

JVM 的垃圾回收器自动回收“不再被任何途径使用”的对象,核心是‌可达性分析‌:从 GC Roots(静态变量、局部变量、方法参数等)出发遍历引用链,无法到达的对象就被判定为垃圾并回收。MySQL的锁按粒度分有‌表锁、行锁、间隙锁、临键锁‌,按类型分有‌共享锁(S锁)和排他锁(X锁)‌,另外还有意向锁、元数据锁等辅助锁。‌临键锁(Next-Key Lock)‌:行锁+间隙锁的组合,锁定左开右闭区间,是RR级别下InnoDB默认的锁算法,用于解决幻读。‌表锁‌:锁定整张表,粒度大、并发度低。

2026-11-11 20:22:21 117

原创 中高级面试题总结

Kafka的高吞吐量主要得益于其独特的设计和技术实现,‌包括批处理、‌零拷贝技术、‌顺序写入磁盘、‌数据持久化和复制、‌分区和负载均衡、‌水平扩展、‌消费者组管理和消息偏移量跟踪,‌以及高效的文件存储格式。‌SDS是Redis为了优化字符串操作而设计的一种数据结构,‌与C语言的标准字符串相比,‌SDS具有更多的功能和优势。批处理:‌Kafka将消息以批的形式处理和存储,‌生产者将多个消息打包成一个批次后一次性发送,‌消费者也可以批量拉取和处理消息,‌减少了网络调用的次数,‌提高了I/O效率‌。

2026-11-11 20:21:49 22

原创 Springboot配置多数据源

业务上存在跨库,或者库时,需要配置多数据源,用注解的方式,让请求指向某个数据源,可以使用dynamic方法实现。使用的时候默认是走默认数据库,若加注解@DS(“other”)则使用其他数据源数据。然后配置yml配置文件,可以配置多数据源,也可以配置主从数据库。也可以结合sharding使用,默认sharding是主从配置。最后配置config,使spring启动的时候,加载多数据源。

2025-03-05 11:27:36 454

原创 Sharding分表分库配置及应用

默认是读写分离的,如果需要使用@Master注解,需要配置config,用AOP的思路,做注解切入方法类。springboot启动时加载数据源,结合mybatis使用,需要扫描mapper类数据。业务上使用注解,比方说查询需要查主库(默认查从库)时,可以加上注解,那么查询就会走主库。首先需要引入sharding的maven。自定义一个master注解。

2025-03-05 11:09:05 363

原创 中級面试题总结

1、mysql的事务等级2、mysql各个引擎的优缺点和区别3、CK的原理4、ES的创建和使用5、hashmap和concurrenthashmap的区别6、synchronized和lock区别7、synchronized原理8、lock的原理

2024-07-15 14:49:56 996 1

原创 java知识点

一、Runnable和Thread以及Callable的区别Thread1、是一个类2、只能被继承Runnable1、是一个接口2、资源可以共享thread实现了runnable接口Callable1、是一个接口2、Callable 使用 call() 方法, Runnable 使用 run() 方法3、call() 可以返回值, 而 run()方法不能返回4、call() 可以抛出受检查的异常,比如ClassNotFoundException, 而run()不能抛出受检查的异常二

2021-06-12 09:23:56 560

原创 邀请码生成器(与ID互转化)

邀请码生成器,算法原理:1、获取id: 例:11111112、使用自定义进制转为:例:gpm63、 转为字符串,并在后面加’O’字符:例:gpm6o4、在后面随机产生若干个随机数字字符:例:gpm6o75、转为自定义进制后就不会出现o这个字符,然后在后面加个’o’,这样就能确定唯一性。最后在后面产生一些随机字符进行补全。public class ShareCodeUtil { /** 自定义进制(0,1没有加入,容易与o,l混淆) */ private static fina

2021-06-12 09:23:40 3357

原创 正则表达式判断身份证规格

判断十五或者十八位正则表达是:public static boolean idCardRule(String idCard){ // 验证规则 String regEx = "^[1-9]\\d{5}(18|19|([23]\\d))\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]...

2019-08-02 14:04:05 285

原创 java接口控制linux执行命令

java有api可以链接linux,并通过代码在linux上执行命令。例子如下:我们先发起链接,返回一个登陆状态的/** * 创建会话连接 * * @param ip 主机IP * @param user 主机登陆用户名 * @param pwd 主机登陆密码 * @param port ...

2019-03-18 09:30:01 923 1

原创 初級面试题总结

1、java的八种基本类型:8位:Byte(字节型)16位:short(短整型)、char(字符型)32位:int(整型)、float(单精度型/浮点型)64位:long(长整型)、double(双精度型)boolean(布尔类型)2、java的数据结构:枚举(Enumeration)位集合(BitSet)向量(Vector)栈(Stack)字典(Dictionary)哈希...

2019-03-07 10:28:49 321

原创 java对hdfs的上传、下载、读取文件

File对象上传到hdfs/** * File对象上传到hdfs * @param filesrc * @param hdfsPath * @param filename * @return */ public static Boolean uploadFile(String filesrc, String hdfsPath,S...

2018-10-22 09:45:23 1196

原创 JAVA使用浏览器下载文件接口

前端页面调用后台接口,使用浏览器默认下载的方法。public ResponseEntity<byte[]> test() throws Exception { String Path = "";//要下载的文件路径 File file = new File(Path); HttpHeaders headers = new HttpHea...

2018-10-16 14:05:00 2491

原创 MyBatis中向MYSQL插入数据后,对象立刻获取主键的方法

MyBatis中向MYSQL插入数据后,对象立刻获取主键的方法在insert或者insertSelective标签中,加入keyProperty和useGeneratedKeys两个属性,useGeneratedKeys为true时则表示使用导出主键,keyProperty的值设为主键值。<insert id="insertSelective" parameterType="user" ...

2018-10-16 10:41:09 1081

转载 springmvc ResponseEntity 下载文件损坏问题解决方法

跟上贴https://blog.youkuaiyun.com/qq_36646591/article/details/81698614,这两天做一个文件下载功能,基本上使用的就是springmvc的ResponseEntity来做的,问题是下载的文件总是提示【文件损坏】导致打不开,或者是成功下载了打开提示【文件内容损坏】,研究来研究去网上答案很多但是都不解决问题,唯一解决问题的就是这个帖子,地址如下:http...

2018-08-15 11:12:58 3116

原创 下载文件内容乱码问题

该接口为普通的java文件下载接口,正常来说下载的内容应该与原版txt内相同。 @RequestMapping(value = "newdownload") public ResponseEntity<byte[]> newdownload() throws Exception { //文件位置:tomcat下bin目录里的文件 St...

2018-08-15 09:48:45 2966

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除