自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(112)
  • 资源 (4)
  • 收藏
  • 关注

原创 p7付费课程笔记7:G1 GC

上次我们讲了CMS GC, 这次我们讲解G1 GC;在开始之前我们要思考下我们为什么学G1 GC?学习后有什么好处?成为更好的Java开发工程师,在遇到服务性能问题、GC问题时,能够通过了解到的G1知识快速定位、解决相关问题在面试时GC问题也是常问的知识点,G1GC作为大多数工程师了解不是很多的知识领域,如果稍微深入理解,就能形成更大的领先优势,无论是被面试还是面试别人学习G1中的优化技巧、原理,有机会能够举一反三应用到平时的工作设计中满足自己的好奇心,了解一项事物背后的运行流程。

2023-08-14 14:55:27 653 21

原创 p7付费课程笔记6:CMS GC

上一章节我们讲了串/并行GC,这一章节说下CMS GC。看前思考一个问题,并行GC与CMS GC的区别在哪里。什么是CMS收集器CMS(Concurrent Mark-Sweep)是以牺牲吞吐量为代价来获得最短回收停顿时间的垃圾回收器。对于要求服务器响应速度的应用上,这种垃圾回收器非常适合。其对年轻代采用并行 STW 方式的 mark-copy(标记-复制)算法,对老年代主要使用并发 mark-sweep(标记-清除)算法。

2023-08-03 15:41:58 1535 14

原创 p7付费课程笔记5:串行gc以及并行gc

前段时间我们学习jvm的基础结构和gc相关的基础知识,今天我们详细讲讲几大gc。

2023-07-26 16:25:39 523 12

原创 FileNotFoundException:xxx(系统找不到指定的路径)

这次是有个两年前的项目吧,不知道为什么无法启动了。中间迭代了多个版本,现在另一个同事接手了,领导让看一下。因为时间间隔过长,问题处理比较费劲。其中有的是配置问题,比较好解决。中间有个FileNotFoundException的问题困扰了很长时间,最后找了个简单法子解决,希望给有碰到的网友提供些方法和灵感。

2023-07-21 16:43:03 602 3

原创 p7付费课程笔记4:GC 的背景与一般原理

这里所谓的清除并不是真的置空,而是把需要清除的对象地址保存在空闲的地址列表里。下次有新对象需要加载时,判断垃圾的位置空间是否够,如果够,就存放覆盖原有的位置。如果内存规整- 采用指针碰撞的方式进行内存分配如果内存不规整- 虚拟机需要维护一个列表- 空闲列表分配​。

2023-07-05 22:52:31 20449 6

原创 p7付费课程笔记3:JVM 启动参数

Java进阶,突破能力瓶颈,到更好的公司拿更高的薪水

2023-06-28 16:00:37 21362 6

原创 p7付费课程笔记2:jvm内存模型

方法中使用的原生数据类型和对象引用地址在栈上存储;对象、对象成员与类定义、静态变量在堆上。堆内存又称为“共享堆”,堆中的所有对象,可以被所有线程访问,只要他们能拿到对象的引用地址。如果一个线程可以访问某个对象时也就可以访问该对象的成员变量。如果两个线程同时调用某个对象的同一方法,则它们都可以访问到这个对象的成员变量,但每个线程的局部变量副本是独立的。功能方面:堆是用来存放对象的,栈是用来执行程序的。共享性:堆是线程共享的,栈是线程私有的。空间大小:堆大小远远大于栈。

2023-06-26 09:00:00 2031 14

原创 p7付费课程笔记1:jvm基础知识、字节码、类加载器

在Java的日常应用程序开发中,类加载几乎是由上述3种类加载器相互配合执行的,在必要时,我们还可以自定义类加载器,来定制类的加载方式。1、开发人员可以通过继承抽象类java.lang.classLoader类的方式,实现自己的类加载器,以满足一些特殊的需求。

2023-06-20 17:31:35 660 7

原创 实战:求年月日时间前后遇到的坑和解决方式

这周接到一个时间转换任务需要处理,本来没什么问题,后来完成后发现时间有偏差,又重写了一遍代码,感觉很有记录必要性,希望看过的小伙伴可以避坑。照例,先说结论。

2023-06-19 16:10:04 2850 2

原创 实战:私有化部署ngin+文件步骤记录

刻盘时有什么存什么,一般大小限制在3G左右,idea开发工具和数据库客户端就算了,没法使用。一些常用的文本编辑器比如:Notepad++。postman可以来一个,但最好是解压即用。反正主要是可以离线独立运行的,不是很大的都可以搞进去试一试,不要怕多。大致就这么多吧,这还没完呢,估计下次还得去,到时候会继续更新的。

