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

原创 ElasticSearch学习笔记
ES的单机版安装部署 HEAD插件的安装部署 ES的集群安装部署 ES介绍与配置 ES配置Java客户端 ES的API操作
2018-11-05 20:36:41
261

原创 如何通过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
33166
1
原创 SpringBoot项目集成SpringRetry进行接口重试
为什么要做接口重试?业务系统服务调用第三方系统的接口,以及第三方系统调用业务系统的服务时,当出现网络异常或超时导致的失败,需要进行重试,确保接口的可靠性重试机制:不允许重试:只允许调用重试回调一次不限次数重试:允许无限重试,直到成功,此方式逻辑不当会导致死循环固定次数重试:默认重试最大次数为3次,默认使用的策略超时时间重试策略:默认超时时间为1秒,在指定的超时时间内允许重试异常重试:针对不同异常的设置不同的重试策略,类似组合重试策略最佳实践–SpringRetry添加依赖 &
2020-11-30 16:49:13
769
原创 Java线程池的使用
为什么要使用线程池?线程的创建需要开辟虚拟机栈,本地方法栈、程序计数器等线程私有的内存空间。在线程的销毁时需要回收这些系统资源,频繁的创建和销毁线程会浪费大量的系统资源。如何创建线程池?《阿里巴巴Java开发手册》中强制线程不允许使用Executors显示创建线程,而是使用TreadPoolExecutor的方式,这种创建方式会明确线程池的运行规则,避免资源耗尽的风险。TreadPoolExecutor 一共有四个构造方法,参数最多的方法有7个参数。 public Threa
2020-07-05 17:17:11
513
原创 上传本地项目至远程仓库
Command line instructionsGit global setupgit config --global user.name "aaa"git config --global user.email "aaa7@iflytek.com"Create a new repositorygit clone git@git.xxx.com:XXX/xxx.gitcd znyj-servertouch README.mdgit add README.mdgit commit -m
2020-06-24 14:13:33
384
原创 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
259
原创 ActiveMQ集群搭建提供高可用和负载均衡服务
ActiveMQ集群方式master和broker集群 高可用 负载均衡 Master/Slave(主从) 是 否 broker cluster 否 是 结合上面的情况,如果说要搭建高可用和负载均衡服务,需要结合Master和Broker两种集群方式.节点B、C和A之间搭建broker集群方式,B和C搭建主从集群.当节点B...
2019-11-15 23:22:09
434
原创 JDK8新特性之lambda表达式
Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性。使用 Lambda 表达式可以使代码变的更加简洁紧凑。在实际工作中我一般会使用lambda表达式将集合根据某个条件过滤,分组,排序,转为map.基础代码 List<Person> list = new ArrayList<>(); list...
2019-09-27 16:56:39
266
原创 JVM内存结构(二)
运行时数据区(规范规定)程序计数器 :Java支持多线程同时执行,每个线程都有自己的PC Register,线程正在执行的方法叫做当前方法,如果是java代码,PC Register里面存放的就是当前正在执行的指令地址,如果是C代码,则为空。虚拟机栈JVM Stacks:线程私有的,它的生命周期与线程相同。虚拟机栈是描述的Java方法执行的内存模型:每个方法在执行的同时会创建一个栈帧,用...
2019-08-04 22:55:24
190
原创 SpringBoot项目集成Redis
现在springboot项目集成组件都很方便,一般不外乎几个步骤,引入依赖,添加配置,就可以直接使用。引入Maven依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-r...
2019-07-25 15:44:05
374
原创 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
399
原创 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
225
原创 Linux系统下基于JDK命令行工具的监控-jstat
命令显示Java HotSpot VM的性能统计信息。目标JVM由其虚拟机标识符或vmid选项标识。可以显示的信息-classoption 类加载信息 -compileroption 编译信息-gcoption 垃圾回收信息-gccapacityoption 堆内存信息-gcnewoption 新生代回收信息-gcnewcapacityoption...
2019-07-13 13:40:54
368
原创 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
267
原创 Synchronized 关键字学习笔记(二)
多线程访问同步方法的7种情况.两个线程访问同一个对象的同步方法 串行,同一个对象锁是同一把.即对象锁的方法锁.两个线程访问两个对象的同步方法 并行,两个对象,不同的实例,锁对象不一致.两个线程访问Synchronized 修饰的静态方法 串行,Synchronized 修饰的静态方法是类级别的,即便是多个对象也是同一把锁.同时访问同步方法和非同步方法 ...
2019-06-07 15:32:57
195
原创 Synchronized 关键字学习笔记(一)
作用:能够保证在同一时刻最多只有一个线程执行该代码,以保证并发效果的安全.个人理解:Synchronized 修饰的代码就相当于加了一把锁,当多线程访问时,当前线程没有获取到锁对象,就不会执行那段代码.防止并发.锁的方式有两种 对象锁 和 类锁 . 对象锁是对于实例出来的同一个对象来说.类锁是对于类来说的,实例出来多个对象,类锁一样有用.如果说实例出来两个对象,使用对象锁有可能还是会有...
2019-06-07 15:12:14
244
原创 根据图片绝对地址获取图片格式的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
1623
原创 使用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
2693
原创 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
1659
原创 Windows10系统更新Idea里面的git用户名和密码
公司git账号绑定域名,修改密码后,git认证失败. Authentication failed for 'http://pl.git.sss.com/Group/api.git/'控制面板->用户帐户->凭据管理器->Windows凭据 ...
2019-02-13 10:16:10
806
原创 Docker使用手册
Docker概述Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。Docker原理图Docker E...
2019-01-14 19:45:08
729
原创 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
219
原创 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
874
原创 字符串格式化方法--String.format()
前言:有次面试的时候,面试官让我写个字符串连接的方法,我很耿直的使用"+"去连接.后来面试官问我有没有用过String.format().我心底想不一字符串的连接么,需要这么花哨吗?后来在源码里发现都是使用String.format()这个方法连接字符串.String.format有两种方式重载. public static String format(String...
2018-12-28 17:39:13
931
原创 记一次使用idea调用WebService服务,传入传出参数Base64加解密.
需求: 业务系统与第三方系统交互,获取第三方系统的用户和组织信息,通过WebService调用,第三方系统提供服务,我们编写客户端代码进行调用.传入传出参数base64加密. 简介: WebService是一种跨编程语言和跨操作系统平台的远程调用技术。 WebService平台技术: XML+XSD,SOAP和WSDL...
2018-12-26 17:08:12
4629
原创 ElasticSearch的介绍、配置
官网 https://www.elastic.co/cn/products/elasticsearch简介 Elasticsearch 是一个分布式的 RESTful 风格的搜索和数据分析引擎,允许执行和合并多种类型的搜索 ( 结构化、非结构化、地理位置、度量指标 )搜索方式随心而变。 原型环境和生产环境可无缝切换;无论 Elasticsear...
2018-12-11 10:43:16
284
原创 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
185
原创 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
164
原创 SpringBoot项目集成SpringSession,使用redis实现会话共享.做到可配置.
前提:公司开发产品,对接不同省份,一起开发,有些地方需要实现redis会话共享,有些地方是单机部署.可通过配置是否开启redis实现session共享. SpringBoot集成SpringSession实现会话共享: 主要是通过application.properties里面的spring.session.store-type=none参数配置.none单机版.redis会话...
2018-12-06 11:25:34
1411
原创 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
7856
原创 Linux命令学习
操作文件查找文件 查找根目录下所有已”.sh”结尾的文件 find / -name *.sh 查找根目录下所有已”deafult.sh”的文件 find / -name deafult.sh移动文件 移动文件到某个路径下. mv /文件路径 /文件件路径复制文件 复制文件到某个文件下,重命名 cp /etc/nginx/conf....
2018-11-05 20:11:16
195
原创 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
10974
原创 SpringBoot项目集成Flyway进行数据库版本控制
Flyway是一款开源的数据库版本管理工具,它更倾向于规约优于配置的方式。第一步:pom.xml添加maven依赖<!-- https://mvnrepository.com/artifact/org.flywaydb/flyway-core --><dependency> <groupId>org.flywaydb</groupId>...
2018-07-21 23:37:54
2263
原创 (三)MySQL性能调优-SQL查询优化
如何获取有性能问题的SQL通过用户反馈获取存在性能问题的SQL(客户页面加载速度慢) 通过慢查询日志获取存在性能问题的SQL 实时获取存在性能问题的SQL执行SQL的过程客户端发送SQL请求给服务器 服务器检查是否可以在查询缓存中命中该SQL 服务器端进行SQL解析,预处理,再有优化器生成对应的执行计划 根据执行计划,调用存储引擎的API来查询数据 将结果返回给客户端M...
2018-07-21 22:55:04
345
原创 (二)MySQL性能调优-索引
B-tree索引B-tree索引的特点B-tree索引以B+树的结构存储数据(选择不同的存储引擎,实现不同)B-tree索引能够加快数据的查询速度.B-tree索引更适合进行范围查找.(顺序查找).使用场景全值匹配的插叙 匹配最左前缀的查询 匹配列前缀查询匹配范围值的查询 精确匹配左前列并范围匹配另外一列只访问索引的查询.使用限制如果不是按照索引最左列开始查找,则无法使用索引.使用索引时不能跳过索...
2018-07-08 20:08:27
344
原创 (一)MySQL性能调优-数据库结构优化
对于Java开发人员来说,面试过程中,数据库方面的知识总会被问到.我们在工作中也会使用到数据库,关系型数据库主要有Mysql.Oracle.Sqlserver.这三种数据库在工作中都有用到.主要是将Sqlserver和Oracle迁移至Mysql.由于Mysql数据库开源免费所以使用的人越来越多.我会主要从几个方面来叙述Mysql数据库的性能调优. 影响数据库性能的因素:服务器硬件....
2018-07-08 16:29:04
354
原创 ssm框架调用存储过程(mysql数据库),maven管理项目
需求:本系统接收第三方系统发送过来的告警,当系统里面没有该告警时,新写出一条告警到alerttab,当有该告警时,将alerttab对应的告警信息写入alerthistab,告警表对应的该条信息删除.有该告警的时候,如果告警级别升高.则修改告警信息.1.创建存储过程DELIMITER $$drop PROCEDURE if exists AlertMapping;CREATE PROCEDUR...
2018-02-11 10:15:18
3503
原创 面试题目总结(一)
前言:面试题目总结主要记录我在面试过程中,面试官提出的问题.将这些问题整理起来希望下次能回答的更好.也希望能给予更多人回忆知识点,希望大家都能找到更好的工作.问题一:String,StringBuffer,StringBuilder的区别String:字符串常量,字符串长度不可变。StringBuffer,StringBuilder字符串变量,长度可以改变.String
2017-12-15 23:32:04
264
原创 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
2029
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人