自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 收藏
  • 关注

原创 【神奇的传送门】java并发编程系列目录

我们要持续学习ing学习过程中写了很多篇笔记,特用本文记录一下,方便查阅。java并发编程基础篇【java多线程基础篇】● 学习总结java并发编程进阶篇真正掌握Java多线程,必须要弄懂J.U.Cjuc-atomic 原子类框架juc并发集合框架刨析JDK1.8的ConcurrentHashMap并发编程的基石系列【并发编程的基石】CAS机制 (compareAndSwap)Java并发之AQS详解1.0Java并发之AQS详解的补充...

2022-02-12 16:07:43 187

原创 SpringBoot 项目部署笔记

部署一般思路是先拉取代码仓库内的最新代码构建打包好,(也许是构建成 docker 镜像)然后上传至目标服务器,服务器来运行即可。

2023-06-11 12:10:55 1287

转载 处理过多SQL Server PAGEIOLATCH_SH等待类型

在这样的配置中,软件系统的不同部分彼此施加压力,但是同一软件的不同部分也可能彼此冲突(即,不同SQL Server进程可能严重依赖于I / O,因此发生冲突在这种情况下,很可能会遇到过多的PAGEIOLATCH_SH,因为不同SQL Server进程以及不同的应用程序和OS进程可能严重影响I / O子系统的性能,从而导致从磁盘的数据页传输缓慢到缓冲池。这意味着对于查询的每次执行,即使返回的行数较少,SQL Server也会使用相同的执行计划,并且将使用索引扫描,而不是更轻松,更快速的索引查找。

2023-05-30 11:01:57 456

原创 NIO编程总结

selecto是NIO的选择器,NIO的同步功能就是靠selector来实现的,多个channel可以注册到同一个selector上,然后用一个线程来管理一个selector选择器,就实现了通过一个线程来管理多个通道实现客户端同步请求的效果。我们可以将Server端的监听连接请求的事件和处理请求的事件放在一个线程中,但是在事件应用中,我们通常会把它们放在两个线程中:一个线程专门负责监听客户端的连接请求(OP_ACCEPT),而且是以阻塞方式执行的;

2023-05-28 22:13:08 750

原创 代码分层的方案,对于代码分层的思考

如果你类很多了,还是按照之前的那种笼统的命名(controller,service,mapper)方式,拆分起来,以及找起来很麻烦了。这样分的前提是这是一个新建的项目,以及这个项目未来可能会很庞大,如果庞大了,那可以将功能为包名的相关功能类拆分成微服务。mvc 的架构会让代码变得低耦合,可扩展。order 功能模块在 order 包下面。user 功能模块 在 user 包下面。

2023-04-03 12:50:17 314 1

转载 Redis大key删除的相关问题

1. 所谓的大key问题是某个key的value比较大,所以本质上是大value问题。key往往是程序可以自行设置的,value往往不受程序控制,因此可能导致value很大2. 不同数据结构的定义redis中有常见的几种数据结构,每种结构对大key的定义不同,比如:value 是String类型时,size超过10KBvalue 是ZSET、Hash、List、Set等集合类型时,它的成员数量超过1w个。

2023-03-22 23:30:59 735

转载 【转载】分享一个查看分析Oracle表空间使用情况的脚本

但是今天在看一篇英文博文时,看到了一个更加完善的脚本,个人对其做了一些调整和修改,将其命名为get_tablespace_used_v3.sql,它主要是加入了表空间类型,以及临时表空间的数据等。以及自动扩展的数据文件和非自动扩展数据文件的数量。个人一直使用下面这个脚本查看、分析Oracle数据库表空间的使用情况,这个脚本经过我不断的调整、完善,已经接近完美了。已经很长时间没有改动过了,个人累积的脚本名为get_tablespace_used_v2.sql。

2023-03-22 15:57:57 149

转载 SQL Server 2019中的行模式内存授予反馈

在本文中,我将探索SQL Server 2019的另一个新功能,行模式内存授予反馈以及对自适应查询处理的回顾,示例等。对于每个版本SQL Server,Microsoft都对查询优化器进行了增强。在SQL Server 2017中,我们在自适应查询处理方面享受了查询处理方面的改进。有时,我们可能会在执行计划中面临与基数估计有关的问题,从而导致查询性能问题。SQL Server 2017自适应查询处理通过反馈机制帮助提供更好的基数估计。使用此方法,我们可以获得更好的执行计划,内存分配,联接选择等。

2023-03-08 14:51:48 245

原创 sql server 对比两个查询性能 ,理解Elapsed Time、CPU Time、Wait Time

分析由上图分析:cpu time 是查询执行时占用的 cpu 时间。如果了解系统的多任务机制,就会知道系统会将整个 cpu 时间分为一个一个时间片,平均分配给运行的线程——一个线程在 cpu 上运行一段时间后,将 cpu 切换给另一个线程运行,从而实现多任务处理。cpu time 实际上可以理解为查询实际在 cpu 上运行的时间。elapsed time 是查询实际执行的时间。显然,在 cpu 负担很重的环境中,通常 cpu time 会小于 elapsed time;

2023-03-06 20:55:54 1012

原创 sql server 性能调优 资源等待 CXPACKET

CXPACKET是指:线程正在等待彼此完成并行处理。什么意思呢?当sql server发现一条指令复杂时,会决定用多个线程并行来执行,由于某些并行线程已完成工作,在等待其它并行线程来同步,这种等待就叫CXPACKET。为什么会有并行线程呢?因为在sql server 里有个任务调度SCHEDULER是跟操作系统CPU个数 默认是一 一匹配的, 我们也可能通过sp_configure来设置最大并行度,也就是Max Degree of Parallelism (MAXDOP)。

2023-03-05 14:43:26 481

原创 SQL Server 查询与删除执行计划

with(nolock,INDEX( index_name )) 强制 SQL 走索引。

2023-03-03 20:11:22 272

转载 解决 SQL Server 中 CPU 使用率过高的问题 - 微软文档

原文 :本文提供了诊断和修复运行 Microsoft SQL Server 的计算机上 CPU 使用率过高导致的问题的过程。尽管在 SQL Server 中出现 CPU 使用率过高有许多可能原因,但以下原因最为常见:可以使用以下步骤来解决 SQL Server 中CPU 使用率过高的问题。

2023-03-03 20:07:58 944

转载 SQL Server执行计划图标速查手册(转载)

另外,请注意,SET STATISTICS PROFILE 生成的显示计划输出中的执行数等于 SET STATISTICS XML 生成的显示计划中的重新绑定次数和重绕次数的总和。列指定的聚集索引中的输入行。它还包括 WHERE:() 谓词,其中存储引擎对满足 SEEK:() 谓词的所有行进行计算,但此操作是可选的,并且不使用索引来完成此过程。对于表示 XML 节点的每个输入行,它至少生成表示 XQuery 标量的一个行,如果输入的是 XSD 列表类型的行,则每个行都包含一个列表元素值。

2023-03-03 12:01:24 380

转载 sql server 性能调优【等待优化】PageIOLatch(Latch等待)概念及解决思路

PAGELATCH_x和PAGEIOLATCH_x介绍相关介绍、处理,参考:https://www.pianshen.com/article/3284541245/

2023-02-27 20:28:06 1228

原创 被删库? 不着急先看 binglog

然后既然直接进去数据库了,直接再图形化界面运行命令不就好了,谁还用命令行呢.

2023-02-11 18:38:06 74

原创 docker reids mysql jenkins 部署于配置杂记

还可以在使用on - failure策略时,指定Docker将尝试重新启动容器的最大次数。默认情况下,Docker将尝试永远重新启动容器。如果创建时未指定 --restart=always ,可通过update 命令设置。docker update --restart=always 容器名称。注意仓库地址应该 jenkins 中的地址要不掩访问不到。一些文件注意权限 【比如 maven仓库】部署 SpringBoot 项目。这个是 jar 方式部署的。mysql8 忘记密码。

2023-02-07 18:56:11 118

原创 了解一下 java 自带的性能监控工具

这是一个插件功能,可以在jvisualvm上选择工具->插件->已下载->添加插件,然后选择我们下载好的插件进行安装,如果找不到gc插件,可以扫描文章最下方我的公众号,然后回复jvisualvmgc获取。https。...

2022-07-22 13:37:59 1671 2

转载 [转载] Html+Css实现梯形选项卡

来自https//www.cnblogs.com/wanren/p/7879681.html。2,梯形通过定位和设置Border来实现的,平行四边形通过旋转来实现的。

2022-07-22 12:15:27 505

原创 读取 Excel 表数据

这是一个悲伤的故事。我的 leader 交给我 12 个Excel 表,告诉我这是新的数据,全部维护到数据库中,你先准备准备 sql 。数据量不多,也就几千条吧。。。瞬间泪目咱们肯定不能手插呀,干这事的那能叫程序猿???🤷‍♂️🤷‍♂️🤷‍♂️所以我就用 easyExcel 写了脚本,good 完美,几千条数据只需要几分钟搞定了。基于java的工具Easy Excel...

2022-07-03 22:37:01 126

原创 spring 依赖注入和循环依赖问题

在公司发现项目竟然有循环依赖问题。。哈哈哈,挺搞笑的。下面我就来看看大家都是这么说的吧。循环依赖问题在Spring中主要有三种情况:注意:在Spring中,只有【第三种方式】的循环依赖问题被解决了,其他两种方式在遇到循环依赖问题时都会产生异常。其实也很好解释:当一个 bean A 依赖于另一个 bean B,而 bean B 也依赖于 bean A 时,就会发生循环依赖:Bean A → Bean B → Bean A当然,我们可以存在更多的 bean:Bean A → Bean B → Bean C

2022-07-02 14:43:20 1094

原创 Mysql的四个隔离级别是如何实现的 (简要)

分别是原子性、一致性、隔离性、持久性。原子性:undolog日志来保证,它记录了需要回滚的日志信息,事务回滚时撤销已经执行的sql。一致性:是由其他三大特性保证隔离性:MVCC来保证,多版本并发控制持久性:由redolog来保证,mysql修改数据的时候会在redolog中记录一份日志数据,就算数据没有保存成功,只要日志保存成功了,数据依然不会丢失。MySQL崩溃恢复功臣—Redo Log脏读:事务A读取到了事务B中未提交的数据,当事务B回滚后,事务A读取到的数据都是脏数据。不可重复读:事务A多次读取同一数

2022-06-28 22:35:33 1654

原创 索引失效的几种情况

最佳左前缀法则范围查询右边失效like索引失效原理隐式转换造成的索引失效字符集和排序规则不相同导致索引失效其它:最好全值匹配不要在索引上做任何操作(计算、函数、自动/手动类型转换),不然会导致索引失效而转向全表扫描explain select * from ti where b+1=5; -- 对字段操作走不了索引尽量使用覆盖索引(只查询索引的列(索引列和查询列一致)),减少select *索引字段上使用(!= 或者 < >)判断时,会导致索引失效而转向全表扫描索

2022-06-28 21:05:09 556

转载 【Java 錯誤】Variable used in lambda expression should be final or effectively final

最近在使用Java8 lambda表达式的时候,会时不时遇到这样的报错,如下图所示:从字面上来理解这句话,意思是:lambda表达式中使用的变量应该是final或者有效的final,也就是说,lambda 表达式只能引用标记了 final 的外层局部变量,这就是说不能在 lambda 内部修改定义在域外的局部变量,否则会编译错误。在lambda表达式中对变量的操作都是基于原变量的副本,不会影响到原变量的值。假定没有要求lambda表达式外部变量为final修饰,那么开发者会误以为外部变量的值能够在lamb

2022-06-24 19:26:29 4522 2

原创 java实习生第一天:git操作

到公司办好首先,见完我的leader,就到自己的位置上了,公司还配了一个笔记本和一个24寸显示屏(当然都是比较旧的)。

2022-06-07 08:58:16 822

原创 一个生产者-消费者模式实现方式

wait-notify模式的典型应用它可以实现生产者-消费者模式wait-notify模式的经典写法生产者和消费者的逻辑都可以统一抽象成以下几个步骤:step1:获得对象的锁;step2:循环判断是否需要进行生产活动,如果不需要进行生产就调用wait方法,暂停当前线程;如果需要进行生产活动,进行对应的生产活动;step3:通知等待线程...

2022-06-04 15:51:31 76

原创 梦创双杨java实习面试

腾讯会议上面的,有好几个面试官吧。先是自我介绍巴拉巴拉。然后开始问问题,根据你介绍的项目来展开吧。我的项目一个秒杀,一个个人博客。项目问题你做的秒杀流程项目中有没有考虑过延迟订单这几个大家可以自己了解一下。1.redis数据结构有那些?String:字符串类型List:列表类型Set:无序集合类型ZSet:有序集合类型Hash:哈希表类型2.你怎么用redis中的Set1)可以使用Redis的Set数据类型跟踪一些唯一性数据,比如访问某一博客的唯一IP地址信息。对于此场景,我们

