Java进阶
灵魂溜达师
技术带动灵魂,随手指蹦跶.....
展开
-
JVM内存溢出的定位与分析
一、内存溢出的初步认识及分析如果出现内存溢出,首先我们先定位到发生内存溢出的环节,并且进行分析,是正常还是非正常情况,如果正常需求,则考虑增加JVM的内存设置,如果非正常需求,那么要对代码进行修改,修复bug定位方法:借助jmap与MAT工具进行定位分析jstat命令可查看堆的使用情况及垃圾回收情况。用法:jstat –gcutil pidS0 S1 E 为新生代O为老年代M是元区间(方法区)YGC新生代执行次数YGCT新生代执行时间FGC老年代执行次数FGCT老年代执行时间G.原创 2021-07-09 11:10:47 · 401 阅读 · 0 评论 -
线程池原理(一)
一.线程池的实现原理线程池就是一个线程集合workerSet和一个阻塞队列workQueue,当用户向线程池提交一个任务(线程)时,线程池会先将任务放入workQueue,workerSet中的线程会不断的从workQueue中获取线程然后执行.当workQueue中获取线程然后执行,当workQueue中没有任务的时候,worker就会阻塞,直到队列中有任务了就去出来继续执行.二.线程池的几个主要的参数1.corePoolSize:线程池基本大小,规定线程池有几个线程(worker)在运行2.原创 2021-05-24 15:01:18 · 163 阅读 · 0 评论 -
分布式锁的三种实现方式
分布式锁三种实现方式:基于数据库实现分布式锁;基于缓存(Redis等)实现分布式锁;基于Zookeeper实现分布式锁;一, 基于数据库实现分布式锁悲观锁利用select … where … for update 排他锁注意: 其他附加功能与实现一基本一致,这里需要注意的是“where name=lock ”,name字段必须要走索引,否则会锁表。有些情况下,比如表不大,mysql优化器会不走这个索引,导致锁表问题。乐观锁所谓乐观锁与前边最大区别在于基于CAS思想,是不具有互斥性,不原创 2021-05-20 14:40:53 · 110 阅读 · 0 评论 -
Java使用spring中设计模式
设计原则:1.单一原则:一个类只负责一个职责只有逻辑足够简单,才可以再代码级别上违反单一职责的原则,只有类中方法数量足够少,才可以再方法级别上违反单一职责的原则可以降低代码的复杂度,一个类只负责一项职责,其他逻辑肯定要比负责多想职责简单的多,提高类的可读性,提高系统的可维护性变更引起的风险降低,变更是必然的2.里氏替换原则 === LSP :面向对象设计的基本原则之一.子类可以扩展父类的功能,但是不能改变父类原有的功能继承复用的基石,只有当衍生类也能够在基类的基础上增加新的行为,软件单位的功.原创 2021-04-28 20:40:16 · 117 阅读 · 0 评论 -
MySQL分库分表之易懂版(原则、方案、策略及难点)
分库分表:mysql表中最大的数据量为2000万,优化后可以最大达到5000万原则:1.能不分就不分2.数据量太大,正常运维影响正常业务访问3.表设计不合理,需要对某些字段垂直拆分4.某些数据出现无穷增长5.安全性和可用性考虑6.业务耦合性考虑方案:1.垂直拆分 大表拆小表 根据列(字段)进行拆分优点:数据简单维护缺点:主键出现冗余,需要管理冗余列2.水平拆分 某种策略将数据分片来储存 分为库内分表和分库分表两部分,每篇数据会分散到不同的MySQL表或库里面,达到分布式效果..原创 2021-04-27 19:38:54 · 319 阅读 · 0 评论 -
数据库分库分表之MyCat系列
数据库分库分表之MyCat系列1.什么事MyCat?MyCat是一个开源的分布式数据库系统,是一个实现了MySQL协议的服务器,前端用户可以把它看做是一个数据库代理,用mysql客户端工具和命令行访问,而其后端可以用mysql原生协议与多个mysql服务器通信,也可以用JDBC协议和大多数主流数据库服务通信,其核心功能是分表分库,即将一个大表分割成N个小表,存储在后端Mysql服务器里或者其他...转载 2021-04-22 12:23:36 · 52 阅读 · 0 评论 -
springcloud学习之----五大核心组件分享
springcloud学习之----五大核心组件分享三年java,一直都是在接触流量较小的项目,大部分是以springboot框架为主的,很少能够使用到springcloud,最近开始尝试学习,分享一下springcloud学习心得。本篇主要是讲一下对springcloud五大核心组件的理解,欢迎指正。五大核心组件springcloud所谓的五大核心组件,是指以下五个:Eureka :服...原创 2021-04-22 12:22:55 · 300 阅读 · 0 评论