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

原创 jvm踩坑日记
场景:负责的算法平台项目将上传的算法jar包打包成一个spingboot的可执行jar包,项目中用命令启动该服务,命令如下:String filePath = this.moduleFileRootPath + "/" + moduleId + "/" + version + "/algrithm-module-" + moduleId + "-" + version + "....
2019-07-04 20:19:54
316

原创 ElasticSearch的踩坑日记-----refresh时间导致修改数据失败
踩坑场景:ES新增一条记录,log字段为空---->调取接口获得log日志------>修改刚才新加的记录, 将log日志查到该记录的log字段中。代码类似如下//ElasticSearch新增一条记录User u = new User();//User有个log属性u.setName("zhangsan");u.setAge(18);ElasticsearchUtil....
2019-06-06 15:59:34
3072

原创 springboot2集成ElasticSearch6.4.3
springboot版本:2.0.0ES版本:6.4.3es的服务器部署过程不再赘述,网上资源很多。(1)pom文件 <dependency> <groupId>org.elasticsearch</groupId> <artifactId>elasticsearch</artifactId> <vers...
2019-05-31 11:05:49
3179
1

原创 分布式文件系统fastDfs集群搭建及springboot整合fastdfs客户端
*服务器规划 跟踪服务器1【主机】(Tracker Server):10.10.77.165 跟踪服务器2【备机】(Tracker Server):10.10.77.166 存储服务器1(Storage Server):10.10.77.165 存储服务器2(Storage Server):10.10.77.166 存储服务器3(Storage Server):10....
2019-04-25 20:37:40
3012
原创 BIO NIO 和Netty
BIO同时处理一个连接,要管理多个并发客户端,需要为每个新的客户端Socket 创建一个新的 Thread,如图 1-1 所示。让我们考虑一下这种方案的影响。第一,在任何时候都可能有大量的线程处于休眠状态,只是等待输入或者输出数据就绪,这可能算是一种资源浪费。第二,需要为每个线程的调用栈都分配内存,其默认值大小区间为 64 KB 到 1 MB,具体取决于操作系统。第三,即使 Jav...
2019-11-08 14:15:17
219
原创 Java并发之CAS与AQS简介
1,什么是CASCAS(Compare And Swap),即比较并交换。是解决多线程并行情况下使用锁造成性能损耗的一种机制,CAS操作包含三个操作数——内存位置(V)、预期原值(A)和新值(B)。如果内存位置的值与预期原值相匹配,那么处理器会自动将该位置值更新为新值。否则,处理器不做任何操作。无论哪种情况,它都会在CAS指令之前返回该位置的值。CAS有效地说明了“我认为位置V应该包含值A;如果...
2019-11-06 10:50:02
339
原创 java并发闭锁和栅栏区别及使用
CountDownLatch和CyclicBarrier的主要联系和区别如下:1.闭锁CountDownLatch做减计数,而栅栏CyclicBarrier则是加计数。2.CountDownLatch是一次性的,CyclicBarrier可以重用。3.CountDownLatch强调一个线程等多个线程完成某件事情。CyclicBarrier是多个线程互等,等大家都完成。4.鉴于上面的描述,...
2019-11-05 19:31:56
354
原创 springboot 结合线程池 实现异步调用并获取返回结果
(一)配置类注册成Beanpackage com.supconit.data.integration.service.threadPool;/** * Created by dell on 2019/10/24. */import org.springframework.context.annotation.Bean;import org.springframework.context...
2019-10-24 19:50:52
9298
原创 kafka connect java客户端的使用
pom文件中,添加客户端jar包<dependency> <groupId>org.sourcelab</groupId> <artifactId>kafka-connect-client</artifactId> <version>2.1.0</version></depende...
2019-08-06 14:43:53
2108
2
原创 kafka-connect使用,fileSource->fileSink及JdbcSource->elasticsearchSink使用
1)启动,cd到bin目录下执行命令./confluent startStarting zookeeperzookeeper is [UP]Starting kafkakafka is [UP]Starting schema-registryschema-registry is [UP]Starting kafka-restkafka-rest is [UP]Starting...
2019-08-02 16:27:29
1250
原创 kafka套餐之confluent platform平台安装部署
confluent platform平台包括kafka、zookeeper、kafka connect、ksql、control center等等,confluent的安装部署相对比较简单,confluent为我们提供了Confluent Platform,我们即可以快速启动整个confluent平台,也可以单独启动想要的组件。接下来我们详细介绍如何操作。1)下载confluent platfo...
2019-08-02 15:09:36
1391
原创 mysql实现自增序列的脚本
脚本内容如下:DROP TABLE IF EXISTS sequence;CREATE TABLE sequence (name VARCHAR(50) NOT NULL,current_value INT NOT NULL,increment INT NOT NULL DEFAULT 1,PRIMARY KEY (name)) ENGINE=InnoDB;DROP FUNCTIO...
2019-07-23 20:01:14
645
原创 java实现保留linux文件后500行
统计某目录下文件名包含某字符的文件个数ls /home/data_algorithm/executor/log/module|grep module-start-593-1.0.0|wc -l 模糊删除文件名中包含某文件的文件find /home/data_algorithm/executor/log/module/ -name "*module-start-523-1.0.0*" |x...
2019-07-23 09:36:26
1023
原创 停止java服务
停止一个java服务,只需要调用System.exit(int state)方法JAVA System.exit(0) 和 System.exit(1) 的区别System.exit(int state) 方法都是来结束当前运行的java虚拟机。所有System.exit(1)、System.exit(0) 执行后都会退出程序。state为0时时正常退出,非0时为异常退出。所以System....
2019-07-16 19:44:04
2175
原创 JVM参数设置合适的参数
对于一个Springboot的java服务,只是运行一下算法,运行过程不是很复杂,内存设置成多大比较合适,既不浪费内存,又不影响性能呢?具体来讲:Java整个堆大小设置,Xmx 和 Xms设置为老年代存活对象的3-4倍,即FullGC之后的老年代内存占用的3-4倍永久代 PermSize和MaxPermSize设置为老年代存活对象的1.2-1.5倍。年轻代Xmn的设置为老年代存活对象的1-...
2019-07-16 10:34:02
637
原创 性能测试工具Jmeter简单使用
一、环境准备1)JDK安装及配置环境变量2)下载Jmeter官网下载地址:http://jmeter.apache.org/download_jmeter.cgi老版本的下载地址:https://archive.apache.org/dist/jmeter/binaries/本人使用的是apache-jmeter-3.13)下载之后解压,双击bin目录下的jmeter.bat启动Jme...
2019-07-16 09:48:18
275
原创 数据库索引面试题
文章地址: https://blog.youkuaiyun.com/hollis_chuang/article/details/95167242
2019-07-09 20:35:35
1348
原创 kafka集群安装及测试
1)下载jar包并上传到/home目录,kafka_2.11-2.1.0(2)解压:tar -zxvf kafka_2.11-2.1.0.tgz(3)进入配置文件目录:cd /home/kafka_2.11-2.1.0/config(4)修改配置文件(实际配置如下标红部分): vi server.properties修改如下:broker.id=1 #每台服务器的...
2019-07-09 19:50:31
194
原创 fastdfs下载报空指针
项目部署了一台tracker节点,两台storage节点,下载jar包时,总是时不时的下载不下来,报空指针,代码如下//moduleVersion.getFileUrl()的结果group1/M00/00/00/CgpNpl0Z6tCAQkvZA53GMmLvqiA741.jarString groupName = moduleVersion.getFileUrl().substring(0,...
2019-07-04 19:38:29
1727
1
转载 zookeeper实现分布式锁
本文主要介绍利用Zookeeper有序目录的创建和删除,实现分布式共享锁。举个例子,性能管理系统中,告警规则只允许最多创建450条,我们如何保证这个约束呢?如果只有一个web节点,我们只需要简单的把规则数量查询服务,入库服务加一个锁即可以解决,代码如下复制代码synchronized(this){if(450 > queryRuleCount()){insertRule(ru...
2019-06-20 10:41:39
108
原创 获取springboot打成jar后的classpath
项目需要另一个子项目Utils的一个util工具类,在A项目的maven中加入了该子项目<dependency> <groupId>com.supconit.data.algorithm.platform</groupId> <artifactId>data_algorithm_util</artifactId> &l...
2019-05-27 17:21:31
2337
1
转载 分布式文件系统FastDFS动态扩容
当用户量越来越大,则集群中某个group总会到达其极限,这时就得扩展集群的容量了。FastDFS的扩容分为对group纵向扩容和横向扩容 纵向扩容 指在同一个group组中增加服务器,实现数据冗余,数据备份。同一个group中最大容量取决于最小的storage的存储容量。因此如果还想继续使用此group,则需要对此group对应的所有服务器挂载同样容量的磁盘,指定store_path1……,...
2019-04-26 15:09:58
496
转载 HashMap 1.8源码疑惑及解答
HashMap中有个对象 transient Entry[] table;这个是存储数据的地方,但是为什么要加上关键字transient呢?打个比方说, 向HashMap存一个entry, key为 字符串"STRING", 在第一个java程序里, "STRING"的hashcode()为1, 存入第1号bucket; 在第二个java程序里, "STRING"的hashcode()有可能就...
2019-01-05 14:37:18
137
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人