自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(197)
  • 资源 (1)
  • 收藏
  • 关注

原创 仿牛客社区项目所有PPT图片

力扣题目-前缀树。

2024-03-23 15:22:29 1145

原创 B站学习Java路线

【零基础 快速学Java】韩顺平 零基础30天学会Java尚硅谷宋红康JVM全套教程(详解java虚拟机)JUC

2024-07-12 20:11:42 222

原创 解决 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

原创 线程池里的线程数量设定为多少比较合适?

对于加密、计算hash等CPU密集的操作,线程池里的线程数量设定为CPU核心数的1-2倍左右。

2024-05-15 16:43:44 790

原创 lscpu命令详解

【代码】lscpu命令详解。

2024-05-15 15:54:08 192

原创 vmstat命令详解

好的,以下是vmstat。

2024-05-15 11:13:20 337

原创 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

原创 KPTP日报模板

Keep: 今天做了哪些工作Problem: 遇到了哪些问题Try: 计划尝试如何解决这些问题Plan: 明天的计划是什么

2024-05-13 14:20:33 133

原创 设计一个短链接系统

2024-05-12 21:31:06 99

原创 图解JVM重点章节

2024-05-10 11:01:05 128

原创 图解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

原创 投递简历渠道收集

3 重邮就业 官网公众号,或者其他学习的官网公众号。4 xx就业官网,例如谷歌搜北邮就业。2 官网,网上总结的表格。

2024-05-09 15:31:37 307

原创 synchronized底层加锁和释放锁的原理

新建Decompilation.java文件。反编译获得字节码指令。

2024-05-05 11:16:01 254 1

原创 Java 写一个死锁的例子

【代码】Java 写一个死锁的例子。

2024-04-30 18:53:16 345 3

原创 Java i++操作不是原子性的,怎么理解?

在Java中,每个操作都对应一个或多个字节码指令。这些指令是Java虚拟机(JVM)执行的最低层次的命令。

2024-04-30 10:32:01 277

原创 Java 反编译class字节码文件命令

【代码】Java 反编译class字节码文件命令。

2024-04-30 10:05:21 214 1

原创 笔试过程种遇到的笔试题收集

现在有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

原创 JVM内存模型

JVM运行时内存区域划分成了五大块:方法区、程序计数器、Java虚拟机栈、Java堆内存、本地方法栈。

2024-04-16 14:53:21 1439

原创 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

原创 python调用谷歌翻译,翻译译配置文件

【代码】python调用谷歌翻译,翻译译配置文件。

2024-04-11 11:10:26 289

原创 spring事务的传播机制

事务传播机制举例说明最常见的三个传播机制

2024-04-09 17:28:35 146

原创 sping aop execution 切点表达式

2024-04-09 16:17:33 105

原创 spring test配合junit4 实现单元测试

【代码】spring test配合junit4 实现单元测试。

2024-04-09 11:20:52 393

编译原理实验报告+代码

通过编译原理课程的系统学习,掌握设计简单编译器的基本原理和方法。理解状态转换图的描述方法并运用于已学习的某一门高级程序设计语言词法分析的描述,根据设计的状态转换图和设计的基本符号表,设计并编码实现词法分析器;了解文法的设计和分析方法,能用已学习的文法知识对已学过的某一门高级程序设计语言进行文法规则的设计,并运用已掌握的自上而下或者自下而上的分析方法,给出预测分析表的设计,并编码实现语法分析器。

2021-07-06

空空如也

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

TA关注的人

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