2023-06-15 18:07:51 503

原创 SpringBoot集成Oracle实战和坑

前段时间搞了一个oracle的项目,耗费了很多时间,现在项目整体上线了,在此记录下实战过程以及遇到的坑,有需要的网友也可以直接拿去使用。

2023-05-16 17:32:26 1053 2

原创 开发必备:EsayCode使用以及Oracle自定义模板

写前先问一句,不会还有人在手动写这些基础的sql语句吧?!最近在做Oracle的项目,手写mapper和entity文件真是写到手软,以前MySQL都是找的线上自动生成的,现在也不行了。找了很长时间,也试验了一下mybaties-plus,后来要感谢掘金群里的老哥(图片已同意)。虽然默认模板很难用,但是自定义模板优化后,凑合可以使用吧。

2023-04-18 20:26:19 1838 3

原创 navicat如何使用orcale(详细步骤)

看过我昨天文章的兄弟姐妹都知道最近接手另一个国企项目,数据库用的是orcale。实话实说,也有快三年没用过orcale数据库了。这期间问题不断,因为orcale日渐消沉,网上资料也是真真假假,难辨虚实。在此记录下,以备后用。1.用户名过长或者过于复杂,在登录的时候报缺失选项或者无此表空间。但是sql-developer没有问题,而且我集成的框架中也没有问题。很是奇葩没找到原因,知道的可以说下。2.建表时建议表名和字段全都大写,Oracle官方文档和示例代码通常使用大写。

2023-04-14 18:36:38 2302 6

原创 数据库必备技能:Navicat如何使用Excel建表、导入数据

这次新的任务派发了,是和一个国企对接。国企嘛,都知道数据比较保密,所以直接给了我一个Excel里面有部分数据。自己想着这一个个手输入多麻烦,正好前几天听朋友说navicat有Excel建表导入数据的功能,试了试,的确很强大。记录下具体使用方式,有需求的可以看看。

2023-04-13 20:17:53 1087 1

原创 JAVA实战:如何让单元测试覆盖率达到80%甚至以上以及碰到的一些问题

单元测试(unit testing)是指对软件中的最小可测试单元进行检查和验证。它是软件测试中的一种基本方法,也是软件开发过程中的一个重要步骤。单元测试的目的是在于确保软件的每个独立模块都被正确地测试,并且没有潜在的缺陷或漏洞。在单元测试中,需要对每个模块进行测试,以确保它们能够按照预期的方式工作,并且没有任何错误或漏洞。单元测试通常包括以下几个步骤:确定测试范围:在开始测试之前,需要确定测试的范围,即要测试的功能或模块。

2023-03-21 18:03:41 2362 8

原创 MySql主键id不推荐使用UUID

昨天在某个技术群中,有个老哥发送了一个技术视频:讲的是一个毕业生面试被问,前后端的交互ID是使用自增的吗?为什么不使用UUID?最后的解释是说性能问题,这个引起了我的兴趣,查了一下资料总结一下。自增的主键的值是顺序的,所以 Innodb 把每一条记录都存储在一条记录的后面。

2023-03-03 14:47:11 2526 4

原创 谈谈Java Optional的坑

不推荐使用,只能判断对象,而省略掉的if/else在某种程度上,虽然是优化了代码却是造成了更多的问题。同时更多的对象new出,造成内存的开销很大。并且在后来的资料查询中发现很长时间没有更新了(最新版为java11)。从22年java19出现,多个版本未发生变化,不知道是否已经放弃。而国内市面上流行的版本依旧是Java8,也就是说9-11的新特性是无法使用的。

2023-02-09 14:27:30 566

原创 JSON各种转换(json转List,json转对象等)

注意:可以看到,该json串中属性名是这样的OS-EXT-STS:task_state,那么我们接收的bean就无法写成这个属性名去接收,所以需要在接收Bean中使用注解@JsonProperty进行处理。以上内容是接收字段与json字段一致的时候,那么不一致的时候怎么处理?1.json转JSONObject方法。2.JSONObject转json方法。例:json串内容如下,要转成List。3.JSONObject转List。办法二:给实体类加一个注解。2.json转List。4.List转json。

2023-01-15 16:52:11 3163

原创 java.util.ConcurrentModificationException: null异常

