- 博客(124)
- 资源 (8)
- 收藏
- 关注
原创 Java获取文件的hash值(SHA256)
在工作开发当中需求要通过文件的hash值比对文件是否被篡改过,于是通过使用了(sha256)hash值进行比对,因为对于任意长度的消息,SHA256都会产生一个256bit长的哈希值,通常用一个长度为64的十六进制字符串来表示。
2023-06-26 15:02:35 4159
原创 Redis自学之路—基础数据结构(二)
Redis由意大利人Salvatore Sanfilippo(网名Antirez)开发,Redis得默认端口是6379,这个端口号也不是随机选的,而是由手机键盘字母“MERZ”的位置决定的;“MERZ”在Antirez 的朋友圈语言中是“愚蠢”的代名词,它由于意大利广告女郎“Alessia Merz”在电视节目上说了一堆愚蠢的话而被人熟知。
2023-05-19 10:00:00 315
原创 JVM垃圾收集算法
根据强分代假说“熬过越多次垃圾收集的对象,越难以被回收”,老年代中的大部分对象都是年龄达到了16的对象,都是很难被回收的,所以采用“标记-整理算法”去移动对象,对应用程序的吞吐量其实影响很大,但是不得不使用“标记-整理算法”,因为“标记-清除算法”会浪费一定空间,“标记-复制算法”又必须有分配担保策略也需要浪费空间,且“标记-复制算法”也无法满足老年代中所有对象都存活的极端情况。收集器应该将Java堆花费出不同的区域,然后将回收对象依据其年龄(年龄即对象熬过垃圾收集过程的次数)分配到不同的区域之中存储。
2023-04-01 23:32:01 530
原创 JVM虚拟机中优化技术之逃逸分析
本文主要说明JVM虚拟机中编译器优化技术之一,逃逸分析。也是最前言的优化技术之一。逃逸分析(Escape Analysis)是目前Java虚拟机中比较前沿的优化技术,它与类型继承关系分析一样,并不是直接优化代码的手段,而是为其他优化措施提供依据的分析技术。是一种可以有效减少Java程序中同步负载和内存堆分配压力的跨函数全局数据流分析算法。通过逃逸分析,Java Hotspot编译器能够分析出一个新的对象的引用的使用范围从而决定是否要将这个对象分配到堆上。作为调用参数传递到其他方法中,这种称为方法逃逸。
2023-03-14 15:03:20 515 1
原创 JVM实战OutOfMemoryError异常
JVM实战OutOfMemoryError异常,主要包含Java堆溢出、虚拟机栈和本地方法栈溢出、运行时常量池和方法区溢出、直接内存溢出。
2023-03-08 17:30:48 530
原创 MySQL中JSON数据类型详解
JSON 是 JavaScript Object Notation(JavaScript 对象表示法)的缩写,是一个轻量级的,基于文本的,跨语言的数据交换格式。易于阅读和编写。数值:十进制数,不能前导0,可以为负数或小数,还可以为e或E表示的指数。字符串:字符串必须用双引号括起来。布尔值:true、false。数组:一个由零或多个值组成的有序序列。每个值可以为任意类型。数组使用方括号[ ]括起来,元素之间用逗号分隔。对象:一个由零或者多个键值对组成的无序集合。
2023-02-17 14:35:53 4351
原创 解决前后端跨域问题No‘Access-Control-Allow-Origin‘...
解决前后端跨域问题No'Access-Control-Allow-Origin'
2022-06-22 18:41:38 7137
原创 Lambda表达式与函数式接口详解
1.函数式接口:lambada前置条件:必须是函数式接口才可以使用lambada表达式函数式接口特征:接口中标注了@FunctionalInterface注解 接口中只有一个抽象方法会被编译器自动认识成函数式接口 接口中有一个抽象方法,同时包含了Object类的其他抽象方法也会被识别成抽象接口2.lambada表达式三种编写方式:1) expression:单条语句表达式2) statement:语句块3) reference:...
2022-01-12 18:20:05 1763 1
原创 Docker安装和详细使用,学这一篇就足够了
目录什么是虚拟化技术?⭐含义: ⭐虚拟化技术:⭐目的:⭐常见的虚拟化的架构:Docker简介Docker的优势Docker的组件Docker的安装步骤 1. 查看docker的安装包 2.删除docker安装包 3.删除docker镜像 4. 再次检测(查看docker的安装包) 5.安装docker 1)c...
2021-11-04 09:30:45 440 1
原创 算法——时间复杂度和空间复杂度总结,新手们不懂得快上车了
简介 本文章让我们来聊聊算法相关的时间复杂度和空间复杂度,在我从学习到步入职场,不管是看面试题,还是在看算法的时候,很多时候都看到什么O(n),O(1),O(log2n),这些奇怪的标识。老是不知道这是什么意思,一直想去研究,但是一听是什么时间复杂度,空间复杂度,就感觉很牛逼,还是算了,研究了不一定会,次次都是以这样的借口告终, 这两天听朋友说了说,听起来还可以,可以去尝试学一学。 接下来跟我一起了解一下吧!!!算法 算法是指用来操作数据、解决程序问题的...
2021-09-17 13:43:39 439 3
原创 索引优化分析,必备掌握知识⚡⚡⚡(熬夜3个晚上写的,建议必读)
目录简介一、⚡<分析性能下降SQL慢,执行时间长、等待时间长的原因>二、⚡<常见通用的Join查询> SQL执行顺序 1)手写SQL 2)机读SQL Join图三、⚡<索引>索引是什么? 优势劣势 Mysql索引分类 基本语法 Mysql索引结构 哪些情况需要创建索引?(面试重点) 哪些情况不要...
2021-09-08 21:35:32 514 6
原创 ⭐⭐⭐面试题必看⭐⭐⭐,读完让你面试不在发愁!
简介通过文章分享一下,自己记录的一些面试题,希望能够帮助正在找工作,或者准备找工作的猿友们!面试题java基础题 1.基本数据类型有哪些? byte、short、int、long、float、double、char、boolean 2.HashMap的数据结构是什么? 使用哈希表(数组+链表)来存储,当链表长度超过阈值8时会将链表转成红黑树,增加查找性能; ...
2021-08-21 18:52:45 351 2
原创 5道阿里事务相关面试题,猿友们赶紧上车啦~⚡⚡⚡⚡
简介本文章是作者朋友去阿里面试时的几道事务相关的面试题,相信大多数猿友们,在找工作的时候,往往避免不了各种各样的面试题,和面试官提出的各种奇葩的问题,也相信大家肯定遇到过很多面试问题,比如:多线程、高并发、高可用、事务、海量数据优化、算法、IO流等等,太多了,在这里给大家分享一下事务相关的问题,希望能够帮助大家面试顺利。以下面试题是作者简单又高效的记忆解答。事务的四大特性 分别是原子性、一致性、隔离性、持久性;世面上也称为ACID。如果出去面试人家面试官问ACI...
2021-08-19 23:57:52 172 2
原创 10道Mybatis经典面试题,赶快上车吧!⚡⚡⚡⚡
1.Mybatis中#{}和${}的区别是什么?1.1 #{}方式能够很大程度防止sql注入(安全); ${}方式无法防止Sql注入。1.2 在JDBC能使用占位符的地方,最好优先使用#{}; 在JDBC不支持使用占位符的地方,就只能使用${},典型情况就是动态参数。1.3 #{}是预编译处理; ${}是字符串替换。1.4 在处理#{}时,会将SQL中的#{}替换为?号,使用PreparedStatement的set方法来赋值; 在处理$...
2021-08-16 16:38:46 1476 6
原创 TypeScript技术(四)面向对象!!
简介本文章主要包含的知识点有,object对象类型,interface接口,class类,Access Modifier访问修饰符,Module模块,Generics泛型。话不多说,一起学习吧!面向对象Object对象类型我们也可以访问该对象不存在的属性,如:可以看到会报错,但是再原生JavaScript中是不会报错的。这个会自动匹配类型,使用的是键类型定义。还可以给定该对象是什么类型,如果是object类型,则调用不存在的属性,也会报错,如果使用any则...
2021-08-13 17:23:53 102 3
原创 TypeScript技术(三)基础类型学习!!
简介TypeScript的定义以及优势,想必大家在前几篇文章中都已经学习到了;接下来,我们开始学习一下TypeScript中的Type也就是数据类型,每一个技术都有它自己对应的声明方式以及类型的定义。让我们一起学习以下知识吧!!!!TypeScript的类型TypeScript与普通的Javascript最大的区别就是对类型的强定义。它给JavaScript带来了多种基本类型,同时程序员也可以定义类型。基本类型其他类型高级类型union组合类型 Nullab..
2021-08-10 16:10:26 444 5
原创 SpringBoot中required a bean of type ‘java.lang.String‘ that could not be found问题
把 @AllArgsConstructor 换成 @RequiredArgsConstructor。@AllArgsConstructor 与 @Value 不能同时用。
2023-11-10 11:35:27 820
原创 npm install时出现的问题Failed at the [email protected] postinstall script
从阿里云上拉取下来项目后,首先使用npm install 命令进行安装所需依赖,意想不到的事情发生了,报出了Failed at the [email protected] postinstall script,这个问题,顿时一脸懵逼;询问前端大佬,给出的反馈是,“没法解决”,这时我有点不知所措了,大佬都说没法解决了。执行完第一个卸载命令发现还是报错,紧接着又执行了一个重新安装命令;到此为止,已经没有发现有问题了,可以正常的启动项目了。
2023-08-03 12:11:15 1521 2
原创 Redis自学之路—分布式锁(四)
分布式锁是控制分布式系统不同进程共同访问共享资源的一种锁的实现。如果不同的系统或同一个系统的不同主机之间共享了某个临界资源,往往需要互斥来防止彼此干扰,以保证一致性。就是在Redis里面占一个“坑”,当别的进程也要来占坑时,发现那里已经有一根“大罗卜”了,就只好放弃或者稍后再试。
2023-05-30 14:04:42 926
原创 Redis自学之路—安装与配置(一)
本文章主要说一下Redis的安装与配置,学一门技术肯定是要从基础学起,其实所有的技术都很简单,如果自己能够静下心来,相信所有的技术都可以掌握。快来跟着我一起学习Redis吧!!!
2023-05-12 10:00:00 502
原创 Redis自学之路—基于Redis中zset实现延时任务(三)
本文章主要记录的是使用Redis中的zset实现延时任务,在工作中,像这样的的延时任务是不可避免的,举个栗子:买一张火车票,必须在30分钟之内付款,否则该订单被自动取消。
2023-05-08 16:01:47 899
原创 分布式Id生成之雪花算法(SnowFlake)
回顾二进制知识以及唯一ID通用的解决方案,重点说明SnowFlake雪花算法原理及实现,以及相关问题解决方案!!
2023-04-18 10:32:25 7968 1
原创 Nginx——配置HTTPS域名证书
要在nginx中配置https,就必须安装ssl模块,也就是:http_ssl_module.把ssl证书*.crt和私钥*.key拷贝到/usr/local/nginx/conf目录中。进入到nginx的解压目录:/home/software/nginx-1.16.1。新增ssl模块(原来的那些模块需要保留)
2023-04-02 20:34:44 219
原创 基于JMH做Benchmark基准测试
BenchMark 又叫做基准测试,主要用来测试一些方法的性能,可以根据不同的参数以不同的单位进行计算(例如可以使用吞吐量为单位,也可以使用平均时间作为单位,在 BenchmarkMode 里面进行调整)。Mode表示JMH进行Benchmark时所使用的模式。通常是测量的纬度不同,或是测量的方式不同。Throughput:整体吞吐量,例如“1秒内可以执行多少次调用”,单位是操作数/时间。AverageTime:调用的平均时间,例如“每次调用平均耗时xxx毫秒”,单位是时间/操作数。...
2022-08-11 15:39:34 546
dnsjava-2.0.3.jar包
2022-09-07
minlog-1.2.jar包
2022-09-07
mg4j-1.0.1.jar包
2022-09-07
je-4.1.6.jar包
2022-09-07
kryo-1.01.jar包
2022-09-07
,javaswf-CVS-SNAPSHOT-1.jar包
2022-09-07
je-7.5.11.jar包
2022-09-07
reflectasm-0.8jar包
2022-09-07
EOS开发环境搭建文档.docx
2021-12-23
mysql的高级架构.xmind
2021-04-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人