自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

学习笔记

Java学习笔记

  • 博客(110)
  • 资源 (3)
  • 收藏
  • 关注

原创 Java内存模型和Java内存结构精读

以前看过很多遍JVM相关知识的文章,无非都是直接来张图片开搞,一来就甩张图片上来,这是方法区,这是堆,这是线程独享的一堆堆的概念,看得真的是头大,死记硬背也记不下来,更别说理解了。最近一段时间在看jvm相关的知识点,这是我唯一一次觉得底层逻辑这么清晰的一次,下面总结一下我的学习心得。学习jvm之前,一定要先去了解一下cpu的内存模型,如果你连CPU的内存模型都没有了解,直接开干Java的内存模型,什么jvm,垃圾回收啊,劝你别费劲了,死记硬背很快就忘了,我承认确实能记下来,但凭我学习下来的感悟,我觉得我

2022-03-31 17:36:15 982 1

原创 线程池ThreadPoolExecutor运行原理以及7个参数详解

线程池的作用其实和连接池差不多的概念,其作用就是为了完成线程的复用!线程池最简单的创建形式是以以下的形式创建,ExecutorService executorService = Executors.newFixedThreadPool(5);固定线程数量ExecutorService executorService = Executors.newSingleThreadExecutor();线程数量为1ExecutorService executorService = Executors.ne

2020-07-22 23:53:40 1851 1

原创 微前端无法接入子应用,ip自动重复拼接,无法正确嵌入解决方案

最近在开发过程中,前端接入微应用时一直报错,项目接入了多个子应用,但其中有一个子应用一直报错,主要体现为,访问子应用的路径会自动变成排查很久,发现是由于在子应用配置文件中引号外多加入了一个空格,导致解析失败。

2024-04-03 15:50:29 220

原创 通过一键完成Linux系统更换ssh登录端口号、关闭root登录权限、新增用户A、A用户免密使用sudo su的操作提高公网服务器安全等级

更换Linux默认登陆端口、关闭Linux中root的登录权限、新增用户并实现免密登录到root

2024-02-28 15:25:40 390

原创 Centos中openvpn服务端客户端快速安装

openvpn的安装

2024-02-20 11:56:20 734

原创 在本地LInux服务器中虚拟出额外的Linux服务器,并支持公网访问

指定好名称文件夹光盘,一直下一步,每一步根据自己需要进行填写,我的网络配置的是桥接模式。点击开启虚拟机,开启后install一直到安装完成,与正常安装Linux系统步骤一致。编辑文件,将下面的五项配置新增或更改为自己需要配置的信息。要保证服务器可联网,因为它依赖了很多第三方包。进入网卡目录查看自己的网卡名称。即可,会自动跳出程序界面。我在服务器中直接使用的。

2024-02-20 11:05:14 445

原创 各款Excel、word在线预览工具对比分析以及onlyoffice预览Excel加载时间长的解决方案

