自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 资源 (2)
  • 收藏
  • 关注

原创 垃圾回收算法梳理

4.jvm调优1. 常见问题1.1 内存泄漏内存泄漏一般可以理解为系统资源(各方面的资源,堆、栈、线程等)在错误使用的情况下,导致使用完毕的资源无法回收(或没有回收),从而导致新的资源分配请求无法完成,引起系统错误。整个JVM内存大小=年轻代大小 + 年老代大小 + 持久代大小,目前来说,常遇到的泄漏问题如下:年老代堆空间被占满 年老代堆空间被占满 异常: java.lan...

2019-11-20 15:55:04 187

转载 Java中HashMap底层实现原理(JDK1.8)源码分析

这几天学习了HashMap的底层实现,但是发现好几个版本的,代码不一,而且看了Android包的HashMap和JDK中的HashMap的也不是一样,原来他们没有指定JDK版本,很多文章都是旧版本JDK1.6.JDK1.7的。现在我来分析一哈JDK1.8的HashMap及性能优化。在JDK1.6,JDK1.7中,HashMap采用位桶+链表实现,即使用链表处理冲突,同一hash值的链表都存储在...

2019-11-01 17:13:36 175

转载 炒股的最高境界:炒股就是炒心态,耐心看完受益匪浅!

其实炒股也是分为很多境界的,像我们大多数投资者可能还停留在最低级别的境界当中,那么炒股最高境界是什么?“不以涨喜,不以跌悲”这就是炒股的最高境界,也就是我们常说的心态!有很多人炒了很多年股,他们一般认为如何在能在市场中赚到钱呢?有人说资金量多,有人说技术面分析,其实都不是,最重要的就是心态!有一个良好的心态对于我们投资者在市场当中,可谓是如鱼得水!因此在你学会如何炒股之前,你应该先学会...

2019-10-21 11:03:44 2336 1

转载 如何优化 Java 代码

