Java
文章平均质量分 58
clooker
这个作者很懒,什么都没留下…
展开
-
spring cloud eureka 初始化报错(A bean with that name has already been defined)
最后发现引用了 spring-cloud-context,怀疑是版本冲突,去掉后问题修复。原创 2024-04-28 14:38:40 · 1336 阅读 · 1 评论 -
变量原子性更新工具类(AtomicReferenceFieldUpdater)
简介为了实现对变量的原子性更新,java 提供了工具类:AtomicReferenceFieldUpdater。该类可实现对变量的 CAS 操作,填补以前只能对基本类型的原子性更新(例如AtomicInteger)。关于 AtomicReferenceFieldUpdater 的解释:一个基于反射的工具,实现原子性更新一个类实例中 volatile 修饰的字段。这个类被用于在原子性结构体中,一个类的几个变量希望被不同线程进行原子性更新。这个类并不像其他原子性工具类(AtomicLong),不能保证原创 2021-12-17 15:04:53 · 985 阅读 · 0 评论 -
【Pulsar】RabbitMQ客户端发送消息失败问题
程序版本Pulsar:2.8.0amqp:2.8.0.1问题描述Pulsar支持通过RabbitMQ的客户端发送消息,但是实际使用过程中出现如下异常:channel error; protocol method: #method<channel.close>(reply-code=404, reply-text=Unknown exchange:ex02, class-id=0, method-id=0)详细日志如下Exception in thread "main" java.i原创 2021-11-16 11:46:00 · 2882 阅读 · 0 评论 -
maven下载依赖失败
前情提要由于特殊原因,官方maven库经常连接失败,所以很多maven都配置了阿里云的镜像。但是阿里云的镜像里有很多依赖都没有,这时候如果你的项目需要这些依赖,就会导致编译失败。1. 问题1描述:This failure was cached in the local repository and resolution is not reattempted until the update interval of aliyunmaven has elapsed or updates are forc原创 2021-10-21 18:46:05 · 28326 阅读 · 3 评论 -
【问题】duplicate-finder-maven-plugin:1.4.0:check (default) on project presto-vv: Found duplicate
问题在编译打包某些项目中出现依赖检查错误,具体如下:[ERROR] Failed to execute goal org.basepom.maven:duplicate-finder-maven-plugin:1.4.0:check (default) on project presto-vv: Found duplicate classes/resources! -> [Help 1]org.apache.maven.lifecycle.LifecycleExecutionException:原创 2021-10-04 17:00:32 · 681 阅读 · 0 评论 -
【问题】maven中设置不引入子依赖
问题在编译某些开源项目时,会提示如下内容:Require upper bound dependencies error for io.airlift:aircompressor:0.15 paths to dependency are:+-io.hetu.core:presto-vv:1.3.0 +-io.hetu.core:presto-main:1.3.0 +-io.airlift:aircompressor:0.15 (managed) <-- io.airlift:airco原创 2021-10-04 16:53:52 · 1091 阅读 · 0 评论 -
【问题】Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:3.1.1:analyze-only
问题在编译某开源项目(openLooKeng)时出现异常,导致编译失败。异常内容[ERROR] Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:3.1.1:analyze-only (default) on project presto-vv: Dependency problems found -> [Help 1]org.apache.maven.lifecycle.LifecycleExecu原创 2021-10-04 16:47:58 · 3417 阅读 · 4 评论 -
pulsar的客户端权限控制功能(二)
1. 概述上篇文章写了客户端连接时的验证,这篇文章写下对于客户端具体操作的权限控制,包括创建topic、发布消息和订阅消息等。2. 客户端权限控制2.1 修改broker.conf文件,打开权限控制如果要开启对权限的控制,首先需要打开对连接的验证。# Authorization provider fully qualified class-name# 这个类需要我们自己实现,继承org.apache.pulsar.broker.authorization.AuthorizationProvide原创 2021-07-27 19:59:09 · 753 阅读 · 0 评论 -
pulsar的客户端权限控制功能(一)
1. 概述最近在研究pulsar的权限验证部分,权限验证包含两部分:客户端连接客户端的访问控制pulsar提供了authentication和authorization两种方式实现上述两个功能,每一种方式提供了接口。2. 版本pulsar 2.8.03. 客户端连接验证默认情况下,pulsar是不会开启连接验证的,即客户端到broker之间、broker到broker之间的访问都没有任何限制。但是在线上环境中,对于权限的控制往往是很重要的。3.1 在broker.conf文件中开启客户原创 2021-07-27 19:45:49 · 2012 阅读 · 4 评论 -
记一次zookeeper连接慢的问题和解决方法
1. 环境服务器:CentOS Linux release 7.9.2009 (Core)zookeeper:3.6.3java:1.8.0_2312. 问题zookeeper客户端连接到zookeeper节点有20秒的延迟,而且每次都是20秒。自己编写客户端进行测试,通过日志看到在某个环节上会出现阻塞,导致延迟。15:49:12.424 [main] INFO org.apache.zookeeper.ZooKeeper - Initiating client connection, con原创 2021-07-22 19:45:45 · 7948 阅读 · 4 评论 -
排序算法总结
1. 概述整理常见排序算法2. 公共方法private int[] getArray() { int size = 16; int[] array = new int[size]; Random random = new Random(); for (int i=0; i<size; i++) { array[i] = random.nextInt(10); } print("before ", array); return array;}private void原创 2021-05-30 22:30:22 · 75 阅读 · 0 评论 -
javaagent的简单使用
1. 概述每个程序都是从main方法开始执行,指定javaagent后,则可以在main方法前执行agent的premain方法。下面说下结合javassist修改指定类的字节码信息,实现方法延时的统计功能。2. 使用示例2.1 编写方法统计代码public class Test001 implements ClassFileTransformer { @Override public byte[] transform(ClassLoader loader, String className原创 2021-05-30 10:21:58 · 348 阅读 · 0 评论 -
【问题】hadoop读取文件失败
环境hadoop3.2.1要实现的功能和代码读取hdfs上的文件。Configuration conf = new Configuration();try (FileSystem fs = FileSystem.get(conf)) { Path basePath = new Path("hdfs://hdfs-cluster/"); FileStatus[] files = fs.listStatus(basePath); for (FileStatus file : files) {原创 2021-05-07 16:31:49 · 785 阅读 · 0 评论 -
ES出现read-only的解决办法
环境Elasticsearch 6.5.1问题es入库出现如下异常:Caused by: org.elasticsearch.hadoop.EsHadoopException: Could not write all entries for bulk operation [1000/1000]. Error sample (first [5] error messages): org.elasticsearch.hadoop.rest.EsHadoopRemoteException: cluste原创 2021-04-26 19:10:05 · 2594 阅读 · 0 评论 -
ElasticSearch 6.5.1 添加用户名和密码
需求设置ElasticSearch的用户名和密码,禁止非法用户访问。程序版本elasticsearch-6.5.1kibana-6.5.1-linux-x86_64流程1. 修改elasticsearch.yml配置文件开启验证权限xpack.security.enabled: truehttp.cors.enabled: truehttp.cors.allow-origin: “*”http.cors.allow-headers: Authorization,X-Requested-原创 2021-04-22 11:44:05 · 3013 阅读 · 0 评论 -
hbase执行org.apache.hadoop.hbase.mapreduce.RowCounter出错
需求统计hbase某个表的所有rowkey数量方法使用hbase提供的类,RowCounter。具体命令:./hbase org.apache.hadoop.hbase.mapreduce.RowCounter 'table_name'出现异常命令执行后控制台出现以下错误:2021-04-21 15:46:19,787 INFO [main] Configuration.deprecation: yarn.resourcemanager.system-metrics-publisher.原创 2021-04-21 16:18:35 · 2410 阅读 · 1 评论 -
hbck2使用说明
准备从git上下载新版的hbck jar包或者通过源码打包,下载地址https://github.com/apache/hbase-operator-tools/tree/master/hbase-hbck2使用方式HBASE_CLASSPATH_PREFIX=./hbase-hbck2-1.1.0-SNAPSHOT.jar ./bin/hbase org.apache.hbase.HBCK2参数说明usage: HBCK2 [OPTIONS] COMMAND Options:-d,–debu原创 2021-04-14 09:29:16 · 811 阅读 · 0 评论 -
新型生产者消费者解决方案
问题描述实现生产者消费者算法,多个线程同时生产数据,多个线程同时消费数据,要求容量空间有上限,消费者和生产者需要相互等待。解题思路传统思路:利用java的wait和notify实现,如果使用数组,则每次放和取都加锁,并判断是否满了或者是否队列已空。满了则唤醒消费线程,生产线程等待;空了则唤醒生产线程,消费线程等待。本文思路:使用数组作为容器,每次生产或者消费前获取索引位置,根据数组...原创 2020-03-05 18:50:49 · 287 阅读 · 0 评论 -
两个线程,顺序打印从1-100的数字,一个线程打印奇数,一个线程打印偶数
需求描述这里考察对线程锁的使用,多线程情况下如何控制各自的执行时间段。解题思路我想到的有两种接替思路,一种是使用标志位,一种是使用线程锁。使用标志位的思路如下:两个线程一个打印偶数,一个打印奇数,两个线程要交叉执行,所以可以用一个长度为101的数组(第一个位置不用,便于打印的数字和位置保持一致)保存每个线程的执行状态,一个线程执行完毕后在对应位置设置成1,之前前判断数组中前一个位置是否为...原创 2020-03-04 14:44:05 · 5172 阅读 · 0 评论 -
八皇后算法解析
算法描述摘自百度:八皇后问题是一个以国际象棋为背景的问题:如何能够在 8×8 的国际象棋棋盘上放置八个皇后,使得任何一个皇后都无法直接吃掉其他的皇后?为了达到此目的,任两个皇后都不能处于同一条横行、纵行或斜线上。解题思路采用递归+回溯的方式进行求解。给出一个二维数组,遍历所有行,在每一行中找到一个合适的值,如果满足条件就把该位置设置成1,并继续遍历下一行,如果能持续的遍历到最后一行并...原创 2020-03-03 16:29:18 · 484 阅读 · 0 评论 -
java实现动态代理时遇到的问题
java实现动态代理时遇到的问题java中实现动态代理,用InvocationHandler和Proxy就可以了。 所谓的动态代理,就是真正执行操作的对象不是原始的对象,就像A拜托B买东西,然后B买好东西后包装好给A。原创 2015-12-26 12:03:41 · 1500 阅读 · 0 评论 -
java字符分割
split可以接受两个参数,一个是分隔符,一个是分割后数组的长度。 分隔符可以是普通字符串,也可以是正则表达式。原创 2016-01-08 13:20:15 · 506 阅读 · 0 评论 -
spring设置多个ViewResolver
ViewResolver用来解析视图文件,如常用的jsp类型的文件。<bean id ="jspViewResolver" class= "org.springframework.web.servlet.view.InternalResourceViewResolver" > <!-- <property name="viewClass" value="org.springframew原创 2016-03-03 10:02:38 · 5886 阅读 · 0 评论 -
HttpClient设置请求头
httpclient:4.5.1 httpcore:4.4.3public static String USER_AGENT[] = { "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0", "Mozilla/5.0 (Windows NT 10.0; WOW64)原创 2016-04-02 18:07:57 · 6933 阅读 · 0 评论 -
java版的生产者消费者模型
package com.qing.java8;import java.util.concurrent.Executor;import java.util.concurrent.Executors;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.ReentrantLock;/** * @原创 2016-04-09 16:28:09 · 455 阅读 · 0 评论 -
java全局异常捕获
Thread.setDefaultUncaughtException() 捕获所有程序为直接处理的,由虚拟机抛出的异常。Thread t = new Thread(); t.setUncaughtException() 捕获该线程中抛出的程序本身未处理的异常。在上述两种方法中如果抛出了新的异常则会被JVM忽略。原创 2016-05-18 21:55:07 · 3393 阅读 · 0 评论 -
disruptor的使用和分析
disruptor:3.3.4 jdk:1.8介绍:disruptor是典型的生产者和消费者模式,disruptor使用RingBuffer存放数据,sequence管理生产和消费的位置(long类型,递增),生产者要生产数据的时候首先向生产者请求一个sequence,然后在sequence的位置放置数据。入门:生产的数据模型public class LogEvent { private l原创 2016-04-16 09:49:35 · 6478 阅读 · 0 评论 -
java多线程执行计数相关类
CountDownLatch、Semaphore、CyclicBarrier多线程、并发管理原创 2016-01-23 14:13:29 · 817 阅读 · 0 评论