自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

卖辣椒也用券

位卑未敢忘忧国

  • 博客(45)
  • 收藏
  • 关注

原创 Docker部署apache superset

这里我选择手动下载rpm包,然后yum install *.rpm方式来安装。下载地址:https://download.docker.com/linux/centos/7/x86_64/stable/Packages/说明:因为我是Centos7.9的系统,所以下载地址如上。若你是其他系统,请选择自己对应的系统-可参考这个网页https://docs.docker.com/engine/install/。

2023-05-19 16:31:28 3175 3

原创 Centos7安装部署openLDAP并springboot集成openLDAP

springboot集成openLDAP

2022-12-02 17:56:46 1157 7

原创 Arthas 启动时无法获取java进程

一般来说java程序启动之后会在/tmp/hsperfdata_[用户名]目录下创建一个以该进程PID为名称的目录,该PID下放一些相关信息。jps就是去该目录去获取进程的。那我们cd /tmp/hsperfdata_root/(我用的root用户) 去看看,果然该目录没有对应PID的目录。由于我们是用systemctl方式启动的java程序,而不是直接java -jar方式启动,所以才出现这个问题。将PrivateTmp=true改为false。这看起来就是我们启动的进程。修改h.service文件。..

2022-08-15 19:12:01 11469 3

原创 【Systemctl 启动Java程序但开机未自启动问题】

Systemctl Java程序开机未自启动

2022-06-29 10:03:25 1561

原创 springboot application.properties @value中文乱码问题

先来说下application.properties(application.yml同理)优先级-从高到底:Jar包同级/configJar包同级classpath 根目录下/configclassath根目录中文乱码问题解决方法使用application.yml,将中文配置写道yml中。例子:email: title: XXX邮箱绑定有很多方式可以解决中文乱码问题,但无论从可维护性、可读性等方面来说这都是最佳的解决方案。使用yml格式时,@value无法自动跳转,可以下载插件s

2022-03-10 16:35:59 384

原创 登录时获取用户真实IP地址

登录时获取用户真实IP地址需求用户登录app时记录登录IP地址方案方案一服务端无代理,用户直接请求web服务可直接通过 httpServletRequest.getRemoteAddr() 获取真实IP方案二服务端一层Nginx代理,用户访问Nginx,Nginx转发请求至web服务在Nginx中配置 X-Forwarded-For,随后在程序中通过httpServletRequest.getHeader(“X-Forwarded-For”)进行处理 Nginx配置 loca

2022-02-23 11:26:50 3269

原创 Arthas——热替换

Arthas 热替换 就在昨天,一个运行多年的系统出问题了,一个关键的点没有日志打印,怎么办,替包? 不合适。 于是想到了Arthas的redefine支持加载.class文件。热替换步骤使用jad反编译并输出源码,命令如下: jad --source-only com.example.demo.arthas.user.UserController > /tmp/UserController.java使用vi 命令修改UserController.java文件使用

2021-01-14 16:57:18 4703 6

原创 基于spring cloud全家桶开发微服务

技术选项前两篇文章主要分析了微服务是什么,并且简单总结了前人使用微服务思想开发时所遇到的、提出的一些共性的问题,以及解决方案。大公司总是有自己的实践,虽说微服务思想是一致的,但是由于各自业务场景的不同(很大程度是因为不同的人开发的),各自都提出了自己的微服务解决方案。开源方案中主要是两类:1、spring cloud Netfix (国外奈飞开源的)2、spring cloud Alibaba(国内阿里开源的)比较起来,其实两个框架都是各自公司的工程实践,也没有什么优劣之分,阿里的方案中,有用

2020-12-28 23:13:59 174

原创 如何开发微服务

如何开发一个微服务架构的系统在上一篇文章中,我们分析了微服务的由来以及微服务所具备的一些共同特征。张三曾说过"知易行难",那么在了解了什么是微服务之后,我们应当如何来构建一个微服务系统呢?基于上一篇提到的微服务的一些特征,在这篇文章中,我们来分析一下。一、注册中心在单体应用中,我们几乎可以不考虑程序间的调用问题,但是在微服务的架构中,每一个服务的数量、甚至网络地址都是可以随时动态变化的。这时传统的服务间调用方式已经无法适应微服务的架构,必须有一个组件来对微服务进行管理,且其对外提供统一接口,使得调用

2020-12-20 18:05:44 935 1

原创 微服务是什么?