2022-05-30 14:17:09 690

原创 swagger 404问题+解决跨域问题

缘起:今天做springboot集成swagger文档的时候。出现了404问题。什么集成swagger 这不有手就行?先加依赖: <!--swagger 依赖--> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId>

2022-05-21 11:29:48 7373 1

原创 java开发实习某公司面试

1.java基本数据类型?int32位 4个字节short16位 2个字节long64位 8个字节float4个字节double8个字节boolean1字节char2字节byte1字节IO流分类都有那些?有四个顶层接口:InputStreamFileInputStreamFilterInputStreamBufferedInputStreamDataInputStreamPushbackInput

2022-05-19 23:46:42 166

转载 链表转红黑树的原因?为什么阈值为8?

为什么 Map 桶中超过 8 个才转为红黑树?我们知道Java8后,当Map链表长度大于或等于阈值TREEIFY_THRESHOLD(默认为 8)的时候,如果同时还满足容量(数组的长度)大于或等于 MIN_TREEIFY_CAPACITY(默认为 64)的要求,就会把链表转换为红黑树。同样,后续如果由于删除或者其他原因调整了大小,当红黑树的节点小于或等于 6 个以后,又会恢复为链表形态。首先要知道为什么要转换为红黑树?每次遍历一个链表,平均查找的时间复杂度是 O(n),n 是链表的长度。红黑树有和链表

