- 博客(197)
- 资源 (1)
- 收藏
- 关注
原创 解决 com.hellobike.druid.exception.DruidInternalException: [Hbdl] Write Body To Http Connection Error
今天在实习公司跑单测时候,一直报错误,同事们都可以正常运行,最后是关掉公司内网vpn解决的。
2024-06-06 19:46:05
118
原创 线程池的工作队列对比
SynchronousQueue: 一个不存储元素的阻塞队列,每个插入操作必须等待一个相应的删除操作,反之亦然。当队列中存在未被消费的元素时,插入操作会被阻塞。当队列容量达到上限时,后续的插入操作会被阻塞。PriorityBlockingQueue: 基于优先级的无界阻塞队列,它会根据元素的优先级进行排序。当队列为空时,获取操作会被阻塞。ArrayBlockingQueue: 基于数组的有界阻塞队列,它的容量是固定的,当队列已满时,后续的插入操作会被阻塞。
2024-05-18 15:13:33
276
原创 Java 接口详解
接口更多的是为了解耦。比如我需要制定一套方法的规范,就可以将这套方法规范抽象为一个接口。每一个实现这个接口的类都必须实现接口中所有的方法。默认都是 public static final 修饰2 方法所以接口里面可以有main方法
2024-05-17 09:47:21
250
原创 Linux Top命令详解
综合来看,这条命令链的作用是列出系统中各种CPU型号的名称,并统计每种型号出现的次数,从而提供关于系统中具体使用了哪些CPU及其数量的快速概览。如果系统包含多个相同型号的CPU(例如在多核或多CPU配置中),这个命令可以清晰地显示每个型号的计数,帮助理解系统的具体硬件配置。这个数字较高,表明物理内存的需求超过了实际可用的物理内存,系统不得不依赖交换空间来满足内存需求,这通常会影响系统性能,因为交换空间的读写速度远不及物理内存。如果是多核心或者多CPU的系统,这个命令可以帮助理解系统的硬件组成。
2024-05-15 09:58:15
1602
原创 JDK 1.8 HashMap扩容机制
我们首先来看利用无参构造函数创建HashMap如何扩容。首先创建一个无参构造出来的hashmap HashMap hashMap = new HashMap();该构造函数源码如下:public HashMap() { this.loadFactor = DEFAULT_LOAD_FACTOR; // all other fields defaulted }此时,该构造函数只会设置默认的加载因子,即计算阈值threshold,默认为0.75大小。此时底层的table数组是
2024-05-13 20:05:41
1123
原创 图解JVM出现的参数
参数说明-XX:+UseParNewGC使用ParNew作为垃圾回收器-XX:HandlePromotionFailure设置如果老年代内存<新生代所有对象大小时要不要Full GC,如果没设置就要Fuul GC,设置了就不要Full GC,而是进一步检查。-Xmx, -Xms, -Xmn, -XX:PermSize, -XX:MaxPermSize内存相关参数-XX:SurvivorRatio设置Eden区和S区的比例,如果-XX:SurvivorRat
2024-05-09 20:16:50
417
原创 Java i++操作不是原子性的,怎么理解?
在Java中,每个操作都对应一个或多个字节码指令。这些指令是Java虚拟机(JVM)执行的最低层次的命令。
2024-04-30 10:32:01
277
原创 笔试过程种遇到的笔试题收集
现在有1011种蘑菇,其中1种是毒蘑菇。人一旦吃了微量的毒蘑菇,就会在72小时后发作身亡。现在用松鼠做试验,从开始喂松鼠计时,要在72小时后马上找出毒蘑菇,问最少需要多少只松鼠?
2024-04-29 15:19:34
208
原创 面试过程种遇到的面试题收集
讲一讲这个项目是干什么的?需求规格说明书有哪些章节?职工部门层级如何显示在一张SQL表上?需求开发用到了哪些技术?
2024-04-29 15:19:06
179
1
原创 TCP建立连接三次握手中各个字段的含义?
ACK 确认SYN 同步seq 序列号 (sequential number 的缩写)ack 确认号 (acknowledge number 的缩写),表示期待对方下一次发送的序列号
2024-04-26 10:22:45
124
2
原创 MySQL统计一个表的行数,使用count(1), count(字段), 还是count(*)?
对于还未提交的,或者在当前事务开始之后的事务提交的数据,当前事务都是观察不到的,需要一行一行的做判断,当前行是否对当前事务可见。对于上面两种表的执行序列,由于事务B统计数据库中最新100条操作和表的总行数,由于事务A还没有提交,所以看不到最新的插入记录,也看不到表C字段计数 加1操作,所以,保证了事务B读到的数据逻辑一致性。在开发系统的时候,我们经常要计算一个表的行数。可以看到,即使是在同一时刻(t5)执行的查询,计算表的总行数,由于MVCC机制,每个事务看到的表的范围不一样,得到的结果也不一样。
2024-04-24 16:57:03
889
1
原创 牛客社区所有的表和SQL语句
这段代码是一个 MyBatis 框架中使用的数据库更新操作的注解定义。这里使用的是 MyBatis 的动态 SQL 特性来构造 SQL 更新语句。没有实际的过滤作用,更多的可能是为了展示如何在条件内部使用固定的真值条件。也可以按时间降序排序,然后limit 1,只返回1条,就是最新的那条通知。查询的是未被删除的帖子,所以status!可以这样理解:在帖子下的评论,和在评论下的评论。可以这样理解:在帖子下的评论,和在评论下的评论。我觉得直接使用这个SQL要比课程里面的要好。解释 MyBatis 注解中的。
2024-04-23 21:16:14
788
原创 牛客社区帖子分页显示实现
下面是对应的静态html页面,每一个方块,都是一个a标签,可以点击,执行的链接是/community/index,GET请求,拼接的参数是current,也就是pageNum,只需传入一个pageNum即可,因为pageSize已经固定死了,是10。上面的html静态页面,是Thymeleaf结合后端传过来的Model动态生成的,下面View,Model+View可以渲染出一个静态的html页面。
2024-04-23 19:31:08
553
原创 垃圾回收机制
垃圾回收机制是用来干什么的?当启动一个JVM进程时,会自动启动一个垃圾回收线程,这个垃圾回收线程会在后台不断地检查堆中各个实例对象,如果某个实例对象没有任何局部变量、静态变量指向它,这个实例对象就是垃圾对象,垃圾回收线程就会这个垃圾对象回收掉,从内存中清理掉。为什么要有垃圾回收?由于内存资源是有限的,给JVM进程分配的内存资源也是有限的,如果没有垃圾回收,一些已经失去引用的垃圾对象会在内存中越积越多,导致内存泄漏,无法分内存给新创建的实例对象。
2024-04-20 10:45:40
874
原创 1.2 搭建开发环境
1.2 搭建开发环境这次课我们来搭建开发环境,在搭建环境之前,我想先强调几点:作为一个开发者,你应该养成一个好的习惯,你安装的所有的开发工具,都应该把它放到英文的,并且没有空格的路径之下。因为有些开发工具,放到中文路径下会有问题,所以大家养成这样的一个习惯,规避这样的问题。我们是做账号开发的,我们安装的很多工具它是依赖于jdk的,所以在我安装这些工具之前,需要把 jdk安装好。对于JDK,你安装的时候有最低的版本要求,必须大于等于JDK 1.8我安装的是JDK 12,因为我们课程中要用到Spri
2024-04-19 15:33:29
756
原创 1.1 课程介绍
欢迎来到牛客网Java高级工程师系列课程,我是课程的主讲老师李红鹤,我们推出这套课的目的是想让你真正的掌握 Java web开发相关的技术,我们会从理论、实践、面试这三个环节来帮助你,让你成长为一名合格的 Java高级工程师。
2024-04-18 22:40:17
764
原创 Java简历 专业技能
熟练掌握计算机网络、数据结构、操作系统,了解计算机组成原理,具备良好的编码能力。熟练掌握 Java 语法,集合、反射、多线程等基础框架,熟练应用常用的设计模式。熟悉 JVM、JMM,包括内存模型,垃圾回收机制,了解其基本调优技巧并具备线上调优经验。熟悉 Java 并发编程,对 Java 的各种锁机制、线程池机制、AQS 等都有一定的研究并在项目中使用。熟练掌握 Spring、SpringBoot、MyBatis 等主流开源框架,对 Spring 核心原理有一定研究。熟练使用 MySQL 关系型数
2024-04-18 09:22:35
854
原创 Boss直聘自己写的打招呼内容和简历照片
我是2025届软件工程研究生,目前正在读研二,最快本月到岗,能实习六个月以上。已发表SCI二区论文,获得过校级学业奖学金特等奖,并通过英语六级考试。有过独立开发一个技术论坛项目的经验,熟练使用Spring Boot、MySQL、Redis和Kafka等后端开发技术。熟练掌握Java基础、集合、多线程,了解JVM原理,熟练掌握MySQL数据库以及常见优化手段。对您发布的实习岗位有强烈的投递愿望,非常期待贵司能给我一个面试机会,展示一下自己,下面附上我的简历图片,若您对我的简历有什么疑问,我随时在线解答。
2024-04-17 22:31:58
277
原创 Java 类加载机制
由于类加载器具有亲子的多层级结构,在类加载器加载一个类时,会先去委托父类加载器加载该类,直到传导至顶层类加载器。父类加载器会去自己负责的加载范围去查找该类,如果没有找到,就会将加载该类的权力下推给子类加载器。根据类的全限定名找到对应的class字节码文件,并将其加载进内存。执行类变量的初始化代码和静态代码块。
2024-04-15 16:46:29
546
原创 进程与线程的区别?
在聊进程和线程的概念之前,首先了解一下操作系统相关概念,大部分操作系统(如Windos、Linux)的任务调度是采用时间片轮转的抢占式调度方式,也就是一个任务执行一小段时间后强制暂停去执行下一个任务,每个任务轮流执行。任务执行的一小段时间叫做时间片,任务正在执行时的状态叫运行状态,任务的时间片用完会被强制暂停去执行下一个任务,被暂停的任务就处于就绪状态等待下一个属于它的时间片到来。这样每个任务都能得到执行,由于CPU的执行效率非常高,时间片非常短,在各个任务之间快速切换,给人的感觉就是多个任务在。
2024-04-14 11:15:01
558
原创 什么是面向对象思想?
面向对象解决问题的思路:把构成问题的事物分解成各个对象,而建立对象的目的并不是为了完成一个个步骤,而是为了描述某个事物在解决整个问题的过程中所发生的行为。面向过程解决问题的思路:分析解决问题的步骤,然后用函数把这些步骤一步一步实现,然后在使用的时候一一调用即可。面向对象不是一种技术,而是一种思想。它指导我们以什么形式组织代码,以什么思路解决问题。面向对象编程,是一种通过对象方式,把现实世界映射到计算机世界的编程方法。
2024-04-13 17:39:18
260
原创 Redis持久化
write操作会触发延迟写(delayed write)机制。Linux在内核提供页缓冲区用来提供硬盘IO性能。write操作再写入系统缓存区后直接返回。同步硬盘操作依赖于系统调度机制。例如:缓冲区页空间写满或达到特定时间周期。操作系统同步文件前,如果此时系统故障宕机,系统缓冲区内的数据将丢失。fsync针对单个文件操作(如AOF文件),做强制硬盘同步,fsync将阻塞主进程,直到写入硬盘完成后返回,保证了数据的持久化。写时复制(Copy-on-Write,简称COW)
2024-04-12 16:52:44
1220
原创 Redis配置文件翻译
# Redis 配置文件示例。## 注意,为了读取配置文件,Redis必须是# 以文件路径作为第一个参数开始:## ./redis-server /path/to/redis.conf# 关于单位的注意事项:当需要内存大小时,可以指定# 通常的形式为 1k 5GB 4M 等等:## 1k => 1000 字节# 1kb => 1024 字节# 1m => 1000000 字节# 1mb => 1024*1024 字节# 1g => 100000000
2024-04-11 16:42:08
128
编译原理实验报告+代码
2021-07-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人