简单来说,微服务架构风格是一种将单个应用程序开发为一组小服务的方法,每个小服务都运行在自己的进程中,服务间通信采用轻量级通信机制(通常是restful api)这些服务围绕业务功能构建,并且可以通过全自动部署机制独立部署。这些服务基于一个集中化的管理,不同服务可以用不同的编程语言编写,并使用不同的数据存储技术。

2020-12-10 23:06:19 413

原创 Java内存模型与JVM内存结构

一、Java内存模型 先来看个图这个图把Hotspot的实现放到里边,技术不精,如果有问题,大家看到了请指正。Java内存模型中规定:所有变量都存储在主内存区域,不能直接操作变量,每个线程需要将变量从主内存load到自己的工作内存中进行计算,然后save到主内存中,这个图大概就是这个意思。Java内存模型(Java Memory Model)是一个逻辑上的概念,上面这个图中和多核CPU的操作系统一样,我们可以看出,多线程对一个共享变量的操作就会涉及到数据一致性问题。所以在编程的...

2020-11-25 17:13:43 110 1

原创 浅析epoll原理

当某一进程调用epoll_create方法时,Linux内核会创建一个eventpoll结构体

2020-11-11 12:03:42 168

原创 java.lang.NoSuchMethodError

文档上说这是因为你调用了一个不存在的方法,而且一般来说编译器就会帮你发现这个问题。但实际开发过程中,这个问题多数在运行期出现。为什么会有这个问题呢,还是因为在JVM中,程序无法找到被调用的方法。如果你已经引入了相应的包(确定该方法是存在的),那么基本上是由于JVM在加载类时,由于存在限定名相同的类,而导致加载了另一个类。 此时,你可以通过debug来跟踪到运行时调用的类,查看jvm中加载的是哪一个类, 然后调整pom.xml中依赖jar包顺序,将你需要引入的jardependency放到前...

2020-08-05 15:28:36 195

原创 JVM调优+性能测试——Arthas

