自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一树的花开

相信你所相信的,并为之而不懈努力.

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

原创 ElasticSearch学习笔记

ES的单机版安装部署 HEAD插件的安装部署 ES的集群安装部署 ES介绍与配置 ES配置Java客户端 ES的API操作

2018-11-05 20:36:41 231

原创 如何通过Java代码将JsonArray转化为list集合

在开发中有时候我们有时候会将JSONArray转化为list的需求JSONArray jsonArray  =  [{"colName":"2017年01月","addNum":"539","totalNum":"8395"},{"colName":"2017年02月","addNum":"447","totalNum":"8888"},{"colName":"2017年03月","addNu

2017-06-16 09:59:30 33041 2

原创 SpringBoot项目集成SpringRetry进行接口重试

为什么要做接口重试?业务系统服务调用第三方系统的接口,以及第三方系统调用业务系统的服务时,当出现网络异常或超时导致的失败,需要进行重试,确保接口的可靠性重试机制:不允许重试:只允许调用重试回调一次不限次数重试:允许无限重试,直到成功,此方式逻辑不当会导致死循环固定次数重试:默认重试最大次数为3次,默认使用的策略超时时间重试策略:默认超时时间为1秒,在指定的超时时间内允许重试异常重试:针对不同异常的设置不同的重试策略,类似组合重试策略最佳实践–SpringRetry添加依赖 &

2020-11-30 16:49:13 621

原创 Java线程池的使用

为什么要使用线程池?线程的创建需要开辟虚拟机栈,本地方法栈、程序计数器等线程私有的内存空间。在线程的销毁时需要回收这些系统资源,频繁的创建和销毁线程会浪费大量的系统资源。如何创建线程池?《阿里巴巴Java开发手册》中强制线程不允许使用Executors显示创建线程,而是使用TreadPoolExecutor的方式,这种创建方式会明确线程池的运行规则,避免资源耗尽的风险。TreadPoolExecutor 一共有四个构造方法,参数最多的方法有7个参数。 public Threa

2020-07-05 17:17:11 447

原创 上传本地项目至远程仓库

Command line instructionsGit global setupgit config --global user.name "aaa"git config --global user.email "[email protected]"Create a new repositorygit clone [email protected]:XXX/xxx.gitcd znyj-servertouch README.mdgit add README.mdgit commit -m

2020-06-24 14:13:33 329

原创 Redis学习笔记(一)

Redis官网:https://redis.ioRedis中文官网:http://www.redis.cn下载源码在服务器上直接使用wget命令安装,最新版下载地址:http://download.redis.io/releases/redis-5.0.7.tar.gz[root@activemq redis-5.0.7]# wget http://download.redis.i...

2020-03-05 17:13:34 184

原创 ActiveMQ集群搭建提供高可用和负载均衡服务

ActiveMQ集群方式master和broker集群 高可用 负载均衡 Master/Slave(主从) 是 否 broker cluster 否 是 结合上面的情况,如果说要搭建高可用和负载均衡服务,需要结合Master和Broker两种集群方式.节点B、C和A之间搭建broker集群方式,B和C搭建主从集群.当节点B...

2019-11-15 23:22:09 344

原创 JDK8新特性之lambda表达式

Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性。使用 Lambda 表达式可以使代码变的更加简洁紧凑。在实际工作中我一般会使用lambda表达式将集合根据某个条件过滤,分组,排序,转为map.基础代码 List<Person> list = new ArrayList<>(); list...

2019-09-27 16:56:39 216

原创 JVM内存结构(二)

运行时数据区(规范规定)程序计数器 :Java支持多线程同时执行,每个线程都有自己的PC Register,线程正在执行的方法叫做当前方法,如果是java代码,PC Register里面存放的就是当前正在执行的指令地址,如果是C代码,则为空。虚拟机栈JVM Stacks:线程私有的,它的生命周期与线程相同。虚拟机栈是描述的Java方法执行的内存模型:每个方法在执行的同时会创建一个栈帧,用...

2019-08-04 22:55:24 138

原创 SpringBoot项目集成Redis

现在springboot项目集成组件都很方便,一般不外乎几个步骤,引入依赖,添加配置,就可以直接使用。引入Maven依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-r...

2019-07-25 15:44:05 301

原创 Redis命令学习

通用命令 连接服务端的命令 redis-cli -h ip -p port -a passwordredis-cli -h 127.0.0.1 -p 6379 -a 123456GETSET 命令自动将key对应到value并且返回原来key对应的value。如果key存在但是对应的value不是字符串,就返回错误此命令可以用于redis实现分布式锁。127.0.0.1:...

2019-07-24 17:59:49 275

原创 JVM内存结构(一)

JVM架构Class Loader :依据特定格式加载class文件文件到内存。Execution Engine:对命令进行解析Native Interface:融合不同原生语言(C/C++)为JAVA调用,标记为native的方法。Runtime Data Area:运行时数据区,JVM内存结构模型。类从编译到执行的过程编译器将Test.java文件编译为Test.cla...

2019-07-20 16:46:30 157

原创 Linux系统下基于JDK命令行工具的监控-jstat

命令显示Java HotSpot VM的性能统计信息。目标JVM由其虚拟机标识符或vmid选项标识。可以显示的信息-classoption 类加载信息 -compileroption 编译信息-gcoption 垃圾回收信息-gccapacityoption 堆内存信息-gcnewoption 新生代回收信息-gcnewcapacityoption...

2019-07-13 13:40:54 295

原创 Linux系统下基于JDK命令行工具的监控-jinfo

查看JVM参数的工具 jinfo[root@xtpt-cs-app ~]# jinfo -helpUsage: jinfo [option] <pid> (to connect to running process) jinfo [option] <executable <core> (to connect ...

2019-07-13 09:57:59 207

原创 Synchronized 关键字学习笔记(二)

多线程访问同步方法的7种情况.两个线程访问同一个对象的同步方法 串行,同一个对象锁是同一把.即对象锁的方法锁.两个线程访问两个对象的同步方法 并行,两个对象,不同的实例,锁对象不一致.两个线程访问Synchronized 修饰的静态方法 串行,Synchronized 修饰的静态方法是类级别的,即便是多个对象也是同一把锁.同时访问同步方法和非同步方法 ...

2019-06-07 15:32:57 123

原创 Synchronized 关键字学习笔记(一)

作用:能够保证在同一时刻最多只有一个线程执行该代码,以保证并发效果的安全.个人理解:Synchronized 修饰的代码就相当于加了一把锁,当多线程访问时,当前线程没有获取到锁对象,就不会执行那段代码.防止并发.锁的方式有两种 对象锁 和 类锁 . 对象锁是对于实例出来的同一个对象来说.类锁是对于类来说的,实例出来多个对象,类锁一样有用.如果说实例出来两个对象,使用对象锁有可能还是会有...

2019-06-07 15:12:14 162

原创 根据图片绝对地址获取图片格式的Byte数组或者PDF的Byte数组

获取InputStream流对象方法public static byte[] getImgByte(String url){ byte[] obj = null; CloseableHttpClient httpclient = HttpClients.createDefault(); HttpGet httpGet = new HttpGe...

2019-05-08 15:43:40 1554

原创 使用Maven的deploy命令上传第三方jar到本地私服

在maven的settings.xml里面配置 <mirror> <id>nexus-releases</id> <mirrorOf>*</mirrorOf> <url>http://IP:8081/repository/maven-public...

2019-04-04 10:25:16 2554

原创 Oracle导入导出dmp文件

方式一:命令行导出命令exp STANDARD_TEST/password@IP:1521/orcl file=/home/oracle/test.dmp INDEXES=n STATISTICS=none 导入命令imp STANDARD_TEST_IN/password@IP:1521/orcl file=/root/db_bak/TEST.dmp fromuser...

2019-02-26 13:54:39 1579

原创 Windows10系统更新Idea里面的git用户名和密码

  公司git账号绑定域名,修改密码后,git认证失败. Authentication failed for 'http://pl.git.sss.com/Group/api.git/'控制面板-&gt;用户帐户-&gt;凭据管理器-&gt;Windows凭据 ...

2019-02-13 10:16:10 715

原创 Docker使用手册

Docker概述Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。Docker原理图Docker E...

2019-01-14 19:45:08 666

原创 Oracle学习笔记

/*查询所有用户*/select * from dba_users;/*查询所有表空间*/select * from user_tablespaces;/*创建表空间*/create tablespace tps_adcourt logging datafile 'tps_adcourt.dbf' size 100M autoextend on next 10M m...

2019-01-09 19:39:13 175

原创 Java语言客户端配置ElasticSearch

 首先看一张ES的架构图ES支持的客户端方式有两种,一种是基于http方式连接的restful API 端口 9200,还有一种是基于tcp方式连接的Transport方式端口 9300.ES提供多种语言的客户端  Java、Python、.NET、SQL 和 PHPJava REST Client [6.5] — other versionsJava API [6.5] — ot...

2018-12-29 11:14:57 808

原创 字符串格式化方法--String.format()

前言:有次面试的时候,面试官让我写个字符串连接的方法,我很耿直的使用"+"去连接.后来面试官问我有没有用过String.format().我心底想不一字符串的连接么,需要这么花哨吗?后来在源码里发现都是使用String.format()这个方法连接字符串.String.format有两种方式重载. public static String format(String...

2018-12-28 17:39:13 840

原创 记一次使用idea调用WebService服务,传入传出参数Base64加解密.

  需求:          业务系统与第三方系统交互,获取第三方系统的用户和组织信息,通过WebService调用,第三方系统提供服务,我们编写客户端代码进行调用.传入传出参数base64加密.  简介:       WebService是一种跨编程语言和跨操作系统平台的远程调用技术。 WebService平台技术:      XML+XSD,SOAP和WSDL...

2018-12-26 17:08:12 4439

原创 ElasticSearch的介绍、配置

官网          https://www.elastic.co/cn/products/elasticsearch简介       Elasticsearch 是一个分布式的 RESTful 风格的搜索和数据分析引擎,允许执行和合并多种类型的搜索 ( 结构化、非结构化、地理位置、度量指标 )搜索方式随心而变。       原型环境和生产环境可无缝切换;无论 Elasticsear...

2018-12-11 10:43:16 231

原创 ElasticSearch集群安装

ES集群安装比较简单,这里不再详细一步步描述.大致概述一下.主要是修改配置.将es的目录复制出来两份作为slave节点 将之前的es作为主节点,修改配置#指定集群名称cluster.name: csdn#节点名称node.name: master#是否为主节点node.master: true#绑定IPnetwork.host: 0.0.0.0修改slave节点的配...

2018-12-09 17:52:42 143

原创 ElasticSearch的Head插件安装

Head插件作用:提供界面化操作Es,基本信息查看,rest请求的模拟.下载地址       https://github.com/mobz/elasticsearch-head.git安装步骤       切换到安装目录下执行wget  https://github.com/mobz/elasticsearch-head.git解压     unzip master.zi...

2018-12-09 17:10:33 120

原创 SpringBoot项目集成SpringSession,使用redis实现会话共享.做到可配置.

  前提:公司开发产品,对接不同省份,一起开发,有些地方需要实现redis会话共享,有些地方是单机部署.可通过配置是否开启redis实现session共享. SpringBoot集成SpringSession实现会话共享:   主要是通过application.properties里面的spring.session.store-type=none参数配置.none单机版.redis会话...

2018-12-06 11:25:34 1344

原创 ES的单机版安装部署

下载地址       https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.2.tar.gz安装步骤       切换到安装目录下执行wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.2.tar....

2018-11-06 20:50:27 7682

原创 Linux命令学习

操作文件查找文件  查找根目录下所有已”.sh”结尾的文件  find  /  -name  *.sh  查找根目录下所有已”deafult.sh”的文件  find  /  -name  deafult.sh移动文件  移动文件到某个路径下.  mv /文件路径 /文件件路径复制文件     复制文件到某个文件下,重命名     cp /etc/nginx/conf....

2018-11-05 20:11:16 165

原创 Nginx配置重定向和转发,跨域问题解决.

项目前端采用nginx代理.后端有2个war包.分别访问2个数据库.端口分别为8030和8040前端请求URL路径包含history转发到8030,其余路由到8040.配置如下server { listen 8090; server_name 127.0.0.1; location /{ root ...

2018-11-05 20:03:01 10763

转载 数据结构与算法系列

数据结构与算法系列

2018-10-11 14:23:16 154

原创 SpringBoot项目集成Flyway进行数据库版本控制

Flyway是一款开源的数据库版本管理工具,它更倾向于规约优于配置的方式。第一步:pom.xml添加maven依赖&lt;!-- https://mvnrepository.com/artifact/org.flywaydb/flyway-core --&gt;&lt;dependency&gt; &lt;groupId&gt;org.flywaydb&lt;/groupId&gt;...

2018-07-21 23:37:54 2127

原创 (三)MySQL性能调优-SQL查询优化

如何获取有性能问题的SQL通过用户反馈获取存在性能问题的SQL(客户页面加载速度慢) 通过慢查询日志获取存在性能问题的SQL 实时获取存在性能问题的SQL执行SQL的过程客户端发送SQL请求给服务器 服务器检查是否可以在查询缓存中命中该SQL 服务器端进行SQL解析,预处理,再有优化器生成对应的执行计划 根据执行计划,调用存储引擎的API来查询数据 将结果返回给客户端M...

2018-07-21 22:55:04 301

原创 (二)MySQL性能调优-索引

B-tree索引B-tree索引的特点B-tree索引以B+树的结构存储数据(选择不同的存储引擎,实现不同)B-tree索引能够加快数据的查询速度.B-tree索引更适合进行范围查找.(顺序查找).使用场景全值匹配的插叙 匹配最左前缀的查询 匹配列前缀查询匹配范围值的查询 精确匹配左前列并范围匹配另外一列只访问索引的查询.使用限制如果不是按照索引最左列开始查找,则无法使用索引.使用索引时不能跳过索...

2018-07-08 20:08:27 293

原创 (一)MySQL性能调优-数据库结构优化

    对于Java开发人员来说,面试过程中,数据库方面的知识总会被问到.我们在工作中也会使用到数据库,关系型数据库主要有Mysql.Oracle.Sqlserver.这三种数据库在工作中都有用到.主要是将Sqlserver和Oracle迁移至Mysql.由于Mysql数据库开源免费所以使用的人越来越多.我会主要从几个方面来叙述Mysql数据库的性能调优.    影响数据库性能的因素:服务器硬件....

2018-07-08 16:29:04 290

原创 ssm框架调用存储过程(mysql数据库),maven管理项目

需求:本系统接收第三方系统发送过来的告警,当系统里面没有该告警时,新写出一条告警到alerttab,当有该告警时,将alerttab对应的告警信息写入alerthistab,告警表对应的该条信息删除.有该告警的时候,如果告警级别升高.则修改告警信息.1.创建存储过程DELIMITER $$drop PROCEDURE if exists AlertMapping;CREATE PROCEDUR...

2018-02-11 10:15:18 3374

原创 面试题目总结(一)

前言:面试题目总结主要记录我在面试过程中,面试官提出的问题.将这些问题整理起来希望下次能回答的更好.也希望能给予更多人回忆知识点,希望大家都能找到更好的工作.问题一:String,StringBuffer,StringBuilder的区别String:字符串常量,字符串长度不可变。StringBuffer,StringBuilder字符串变量,长度可以改变.String

2017-12-15 23:32:04 222

原创 SQL语句删除单表中的重复数据

在实际开发中,有时候数据表中会有重复数据,通过sql删除重复数据,保存单条数据(ID较小的那一条记录)需求:删除id为22.23条记录,保存18.19的记录这是通过单表模拟多表删除的操作.第一步:查询重复记录SELECT * FROM tdb_goods GROUP BY goods_name HAVING COUNT(goods_name)>=2;第二步:

2017-12-14 19:50:44 1921

空空如也

空空如也

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

TA关注的人

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