自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 CPU飙高,频繁GC,怎么排查?

本文转自处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU 100%,以及Full GC次数过多的问题。当然,这些问题的最终导致的直观现象就是系统运行缓慢,并且有大量的报警。本文主要针对系统运行缓慢这一问题,提供该问题的排查思路,从而定位出问题的代码点,进而提供解决该问题的思路。对于线上系统突然产生的运行缓慢问题,如果该问题导致线上系统不可用,那么首先需要做的就是,...

2020-01-15 10:17:21 2397

转载 CAP原则

原文地址:http://www.ruanyifeng.com/blog/2018/07/cap.html分布式系统(distributed system)正变得越来越重要,大型网站几乎都是分布式的。分布式系统的最大难点,就是各个节点的状态如何同步。CAP 定理是这方面的基本定理,也是理解分布式系统的起点。本文介绍该定理。它其实很好懂,而且是显而易见的。下面的内容主要参考了 Michae...

2019-12-26 14:28:11 381

原创 java单元测试之Mock测试编写

mock框架官方文档地址:https://javadoc.io/static/org.mockito/mockito-core/3.2.0/org/mockito/Mockito.html#verification1. Mock一个对象 //Let's import Mockito statically so that the code looks clearer import sta...

2019-12-06 17:05:08 1654

原创 mybatisplus-generator 自动生产实体类

import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;import com.baomidou.mybatisplus.generator.AutoGenerator;import com.baomidou.mybatisplus.generator.config.DataSourceConfig;impor...

2019-10-10 10:59:33 4211

原创 树形表实现 bootstrap-table + treegrid

一 . 首先展示一张效果图二. 简单代码实现直接在项目中复制粘贴以下代码即可使用相关资料:jquery-treegrid 官网https://www.bootcdn.cn/jquery-treegrid/<!DOCTYPE HTML><html lang="zh-cn"><head> <meta charset=...

2019-09-26 10:33:05 1567 1

转载 [转] 查看CPU使用率 top命令详解

一top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前 台,直到用户终止该程序为止. 比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间 对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定.说明:前五行都统计系统整体信息的 下...

2019-09-05 09:41:32 4279

转载 Java 代码优化

作者:萌小Q来源:https://www.cnblogs.com/Qian123/p/6046096.html1、尽量指定类、方法的final修饰符带有final修饰符的类是不可派生的。在Java核心API中,有许多应用final的例子,例如java.lang.String,整个类都是final的。为类指定final修饰符可以让类不可以被继承,为方法指定final修饰符可以让方法...

2019-08-28 17:18:52 320

转载 Java 8 中 Date与LocalDateTime、LocalDate、LocalTime互转

Java8中 java.util.Date 类新增了两个方法,分别是from(Instant instant)和toInstant()方法// Obtains an instance of Date from an Instant object.public static Date from(Instant instant) { try { return new ...

2019-03-05 12:09:31 200

转载 阿里云Redis开发规范

