自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 资源 (12)
  • 论坛 (1)
  • 收藏
  • 关注

原创 Java性能优化点滴汇总

起草mark

2020-10-30 07:40:46 6

原创 终止代码合并操作

终止代码合并操作git reset --hard HEADgit merge --abort

2020-10-24 15:09:58 12

原创 Arrays.asList()方法的使用

使用工具类Arrays.asList()把数组转换成集合时,不能使用其修改集合相关的方法,它的add/remove/clear方法会抛出UnsupportOperationException异常,Collections.singletonList()方法与Arrays.asList()类似。说明:asList的返回对象是一个Arrays内部类,并没有实现集合的修改方法。Arrays.asList体现的是适配器模式,只是转换接口,后台的数据仍是数组。Arrays.asList():(1)该方法不.

2020-06-27 22:38:01 60

原创 Tomcat 6.0.33 每小时触发FullGC一次

Tomcat 6.0.33 每小时触发FullGC一次tomcat为了防止内存泄露,会注册一个监听器,周期性的触发System.gc()。

2020-06-05 11:35:50 87

原创 Java8Map的API笔记

package com.jd.stock.common.domain;import java.util.HashMap;import java.util.Map;public class MapTestInJava8 { public static Map<String, String> map = new HashMap<>(); static { map.put("a", "A"); map.put("b", "B");.

2020-05-21 01:49:45 85

原创 JDK8新特性——lambda表达式

package zcl.jdk8.lambda;/** * 参考学习文档:https://www.runoob.com/java/java8-lambda-expressions.html */public class TestMain4Lambda { /* 一、lambda的标准格式为: (Object obj)-> { doSo...

2020-03-18 23:47:14 55

原创 C2 CompilerThread9 长时间占用CPU解决方案

一、问题描述近期在进行日常巡检时发现,线上部分应用服务器的CPU突然比以往高出很多,经过登录机器排查确认是C2 CompilerThread9线程始终长时间运行消耗了CPU。排查步骤在上篇博文有记录总结,地址:https://blog.csdn.net/u012538947/article/details/104581740异常线程的堆栈如下:"C2 CompilerThread...

2020-03-02 00:26:51 1183 1

原创 排查CPU异常步骤

1、TOP命令定位异常进程toptop命令介绍参考:https://blog.csdn.net/xtggbmdk/article/details/828180232、通过 top -H -p pid 查看异常的线程top -H -p 2253、printf "%x/n"线程号 #将异常线程转化为16进制printf "%x\n" 3924、使...

2020-02-29 20:58:56 184

原创 Too Many Connections

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Datasourcerejectedestablishmentofconnection,messagefromserver:"Toomanyconnections"原因:因为你的mysql安装目录下的my.ini中设定的并发连接数太少或...

2020-01-07 17:47:38 100 2

原创 MAC Tomcat 权限问题

sudo chmod 777 /Users/我的名字/Applications/apache-tomcat-6.0.9/bin/*.sh

2019-07-18 21:11:14 1576

原创 springBoot项目Http升级Https+腾讯云证书

参考链接:https://blog.csdn.net/zhoucheng05_13/article/details/86767550https://blog.csdn.net/l4642247/article/details/81631770

2019-07-02 00:07:58 377

原创 springBoot部署云服务器步骤

参考:https://blog.csdn.net/weixin_39274753/article/details/815575011. 安装JDKyum install java-1.8.0-openjdk* -y2. 安装lrzsz,用于往服务器上传文件yum install lrzsz -y3. 在idea中把项目打包,xxx.jar4. 在终端中利用rz...

2019-07-01 09:01:31 116

原创 数据库分布式事务-两阶段提交2PC

http://xiaorui.cc/2016/02/25/%E7%90%86%E8%A7%A3%E5%88%86%E5%B8%83%E5%BC%8F%E4%BA%8B%E5%8A%A1%E7%9A%84%E4%B8%A4%E9%98%B6%E6%AE%B5%E6%8F%90%E4%BA%A42pc/

2019-05-08 15:23:28 285

原创 数据库权限

where需要查询权限

2019-04-12 10:27:32 128

原创 JVM调优记录

-XX:+PrintGCDetails -Xloggc:/export/Logs/sdk.taobao.local/gc.log -Xmn2G -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=70 -XX:+CMSPa...

2019-04-10 16:39:07 50

原创 和光同尘

以下内容来自《大江大河》-20集-29:45和光同尘的精髓:水书记:骄傲有很多种,有一种是因为太聪明、太优秀,从内心深处产生的傲慢。宋运辉:我改水书记:这种傲是改不了的,不过你也不要灰心,这种傲是你坚持不懈、不断努力前进的动力。但是这种傲你要深深地藏在内心深处,不要拿出来给别人看,更不要拿自己的标准来要求别人。宋运辉:你是说让我降低对别人的要求?水书记:...

2018-12-30 00:08:31 509

原创 Mac快捷键

个人笔记本设置,勿参考IDEA快捷键汇总:查看方法调用:ctrl+alt+f7全局查找:shift+win+f当前文件查找:ctrl+f当前文件替换:ctrl+h重构:shift+f6上一个方法:win+alt+↑下一个方法:win+alt+↓复制当前行:ctrl+d删除当前行ctrl+y剪切当前行:ctrl+x生成get\set\构造方法:win+entermac本...

2018-10-10 15:53:29 64

原创 组件替换数据查询模板

对原有代码进行升级改造或者组件替换时,一个基本原则是新老逻辑要一致。保证新旧逻辑最常用的手段肯定是线上流量验证最为稳妥,相同的入参,走完原组件逻辑之后,再走一遍新组件的逻辑,比较输出是否一致。但是实际情况中会遇到一种情况,要被替换的组件中包含一些外部依赖,例如需要从Redis中查询一些数据,从第三方介质获取一些信息等,这样可能由于两次查询的结果不一致导致最终新老组件对比的结果存在差异。针对这种情况...

2018-09-27 14:10:57 77

原创 组件化总结

此笔记仅为个人总结,适用特定场景,勿参考组件化的定义可以理解为:可配置、可扩展、可替换、代码去业务化(业务松耦合;行为驱动)、可以减少上线次数。隔离层:代码中难免会出现if重站的逻辑,但是要把这种无法规避的判断放在隔离层,不要影响核心逻辑的可读性。组件化零活开发的同时注意不要降低现有代码质量,千万避免为了组件化而组件化。当认准正确的道路上出现一个拦路虎的时候,不要轻易放弃这条道路,...

2018-09-26 21:01:34 118

原创 hashCode方法与equals方法

工作中编写代码的时候涉及到了重写equals方法和hashCode方法,一直都是重写equals方法时要重写hashCode方法,但是一直不知道原理,现在将学习到知识记录下来。(文章引用的JDK源码均为1.8版本)先来几个问题:1. hashCode和equals的作用都是什么?2. 为什么需要重写equals()方法?3. 为什么重写equals方法时需要同时重写HashCode...

2018-09-13 22:29:00 126

原创 final关键字用法总结

final关键字在java中,final的含义在不同的场景下有细微的差别,但总体上来说,它指的是“这是不可变的”。下面,结合例子简单记录下final关键字的用法场景1:当final修饰基本数据类型变量时, 一旦变量的值被初始化后, 则不允许被二次赋值 /** * 场景1: * 当final修饰基本数据类型变量时, 一旦变量的值被初始化后, 则不允许被二次赋值...

2018-08-31 09:54:54 411

原创 Redis密码相关知识总结

背景:工作中,生产环境的Redis集群都是无密码的,存在安全隐患,现在需要对Redis集群进行密码设置。相关工作总结如下:基础知识:requirepass:redis实例自身的连接密码,当客户端请求连接当前Redis服务器时,需要使用的密码masterauth:对于主从结构的redis集群,当主redis设置了连接密码时,需要在从redis上设置此密码。总结如下: 场...

2018-08-30 10:08:50 84

原创 业务通用化处理

当业务中出现新的需求A时,代码中我们经常这样写if(A){    action1();}并且A还出现在程序的各个地方if(A){    action2();}if(A){    actionn();}随着业务新需求类型的出现, BCDE,会面临需求的膨胀,代码会是如下的样子if(A or B){    action1;}if(C or D or E){    action2;...

2018-06-14 17:07:27 143

原创 Redis主从同步:全量同步 增量同步

日常工作中使用的Redis集群是一主多从的架构模型(如下图,主1+主2组成一套完整的数据),当主1发生宕机时,会切写到从(为了方便制作预案主1主2会同时切,分别切向从1从2作为新的主),此时面临的问题是主2没有宕机,如果直接写从2,那写进从2的数据会不会被主2重新覆盖(主2没有宕机)?针对以上问题引申出Redis主从同步的机制问题,学习了解后记录如下:Redis主从同步分为两种机制:全...

2018-06-06 21:28:16 6107

原创 Spring事务传播机制:UnexpectedRollbackException

异常堆栈:org.springframework.transaction.UnexpectedRollbackException: Transaction rolled back because it has been marked as rollback-only日常工作中遇到如上错误,总结如下:发生异常的场景描述:在使用Spring事务时,在一个事务A中又开了一个事务B(即存在嵌套事务),当...

2018-06-06 20:47:34 1319

转载 文章书籍链接汇总

积木设计理论: http://www.techug.com/post/chief-architect-talk-about-architect.html 九年双十一PDF:http://techforum-img.cn-hangzhou.oss-pub.aliyun-inc.com/1516614343703/AliDouble11.pdf项目重构之组件化:https://blog.csd...

2018-01-16 18:20:21 284

原创 Redis配置文件参考手册

Redis是一款开源的、高性能的键-值存储(key-value store),和memcached类似,redis常被称作是一款key-value内存存储系统或者内存数据库,同时由于它支持丰富的数据结构,又被称为一种数据结构服务器(data structure server)。编译完redis,它的配置文件在源码目录下 redis.conf  ,将其拷贝到工作目录下即可使用,下面具体解

2017-05-15 14:34:10 271

原创 Redis相关参数设置总结

在工作中,使用Redis时遇到一些问题,在此做一下总结:1. redis版本,低于2.8.22,有网络闪断全量复制的bug,解决办法应升级版本至2.8.24或者以上版本2. redis主机swap没有关闭,使用swap是性能杀手;3. repl-backlog-size过小,会导致主从节点拉复制失败,因为全量复制的时候,父节点的更新(应用更新,主动过期删除等)会临时存放在bac

2017-05-11 13:38:20 3107

原创 Redis命令之HGetAll性能问题解决方案

最近工作中,系统压测遇到一个性能瓶颈问题,通过最终排查,发现应用接口中使用了大量的Hgetall命令从Redis中查询数据信息,导致Redis单实例OPS达到秒钟7W次,Redis服务器CPU使用率达到上限,遇到性能问题。HGETALL key起始版本:2.0.0时间复杂度:O(N) where N is the size of the hash.返回 key 指定的哈希集中所有的...

2016-11-03 22:29:49 27466 14

原创 Redis主从之从Redis服务器Key不失效

大家在使用redis的时候,经常会用expire来设置key的过期时间,以为某个key到期就会马上清除。如果只是在单个redis(即一个主redis)下是没有问题的。但是如果为了实现读写分离,搭建了主从服务器,那么就会遇上从库Key不失效的问题了。(使用Redis3.2以后版本的同学请忽略,3.2之后的版本已不存在以下问题)场景重现:主: setex name 20 Johny从:

2016-09-14 18:10:12 4184

原创 对List进行多维度排序

在java中,如果要对集合对象或数组对象进行排序,需要实现Comparator接口以达到我们想要的目标。1 实体类package domain;/** * Created by Johny on 2016/8/31. */public class Student { /** * 学号 */ int id ; /** * 分数

2016-08-31 17:49:41 3200

原创 JVM堆内存结构分配

JVM的堆内存分为新生代(Young Generation)和旧生代(Old Generation)。新生代分为Eden区和Survivor区。Survivor区分为From Survivor和To Survivor。如图:从上图可以看出,新生代通常占JVM堆内存的1/3,因为新生代存储都是新创建的对象,比较小的对象,而老年代存的都是比较大的,活的久的对象,所以老年代占JVM堆

2016-03-30 17:16:33 4090

原创 ThreadPoolExecutor线程池使用介绍

// 线程池初始化 if (threadPool == null) { threadPool = new ThreadPoolExecutor(corePoolSize, maxPoolSize, keepAliveTime, TimeUnit.SECONDS,

2015-09-17 18:11:34 406

原创 Redis两种存储机制(持久化)的比较

Redis存储机制分成两种Snapshot 和 AOF。无论是那种机制,Redis都是将数据存储在内存中。       Snapshot工作原理: 是将数据先存储在内存,然后当数据累计达到某些设定的伐值的时候,就会触发一次DUMP操作,将变化的数据一次性写入数据文件(RDB文件)。         AOF 工作原理: 是将数据也是先存在内存,但是在存储的时候会使

2015-04-07 09:21:11 9335

原创 Redis的内存优化与对持久化机制的分析

通过对Redis支持的数据类型实现上的分析可以看出redis实际上的内存管理成本非常高,即占用了过多的内存,作者对这点也非常清楚,所以提供了一系列的参数和手段来控制和节省内存,我们分别来讨论下。常用内存优化手段与参数首先最重要的一点是不要开启Redis的VM选项,即虚拟内存功能,这个本来是作为Redis存储超出物理内存数据的一种数据在内存与磁盘换入换出的一个持久化策略,但是

2015-04-06 23:17:58 1778

原创 Redis常用数据类型

Redis最为常用的数据类型主要有以下五种:String  Hash  List  Set  Sorted set下面我们先来逐一的分析下这五种数据类型的使用和内部实现方式:String常用命令:set,get,decr,incr,mget 等。应用场景:String是最常用的一种数据类型,普通的key/value存储都可以归为此类,这里就不所做解释了。实现方式

2015-04-03 16:17:21 424

原创 Redis的发布/订阅(pub/sub)

发布订阅(pub/sub)是一种消息通信模式,主要的目的是解耦消息发布者和消息订阅者之间的耦合,这点和设计模式中的观察者模式比较相似。pub /sub不仅仅解决发布者和订阅者直接代码级别耦合也解决两者在物理部署上的耦合。redis作为一个pub/sub server,在订阅者和发布者之间起到了消息路由的功能。订阅者可以通过subscribe和psubscribe命令向redis serve

2015-04-03 14:50:23 701

原创 Redis的学习之管道

Redis的工作模式:请求响应式Redis是一个使用客户端/服务器模型(也被称作请求/响应协议)的TCP服务器。这说明通常来讲一个一个请求的实现有以下步骤:1.客户端发送请求到服务器,并从socket中以堵塞的方式读取服务器的响应数据。2.服务器对发动的命令进行处理并把响应数据发回客户端。环路时间RTT:  从客户端请求数据开始到收到服务器的响应数据

2015-04-03 12:47:52 597

原创 对Redis的理解总结

1. Redis是什么这个问题的结果影响了我们怎么用Redis。如果你认为Redis是一个key value store, 那可能会用它来代替MySQL;如果认为它是一个可以持久化的cache,可能只是它保存一些频繁访问的临时数据。Redis是REmote DIctionary Server的缩写,在Redis在官方网站的的副标题是A persistent key-value data

2015-04-02 15:00:01 6373 1

原创 Android中判断网络状态

package com.taobao.tae.buyingdemo.util;import android.content.Context;import android.net.ConnectivityManager;import android.net.NetworkInfo;public class NetWorkStateUtil { public static fina

2015-02-01 21:42:08 461

IT从业者健康指南

身体是革命的本钱,不要做一个拿命换钱的程序员。这个ppt从网上下载的,还不错。祝大家身体健康

2014-12-03

软件测试教程

软件测试详细资料,包括清华大学教师讲义完成一套。

2014-10-26

Java编程思想第四版完整中文高清版(免费)

Java编程思想第四版,高清版(中文)。Java编程思想第四版完整中文高清版(免费) 免积分下载。

2014-10-09

Java入门到精通pdf(共13章高清)

Java入门到精通pdf(共13章高清)。内含13章pdf和一个学习教材选材指导,带你快速熟悉Java开发架构。免费分享、传递的是快乐~~

2014-10-09

【程序员】75份速查表

75 份速查表,由 vikas 收集整理,包括:jQuery、HTML、HTML5、CSS、CSS3、JavaScript、Photoshop 、git、Linux、Java、Perl、PHP、Python、Ruby、Ruby on Rails、Scala、C#、SQLite、C++、C语言、Ubuntu、WordPress、Node.js、Oracle、NMAP、Mac OS X、Haskell、Unicode、PostgreSQL、Lisp、Matlab 等。

2014-10-10

Android全套入门+进阶 教材

Android实例与详解 Android网络开发技术实战详解 Android应用开发入门教程 经典版 Android最基本组成介绍 精通Android游戏开发

2014-10-03

Linux常用命令总结

包含大部分常用命令的详细讲解以及使用方法。传递开源,免积分分享

2014-10-05

Oracle非常全的学习总结

Oracle非常全的学习文档,免费分享给大家。内容比较丰富,适合参看

2014-10-07

Oracle初级学习官方文档(加密)

很不粗的Oracle学习文档,非常详细。免积分分享给大家。祝各位早日成神~

2014-10-07

JavaAPI开发文档中文版

Java开发文档,中文版。欢迎大家下载使用,免费分享给大家!

2014-10-07

[电子书][Android类]深入理解Android 卷1

深入理解Android 卷1 电子版 完整 清晰

2014-09-30

数据结构与算法分析_Java语言描述高清版(第2版)

数据结构与算法分析_Java语言描述高清版(第2版) 下载之后分享给想学习没有积分的朋友,祝大家成功。

2014-10-01

【Java的类何时加载】

发表于 2014-10-08 最后回复 2014-10-12

空空如也

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

TA关注的人 TA的粉丝

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