让代码性能更高需要 Map 的主键和取值时,应该迭代 entrySet()当循环中只需要 Map 的主键时,迭代 keySet() 是正确的。但是,当需要主键和取值时,迭代 entrySet() 才是更高效的做法,比先迭代 keySet() 后再去 get 取值性能更佳。反例:Map<String,String>map=...;for(String...

2019-10-08 17:07:17 170

转载 java中什么样的对象能够进入老年代

1.大对象:所谓的大对象是指需要大量连续内存空间的java对象,最典型的大对象就是那种很长的字符串以及数组,大对象对虚拟机的内存分配就是坏消息,尤其是一些朝生夕灭的短命大对象,写程序时应避免。2.长期存活的对象:虚拟机给每个对象定义了一个对象年龄(Age)计数器,如果对象在Eden出生并经过第一次Minor GC后仍然存活,并且能被Survivor容纳的话,将被移动到Survivor空间中,并...

2019-10-08 16:18:08 2804 1

原创 Java 计算两点坐标距离

public static void main(String[] args) { System.out.println(distance_format(getDistance(120.170478,30.273065,120.270478,30.173065,1,2))); } /** * 计算两点地理坐标之间的距离 * @param D...

2019-08-01 15:52:01 5575

转载 RocketMQ在windows环境下的安装

原博地址:https://www.jianshu.com/p/4a275e779afa一.预备环境1.系统 Windows2.环境 JDK1.8、Maven、Git二.RocketMQ部署1.下载1.1地址:http://rocketmq.apache.org/release_notes/release-notes-4.2.0/...

2019-07-25 19:26:47 402

转载 Linux上安装fastdfs与使用

第一步:先把要用的安装包上传到Linux上第二步:安装FastDFS之前,先安装libevent工具包。命令:yum -y install libevent第三步:安装libfastcommonV1.0.7工具包。1)解压libfastcommonV1.0.7工具包2)进行编译(命令:./make.sh)...

2019-07-25 16:44:38 261

原创 SpringBoot 2.1.5 pom.xml Unknown 错误

解决方法:1、pom文件添加<properties> <maven-jar-plugin.version>3.1.1</maven-jar-plugin.version> </properties>2、降低版本改成2.1.1重新update下就可以了...

2019-07-04 17:09:59 456

转载 SpringBoot启动源码探究----configureHeadlessProperty()方法

该方法只做了一件事:设置了一个名为java.awt.headless的系统属性,源码如下:private void configureHeadlessProperty() { System.setProperty(SYSTEM_PROPERTY_JAVA_AWT_HEADLESS, System.getProperty( SYSTEM_PROPERTY_JAVA_AW...

2019-06-18 17:15:54 3017

原创 SonarQube7.7安装遇到的问题

2台阿里服务器,系统版本A:Linux version 3.10.0-693.2.2.el7.x86_64 ([email protected]) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) ) #1 SMP Tue Sep 12 22:26:13 UTC 2017B:Linux version 3...

2019-05-16 17:21:24 1635

原创 使用Maven管理项目时,明明本地仓库有对应的jar包,但还是报找不到

使用Maven管理项目时,如果连不到远程仓库,但是明明本地仓库有对应的jar包,此时还是报找不到对应的包的原因,是maven3.x版本在从远程仓库下载资源后,会生成对应的_remote.repositories文件,标示该资源的来源,如果你有这个文件_remote.repositories,那就不会访问本地了,必须远程上有才行,否则就会报错。解决方法是将_remote.repositories...

2019-04-11 19:07:38 7934 3

原创 Java文件流“java.io.IOException: Stream closed”异常解决

在项目开发中,今天也碰到类似的情况。因为同事流关闭顺序问题导致异常的情况。初学者在Java的io流操作中往往最容易忘记的就是处理完之后流的关闭,但是好不容易记起来了,却又出现java.io.IOException: Stream closed的异常,现在以记事本案例来演示此问题。该异常提示“流”已经关闭,但是我们观察源代码,发现我们打开了两个流,之后关闭这两个流,但为什么提示流已经关闭...

2019-03-04 17:00:07 6972

转载 记一次JVM老生代增长过快问题排查

版本上线后,观察了几天,程序猿发现一个异常现象,之前一直非常平稳的JVM老生代突然在上线后以有了明显的增长,而且是持续的增长。于是开始了这次老生代过快增长的问题排查......揪出导致老生代快速增长的对象分析内存对象先得找个好用的工具,唯品会开源的JVM工具箱vjtools是个不错的选择,可以将JVM新老生代的各个对象实例个数和大小的Histgram打印出来。想看出老生代里是什么对象在...

2019-01-25 17:38:15 5229

原创 通过脚本启动tomcat

#defineTOMCAT_HOME=/usr/local/tomcatAPP_NAME=$1if [ ! -n "$APP_NAME" ];then   echo "请提供要重启的tomcat应用,app|admin|dbhandler|dbwatcher|task|wordfilter|job"   exit 1;fi#shutdown tomcatecho "*ShutD...

2018-12-04 14:35:00 540

原创 elasticsearch6.1.2安装中文分词插件IK analyzer

 1.首先我们需要到GIT中上下载对应的安装包输入如下网址可以看到很多IK的安装包,这边我们第选择一个  https://github.com/medcl/elasticsearch-analysis-ik2.进入我们的es的目录下,软是我的文件根目录 cd/soft/ elasticsearch- 6.2.2/ plugins①git克隆到插件目录下 git clone http...

2018-11-23 11:33:58 258

转载 elasticsearch中client.transport.sniff的使用方法和注意事项

(1)通过TransportClient这个接口,我们可以不启动节点就可以和ES集群进行通信,它需要指定ES集群中其中一台或多台机的IP地址和端口,例子如下:Client client = new TransportClient() .addTransportAddress(newInetSocketTransportAddress("host1", 9300...

2018-11-22 17:44:00 6756 1

转载 centos 7.3 开放端口并对外开放

1.查看已打开的端口#netstat -anp  2.查看想开的端口是否已开#   snmantec -cmd --query-port = 666 / tcp 若此提示FirewallD未运行  表示为不可知的防火墙  需要查看状态并开启防火墙 3.查看防火墙 状态#systemctl status firewalld running状态即防火墙已经开启 死状态即防火墙未开启 4。开启防火墙...

2018-11-21 10:55:46 272

转载 Maven的本地仓库、中心仓库、私服

本地仓库设置本地仓库到指定目录,而不使用Maven默认的配置(默认放在C:/user/m2.目录下)打开Maven的解压目录E:\soft\apache-maven-3.1.0\conf,修改settings.xml配置localRepository即可完成本地仓库的设置: &lt;localRepository&gt;E:/repository/maven/repos&lt;...

2018-11-20 16:42:23 512

原创 rvm,ruby的安装

针对redis集群 ruby版本要求2.2.2以上安装rvm# curl -L get.rvm.io | bash -s stable % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload...

2018-08-15 11:16:48 716

原创 Redis分布式锁

可靠性首先,为了确保分布式锁可用,我们至少要确保锁的实现同时满足以下四个条件:互斥性。在任意时刻,只有一个客户端能持有锁。 不会发生死锁。即使有一个客户端在持有锁的期间崩溃而没有主动解锁,也能保证后续其他客户端能加锁。 具有容错性。只要大部分的Redis节点正常运行,客户端就可以加锁和解锁。 解铃还须系铃人。加锁和解锁必须是同一个客户端,客户端自己不能把别人加的锁给解了加锁代码...

2018-08-09 11:09:03 112

转载 系统性能统计(CPU占用率,内存占用率,系统平均负载)

1、获取cpu占用情况[root@localhost utx86]# top -n 1 |grep CpuCpu(s): 1.9%us, 1.3%sy, 0.0%ni, 95.9%id, 0.6%wa, 0.1%hi, 0.2%si, 0.0%st解释:1.9%us是用户占用cpu情况1.3%sy,是系统占用cpu情况2、获得内存占用情况[root@localhost utx86]# ...

2018-07-31 16:52:54 9009

转载 Tomcat实战-调优方案

Tomcat的默认配置,性能并不是最优的,我们可以通过优化tomcat以此来提高网站的并发能力。提高Tomcat的性能可以分为两个方向。服务器资源服务器所能提供CPU、内存、硬盘的性能对处理能力有决定性影响,所以说服务器性能牛B,Tomcat也不会太差。当然提高服务器的硬件配置,是需要大量RMB的支持的。所以不到万不得已不会采用这种方式,一般公司会采取下面这种通过优化配置,来提升Tomca...

2018-07-31 14:39:08 182

原创 Nginx配置文件详细说明

Nginx服务器nginx.conf的配置文件说明,网络收集.#运行用户user www-data;    #启动进程,通常设置成和cpu的数量相等# 总核数 = 物理CPU个数 X 每颗物理CPU的核数# 查看物理CPU个数 #cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l# 查看每个物理CPU中core的个数...

2018-07-30 17:27:30 130

转载 tomcat调优方案

 前段时间参加面试,面试过程中提到服务器的调优方案,这里总结一下。         首先说一下tomcat的调优方案:       Tomcat本身的优化,Java虚拟机调优,Tomcat 优化分为系统优化,接下来一个个介绍:          一、Tomcat本身的优化     Tomcat 的自身参数的优化,这块很像 ApacheHttp Server。修改一下 x...

2018-07-25 18:01:16 188

原创 项目中JAVA_OPTS配置各个参数含义

项目中tomcat设置java_opts:JAVA_OPTS="$JAVA_OPTS -server -Xmx512m -Xms512m -Xss256K -XX:NewRatio=2 -XX:SurvivorRatio=6 -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemar...

2018-07-20 17:02:25 19221

原创 kibana介绍

1、kibana简介Kibana是一个开源的分析与可视化平台,设计出来用于和Elasticsearch一起使用的。你可以用kibana搜索、查看、交互存放在Elasticsearch索引里的数据,使用各种不同的图表、表格、地图等kibana能够很轻易地展示高级数据分析与可视化。Kibana让我们理解大量数据变得很容易。它简单、基于浏览器的接口使你能快速创建和分享实时展现Elasticsea...

2018-07-18 17:59:55 1321

转载 布隆过滤器(Bloom Filter)原理以及应用

布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除困难。hash原理Hash (哈希,或者散列)函数在计算机领域,尤其是数据快速查找领域,加密领域用的极广。其作用是将一个大的数据集映射到一个小的数据集上面(这...

2018-07-12 17:05:24 698

转载 Java多线程-线程池ThreadPoolExecutor构造方法和规则

为什么用线程池博客地址 http://blog.csdn.net/qq_25806863原文地址 http://blog.csdn.net/qq_25806863/article/details/71126867有时候,系统需要处理非常多的执行时间很短的请求,如果每一个请求都开启一个新线程的话,系统就要不断的进行线程的创建和销毁,有时花在创建和销毁线程上的时间会比线程真正执行的时间还长...

2018-06-01 14:58:50 295

转载 SpringMVC支持可版本管理的Restful接口

需求移动互联网时代的到来,软件开发的模式也在变化。记得以前做B/S的后台开发,基本上没有Http接口一说,全部是通过渲染模板技术(jsp,freemark)把最终html展示给最终用户。现在完全变了,基于后台接口提供方,我们从来不是针对只是浏览器展示的后台输出,而是各种终端,比如android,ios。所以设计接口的时候一定要小心,一旦放出去的接口可能就永远都难以变动(除非你强制客户端用户升级)。...

2018-05-17 16:18:17 344

原创 Shell 运行 jar包

结构目录 :lib 存放其它依赖jar包test.jar与lib目录同级start.sh文件echo "Test OSS elapsed time"PWD=`pwd`echo $PWDfor i in $PWD/lib/*;do CLASSPATH=$CLASSPATH:$idoneexport CLASSPATH=$CLASSPATH:$PWD/test.jarecho $C...

2018-05-15 16:08:17 2245

原创 Java通过phantomjs实现html截图

功能: 实现是卡片分享的功能开始技术选型选的是DJNativeSwing,但是windows是可以使用,发布到linux就不行了。虽然参照前辈方法进行解决,还是一直报org.eclipse.swt.SWTError:No more handles [gtk_init_check() failed]异常。在长时间未解决这个问题。只好一、服务器安装 phantomjs 工具    1、解压安装包pha...

2018-05-15 15:48:31 4050 1

原创 Java代码获取Nginx代理中真实IP地址

Java代码:public static String getClientIp(HttpServletRequest request) {        String ip = request.getHeader("X-Forwarded-For");        if (!StringUtils.isEmpty(ip) &amp;&amp; !"unKnown".equalsIgnoreCas...

2018-05-15 14:43:21 8594 1

转载 Nginx配置upstream实现负载均衡

假设Nginx没有只只能代理一台服务器的话,那它也不可能像今天这么火。Nginx能够配置代理多台服务器。当一台服务器宕机之后。仍能保持系统可用。详细配置步骤例如以下:1. 在http节点下,加入upstream节点。upstream linuxidc {       server 10.0.6.108:7080;       server 10.0.0.85:8980; }  2.  将serve...

2018-05-15 11:39:26 309

转载 common-io-2.0的新功能之文件监控FileAlteration

文件监听中有java自带的fileOberver和fileOberverable这两个通过观察者模式进行监听,例如:在主程序中ResolveFileObserver fileObserver = new ResolveFileObserver(PATH); fileObserver.startWatching();其中ResolveFileObserver 是实现FileObserver类...

2018-05-08 11:19:26 486

转载 Charles抓包https接口指南

http://www.jianshu.com/p/03f93982d45f

2018-05-03 17:08:45 488

原创 开发工具lombok插件的安装使用

lombok能够达到的效果就是在源码中不需要写一些通用的方法,但是在编译生成的字节码文件中会帮我们生成这些方法。1、lombok功能点 https://projectlombok.org/features/all?spm=a2c4e.11153940.blogcont59972.9.2aeb6d32Yx0oEC2.        开发工具lombok插件安装idea:在插件中查找,直接安装ecli...

2018-04-02 17:03:58 345

转载 elasticsearch max virtual memory areas vm.max_map_count [65530] is too low, increase to at le

具体错误信息如下:jiankunking@ubuntu:~/software/elasticsearch$ ./bin/elasticsearch[2017-03-23T18:14:05,880][INFO ][o.e.n.Node ] [] initializing ...[2017-03-23T18:14:06,151][INFO ][o.e.e.Node...

2018-01-18 17:39:52 1279

转载 Jenkins进阶系列之——10Publish Over SSH插件

说明:这个插件可以通过ssh连接其他Linux机器官方说明:Publish Over SSH安装步骤:系统管理→管理插件→可选插件→Artifact Uploaders→Publish Over SSH 系统设置(所有的高级全部展开)公共配置:Passphrase:密码(key的密码,如果你设置了)Path to key:key文

2017-11-02 10:23:39 183

转载 Nginx图片处理

最近准备用nginx搭建了一个图片服务器,看中的就是nginx超强的静态文件处理能力。由于图片量比较大,和web服务器(也是nginx)分开运行,虽然web服务器调用图片没用问题,但毕竟是远程调用,肯定没有本地文件系统那么快,因此仍然有优化的空间。使用前的nginx配置12345location ~*

2017-09-05 11:11:50 1104

redis命令缓存AOP代码

包含HashMap List Set SortedSet String 等多个redis命令操作

2018-10-09

digester用法测试案例

资源为Digester的xml解析应用案例,

2016-02-24

空空如也

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

TA关注的人

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