2022-05-14 22:57:34 1346

转载 Commands that may modify the data set are disabled, because this instance is configured to report e

MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commands that may modify the data set are disabled, because this instance is configured to report errors during writes if RDB snapshotting fails (stop-write

2022-04-30 16:35:22 1089

原创 java序列化问题(Serializable接口)

啥是序列化.Serialization(序列化)是一种将对象以一连串的字节描述的过程;反序列化deserialization是一种将这些字节重建成一个对象的过程。将程序中的对象,比如放入文件中保存就是序列化,将文件中的字节码重新转成对象就是反序列化。如图Serializable接口和JDK序列化的关系为了实现序列化JDK提供了两个序列化API:java.io.ObjectOutputStream:表示对象输出流。它的writeObject(Object obj)方法可以对参数指定的obj对象进

2022-04-29 12:55:26 2414

原创 mybatis-plus分页类型转换

在使用mybatis-plus进行分页时每次都需要复制分页信息或者重写分页api,也存在实体类想要增加一个字段但是不想该数据库的情况,不用再新建实体类或者把变量一个个赋值给Dto。其实mybatis-plus早已为我们解决这个问题了,IPage中有一个convert方法,以后写分页就可以这样写MP自动把Do填充到Vo中,还可以在代码块中使用set方法填充Vo的变量IPage page = userMapper.selectPage( new Page(Num, pageSize));IPage&lt

2022-04-25 17:22:56 7539 1

原创 趋势科技笔试记录和补充

逆波兰表达式(即后缀表达式)逆波兰表达式(就是以栈的形式,遇到数入栈,遇到运算符将栈中的靠近运算符的两个数取出运算)平常计算:ab-(c/d-5)后缀表达式:cd/5-ab-平常计算:28+16/2 后缀表达式: 2,8,,16,2,/,+Linux1. Linux查看内存使用情况的命令有哪些free命令: free 命令会显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存等。free -h      //以更友好的方式显示,会以K、M、G为单位来显示free

2022-04-23 13:45:07 1336

原创 [设计模式] 单例模式

单例模式是创建者模式中最简单的设计模式,也是23种设计模式中最简单的。它提供了一种创建对象的最佳方式。什么是单例模式保证整个系统中一个类只有一个对象的实例,实现这种功能的方式就叫单例模式。就是说之前创建对象是使用 new 对象 这种方式,现在用单例模式,就不用你去new了,单例类已经给你创建好了,直接使用就可以了,并且所有的类实例都是同一个。注意:1、单例类只能有一个实例。2、单例类必须自己创建自己的唯一实例。3、单例类必须给所有其他对象提供这一实例。为什么要用单例模式?单例模式节

2022-04-22 17:42:13 169

原创 服务器中挖矿病毒了,屮

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传用top命令查看 , 这俩挖矿病毒,真屮了。这俩我解决途径一样,举一个例子说吧。查出PIDps -ef | grep kdevtmpfsi删除 进程sudo kill -9 [PID]可以通过 sudo crontab -l 查看是否有可疑的计划任务。病毒一会就重启了,看它的守护进程systemctl status [病毒PID][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传删除病毒守护

2022-04-21 23:25:53 2835 2

原创 秒杀项目解决高并发过程简单总结(涉及到页面静态化,Redis缓存,MQ)

秒杀项目解决高并发过程总结(涉及到页面静态化,Redis缓存,MQ)

2022-04-14 19:51:38 241

转载 Mysql索引面试题

Mysql索引面试题转载:https://mp.weixin.qq.com/s/_bk2JVOm2SkXfdcvki6-0w相信很多人对于MySQL的索引都不陌生,索引(Index)是帮助MySQL高效获取数据的数据结构。因为索引是MySQL中比较重点的知识,相信很多人都有一定的了解,尤其是在面试中出现的频率特别高。楼主自认为自己对MySQL的索引相关知识有很多了解,而且因为最近在找工作面试,所以单独复习了很多关于索引的知识。但是,我还是图样图森破,直到我被阿里的面试官虐过之后我才知道,自己在索引方

2022-04-14 19:39:36 437 1

原创 走进设计模式【大纲】

软件设计模式(Software Design Pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。我对它进行以下定义:就像数学中的公式一样,它是前人经验的总结。是一种套路模板。是一套可以反复利用的套路,模板。解决普遍性问题。帮助我们解决工程中普遍出现的问题。学习设计模式的必要性设计模式的本质是面向对象设计原则的实际运用,是对类的封装性、继承性和多态性以及类的关联关系和组合关系的充分理解。正确使用设计模式具有以下优点。可以提高程序员的思维能

2022-04-13 12:50:27 232

原创 看一看Spring事务@Transactional

Spring事务的本质其实就是数据库对事务的支持,没有数据库的事务支持,spring是无法提供事务功能的。真正的数据库层的事务提交和回滚是通过binlog或者redo log实现的。spring支持编程式事务管理和声明式事务管理两种方式。①编程式事务管理编程式事务管理使用TransactionTemplate或者直接使用底层的PlatformTransactionManager。对于编程式事务管理,spring推荐使用TransactionTemplate。需要你自己手动提交。对代码有一定的入侵。

2022-04-12 23:21:34 307

原创 异或有什么神奇之处(应用)?

什么是异或?简单理解就是:首先它是对于二进制:相同为0 不同为1;定义:1 ⊕ 1 = 00 ⊕ 0 = 01 ⊕ 0 = 10 ⊕ 1 = 1异或有什么神奇之处(应用)?1)快速比较两个值一般我们使用这个 a==b如果两个数相等 ,a ^ b 的结果为零。所以现在我们可以这样if(a^b == 0) { //相同为true }2)在汇编语言中经常用于将变量置零:xor a,a;3)我们可以使用异或来使某些特定的位翻转因为不管是0 或者是1 与1 做异或将

2022-04-12 16:14:01 1143

空空如也

空空如也

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

TA关注的人

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