对于预览慢的问题,原因出在上,文件类型为而非文件,onlyoffice服务器会自动将该再进行渲染,耗时慢主要是这个,如果使用xlsx文件,就会跳过这一步,直接渲染,速度上肉眼可见的快;下面视频是展示两个相同数据量的文件,两种不同格式(xlsxls和xlsx文件预览对比我研究了一下市面上的开源在线预览插件(vue-office、luckysheet),只支持xlsx、docx的预览,

2024-02-07 10:39:40 1792

原创 nginx简单配置四种携带/时的拼接关系

2、 当 location 尾部有 /,代理地址尾部没有 / 时:(几乎不用)3、 当 location 尾部没有 /,代理地址尾部有 / 时:(和4一致)下图是四种不同的情况下的映射关系截图2、 当 location 尾部有 /,代理地址尾部没有 / 时:(几乎不用)3、 当 location 尾部没有 /,代理地址尾部有 / 时:

2024-02-06 17:42:38 548

原创 K8S1.23.6版本详细安装教程以及错误解决方案(包括前置环境,使用部署工具kubeadm来引导集群)

前面初始化主节点时提到的配置变化,这里需要注意,将下载的文件做一定的更改,与前面配置的ip相同,如果前面的ip(192.168.0.0)未更改则无需更改。如果上面的方式不行,请设置自定义的ip,也许是ip有冲突,就算是看不见冲突,也尝试改变一下,代替默认的ip,同时记得更改calico.yaml中的设置。此时需要在master节点中的calico配置文件中对应的位置加入下面的语句,然后重新安装calico插件,其中tun0代表的是自己的VPN网卡名称。当你怎么弄都不行的时候,请尝试所有机器执行以下命令。

2023-09-07 22:03:54 1065

原创 josn在序列化后避免将MyBatisPlus的分页参数Long类型转换成String

在Java开发过程中,由于前端接收Long类型的id时会出现精度丢失的情况,所以会在后端配置,将所有long类型的参数都变成字符串进行回传,但是刚好MyBatisPlus的current,pages,size等参数就是Long类型,此时若不想要将这些参数转换成字符串,那可以将这些字段排除在外

2022-10-23 22:40:18 986 1

原创 【Docker】使用docker-compose安装redis并设置密码

最近在用docker-compose来安装redis环境,所以特地做一下笔记

2022-10-23 19:49:41 3838

原创 Git切换当前远程地址

【代码】Git切换当前远程地址。

2022-08-25 16:35:26 168

原创 Linux对MATLAB环境的安装步骤以及出现的bug解决方案

【代码】Linux对MATLAB环境的安装步骤以及出现的bug解决方案。

2022-08-25 09:41:49 1935 4

原创 SpringCloudAlibaba基础框架搭建

版本如下:其中plugin中存放了项目所需的环境,如Nacos、Seata、Sentinel,启动Nacos时记得声明非集群启动,参数-m standalone。

2022-08-03 16:32:55 638

原创 记录一下centos中开启防火墙并配置指定服务器访问指定端口

先查看防火墙是否开启,没有开启的话使用命令开启使用或者可以查看当前配置的规则添加规则因为最近爆出elasticsearch被黑客攻击的事件,所以我执行了下面的语句对es开放端口只提供给固定ip可用,脚本如下。...

2022-07-22 19:01:16 737

原创 Linux离线安装nginx(携带stream+https)以及配置Nginx开机自启并配置stream代理(nginx版本可自定义)

需要哪个版本前往获取,从下面框中的版本中选择可以选择执行下面的脚本将nginx加入环境变量中,后续不需要到nginx路径下执行命令了,直接使用nginx xxx即可方式一方式二。

2022-06-18 08:49:46 389

原创 centos中docker-compose安装/docker安装

安装docker-compose环境

2022-06-11 12:53:59 221

原创 node运行migrations导入数据库和表结构

我在网上看了很多人写的,不知道怎么回事,都是答非所问,我一直找的是怎么去导数据,网上的解决方案里面都会写一大堆东西,让你看很久也找不到关键首先配置文件做好配置: "development": { "username": "root", "password": "!QAZ@WSX#asd", "database": "bas_nplus_access_service", "host": "192.168.76.141", "port": "13307",

2022-03-21 11:28:05 1083

原创 算法:移动0和移除元素

移动0给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。请注意 ,必须在不复制数组的情况下原地对数组进行操作。/** * 移动零 * * @Date 2022/3/20 14:48:24 * @Author luopeng */public class MoveZeroes { public static void main(String[] args) { moveZeroes1(new int[]{0, 1, 0, 3

2022-03-21 00:36:33 189

原创 JavaScript学习笔记

JavaScript 是脚本语言JavaScript 是一种轻量级的编程语言。JavaScript 是可插入 HTML 页面的编程代码。JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。JavaScript 很容易学习。JavaScript:直接写入 HTML 输出流document.write("<h1>这是一个标题</h1>");效果如图只能在 HTML 输出中使用 document.write。如果您在文档加载后使用该方法,会覆盖整个文

2022-03-17 23:11:09 1952 3

原创 CSS3学习笔记

CSS 用于控制网页的样式和布局。CSS3 是最新的 CSS 标准。css边框圆角:div{ border:2px solid; border-radius:25px;} 阴影div{ box-shadow: 10px 10px 5px #888888;} 背景

2022-03-15 23:29:05 456

原创 HTML5学习笔记

开始之前,对应着公司业务,html以表格方面为主,将主次明了后再开始学习。1、p标签是一个段落标签,独占一行,平时可以用到;2、超链接使用a标签,href属性拿来绑定链接,可以使用target="_blank"属性让其在新窗口打开页面;3、img作为图片标签,src填入其路径,alt属性用来表示图片无法显示时用来代替的文字;4、表格由 <table> 标签来定义, <th>表头,<tr>行,<td>行中的表格,所以格式如下:<table bor

2022-03-10 15:38:53 83

原创 Ubuntu下载远程软件步骤(个人记录)

官网:https://launchpad.net/~remmina-ppa-team/+archive/ubuntu/remmina-next记录三个命令sudo apt-add-repository ppa:remmina-ppa-team/remmina-nextsudo apt-get updatesudo apt-get install remmina启动完成

2022-02-21 15:20:36 1126

转载 快速了解云原生架构

简介:云原生架构本质上也是一种软件架构,最大的特点是在云环境下运行,也算是微服务的一种延伸。起源云原生(Cloud Native)的由来云原生的概念最早开始于 2010 年,在当时 Paul Fremantle 的一篇博客中被提及,他一直想用一个词表达一种架构,这种架构能描述应用程序和中间件在云环境中的良好运行状态。因此他抽象出了 Cloud Native 必须包含的属性,只有满足了这些属性才能保证良好的运行状态。当时提出云原生是为了能构建一种符合云计算特性的标准来指导云计算应用的编写。后来到

2022-02-11 22:12:11 411

原创 docker搭建redis集群并配置公网互相连通

解决方案:每个Redis集群节点都需要打开两个TCP连接。    用于为客户端提供服务的普通Redis TCP端口,例如6379,加上通过向数据端口添加10000获得的端口:16379,第二个端口用于集群总线,即使用二进制协议的节点到节点通信通道。节点使用集群总线进行故障检测,配置更新,故障转移授权等。客户端永远不应尝试与集群总线端口通信,但始终使用正常的Redis命令端口,但请确保在防火墙中打开两个端口,否则Redis群集节点将无法通信。 正式因为上面的解释

2022-01-23 17:58:07 1314

原创 Command line is too long. Shorten command line for xxx原因分析以及解决方案

下图的问题,看见网上很多解决方案,综合解决方案以及问题分析最终是由于命令过长导致的解决方案:两种选项都可以,但仅限于在idea版本为2017.3以后的版本,可以前往IDEA官网查看详细原因!...

2021-12-28 11:09:43 1750 1

原创 算法图解中对快速排序的分析(Java)

快速排序的基本原理如下对于这样一个数组,相对它进行快速排序排序的基本原理如下图:任意选择一个元素作为基准值,对基准值进行如下情况的递归操作,这里以正序排序举例:即将小于基准值的数放在基准值左边,比基准值大的值放在其右边,再依次对左右两边的数组进行同理的操作,这里取基准值有以下五种方式,分别得到五种可能出现的左中右组合!例如,假设你将3用作基准值,可对得到的子数组进行快速排序。对于原本已经排好序的数组,如果用取第一个值作为基准值的方式来计算的话,会出现下面的情况但是如果选择以中间的数作为基准

2021-11-25 17:20:36 420

转载 在Java中,整数的绝对值不一定是正数。

绝对值是指一个数在数轴上所对应点到原点的距离,所以,在数学领域,正数的绝对值是这个数本身,负数的绝对值应该是他的相反数。这几乎是每个人都知道的。在Java中,想要获得有个数字的绝对值,可以使用java.lang.Math中的abs方法,这个类共有4个重载的abs方法,分别是: public static int abs(int a) { return (a < 0) ? -a : a; } public static long abs(long a) {

2021-11-04 12:02:33 283

原创 乾坤未定,你我皆是黑马!

朋友是一位五年的资深Java开发工程师,先前我是迷茫的,他告诉我:乾坤未定,你我皆是黑马!特别建议我年轻的时候去技术性公司闯一闯,他说,才毕业出来,如果真的还没有想好往某一方面发展,那更建议往技术方面深研,这样对以后的职业发展是有一定的好处的,技术为一切业务奠定了基础,他是一名普普通通的本科生,边工作边考研,他也建议我可以考研,但是他说了,如果不是很坚定的决心,不要走考研这条路,因为技术岗不一定需要很好的学历,但需要你有很好的技术;他就在跟我说完这句话过后自己收到了华东师范的计算机专业复试通过的邮件,我当时

2021-04-06 10:42:24 272

原创 阿里云视频点播播放出错,控制台访问出现4400解决方案

上传问题才解决,又出现了了播放的问题,通过提交工单,解决了这个问题该问题是因为访问https出错,也就是说,需要申请SSL证书,在阿里云申请免费的SSL证书,然后绑定在绑定好的域名上,得到解决...

2020-09-21 19:16:38 12565

原创 阿里云视频点播功能出现错误ClassNotFoundException: com.aliyun.oss.internal.OSSUdfOperation

见以上错误,可以发现是因为没有这个类,这个问题困扰了我五天,前面的博客我写到了这个问题的解决方案是通过官方文档的推荐版本来使用,但是我不懂为什么当时用官方版本就行,过了几天过后,又去试的时候,发现再次报这个错误了很明显,这个错误的产生是因为没有这个类,但是回头想想这不是阿里云官方文档推荐的吗?哎,不知道说什么了,都是坑啊,既然新版本需要依赖旧版本的该类,为什么不在jar包里面将它导入呢?我不清楚这是为什么!在新版本中3.8.0和3.10.0中都没有OSSUdfOperation类在3.0之前的版本.

2020-09-20 16:20:49 2158 10

原创 nested exception is java.lang.NoClassDefFoundError: com/aliyun/oss/internal/OSSUdfOperation解决方案

这个问题是阿里云版本之间兼容性的问题,将所有阿里云服务的依赖版本改为官方推荐版本sdk核心包官方声明4.4.5版本以上,先前我的版本低于这个版本,出现了兼容性报错!

2020-08-26 15:20:50 2526 2

原创 自定义异常(个人笔记)

首先封装一个异常的枚举类型记得导入Lombok依赖package com.lp.common.base.result;import lombok.Getter;import lombok.ToString;@Getter@ToStringpublic enum ResultCodeEnum { SUCCESS(true, 20000,"成功"), UNKNOWN_REASON(false, 20001, "未知错误"), BAD_SQL_GRAMMAR(fals

2020-08-19 13:44:34 2288

原创 idea宕机后端口未关闭,再次启动端口占用错误(个人笔记,方便查询)

netstat -nao | findstr “8110” 查询8110端口 taskkill -pid 17216 -f 强制关闭端口进程

2020-08-19 13:32:07 439

原创 ES6语法调用出错

前端在使用Vue的时候出现了ES6语法调用出错的问题很多浏览器不支持ES6语法,所以需要通过babel转码器将ES6语法转换成ES5进行运行Babel提供babel-cli工具,用于命令行转码。它的安装命令如下: npm install -g babel-cli #查看是否安装成功 babel --version初始化项目npm init -y配置.babelrcBabel的配置文件是.babelrc,存放在项目的根目录下,该文件用来设置转码规则和插件,presets字段设定转码规

2020-08-17 13:33:17 338

原创 sql正确,在Java中查询却查询不到数据

由上面两张图可以看出,同样的sql语句在Java端执行却得不到结果,出现这个的原因是因为数据库连接时未设置编码,进行如下配置url: jdbc:mysql://localhost:3306/online_edu?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8ok,结果查询成功!...

2020-08-15 15:39:55 7040

原创 centos7内存清理以及查看内存使用情况(个人记录)

查看内存使用情况 free -m内存清理 #1.【推荐】释放网页缓存(To free pagecache), sync echo 1 > /proc/sys/vm/drop_caches #2.释放目录项和索引(To free dentries and inodes) sync echo 2 > /proc/sys/vm/drop_caches #3.释放网页缓存,目录项和索引(To free pagecache, dentries

2020-08-13 10:10:19 1398

原创 设计模式学习笔记

设计模式的目的编写软件过程中,程序员面临着来自 耦合性,内聚性以及可维护性,可扩展性,重 用性,灵活性 等多方面的挑战,设计模式是为了让程序(软件),具有更好代码重用性 (即:相同功能的代码,不用多次编写)可读性 (即:编程规范性, 便于其他程序员的阅读和理解)可扩展性 (即:当需要增加新的功能时,非常的方便,称为可维护)可靠性 (即:当我们增加新的功能后,对原来的功能没有影响)使程序呈现高内聚,低耦合的特性设计模式七大原则设计模式原则,其实就是程序员在编程时,应当遵守的原则,也是各种设

2020-08-07 18:06:54 103

转载 Java基础面试题

面向对象的三个特征封装,继承,多态.这个应该是人人皆知.有时候也会加上抽象.多态的好处允许不同类对象对同一消息做出响应,即同一消息可以根据发送对象的不同而采用多种不同的行为方式(发送消息就是函数调用).主要有以下优点:可替换性:多态对已存在代码具有可替换性. 可扩充性:增加新的子类不影响已经存在的类结构. 接口性:多态是超类通过方法签名,向子类提供一个公共接口,由子类来完善或者重写它来实现的. 灵活性:...

2020-07-20 18:01:43 951 1

原创 ReadWriteLock读写锁(个人笔记)

对于读写锁,它的源码是这样的public interface ReadWriteLock { /** * Returns the lock used for reading. * * @return the lock used for reading */ Lock readLock(); /** * Returns the lock used for writing. * * @return the lock

2020-07-20 17:49:31 182

个人学习JUC代码笔记总集

个人学习的时候对JUC做的笔记,包括所有代码,学习视频是尚硅谷周阳老师的JUC,需要有一定的基础才能看懂,这是个人笔记,不一定适用于所有人,谢谢!

2020-07-27

SSM(Spring,SpringMVC,MyBatis)完整版.zip

该整合以完结,一步步理解加测试,最终完成了SSM框架的整合,我说我学SSM我学了一个半月你可敢信?真的,之前听了两遍课,就跑去学springboot,最后发现,真的连ssm的具体操作都不会,就是那种给我东西我都不知道在哪儿改,后来一点点的学,一点点的敲,在一点点的写博客,效果确实好,虽然半个月才学完,但感觉收获很大!

2020-06-06

ssm的整合SSM.zip

这是目前这一步所需要的所有配置,如果需要可下载,希望可以帮助到大家,不需要币,给个赞呗,这是对上个月自己学的东西巩固,通过敲一遍代码,然后再将分析一步步地在博客上面分析下来,发现其实ssm并没有那么难,理解性记忆,知道这个地方需要什么,以后知道在哪儿可以改,即使忘记了具体代码,也可以在网上查到,学习方法很重要,我还记得我表哥天天跟我说他是不是不适合这个行业,其实我也最开始觉得自己不适合,但慢慢发现博客记录很多东西过后自己的印象会更深,只是掌握更牢固,以后即使忘记一部分,再捡起自己的笔记来温习一遍,会发现很快的理解,毕竟是自己认真写出来的东西嘛!对了,会有小伙伴说,ssm过时了,但是我觉得我连ssm都没有掌握,怎么去了解spring boot的底层,程序员不应该只是cv,crud吧,应该多理解一下原理,过段时间我也要去好好学学数据结构算法了,这感觉好多都东西要学,over!!!

2020-06-05

空空如也

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

TA关注的人

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