- 博客(16)
- 资源 (2)
- 收藏
- 关注
原创 深入解析JVM调优:从原理到实践的全面指南
Java虚拟机(JVM)是Java编程语言的核心组件,自1995年Java首次发布以来,JVM已经经历了多个版本的迭代和优化。从最初的JDK 1.0到目前的JDK 17,JVM的性能和功能不断提升,支持的硬件和操作系统平台也越来越广泛。其设计初衷是实现一次编写、随处运行的目标,通过字节码解释和即时编译(JIT)技术,JVM能够在不同的硬件平台上高效运行Java应用程序。
2025-04-05 00:31:33
254
原创 深入解析Java并发编程:从原理到实践的全面指南
Java并发编程是Java语言的一大特色,其发展历程可以追溯到Java 1.0引入的Thread类。随着Java的发展,Java并发包在Java 5中引入了更为强大的API,如包,从而显著提高了并发编程的易用性和性能。
2025-04-04 18:55:34
216
原创 互联网大厂Java面试:严肃面试官与搞笑程序员的对决
Spring是一个大型应用框架,而SpringBoot是基于Spring的快速开发套件,简化了Spring应用的配置。在某互联网大厂的面试室,一位严肃的面试官正准备提问,而对面坐着一位看似紧张却又想显得轻松的程序员小张。JVM就像一个巨大的购物车,负责把所有的变量都放进去,呃……:JVM内存管理包括堆内存和栈内存,堆内存用于存储对象实例,栈内存用于执行线程时的栈帧……呃,一个很大的箱子,大家都往里面扔东西,有时候会打架?:HashMap通过哈希函数将键映射到对应的值,并通过链表解决哈希冲突。
2025-04-04 15:37:54
91
原创 分布式ID选型与实现
需要注意的是此处的 41 位时间戳并非存储当前时间的时间戳,而是存储时间戳的差值(当前时间戳 - 起始时间戳),这里的起始时间戳一般是ID生成器开始使用的时间戳,由程序来指定,所以41位毫秒时间戳最多可以使用 (1 << 41) / (1000x60x60x24x365) = 69年。使用数据库的id自增策略,如 MySQL 的 auto_increment。由于 long 类型在 java 中带符号的,最高位为符号位,正数为 0,负数为 1,且实际系统中所使用的ID一般都是正数,所以最高位为 0。
2024-01-05 15:10:52
1029
1
原创 Nginx+SSL(https)配置
创建一个文件夹(/usr/local/software/server/),上传本地提供的nginx包。https://www.godaddy.com/zh-sg/ssl-checker 检测网站。在/usr/local 目录下执行 rm -rf nginx。进入我们默认安装路径 /usr/local/nginx/conf。在浏览器访问试试 https://alizhazha.cn/防火墙开放端口,阿里云网络 安全组配置80端口。先删除原先的nginx,新增ssl模块。防火墙关闭或者开发443端口。...
2022-08-08 15:58:15
796
原创 阿里云盘终于可以分享文文件了!!!
阿里云盘今天公测了新功能,终于可以分享文文件了点击下面链接让我们一起使用阿里云盘吧!!!我在使用不限速「阿里云盘」,赠送你 500GB 快来试试吧点此链接领取福利:https://pages.aliyundrive.com/mobile-page/web/beinvited.html?code=f06409f...
2021-07-08 14:46:05
2855
原创 一、认识shiro
1、初步认识shiro1.1、shiro简介shiro是apache的一个开源框架,而且呢是一个权限管理的框架,用于实现用户认证、用户授权。spring 中也有一个权限框架 springsecurity (原名Acegi),它和 spring 依赖过于紧密,没有 shiro 使用简单。shiro 不依赖于 spring,shiro 不仅可以实现 web应用的权限管理,还可以实现c/s系统,分布式系统权限管理,shiro属于轻量框架,越来越多企业项目开始使用shiro。使用shiro实现系统的权限管
2021-05-02 22:02:46
176
原创 Swagger3介绍和使用
Swagger3OpenApi规范地址:https://github.com/OAI/OpenAPI-SpecificationOpenAPI规范经过Reverb Technologies和SmartBear等公司多年的发展,OpenAPI计划拥有该规范(捐赠之后),OpenAPI Initiative在GitHub上托管社区驱动的规范。规范是⼀种与语⾔⽆关的格式,⽤于描述RESTful Web服务,应⽤程序可以解释⽣成的⽂件,这样才能⽣成代码、⽣成⽂档并根据其描述的服务创建模拟应⽤。开放
2021-04-16 01:10:48
15424
原创 MySQL8.0安装
环境准备安装与配置首先,我们要下载 MySQL 的安装包,具体做法是,打开浏览器,输入网址:https://dev.mysql.com,进入 MySQL 的开发者专区进行下载。链接:https://pan.baidu.com/s/1ZIhsQt5AXXQxjzY9FAgbzw提取码:9bnh当然,如果你想了解 Linux 平台和 macOS 平台上的安装和配置,也可以通过官网https://dev.mysql.com/doc/refman/8.0/en/linux-installation.htm
2021-04-14 19:03:45
392
原创 c语言实现单链表
单链表其中还有很多bug 一些逻辑没有考虑清楚的 可以自己试试处理这个主要是我专升本复习过度下的 没怎么用太大精力去弄希望可以帮助到你#include<stdio.h> #include<string.h>#include<stdlib.h>typedef int ElemType; //假设顺序表中所有元素为int类型//数据节点 typedef struct node { ElemType data; struct node *nex
2021-04-07 23:14:32
425
转载 23 种设计模式的通俗解释,虽然有点污,但是秒懂
01 工厂方法追 MM 少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是 MM 爱吃的东西,虽然口味有所不同,但不管你带 MM 去麦当劳或肯德基,只管向服务员说「来四个鸡翅」就行了。麦当劳和肯德基就是生产鸡翅的 Factory 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提供。02 建造者模式MM 最爱听的就是「我爱你」这句话了,见到不同地方的 MM,要能够用她们的方
2021-03-26 21:43:59
174
原创 mysql5.7 压缩版 安装配置
mysql5.7 压缩版 安装配置下载地址链接:https://pan.baidu.com/s/14UUJEWWNgBnomVzZp7dc6w提取码:jhh7或者去官网找合适的版本https://dev.mysql.com/downloads/mysql/5.7.html配置将下载的文件解压,把他放我们电脑的某个盘中配置变量将解压之后的bin路径添加到Path检查是否添加成功以管理员身份运行cmd,输入mysql并回车,若提示ERROR 2003 (HY000): Can’t c
2021-03-26 13:53:39
177
原创 # Redis6.0.9 CentOS 7.6 安装及其主从哨兵配置(1主2从3哨兵)搭建
Redis5+(6.0.9) CentOS 7.6+ 安装及其主从哨兵配置(1主2从3哨兵)搭建CentOS安装Redis-6.0.9的简要过程1、下载安装包sudo wget -P ./redis https://download.redis.io/releases/redis-6.0.9.tar.gz2、解压,到下载Redis安装包所在的目录,解压压缩包sudo tar -zxvf redis-6.0.9.tar.gz3、到redis-6.0.9目录,执行make命令sudo ma
2021-03-25 21:56:19
354
2
转载 红黑树源码讲解之手写红黑树
红黑树源码讲解之手写红黑树树入门什么是树树(tree)是一种抽象数据类型(ADT),用来模拟具有树状结构性质的数据集合。它是由n(n>0)个有限节点通过连接它们的边组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。树有很多种,向上面的一个节点有多余两个的子节点的树,称为多路树,而每个节点最多只能有两个子节点的一种形式称为二叉树。①、节点:上图的圆圈,比如A,B,C等都是表示节点。节点一般代表一些实体,在java面向对象编程中,节点一般
2021-03-25 16:44:43
443
原创 JDK8 HashMap源码全解
JDK8 HashMap源码全解基础入门0、链表和数组的区别数组静态分配内存,链表动态分配内存。数组在内存中是连续的,链表是不连续的。数组利用下标定位,查找的时间复杂度是O(1),链表通过遍历定位元素,查找的时间复杂度是O(N)。数组插入和删除需要移动其他元素,时间复杂度是O(N),链表的插入或删除不需要移动其他元素,时间复杂度是O(1)。1、数组的优势/劣势查找速度快,通过下标进行快速定位插入和删除的效率低,因为数组内存是连续的需要移动其他元素达到其效果2、链表的优势/劣势插入和删除
2021-03-23 23:24:38
349
3
原创 jdk1.8配置
jdk1.8安装教程jdk安装下载地址:链接:https://pan.baidu.com/s/1Y2T9xsywN52U_9Vt7DJtkQ提取码:nbdz可以根据内存的使用情况选择安装目录,安装完成之后:环境变量1、首先右击 此电脑 ,选择属性2、高级设计 ->环境变量3、选择新建 变量名为“JAVA_HOME”(复制我引号内的内容就可以了,不含引号,下同),变量值,必须是自己装jdk时的路径,比如我的安装路径是F:\Program Files\Java\jdk1.8.0_20,
2020-10-09 16:21:47
258
教务管理系统需求分析.doc
2019-10-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人