普通for循环删除元素存在一个问题,那就是remove操作会改变List中元素的下标,可能存在漏删的情况。所以建议使用迭代器删除。某个线程在 Collection 上进行遍历时,通常不允许其他线程修改该 Collection,这会导致遍历的结果是不确定的。在执行增删操作以后,集合的expectedModCount和modCount的值不一致,这两个变量的作用都是记录修改次数的,二者不相等,就会抛错。expectedModCount:表示对ArrayList修改次数的期望值,它的初始值为modCount。

2023-01-15 14:57:27 327

原创 java中List转换String字符串几种方式

这里和StringUtils.join()有区别,参数顺序不一样,另外,StringUtils.join()可以传入Integer或者其他类型的集合或数组,而String.join()尽可以传入实现charSequence接口类型的集合或数组。StringUtils.join() 和 String.join()用途:将数组或集合以某拼接符拼接到一起形成新的字符串。此方法将列表转换为具有给定分隔符、前缀和后缀的字符串。如果是字符串类型的集合或数组推荐使用String.join()

2022-12-16 17:25:14 31364

原创 java 中的多种跳出多重循环的方式

标签有两种用法,可以加break,也可以加continue,使用场景如下:(1)带标签的continue不往下执行语句,直接返回标签所在处的循环开头,并继续执行该循环.(2)带标签的break不往下执行语句,直接中断并退出标签所在处的循环.总的来说,在工作中更推荐第一种,灵活性更高。另外还可以使用return提前终止代码执行,前提是后边没有要执行的代码了。

2022-12-16 15:31:51 209

原创 java中oss分片上传(包含业务和详细讲解)

其实分片上传和普通的上传只是多了一个合并文件的步骤,其他的都是差不多;因为研究时间较短,还有些资料没有查出,比如PartETag这代表含义等。有需要补充的欢迎在下面补充。前端先调用一次初始化接口拿到本次分片任务的唯一分片id。前端负责分片,传参:总片数、第几片,唯一分片id等数据,这些需要传给后台,后台才能够以此判断。文件流数据:content,可以换成file等类型,最后转换成oss所需文件流即可,合格的程序员应当学会灵活应变相关代码,哈哈哈。:使用了ossUtil工具类。:注意需要3以上的版本。

2022-09-08 00:03:20 1893

原创 java中使用Joda-Time处理时间

核心类使用最多的五个日期时间类:- Instant - 不可变的类,用来表示时间轴上一个瞬时的点(时间戳)- DateTime - 不可变的类,用来替换JDK的Calendar类LocalDate - 不可变的类,表示一个本地的日期,而不包含时间部分(没有时区信息)- LocalTime - 不可变的类,表示一个本地的时间,而不包含日期部分(没有时区信息)- LocalDateTime - 不可变的类,表示一个本地的日期-时间(没有时区信息)工具类累加(最好先看懂上面相关的使用方法以及函数)

2022-09-05 16:30:32 336

原创 java中springBoot+oss基础使用

业务:一般我们上传的时候bucketName都是给好的,像一些什么没有bucketName还需要创建的其实都是多此一举,没有bucket直接找到运维同事创建一个即可。而在公司操作中大部分都是自己创建文件夹名称:比如传参中用户ID+设备id+文件属性+文件类型,其实就和redis创建key一样,网上的不要照抄,自己思考就好,下面例子可以供参考。1.整合jar包:有的使用的是3以上的版本,这个要看自己的springBoot版本。相应的配置信息在配置中取即可,要注意的路径:oss://+bucketName。

2022-09-05 15:35:34 396

原创 linux中磁盘满了?一招教你快速清理

创作背景:当天部署服务时,发现无法部署,后来经过日志排查后发现服务器磁盘满了,查询资料后进行了清理。话不多说,直接上解决方法。

2022-08-03 17:31:25 4117 3

原创 常用地图经纬度转换,以及遇到的问题和解决方式

坐标系分类第一种分类1、GPS,WGS-84,原始坐标体系。一般用国际标准的GPS记录仪记录下来的坐标,都是GPS的坐标。很可惜,在中国,任何一个地图产品都不允许使用GPS坐标,据说是为了保密。2、GCJ-02,国测局02年发布的坐标体系。又称“火星坐标”。在中国,必须至少使用GCJ-02的坐标体系。比如谷歌,腾讯,高德都在用这个坐标体系。GCJ-02也是国内最广泛使用的坐标体系。3、其他坐标体系。一般都是由GCJ-02进过偏移算法得到的。这种体系就根据每个公司的不同,坐标体系都不一样了。比如,百度和搜狗