Arthas是什么?官网(https://alibaba.github.io/arthas/index.html)是这么介绍的:Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: 1、这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 2、我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? 3、遇到问题无法在线上 debug,难道只能通过加日

2020-07-15 18:44:55 426

原创 Zookeeper——集群环境搭建

最近在看《从Paxos到Zookeeper分布式一致性原理与实践》这本书,项目中要用Zookeeper来做集群,先来记录一下集群环境的搭建。1、我们准备三台互相联网的Linux机器;(可以用VM创建3台虚拟机,系统镜像使用Centos7) CentOS7镜像下载地址:http://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-2003.iso附:VM安装后,网络适配器一般默认为NAT模式,如果创建...

2020-06-28 22:40:00 186

原创 读书日记-大话设计模式

读完了程杰写的大话设计模式这本书,怎么说呢,对我来说总体来说有点差强人意,或许是因为我对C#没兴趣吧,但作者在书中前几章写的挺好,读来还是令人振奋的, 所有软件设计人员都应该具备面向对象的设计思想,在设计架构前重温一遍设计模式。...

2020-06-18 23:18:57 112

原创 TCP状态转换图——简述11个状态

一个正常的HTTP请求抓包17:44:27.264730 IP 127.0.0.1.53566 > 127.0.0.1.60205: Flags [S], seq 875882869, win 43690, options [mss 65495,sackOK,TS val 12202nop,wscale 7], length 017:44:27.264741 IP 127.0.0.1.60205 > 127.0.0.1.53566: Flags [S.], seq 3015551023,

2020-06-14 16:24:03 847

原创 Linux-crontab定时任务

最近公司有个老项目,日志把磁盘打满了,导致业务出现问题,由于老项目中程序无法像log4j一样通过配置清除日志,所以准备写个清除日志的脚本,通过cron定时执行。1、清除日志脚本#!/bin/bashecho "###################################################################"echo "# read me ...

2020-05-15 17:53:59 201

原创 JVM调优+性能测试——3关于监控CPU内存单位问题

横轴是时间(可选相对时间、绝对时间),纵轴CPU、内存是显示的百分比。

2020-04-30 11:46:01 194

原创 Elasticsearch 可视化界面工具

想写这个文章很久了,一直以来都对查询ES数据的麻烦头痛不已,一直没有找可视化工具来使用,一方面是因为是在这之前没有很迫切的需要,另一方面请“原谅我这一生放纵不羁爱自由”,言归正传,接受两个可视化工具。一、elasticsearch-head界面比较老了,但是很简洁1、下载地址 :https://github.com/mobz/elasticsearch-head 如果很慢的话,可以复...

2020-03-04 18:46:49 5703 2

原创 java.Lang.LinkageError 错误分析

这不是一个Exception 而是一个Error。API里面是这么写的:Subclasses of LinkageError indicate that a class has some dependency on another class; however, the latter class has incompatibly changed after the compilati...

2019-12-05 19:43:51 774

原创 JVM调优+性能测试——2一次压力测试问题定位

今天有点空闲,便对程序作了一次压力测试。系统Centos7.6, jdk1.8,jvm配置:JAVA_MAX_PERM_MEM="256m" JAVA_MAX_MEM="256m", 使用JMetter做并发模拟。刚开始200个并发,程序OK,在大概13秒之内全部成功。当叠加到600个并发时,程序死掉了,http请求无响应,不出所料,有问题是正常的。接下来记录一下排查过程。首先拿到程序...

2019-06-03 10:51:43 1144

原创 JVM调优+性能测试——1(工具使用)

1、并发测试工具:Jmeter 下载地址:http://mirrors.shu.edu.cn/apache//jmeter/binaries/apache-jmeter-5.1.1.zip 使用方法:https://mp.csdn.net/postedit/892290592、JVM自带监控工具:j...

2019-06-03 10:47:42 988

原创 Jmeter HTTP并发测试使用简述

下载地址:http://mirrors.shu.edu.cn/apache//jmeter/binaries/apache-jmeter-5.1.1.zip1、如图:new thread Group,新建一个线程组2、Thread Group右键添加HTTP请求如图3、HTTP Request右键添加HTTP头信息4、HTTP Request右键添加CVS数...

2019-06-03 10:46:22 177

原创 kafka config参数配置简要说明

#kafka参数配置#等待所有的replicas都响应后才返回响应,可靠性最高,但会降低吞吐率acks=all#发生Retriable exceptions可重试异常时,重试发送消息次数,最大为Integer.MAX_VALUE(这些重试与客户端接收到发送错误时的重试没有什么不同。允许重试将潜在的改变数据的顺序)retries=0#生成这批量发送的基本单位,默认16384Byte,即1...

2019-04-16 17:45:58 4321

原创 使用log4j2出现的麻烦

之前使用的log4j框架做日志实现, 这两天项目要求切换成slf4j+log4j2。 问题就随之而来。。。。。。。。。。。。。代码编译报错如下:[ERROR] Bundle com.demo:cpa-bundle:bundle:0.0.1-SNAPSHOT : Exception: java.lang.ArrayIndexOutOfBoundsException: 19[ERROR] ...

2019-01-17 14:59:26 1297

原创 log4j将指定类或包输出到一个指定文件

最近项目中用到kafka消息队列,但有个麻烦的问题,就是当kafka宕掉的时候,消费者去取消息就会不断抛警告异常:Connection to node -1 could not be established. Broker may not be available.导致日志文件很大。出现了几次这种情况,所以考虑将kafka异常日志打到一个独立的日志文件中。修改properties配置即可,新增...

2018-12-29 17:56:58 1092

原创 rabbitMq入门一Hello World

官网教程地址:http://www.rabbitmq.com/getstarted.html最近项目中要用到MQ消息队列来传输数据,花时间研究了一下rabbitMq,写一点东西。希望对学习mq的同学有点帮助。在这里说明下,rabbitMq广播消息是实时的,也就是说当你的消费者启动比生产者晚的时候,你需要考虑使用rabbitMq的工作队列或者别的消息处理工具来处理。1、安装rabbitM...

2018-12-22 18:11:12 693

原创 OSGi bundle之间通过反射调用方法

两个bundle之间不通过pom文件引入jar包方式调用另一个方法,通过反射的方式调用。前提:被调用的方法的bundle需要配置  <Export-Package> 要提供的被引用的包</Export-Package>调用方需要配置 <Import-Package>引入的包名,多个可通过,隔开</Import-Package>如此便可以通...

2018-10-08 20:29:34 931

原创 maven 由于传递依赖导致的引入低版本jar包导致classnotfind异常问题解决

maven导入jar包时,可能由于不同jar包之间依赖了不同版本的另外的jar包,会导致classnotfind异常。举个我遇到的例子:        <dependency>            <groupId>org.glassfish.jersey.containers</groupId>            <artifactI...

2018-10-08 20:14:35 4360

原创 eclipse首次上传代码到gitlab

总体来说:第一步先将远端git库下拉到本地git库(通过eclipse import导入时会提示新建本地git库),第二部将要上传的项目放到git本地库目录下,第三步把项目导入eclipse, 最后便可以通过eclipse提交代码到远端git。具体步骤如下:1、eclipse中import->git-> projects from git, 输入远端的git库地址(例:ht...

2018-09-28 17:44:36 1660

原创 基于OSGi框架的Eclipse开发环境搭建

Maven+Apache Karaf+Felix\Equion+Jersey+Netty1、概念Apache Karaf: Karaf是2001年Apache旗下的一个开源项目.Karaf同时也是一个基于OSGi的运行环境,Karaf提供了一个轻量级的OSGi容器。可以用于部署各种组件,应用程序.Karaf提供了很多特性用于帮助开发者和用户更加灵活的部署应用,例如:热部署,动态配置,几种日...

2018-09-08 20:57:29 2087

原创 Plugin execution not covered by lifecycle configuration: org.apache.karaf.tooling:karaf-maven-plugin

Plugin execution not covered by lifecycle configuration: org.apache.karaf.tooling:karaf-maven-plugin:4.2.0:verify (execution: default-verify, phase: compile)3 quick fixes available.Discover new m2e ...

2018-09-08 20:17:42 4649

原创 如何把github上下载下来的源代码zip文件打成jar包

安装好maven库和JDK,配好环境变量。不需要 eclipse , 只需要执行一个命令就可以了,打开命令提示符窗口,进入到源码所在目录,执行命令mvn package等待编译打包完成,在 target 目录下就可以了找到 jar 包了。...

2018-07-12 22:47:07 20322 3

原创 maven中央仓库中不存在的jar包时解决方法

实际开发中可能遇到中央仓库中没有的jar包(如oracle的jdbc包由于版权原因,中央仓库没有),此时该如何处理呢?1、网上下载对应版本的jar包;2、导入本地仓库;命令如下mvn install:install-file --settings D:\Java\Repository\settings.xml -Dpackaging=jar -DgroupId=com.oracle -Darti...

2018-07-11 23:16:21 5313

原创 Java面试中常见问题

1、基础部分:https://blog.csdn.net/jackfrued/article/details/173393932、简述java中的集合类,并说明hashMap的原理。3、 简述自己对spring的理解;4、有没有遇到过高并发的情况,如何解决?5、写一个冒泡排序算法;6、数据库查询:左连接,内连接、完全连接区别。7、数据库Sql 去重,只保留一条数据。(例:同一个表中由于建表时未设主...

2018-07-07 20:31:50 190

原创 Java基础部分——List

List是有序的,元素可以重复。常见方法:增:add();删:remove();改:set(index, element);  第一个参数为下标,第二个参数是要替换成的元素。 即将将index下标位置元素替换为第二个参数内容。查:get(index);    Iterator()迭代, ListIterator();Iterator与ListIterator区别:都可以在迭代时对List进行操作,...

2018-06-20 23:04:55 101

原创 java基础部分——集合类概述

1、为什么出现集合类?方便对多个对象的操作,对对象进行存储。2、数组和集合类都是容器,有什么不同?数组可以存储对象,但其长度是固定的;  集合长度是可变的。数组中可以存储基本数据类型,集合只能存储对象。总结来说:集合只用于存储对象,集合长度可变,集合可以存储不同类型的对象。3、集合类的接口是Collection。List和Set都是Collection的子接口。4、对数据的存储方式称为:数据结构。...

2018-06-19 23:38:54 193

原创 每日一句

Philosophers only explain the world in different ways, but the problem is changing the world.1、The great pleasure in life is doing what people say you cannot do.     人生最大的快乐是做到别人认为你做不到的事情。  ——6月18日2、Y...

2018-06-18 22:27:16 1331

原创 Java基础部分——关于String类

     Java提供了String类来创建操作字符串。 String类的值一旦创建便不能改变,每次更改都会new一个新的String对象。一、常用构造函数:1、String()初始化一个新创建的String对象,使其表示一个空字符序列。2、String(byte[] bytes)通过使用平台的默认字符集解码指定的byte 数组,构造一个新的 String。3、String(byte[] byte...

2018-06-16 23:44:47 133

空空如也

空空如也

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

TA关注的人

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