- 博客(52)
- 资源 (3)
- 收藏
- 关注
原创 MinorGC FullGC
因极端情况gc后s区所有对象都会存活。此时判断如果不够,则会去执行空间担保策略,查看历史gc后进入老年代的平均对象大小,如果不满足,此时会连带触发一次FullGc。MinorGC前空间担保检查发现历代gc后进入老年代的对象综合大于剩余空间,此时minorGC会连带进行一次FullGC。如果老年代和to区无法存放足够的数据此时会触发一次FullGC,FullGC后依然不够则oom。minorGC后存活对象大小超过to区和老年代,此时再次触发FullGC。新生代存活对象大于to区小于老年代则进入老年代。
2025-01-07 08:28:15
401
原创 dubbo的底层通信原理
1:核心severSocketChannel,会在producer启动的时候去监听服务的端口,同时producer会有一个acceptor线程使用select组件不断的轮询severSocketchannel,获取是否有连接进来。2:consumer此时启动和服务端建立连接,此时serverSocketChannel会为每一个连接建立起socketChannel,用来真正的传输数据。4:此时consumer封装请求,序列化传输通过socketChannel传输给producer,解析到服务执行请求。
2025-01-07 08:20:23
223
原创 eureka的双重缓存机制
读写分离的思想,让更多的读去走只读缓存,只读缓存不存在的情况下会读读写缓存,读写缓存也不存在的话才会走内存数据。但读写缓存只有在写数据的时候会删除,并且后台30秒刷新到只读缓存。两级缓存分离了读和写,可以更快的响应客户端更多的读请求,避免出现读写竞争的锁冲突,但是需要容忍短时间的不一致。
2025-01-07 08:13:45
154
转载 mysql索引优化
一、分页查询优化很多时候我们业务系统实现分页功能可能会用如下sql实现:select*fromemployeeslimit10000,10;表示从表 employees 中取出从 10001 行开始的 10 行记录。看似只查询了 10 条记录,实际这条 SQL 是先读取 10010条记录,然后抛弃前 10000 条记录,然后读到后面 10 条想要的数据。因此要查询一张大表比较靠后的数据,执行效率是非常低的。这是典型的深度分页问题。分页场景优化技巧1、根据自增且连续的主键排序...
2022-03-14 10:34:04
3313
1
转载 详谈 MySQL Online DDL
作为一名DBA,对数据库进行DDL操作非常多,如添加索引,添加字段等等。对于MySQL数据库,DDL支持的并不是很好,一不留心就导致了全表被锁,经常搞得刚入门小伙伴很郁闷又无辜,不是说MySQL支持Online DDL么,不是说不会锁表的么?是的,令人高兴的是从MySQL5.6开始就支持部分DDL Online操作了,但并不是全部喔,今天这里就对我们常用的DDL进行总结和说明,让操作DDL的小伙伴从此做到心中有数,得心应手,让老板们再也不用担心我们做DDL咯。我自己遵守的一条黄金准则:DDL永远不要在业
2021-09-26 10:33:44
3903
原创 springboot上传图片并post到远程接口
controller:@RequestMapping(value = "/manager/uploadPic", method = RequestMethod.POST) public ResultObj uploadFileTest(@RequestParam("file") MultipartFile multipartFile) { ValidateUtil.isEmpty(multipartFile, "图片"); ResultObj result =
2021-06-17 10:06:15
672
原创 mysql分组取前N条数据,mysql排名
CREATE TABLE `test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(32) DEFAULT NULL, `score` int(11) DEFAULT NULL, `desc` varchar(32) DEFAULT NULL, PRIMARY KEY (`id`), KEY `name` (`name`) USING BTREE) ENGINE=InnoDB DEFAULT CHARSET=utf.
2021-04-23 10:47:23
315
1
原创 feign配置hystrix,和ribbon的各种超时配置
https://blog.youkuaiyun.com/zzzgd_666/article/details/83314833
2020-09-28 10:24:51
769
原创 mybatis sql拦截修改
自定义注解:import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import java.lang.annotation.Inherited;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;@Tar
2020-06-17 09:48:26
699
原创 mysql innodb RR级别到底有没有解决幻读?
先说概念性的东西事务的四种隔离级别:01:Read uncommitted(读未提交):最低级别,任何情况都会发生。02:Read Committed(读已提交):可避免脏读的发生。03:Repeatable read(可重复读):可避免脏读、不可重复读的发生。默认级别(mysqlinnodb在一定程度上解决了幻读)04:Serializable(串行化):避免脏读、不可重复读,幻读的发生。脏读:事务A读取到了事物B更新的数据,然后B回滚不可重复读:事务A多次读取同一数据,事务.
2020-05-13 21:31:07
1752
2
转载 (转)tomcat架构
俗话说,站在巨人的肩膀上看世界,一般学习的时候也是先总览一下整体,然后逐个部分个个击破,最后形成思路,了解具体细节,Tomcat的结构很复杂,但是 Tomcat 非常的模块化,找到了 Tomcat最核心的模块,问题才可以游刃而解,了解了Tomcat的整体架构对以后深入了解Tomcat来说至关重要!一、Tomcat顶层架构先上一张Tomcat的顶层结构图(图A),如下:T...
2020-04-22 18:34:46
165
转载 springboot配置多数据源
https://blog.youkuaiyun.com/qq_35859844/article/details/88577584
2019-12-13 10:04:22
175
原创 前后分离springboot2.1集成shiro使用redis做权限认证缓存
整整搞了两天,网上好多文章没有标注出小版本,让我很是艰难。这里记录一下。1:pom文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"...
2019-11-21 16:25:58
533
原创 rabbitmq项目实战
添加交换机队列需要在mq后台上边操作代码里包含绑定交换机队列(MqInit)生产者生产消息(MqUtils)消费者消费消息和应答处理机制https://github.com/huiyunfei/studyDemo.git在corejavademo里rabbitmq2文件夹...
2019-08-08 17:02:13
765
原创 mybatis实现mysql批量插入或者更新
单个插入或者更新: <update id="updateOrInsert"> INSERT INTO tb_user_integration_month (userId,integralMonthCount,integralLeaveCount,month,createTime,updateTime) VALUES (#{userI...
2019-08-08 16:30:35
2460
1
转载 mysql使用存储过程操作动态更新
https://blog.youkuaiyun.com/xiaosheng_papa/article/details/80635727
2019-07-16 10:06:33
2381
转载 关于IDEA不能实时编译的一个临时解决办法。。。。
原文地址:https://my.oschina.net/fdblog/blog/172229昨天在http://www.oschina.net/question/240989_130365讨论关于IDEA不能实时编译的一个问题但是貌似还是没有解决方案其中 虽然jse7en 童鞋告诉我们 可以(ctrl+s和ctrl+F9)进行保存和编译,但是。。。2个按键你懂得。。太麻烦了...
2019-07-10 16:07:26
334
原创 springboot实现redis分布式锁的两种方式
一:基于 Redis 的NX EX参数既然是选用了 Redis,那么它就得具有排他性才行。同时它最好也有锁的一些基本特性:高性能(加、解锁时高性能) 可以使用阻塞锁与非阻塞锁。 不能出现死锁。 可用性(不能出现节点 down 掉后加锁失败)。这里利用Redis set key时的一个 NX 参数可以保证在这个 key 不存在的情况下写入成功。并且再加上 EX 参数可以让该 ...
2019-07-01 16:51:06
2659
原创 springboot集成websocket的两种实现方式
WebSocket跟常规的http协议的区别和优缺点这里大概描述一下一、websocket与httphttp协议是用在应用层的协议,他是基于tcp协议的,http协议建立链接也必须要有三次握手才能发送信息。http链接分为短链接,长链接,短链接是每次请求都要三次握手才能发送自己的信息。即每一个request对应一个response。长链接是在一定的期限内保持链接。保持TCP连接不断开。客...
2019-05-31 17:21:22
81764
22
原创 springcloud学习笔记(整合configserver高可用的服务注册中心,消息总线Spring Cloud Bus)
因不同的项目有不同的配置文件,且有不同环境的配置,各自保存在本地在开发测试以及提交代码的时候会有很多冲突,还有就是一些生产环境或者公司保密的配置信息不想暴漏在开发服务中,那么我们这个时候就可以用到springcloud的统一配置服务中心configserver组件,该服务也可以启动多实例以实现高可用性。接上篇:https://blog.youkuaiyun.com/huiyunfei/article/de...
2019-05-16 18:59:23
510
转载 拜托!面试请不要再问我Spring Cloud底层原理
>转载请标明出处:>https://www.fangzhipeng.com> 本文出自[方志朋的博客](http://blog.youkuaiyun.com/forezp)>>本文为转载文章,作者:中华石杉,十余年BAT架构经验,倾囊相授。作者微信公众号:石杉的架构笔记(ID:shishan100)概述毫无疑问,Spring Cloud是目前微服务架构...
2019-05-13 16:44:17
162
转载 性能优化之道】每秒上万并发下的Spring Cloud参数优化实战
本文为转载文章,作者:中华石杉,十余年BAT架构经验,倾囊相授。作者微信公众号:石杉的架构笔记(ID:shishan100)一、写在前面相信不少朋友都在自己公司使用Spring Cloud框架来构建微服务架构,毕竟现在这是非常火的一门技术。如果只是用户量很少的传统IT系统,使用Spring Cloud可能还暴露不出什么问题。如果是较多用户量,高峰每秒高达上万...
2019-05-13 15:17:32
187
转载 【双11狂欢的背后】微服务注册中心如何承载大型系统的千万级访问?
本文为转载文章,作者:中华石杉,十余年BAT架构经验,倾囊相授。作者目录:一、问题起源二、EurekaServer设计精妙的注册表存储结构三、EurekaServer端优秀的多级缓存机制四、总结一、问题起源Spring Cloud架构体系中,Eureka是一个至关重要的组件,它扮演着微服务注册中心的角色,所有的服务注册与服务发现,都是依赖Eurek...
2019-05-13 14:44:00
142
原创 使用logstash同步mysql数据到elasticsearch(包含配置es,springboot集成搜索)
参考:https://cloud.tencent.com/developer/article/1183253https://www.cnblogs.com/ashleyboy/p/9612453.htmles简介:es是一个高度可扩展的开源全文搜索和分析引擎,可以快速的、近实时地对大数据进行存储、搜索和分析,用来支撑复杂的数据搜索需求和企业级应用。简单来说,它是一个搜索引擎,...
2019-04-24 19:16:28
4759
4
原创 java静态代理、jdk动态代理、cglib动态代理简单示例和讲解
参考资料:https://www.cnblogs.com/ygj0930/p/6542259.html一:静态代理 业务实现类、业务代理类 两部分组成。业务实现类 负责实现主要的业务方法,业务代理类负责对调用的业务方法作拦截、过滤、预处理,主要是在方法中首先进行预处理动作,然后调用业务实现类的方法,还可以规定调用后的操作。我们在需要调用业务时,不是直接通过业务实现类来调...
2019-04-22 16:47:57
315
转载 mysql索引的使用和优化
转:https://www.cnblogs.com/doudouxiaoye/p/5831449.html关于MySQL索引的好处,如果正确合理设计并且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。对于没有索引的表,单表查询可能几十万数据就是瓶颈,而通常大型网站单日就可能会产生几十万甚至几百万的数据,没有索引查询会变的非常缓慢。还是以WordPr...
2019-04-18 16:07:42
339
转载 mysql explain结果详细解释
转:https://www.cnblogs.com/xuanzhi201111/p/4175635.html在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,些时我们常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看。所以我们深入了...
2019-04-18 15:56:55
260
原创 自己学习整理的springboot demo小知识(包含corejava),git不断更新
git地址:https://github.com/huiyunfei/studyDemo#这里记录restfuldemo搭建过程,只记录大概过程步骤,具体代码在git,可能会慢慢不断更新。(搭建过程省略,编译工具都可以一键生成的)1:Transational事务配置记录1-1:主启动文件添加@EnableTransactionManagement注解开启事务1-2:对应se...
2019-04-15 16:49:48
267
原创 springcloud学习笔记(整合eureka+feign独立API)
记录一下基础的入门配置,方便学习理解。推荐原学习文章地址:https://blog.youkuaiyun.com/forezp/article/list/6?t=1&备注:版本号不一样,很多maven依赖的id也不一样,刚开始做测试用的是springboot2.1.3,springcloud是Green,出了很多问题,后来就降低成1.5,edg版本了。Point:积分系统服务提供者、常规的...
2019-03-27 16:13:26
861
原创 mysql、oracle创建用户
mysql新建用户insert into mysql.user (Host, User, Password)values ("%", "dw", password("123456"));插入user表dw用户密码123456grant all privileges on dw.* to dw@'%' identified by '123456';dw库的*所有表给用户dw赋%权限flu...
2019-03-27 15:55:45
216
原创 js调用websocket接口示例代码
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script><script>// 初始化一个 WebSocket 对象var ws = new WebSocket("ws:/xxxxx/websocket?serialNo=xxx&key=xx);// 建立 websoc...
2018-11-14 18:28:31
12828
原创 java调用webservice接口示例代码
import java.io.UnsupportedEncodingException;import java.net.MalformedURLException;import java.text.SimpleDateFormat;import java.util.Date;import java.util.HashMap;import java.util.Map;import or...
2018-11-14 18:26:54
3496
1
idea创建springboot,集成使用dubbo、zookeeper
2017-11-01
web页面可配置话的动态生成spring定时任务,持续到化数据库
2017-07-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人