2022-04-28 18:12:57 689 1

原创 高并发常识:TPS、QPS等

一、概述分布式、微服务、Service Mesh目前都是大家耳熟能详的词语了,现在随便一个互联网公司说出来大家都是在搞微服务。但我们搞来搞去,怎么样来衡量一个应用当前的状态到底是怎么样的?到底需不需要扩容?是需要横向扩容还是进行项目重构?这时候我们就需要一堆监控指标来协助我们进行分析当前的应用状态,以便在某些事故发生前进行资源上的调配或优化。下面咱们就来说道说道这几个重要的指标,一定要记牢,不管面试还是自己用都是必须滴。要牢记一点,所有的指标都是根据时间单位来算的,比如每秒XX、每分钟XX,要记住

2022-04-08 17:37:52 467

原创 java导出讲解以及效率对比(代码演示)

在之前我们知道处理xls的excel用的workbook是HSSFWorkbook,处理xlsx的excel用的是XSSFWorkbook。1、SXSSFWorkbook是在POI3.8版本开始提供基于XSSF低内存占用的SXSSFSXSSF通过一个滑动窗口来限制访问Row的数量从而达到低内存占用的目录,XSSF可以访问所有行。SXSSF通过设置rowAccessWindowSize的大小实现滑动窗口中存储数据量的row数量,当行数超过滑动窗口设定的值时,此时旧的数据不再出现在滑动窗口且不可对此进行访

2022-04-07 10:20:46 356

原创 网络常识:公网、私网、内网等

内、外网是相对于防火墙而言的,在防火墙内部叫做内网,反之就是外网。在一定程度上外网等同于公网,内网等同于私网。地址为如下3个区域就是处于私网:1:10...2:172.16..至172.31..3:192.168..* (*为0到255之间的任意数字)以上3个区域外的就是处于公网之中了。========================================================公网地址公网地址是指在因特网上直接可达的地址,如果你有一个公网地址,那就意味着你不但能访问别人,还能被人

2022-04-06 15:38:42 5465

原创 springboot集成xxl-job的详细使用

