![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 90
海の云
资深互联网软件工程师、技术团队管理者,精通JavaEE,大数据与机器学习,SQL,Scala,Python,Linux,Android移动开发,C#,JavaScript等技术
展开
-
高性能解决线程饥饿利器StampedLock
概览在JDK 1.8 引入StampedLock,可以理解为对ReentrantReadWriteLock在某些方面的增强,在原先读写锁的基础上新增了一种叫乐观读(Optimistic Reading)的模式。该模式并不会加锁,所以不会阻塞线程,会有更高的吞吐量和更高的性能。它的设计初衷是作为一个内部工具类,用于开发其他线程安全的组件,提升系统性能,并且编程模型也比ReentrantReadWriteLock复杂,所以用不好就很容易出现死锁或者线程安全等莫名其妙的问题。跟着“码哥字节”带...转载 2022-02-28 11:29:43 · 460 阅读 · 0 评论 -
spring aop中pointcut表达式完整版
本文主要介绍spring aop中9种切入点表达式的写法execute within this target args @target @within @annotation @args0. 示例代码git地址https://gitee.com/likun_557/spring-aop-demo1.execute表达式拦截任意公共方法execution(public * *(..))拦截以set开头的任意方法execution(* set*(..))转载 2021-05-08 17:30:48 · 229 阅读 · 0 评论 -
kafka的GroupID
设置消费者properties的两个参数consumer.group.idproperties.setProperty("auto.offset.reset", "earliest”) // latest注意:只要不更改group.id,每次重新消费kafka,都是从上次消费结束的地方继续开始,不论"auto.offset.reset”属性设置的是什么场景一:Kafka上在实时被灌入数据,但kafka上已经积累了两天的数据,如何从最新的offset开始消费?(最新指相对于当前系.转载 2021-01-26 11:16:31 · 16736 阅读 · 0 评论 -
Java 并发小记
首先,讲讲相位器Phaser很多人不理解,其实相位器是有phase这个概念的,register增加一个part,多个register动态申请了part。当一次所有register的parts都到达时,相位phase自动加一看如下代码:public class PhaserDemo{ public static void main(String[] args) { ...原创 2020-03-15 15:17:42 · 173 阅读 · 0 评论 -
idea 小技巧
1 处理Java执行路径问题:<component name="PropertiesComponent">里面加入<property name="dynamic.classpath" value="true" />2 spring cloud run dashboard<component name="RunDashboard">里面加入<...原创 2019-12-07 20:56:26 · 197 阅读 · 0 评论 -
Spring的定时任务简介
方式一:使用注解@Component@EnableScheduling//可以在启动类上注解也可以在当前文件public class TestJob { @Scheduled(cron = "0/10 * * * * ?") public void runfirst(){ System.out.println("********first job is o...转载 2019-11-15 16:54:19 · 111 阅读 · 0 评论 -
spring boot下JedisCluster方式连接Redis集群
1.首先是引入配置文件 1 2 gradle方式的配置文件 compile'redis.clients:jedis:2.9.0' 2.application.yml的配置 1 2 3 4 5 6 7 8 9 10 11 12...转载 2019-07-03 10:56:39 · 2217 阅读 · 0 评论 -
看似简单小问题系列之Spring Cloud 生成jar包
Spring CloudGreenwich.SR1生成jar包并跑起来还是有点小坑的什么No auto configuration classes found in META-INF/spring.factories咯无法转换.jar.original咯各种 一句话 需要如下配置:<build> <finalName>EurekaOne<...原创 2019-06-22 03:30:06 · 331 阅读 · 0 评论 -
zipkin2 应用trace
zipkin作为简易的应用trace工具,适合小微型应用使用,2X和1X发生了重大变化,下面讲解下如何高效利用2X:首先启动zipkin-server,可以通过jar包启动,2X已经不在推跟随SpringApplication启动的方式了,所以用法要特别注意下。首先必须单独建立应用,不能和其他应用绑定一起。pom中需要引入<dependency> <gro...原创 2019-05-16 18:39:04 · 1547 阅读 · 0 评论 -
Spring Cloud Config 踩坑记
Spring Config 为我们处理配置中心问题带来了极大的方便,不过由于spring对config的封装很“过度”,所以如果遇上问题都会很头疼,那么这里把几个我遇到的坑在这里简单的为大家叙述下:首先项目大体一般需要四个:config-serverconfig-clientconfig-buseureka-server注意:config-server和config-cli...原创 2019-05-12 15:17:46 · 510 阅读 · 0 评论 -
Spring Cloud 2 使用 starter-stream-kafka
spring-cloud-starter-stream-kafka 2.X的配置很少有被讲到,但这又是springcloud架构中很重要的一块,这里做一下介绍使用,抛砖引玉。关于新的配置项可以查询m2文件夹下的路劲:.m2\repository\org\springframework\boot\spring-boot-autoconfigure\2.1.3.RELEASE\spring-b...原创 2019-05-09 12:01:13 · 3435 阅读 · 0 评论 -
Elasticsearch Java API四种实现方式
0、题记之前Elasticsearch的应用比较多,但大多集中在关系型、非关系型数据库与Elasticsearch之间的同步。以上内容完成了Elasticsearch所需要的基础数据量的供给。但想要在海量的数据中找到和自己相关的业务数据,实现对已有的数据实现全文检索、分类统计等功能并应用到业务系统中,必须借助Java API来实现。1、Elasticsearch Java API 概览...转载 2019-01-12 00:19:30 · 416 阅读 · 0 评论 -
zookeeper入门之curator框架--几种锁的操作
package com.git.zookeeper.passwordmanager.lock; import java.util.ArrayList;import java.util.List;import java.util.concurrent.TimeUnit; import org.apache.commons.lang.math.RandomUtils;import or...转载 2018-09-21 16:56:04 · 275 阅读 · 0 评论 -
Java加密技术(四)——非对称加密算法RSA
接下来我们介绍典型的非对称加密算法——RSA RSA 这种算法1978年就出现了,它是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也很流行。算法的名字以发明者的名字命名:Ron Rivest, AdiShamir 和Leonard Adleman。 这种加密算法的特点主要是密钥的变化,上文我们看到DES只有一个密钥。相当于只有一把钥匙,如果这把钥转载 2017-10-06 00:07:40 · 188 阅读 · 0 评论 -
用Maven插件生成Mybatis代码
现在代码管理基本上是采用Maven管理,Maven的好处此处不多说,大家用百度搜索会有很多介绍,本文介绍一下用Maven工具如何生成Mybatis的代码及映射的文件。一、配置Maven pom.xml 文件在pom.xml增加以下插件: <plugin> <groupId>org.mybatis.gener...转载 2015-03-06 16:58:06 · 535 阅读 · 0 评论 -
Zookeeper 安装和配置
[转载请注明作者和原文链接, 如有谬误, 欢迎在评论中指正. ] Zookeeper的安装和配置十分简单, 既可以配置成单机模式, 也可以配置成集群模式. 下面将分别进行介绍.单机模式点击这里下载zookeeper的安装包之后, 解压到合适目录. 进入zookeeper目录下的conf子目录, 创建zoo.cfg:Bash代码 tickTime=2000 data...转载 2014-12-30 16:56:59 · 507 阅读 · 0 评论