一、键值设计1. key名设计(1)【建议】: 可读性和可管理性以业务名(或数据库名)为前缀(防止key冲突),用冒号分隔,比如业务名:表名:idugc:video:1(2)【建议】:简洁性保证语义的前提下,控制key的长度,当key较多时,内存占用也不容忽视,例如:user:{uid}:friends:messages:{mid}简化为u:{uid}:fr:m:{mi...

2019-03-05 09:17:00 199

转载 MySql避免重复插入记录方法

本文为备忘转载:案一:使用ignore关键字如果是用主键primary或者唯一索引unique区分了记录的唯一性,避免重复插入记录可以使用:INSERT IGNORE INTO `table_name` (`email`, `phone`, `user_id`) VALUES ('test9@163.com', '99999', '9999');这样当有重复记录就会忽略,执行后返...

2019-02-27 19:46:43 315

转载 淘宝Tedis组件

文章来源如下,本文只做技术分享,留存,如有侵权留言联系,立即删除.作者:小程故事多链接:https://www.jianshu.com/p/0c6f91fb4c8c來源:简书简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。        淘宝的Tedis组件究竟是个啥呢?可能有一些朋友没有听过这个名字,有一些朋友会经常使用,那么今天我就来和大家深入分析一下,它...

2019-02-22 12:11:57 485

转载 分库分表

为什么要分库分表?(设计高并发系统的时候,数据库层面该如何设计?)说白了,分库分表是两回事儿,大家可别搞混了,可能是光分库不分表,也可能是光分表不分库,都有可能。我先给大家抛出来一个场景。假如我们现在是一个小创业公司(或者是一个 BAT 公司刚兴起的一个新部门),现在注册用户就 20 万,每天活跃用户就 1 万,每天单表数据量就 1000,然后高峰期每秒钟并发请求最多就 10。天,就这...

2019-01-17 15:55:11 510

转载 redis 的雪崩和穿透

缓存雪崩对于系统 A,假设每天高峰期每秒 5000 个请求,本来缓存在高峰期可以扛住每秒 4000 个请求,但是缓存机器意外发生了全盘宕机。缓存挂了,此时 1 秒 5000 个请求全部落数据库,数据库必然扛不住,它会报一下警,然后就挂了。此时,如果没用什么特别的方案来处理这个故障,DBA 很着急,重启数据库,但是数据库立马又被新的流量给打死了。这就是缓存雪崩。大约在 3 年前,国内...

2019-01-17 11:18:45 317

转载 更新数据时redis缓存与数据库数据不一致的问题

最初级的缓存不一致问题及解决方案问题:先修改数据库,再删除缓存。如果删除缓存失败了,那么会导致数据库中是新数据,缓存中是旧数据,数据就出现了不一致。解决思路:先删除缓存,再修改数据库。如果数据库修改失败了,那么数据库中是旧数据,缓存中是空的,那么数据不会不一致。因为读的时候缓存没有,则读数据库中旧数据,然后更新到缓存中。比较复杂的数据不一致问题分析数据发生了变更,先删除了缓存,...

2019-01-17 10:52:35 14427 3

原创 redis 过期策略

redis 过期策略是:定期删除+惰性删除。所谓定期删除,指的是 redis 默认是每隔 100ms 就随机抽取一些设置了过期时间的 key,检查其是否过期,如果过期就删除。假设 redis 里放了 10w 个 key,都设置了过期时间,你每隔几百毫秒,就检查 10w 个 key,那 redis 基本上就死了,cpu 负载会很高的,消耗在你的检查过期 key 上了。注意,这里可不是每隔 1...

2019-01-16 19:12:32 772

原创 freemarker中map遍历

 freemarker中map遍历获取值后台数据:  HashMap&lt;String, String&gt; map = new HashMap&lt;&gt;(); map.put("adf","空间"); map.put("xxx","空间2"); map.put("jjj","空间3"); model.addAttribute

2019-01-07 16:45:40 2262

原创 springBoot中info等级通过druid打印sql

我的springBoot是使用logback来输出日志的.application.yml中log相关配置如下:logging: pattern: console: "%d{yyyy-MM-dd HH:mm:ss.SSS} %clr(%5p) %clr([%15.15t]){cyan} %clr(%X{__traceId}){magenta} %clr(%-40.40logge...

2019-01-03 14:39:00 9628

原创 亲属计算规则算法--java实现(关键算法摘要)

 一个简单的亲属关系计算算法实现package com.zifamily.zfapp.sns;import org.apache.commons.collections.CollectionUtils;import org.junit.Before;import org.junit.Test;import java.util.ArrayList;import java.util...

2018-12-14 17:19:12 1748

原创 亲属计算规则算法--js实现(关键算法摘要)

在github上找个一个比较好的计算亲属关系的算法,核心代码如下:!function (root, factory) {if (typeof module === 'object' &amp;&amp; module.exports){module.exports = factory();}else{root.relationship = factory();}}(typeof ...

2018-12-14 17:17:03 1516

原创 SpringBoot注解缓存@Cacheable,@CachePut,@CacheEvict,@Caching

JSR107Java Caching定义了5个核心接口,分别是CachingProvider, CacheManager, Cache, Entry和 Expiry。• CachingProvider定义了创建、配置、获取、管理和控制多个CacheManager。一个应用可以在运行期访问多个CachingProvider。• CacheManager定义了创建、配置、获取、管理和控制多个唯...

2018-11-29 11:20:44 503

原创 SpringBoot之spring-data-redis

1.自定义CacheManager     2.X版本自定义序列化器的配置 @Bean public CacheManager cacheManager(RedisConnectionFactory factory) { RedisCacheConfiguration config = RedisCacheConfiguration.defaultCacheCon...

2018-11-28 19:38:57 253

原创 mybatis-plus

推荐简书:https://www.jianshu.com/p/ceb1df475021注解:公共字段自动填充:@TableField(fill = FieldFill.INSERT_UPDATE)//插入和更新时填充

2018-11-27 17:57:26 221

原创 ajax异步请求的创建方式

方式一---普通ajax请求$.ajax({ url: url, type: 'POST', data: {"id":rewardId,"expireDate":expireDateUpdate,"orderNumStr":orderNum,"effectDate":effectDateUpdate}, dataType: "json", success...

2018-11-12 11:21:05 194

转载 Linux下安装Java(JDK8)

一、文件准备     1.1 文件名称          jdk-8u121-linux-x64.tar.gz     1.2 下载地址         http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html    二、工具准备    2.1 Xshell...

2018-10-26 09:18:20 172

原创 java数字字符串自增

 要求:输入"0022"输出"0023",输入非纯数字字符串提示.public class test1 { public static void addValue(String str){ int index = str.lastIndexOf("0"); int temp =0; //以0开头的 ...

2018-10-13 21:03:01 3770

转载 mybatis在xml文件中处理大于号小于号的方法

第一种方法:用了转义字符把&gt;和&lt;替换掉,然后就没有问题了。SELECT * FROM test WHERE 1 = 1 AND start_date  &amp;lt;= CURRENT_DATE AND end_date &amp;gt;= CURRENT_DATE附:XML转义字符         第二种方法:&lt;![CDATA[ when min(...

2018-10-13 20:28:55 530

原创 foreach遍历的底层原理

foreach遍历集合类型和数组类型底层实现的不同集合类型的遍历本质是使用迭代器实现的(list,map,set) 数组的遍历是通过for循环来实现的(普通数组)扩展:遍历集合的时候移除某个数据: ArrayList&lt;Integer&gt; list = new ArrayList&lt;&gt;(); list.add(1); list.add(2); ...

2018-10-12 21:08:08 4448

原创 MySql面试练习题

原帖链接:http://bbs.csdn.net/topics/280002741表架构Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表建表语句 CREATE TABLE student ( s# INT,...

2018-10-10 10:17:51 262

原创 Linux虚拟机安装后没有IP地址

安装完虚拟机之后 ifconfig  发现没有ip地址怎么办呢?下面来解决下这个问题:1.    执行命令:1)cd /etc/sysconfig/network-scripts/2)vi ifcfg-ens333)把ONBOOT改成yes4)保存 :  wq!5) serivce network restart6)ip addr执行以上命令之后应该可以解决问...

2018-10-01 16:44:43 2980 1

转载 Eclipse/ tomcat 实现热部署和热启动

1、 热部署:就是容器状态在运行的情况下重新部署整个项目.在这种情况下一般整个内存会清空,重新加载.简单来说就是Tomcat或者其他的web服务器会帮我们重新加载项目.这种方式可能会造成session丢失等情况。2、热加载:就是容器状态在运行的情况下重新加载改变编译后的类.在这种情况下内存不会清空,sessin不会丢失,但容易造成内存溢出,或者找不到方法。因为内存无法转变成对像. 一般改变类的...

2018-09-28 11:14:12 5094

原创 String“+”与StringBuffer/StringBuilder 对象的append方法

该题来自华为。         字符串是Java程序中最常用的数据结构之一。在Java中String类已经重载了"+"。也就是说,字符串可以直接使用"+"进行连接,如下面代码所示:1.String s = "abc" + "ddd"; 但这样做真的好吗?当然,这个问题不能简单地回答 yes or no。要根据具体情况来定。在 Java 中提供了一个StringBuilder类(这个...

2018-09-19 16:15:05 1111

原创 ==和equals的区别

equals和== 最大的区别是一个是方法一个是运算符。  ==:如果比较的对象是基本数据类型,则比较的是数值是否相等;如果比较的是引用数据类型,则比较的是对象的地址值是否相等。 equals():用来比较方法两个对象的内容是否相等。 注意:equals 方法不能用于基本数据类型的变量,如果没有对 equals 方法进行重写,则比较的是引用类型的变量所指向的对象的地址。...

2018-09-19 14:29:01 155

原创 list之subList(int fromIndex, int toIndex)

1.用法    list.subList(int fromIndex, int toIndex)  返回list中指定下标的元素组成的list集合,左闭右开(包括fromIndex元素,不包括toIndex).2.注意点    返回的新的集合指向原有集合,修改新的集合会影响原有集合的内容.3.决解方案1)新建一个新的集合    ArrayList&lt;String&gt...

2018-07-05 13:51:34 2756

原创 Jedis操作Redis方法API

Jedis操作Redis方法API1.         String set(String key, String value);/**     * 存储数据到缓存中,若key已存在则覆盖 value的长度不能超过1073741824 bytes (1 GB)     *     * @param key     * @param value     * @return     */  Strin...

2018-05-23 09:57:21 482

空空如也

空空如也

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

TA关注的人

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