自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 资源 (8)
  • 收藏
  • 关注

转载 MySQL性能瓶颈以及优化

原链接:https://www.toutiao.com/a6725727372672238094/原来这样调优可以攻破MySQL性能瓶颈来一杯82年的Java 2019-08-16 19:37:13一、前言MySQL调优对于很多程序员而言,都是一个非常棘手的问题,多数情况都是因为对数据库出现问题的情况和处理思路不清晰。在进行MySQL的优化之前必须要了解的就是MySQL的查询过程,很多的查询优化工作实际上就是遵循一些原则让MySQL的优化器能够按照预想的合理方式运行而已。今天给大家讲解MySQL的

2020-07-12 15:46:51 3881

原创 高并发Disruptor

2022-04-11 15:34:42 337

原创 mysql8.0新特性

新特性优化器索引隐藏索引创建隐藏索引create index idx_j on t1(j) invisible;测试select @@optimizer_switch;set session optimizer_switch="use_invisible_indexes=on"explain select * from t1 where j=1;正式使用alter table t1 alter index idx_j visible // 设置可见alter table

2022-04-04 10:18:29 829

原创 设计模式之适配器模式

字段适配public class BaseInfo { private String userId; private String bizId; private String bizTime; private String desc; private String address; // get and set @SneakyThrows @Override public String toString() { ret

2022-04-02 22:09:29 603

原创 自定义Springboot starter

<?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" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/mav

2022-04-01 21:09:44 565

原创 几种分布式事务机制的对比

2022-03-31 09:15:16 93

原创 设计模式之观察者模式

public class WeatherSubject extends Observable { private String content; public String getContent() { return content; } public void setContent(String content) { this.content = content; super.setChanged(); /

2022-03-30 09:40:27 355

原创 高并发异步编程

Demoprivate static boolean asyncPay() { CompletableFuture<Boolean> isVaild = CompletableFuture.supplyAsync(() -> CheckService.isVaild()); CompletableFuture<Integer> orderSum = CompletableFuture.supplyAsync(() -> OrderServ

2022-03-27 15:19:42 2664

原创 NIO不是蔚来

select、poll、epoll

2022-03-27 10:33:54 685

原创 Servlet3.0异步解决吞吐量

代码@GetMapping("/sync") public Callable<Object> test(@RequestParam Long userId) { long tomcatStart = System.currentTimeMillis(); Callable<Object> callable = new Callable<Object>() { @Override p

2022-03-26 20:47:58 776

原创 Tomcat架构热部署

整体架构热加载org.apache.catalina.loader.WebappLoader#backgroundProcessorg.apache.catalina.core.StandardContext#reload<Contenxt path ="xxxx" docBase="/home/testDemo" reloadable ="true"></Contenxt>热部署 <Host name="localhost" appBase="webap

2022-03-26 14:32:15 452

原创 Redis服务诊断

开发key尽量短,节省内存key 设置过期时间避免bigkey (10kb以下)聚合命令放在客户端O(n)命令 n<300批量命令使用Pipleline避免集中过期选择合适的淘汰策略单个实例key实例一个亿以内运维隔离部署(业务线、主从库)单个实例10G以下slave节点做备份纯缓存关闭Aof实例不部署在虚拟机关闭内存打野AOF配置everysec熟悉监控原理保证充足的CPU、内存、磁盘、网络资源命令lazyfree-lazy-expire yes #

2022-03-25 11:11:33 1164

原创 elasticsearch与MySQL

elasticsearch与MySQl索引操作创建索引PUT http:/localhost:9200/shopping添加数据POST /shopping/_doc/1002{ "title": "小米手机", "category": "小米", "images": "http://www.gulixueyuan.com/xm.jpg", "price": 3999.00}删除数据DELETE /shopping/_doc/1002局部修改

2022-03-24 14:39:35 6177

原创 问题排查问题排查

网络IO磁盘CPU

2022-03-21 19:15:17 559

转载 大数据框架对比:Hadoop、Storm、Samza、Spark 和 Flink

大数据框架对比:Hadoop、Storm、Samza、Spark 和 Flink

2022-03-17 10:44:33 216

原创 其他文章~~~~~~

https://www.zhihu.com/people/kimmking/columns

2022-02-23 20:39:10 144

原创 设计模式之策略模式(结合Spring)

工厂定义@Componentpublic class StrategyFactory implements InitializingBean, ApplicationContextAware { private ApplicationContext applicationContext; private static final Map<String, AbstractsHandler> handlerMap = new HashMap<>();

2022-01-20 12:29:56 450

转载 线程的状态

2022-01-19 18:37:13 88

转载 Centos7开放及查看端口

1、开放端口firewall-cmd --zone=public --add-port=5672/tcp --permanent # 开放5672端口firewall-cmd --zone=public --remove-port=5672/tcp --permanent #关闭5672端口firewall-cmd --reload # 配置立即生效2、查看防火墙所有开放的端口firewall-cmd --zone=public --list-ports3.、关闭防火墙如果要开放的端

2021-12-20 14:40:50 229

原创 Tomcat vs Jetty vs Undertow 对比

Tomcat vs Jetty vs UndertowTomcat vs Jetty vs Undertow

2021-11-14 08:28:14 414

原创 注册中心比较

服务注册于发现框架CAP模型控制台管理社区活跃度EurekaAP支持低(2.x版本闭源)ZookeeperCP不支持中ConsulCP支持高NacosAP支持高

2020-08-06 10:45:29 213

原创 hystrix-command-flow-chart

2020-07-14 16:01:20 198

原创 Spring生态核心价值

核心价值核心特性Springboot

2020-07-12 17:43:05 198

原创 Java多线程并发

知识点响应时间

2020-07-12 17:12:46 123

转载 Linux常用命令

原文链接:https://newrss.guancha.cn/toutiao/toutiaopost/industry-science/2019_03_07_492721.shtml?tt_group_id=6665566522133447182top命令top命令提供了实时的对系统处理器的状态监视。它将显示系统中CPU最"敏感"的任务列表,该命令可以按CPU使用、内存使用和执行时间对任务进行排序,而且该命令的很多特性都可以通过交互式命令。Tasks、Cpus、Mem和Swap分别代表了进程信息、C

2020-07-12 17:01:48 258

原创 volatile的用途

volatile的用途1.线程可见性package com.gemini.testvolatile;public class T01_ThreadVisibility { private static volatile boolean flag = true; public static void main(String[] args) throws InterruptedException { new Thread(()-> { wh

2020-07-12 16:43:27 155

原创 synchronized和Lock孰优孰劣

synchronized的横切面详解synchronized原理.升级过程汇编实现vs reentrantLock的区别java源码层级synchronized(o)字节码层级monitorenter moniterexitJVM层级(Hotspot)package com.mashibing.insidesync;import org.openjdk.jol.info.ClassLayout;public class T01_Sync1 { public stati

2020-07-12 16:38:19 301

转载 G1垃圾回收器调优

G1垃圾回收器调优原链接:https://www.oracle.com/cn/technical-resources/articles/java/g1gc.html垃圾优先型垃圾回收器 (G1 GC) 是适用于 Java HotSpot VM 的低暂停、服务器风格的分代式垃圾回收器。G1 GC 使用并发和并行阶段实现其目标暂停时间,并保持良好的吞吐量。当 G1 GC 确定有必要进行垃圾回收时,它会先收集存活数据最少的区域(垃圾优先)。垃圾回收器 (GC) 是一个内存管理工具。G1 GC 通过以下操作实

2020-07-11 13:21:50 931

原创 程序幂等性设计

前端按钮只可操一次token机制使用post/Redirect/Get模式在session中存放特殊标志后端使用唯一索引防止幂等性Token+ Redis幂等状态机幂等乐观锁实现幂等防重表实现幂等性select + insert (单机)分布式锁保证幂等性缓冲队列全局唯一号...

2020-07-10 18:59:23 145

原创 设计模式之访问者模式

接口设计public class Times { private static final SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss.SSS"); // 访问者接口 public interface Task { void execute(); } public static void test(String title, Task task) { if (task

2020-07-10 17:29:25 111

原创 设计模式之建造者模式

JavaBean形式/** * 待构建的对象。该对象的特点: * <ol> * <li>需要用户手动的传入多个参数,并且有多个参数是可选的、顺序随意</li> * <li>该对象是不可变的(所谓不可变,就是指对象一旦创建完成,其内部状态不可变, * 更通俗的说是其成员变量不可改变)。 * 不可变对象本质上是线程安全的。</li> * <li>对象所属的类不是为了继承而设计的。</li> * </ol&g

2020-07-10 16:52:25 167

原创 设计模式之策略模式

接口定义public interface SmsService { /** * 发送短信 * @param content 短信内容 */ void send(String content); /** * 短信发送通道 * @return */ public SmsType smsType();}短信通道public enum SmsType { /**阿里云*/ ALIYUN,

2020-07-10 16:21:19 127

原创 设计模式之模板模式

改造之前 @Override public User selectUserById(Integer id) { User user = (User) redisTemplate.opsForValue().get("user:" + id); if (user == null) { synchronized (this) { user = (User ) redisTemplate.opsForValue()

2020-07-10 14:47:37 123

原创 JVM堆大小设置

堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。典型设置:java -Xmx3550m -Xms3550m -Xmn2g -Xss128k-Xmx3550m:设置JVM最大可用内存为3550M。-Xms3550m**:

2020-07-09 15:50:15 1770

原创 MySQL优化

MySQL执行流程1、查询缓存2、解析器生成解析树3、预处理再次生成解析树4、查询优化器5、查询执行计划6、查询执行引擎7、查询数据返回结果表结构对性能的影响1、冗余数据的处理(可以提高系统的整体查询性能<三范式>)1、每一列只能有一个值2、每一行可以被唯一的区分3、不包含其他表的已包含的非关键信息2、大表拆小表1、一般不会设计属性过多的表2、一般不会超过500到1000万数据的表3、有大数据的列单独拆为小表3、根据需求展示更加合理的表结构4、常用属

2020-07-08 14:26:42 148

原创 Git基础

Git基础Git 安装Git下载地址https://git-scm.com/downloadsGit安装(Window/Mac)选择不同系统安装包安装检验是否安装成功出现Git Bash命令行工具或Git GUI工具git --version  查看git安装版本Git 结构工作区(Working Directory)版本库(repository)暂存区(stage/index)masterhead唯一指向Git 文件的4种状态Untra

2020-07-08 14:21:44 124

原创 GC和GC Tuning

GC和GC TuningGC的基础知识1.什么是垃圾C语言申请内存:malloc freeC++: new deleteJava: new ?自动内存回收,编程上简单,系统不容易出错,手动释放内存,容易出两种类型的问题:忘记回收多次回收没有任何引用指向的一个对象或者多个对象(循环引用)2.如何定位垃圾引用计数根可达算法3.常见的垃圾回收算法标记清除 - 位置不连续 产生碎片拷贝算法 - 没有碎片,浪费空间标记压缩 - 没有碎片,效率偏低4.JVM内存分代模型

2020-07-07 17:00:28 631

转载 CentOS7查看开放端口命令及开放端口号

源连接:https://www.cnblogs.com/hellocjr/p/11431230.html查看已开放的端口firewall-cmd --list-ports开放端口(开放后需要要重启防火墙才生效)firewall-cmd --zone=public --add-port=3338/tcp --permanent重启防火墙firewall-cmd --reload关闭端口(关闭后需要要重启防火墙才生效)firewall-cmd --zone=public --remove-por

2020-07-06 17:31:45 526 1

转载 参数校验validator

这么写参数校验(validator)就不会被劝退了原文链接:https://www.toutiao.com/i6733862304527417860Java的小本家2019-09-08 08:44:00很痛苦遇到大量的参数进行校验,在业务中还要抛出异常或者不断的返回异常时的校验信息,在代码中相当冗长, 充满了if-else这种校验代码,今天我们就来学习spring的javax.validation 注解式参数校验.为什么要用validator1.javax.validation的一系列.

2020-06-27 10:59:01 259

转载 SpringBoot如何优雅的校验参数

SpringBoot如何优雅的校验参数Java架构师CAT2019-12-13 10:02:13前言做web开发有一点很烦人就是要校验参数,基本上每个接口都要对参数进行校验,比如一些格式校验 非空校验都是必不可少的。如果参数比较少的话还是容易 处理的一但参数比较多了的话代码中就会出现大量的IF ELSE就比如下面这样:这个例子只是校验了一下空参数。如果需要验证邮箱格式和手机号格式校验的话代码会更多,所以介绍一下validator通过注解的方式进行校验参数。什么是Validat..

2020-06-27 10:48:10 740

HTML5移动Web开发指南.rar

第1章移动互联网时代的Web技术 1 1.1 移动互联网的发展 1 1.2 智能手机发展迅速 2 1.3 智能手机的Web浏览器 4 1.4 移动Web应用的发展 7 1.5 基于HTML5的移动Web应用 8

2013-08-17

windowsJdk1.5

jdk-1_5_0_22-windows-i586-p.rar

2013-08-16

struts2.0的jar包

该资源为web技术框架struts2.0所使用到的jar包;allLib为所有的,ofenLib为常用jar包

2013-04-08

小孩桌面便签应用小程序

小孩桌面便签,可以将你每一天要做的事情 写在上面,有多种模板。别用那些纸制便签了,好不环保低碳啊、

2011-12-17

经典SQL语句大全

经典SQL语句大全.UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。

2011-12-17

Linux命令全集(public)

Linux命令全集:包含所有Linux命令及其用法。 本手册由Linhan整理编写。版权所有者为Linhan; PDF格式,您可以免费使用。未经Linhan的授权 任何人不得自行进行篡改、反编译,及将其全部或部分用于商业用途。

2011-07-09

SQL面试题大全(部分常见ORACLE面试题以及SQL注意事项)

SQL面试题大全、不要在一段SQL或者存储过程中多次使用相同的函数或相同的查询语句,这样比较浪费资源,建议将结果放在变量里再调用。这样更快。

2011-06-25

空空如也

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

TA关注的人

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