概述首先我们要知道什么是XXL-JOB?官方简介:XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用XXL-JOB的有点特性:1、简单:支持通过Web页面对任务进行CRUD操作,操作简单,一分钟上手;2、动态:支持动态修改任务状态、启动/停止任务,以及终止运行中任务,即时生效;3、调度中心HA(中心式):调度采用中心式设计,“调度中心”自研调度组件并支持集群部署,可保证调度中心HA;4、执行器HA(分布式.

2022-04-02 18:38:11 734

原创 java中经纬度使用与相关工具类

经纬度互换度(DDD):E 108.90593度 N 34.21630度如何将度(DDD):: 108.90593度换算成度分秒(DMS)东经E 108度54分22.2秒?转换方法是将108.90593整数位不变取108(度),用0.9059360=54.3558,取整数位54(分),0.355860=21.348再取整数位21(秒),故转化为108度54分21秒.同样将度分秒(DMS):东经E 108度54分22.2秒 换算成度(DDD)的方法如下:108度54分22.2秒=108+(54/60).

2022-04-01 18:32:44 1016

原创 springboot集成apollo

一、简介1.Apollo 是什么?Apollo(阿波罗)是携程框架部门研发的分布式配置中心。服务端基于Spring Boot和Spring Cloud开发。2.为什么要使用Apollo?安全性:配置跟随源代码保存在代码库中,容易造成配置泄漏时效性:普通方式配置,修改配置,需要重启服务才能生效局限性:无法支持动态调整:例如日志开关、功能开关二、使用1.引入jar包(版本号跟随springboot) com.ctrip.framework.apollo apollo-client

2022-03-25 17:12:56 3700

原创 springboot+mybaties实现分库分表

1.导包必须有的<!--jdbc--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId></dependency><!--Web依赖--><dependency> <groupId>org.sp.

2022-03-13 21:40:46 1752

原创 IDEA安装插件搜索不到插件的解决方法

解决idea安装所需插件,插件搜索不到的问题1.通过设置代理和去掉使用安装链接的方式来解决的File–>Settings–>Appearance & Behavior–>System Settings—>HTTP Proxy(修改为图片所示)​​​​2.在系统设置中将更新选项中的“use secure connection” 取消勾选(有的没有下面的选项,直接跳过)​​​​试试看能否搜到,不行继续。3.关闭防火墙​​​​4.重启idea(要求能杀死进

2022-02-25 16:43:29 15426 1

原创 Java虚假唤醒(如何避免)

什么是假唤醒?当一个条件满足时,很多线程都被唤醒了,但是只有其中部分是有用的唤醒,其它的唤醒都是无用功1.比如说买货,如果商品本来没有货物,突然进了一件商品,这是所有的线程都被唤醒了,但是只能一个人买,所以其他人都是假唤醒,获取不到对象的锁为什么 if会出现虚假唤醒因为if只会执行一次,执行完会接着向下执行if()外边的而while不会,直到条件满足才会向下执行while()外边的避免虚假唤醒/**线程之间的通信问题:生产者和消费者的问题 等待唤醒 ,通知唤醒线程交替.

2022-02-23 10:14:58 149

原创 java中springboot集成junit编写单元测试(实战+坑)

在做单元测试时,代码覆盖率常常被拿来作为衡量测试好坏的指标,甚至,用代码覆盖率来考核测试任务完成情况,比如,代码覆盖率必须达到80%或 90%。于是乎,测试人员费尽心思设计案例覆盖代码。用代码覆盖率来衡量,有利也有弊。首先,让我们先来了解一下所谓的“代码覆盖率”。我找来了所谓的定义:代码覆盖率 = ...

2022-02-22 15:30:14 857 1

转载 IDEA如何将工程转为maven工程

有时候在使用IDEA编辑器时,从Git上Pull一个maven工程下来是没有自动将工程转换成maven工程,相应的依赖jar包不会自动下载。此时要将它转换成maven工程并自动下载jar包。方法/步骤1在工程名称上右击并点击【Add Framework Support】2在打开的【Add Framework Support】窗口中在左侧栏找到【Maven】选项并勾上并点击【OK】按钮。3此时再在工程上右击就会看到右键菜单多了一个【Maven】的选项,IDEA会将工程转为maven工程并自动下载相应的依...

2022-02-18 18:36:20 605

原创 Elasticsearch好用的客户端(可视化)工具选择

前言:有道是-工欲善其事,必先利其器。老白这次想重新深入学习下Elasticsearch相关的知识。但是Elasticsearch和我们的数据库是一样的都需要客户端才可以看到相关数据。网上推荐的五种客户端:1.Elasticsearch-Head ,弃用。 Elasticsearch-Head插件在5.x版本之后已不再维护,界面比较老旧。2.cerebro,弃用。原因:据传该插件不支持ES中5.x以上版本。3.kinaba,弃用。功能强大,但操作复杂,以后可以考虑。4.Dejavu,弃用。 也是一

2022-01-29 16:10:48 4486 1

原创 日更100天(53)每天进步一点点

即使没有人为你鼓掌,也要优雅的谢幕,感谢自己的认真付出。-2021.09.22开始时间:2021.08.01结束时间:2021.10.08愿意一起进步就每天点进来看看,如果哪里有错误请在评论下方指教。第一个百更是关于阿里ACP证书的考试,不了解阿里产品的最好还是先看下相关资料(后面有答案)。1.某用户为其SLB实例的一个HTTP监听配置了多条域名转发策略,包括: 精确域名:www.aliyun.com, 精确域名:market.aliyun.com, 泛域名:.aliyun.com, 泛域名:.ma

2021-09-22 17:20:30 171 1

原创 日更100天(52)每天进步一点点

往往都是事情改变人,人却改变不了事情。-2021.09.21开始时间:2021.08.01结束时间:2021.10.08愿意一起进步就每天点进来看看,如果哪里有错误请在评论下方指教。第一个百更是关于阿里ACP证书的考试,不了解阿里产品的最好还是先看下相关资料(后面有答案)。1.阿里云的专有网络VPC中用于连接VPC内的各个交换机的设备是________。A. 路由表B. 路由器C. 云服务器ECSD. 负载均衡SLB2.基于隧道技术和________技术,阿里云的研发在硬件网关和自研交.

2021-09-22 16:57:57 316

解决谷歌商店无法打开,账号无法登陆或同步的问题

解决谷歌商店无法打开,账号无法登陆或同步的问题

2021-07-29

Mysql8.0.22免安装版本安装包

Mysql8.0.22免安装版本安装包

2020-12-31

MySql8.0.22版本my.ini文件

亲测可用

2020-12-31

DTO注解校验部分展示

如果感觉有帮助请点赞,本文件用于springboot+mybaties;如果感觉没有用处请找其他。注意在使用校验注解时,一定要和@valid一起使用,否则校验不会起效。

2020-06-16

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

TA关注的人

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