自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 kibana启动报错Error: Could not close browser client handle!

kibana启动报错

2022-07-13 13:35:50 946 2

原创 使用FLink提供的类JdbcSink将数据写入Clickhouse

//TODO 获取jdbcSink的工具类 将数据写入Clickhousepublic class clickHouseUtil { public static <T>SinkFunction<T> getJdbcSink(String sql){ SinkFunction<T> jdbcSink = JdbcSink.<T>sink(sql, new JdbcStatementBuilder<T>() { .

2022-03-20 19:49:18 3136

原创 旁路缓存(Cache-aside)

1)什么是旁路缓存旁路缓存策略以数据库(Hbase,redis)中的数据为准,缓存中的数据是按需加载的,它可以分为读策略和写策略。读策略:从缓存中读取数据;如果缓存命中,则直接返回数据;如果缓存不命中,则从数据库中查询数据;查询到数据后,将数据写入到缓存中,并且返回给用户。写策略:更新数据库中(HBASE,Redis)的记录;删除缓存记录。2)缓存和数据库的数据一致性问题错误一:先失效缓存,后更新数据库1)请求A删除缓存数据2)请求B查询缓存,未命中3)请求B往数

2022-03-20 19:13:11 8440

原创 时间戳和日期(年月日时分秒)的转换工具类

public class DateTimeUtil { /*JDK1.8的DateTimeFormatter替换SimpleDateFormat,因为SimpleDateFormat存在线程安全问题*/ public final static DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd " + "HH:mm:ss");//TODO 将时间戳转换成日期 格式化成年月日时.

2022-03-20 18:44:35 700

原创 SimpleDateFormat线程不安全测试

class DateFormatTest { private static SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy", Locale.ENGLISH); private static String date[] = { "01-Jan-1999", "09-Jan-2000", "08-Jan-2001" , "07-Jan-2002" , "06-Jan-2003" , "05-Jan-2004" , "04-J..

2022-03-20 18:32:12 107

原创 方法返回值前面的<T>是什么?浅谈泛型模板T

//Java 方法返回值前面的T是什么 TODO 它的作用是定义泛型class Show<T>{ public void print1(T t){ System.out.println(t); } public <T>void print2(T t){ System.out.println(t); }}class Demo{ public static void main(String[] args) {.

2022-03-20 17:27:49 927

原创 Jedis连接池和线程池

封装RedisUtil通过连接池获取连接对象因为不涉及到高并发因此不用加锁//封装jedis连接池class RedisUtil_1{ private static JedisPool jedisPool; private static Jedis jedis; public static Jedis getJedis(){ if (jedisPool == null) { JedisPoolConfig jedisPoolConf

2022-03-20 16:18:29 759

原创 并发三特性:原子性,可见性,有序性

并发的三个特性我们常说的并发场景下有三个重要特性:原子性、可见性、有序性。只有在满足了这三个特性,才能保证并发程序正确执行,否则就会出现各种各样的问题。原子性: CAS 和 Atomic* 类,可以保证简单操作的原子性,对于一些复杂的操作,可以使用synchronized 或各种锁来实现。可见性:指当多个线程访问同一个变量时,一个线程修改了这个变量的值,其他线程能够立即看得到修改的值。有序性:程序执行的顺序按照代码的先后顺序执行,禁止进行指令重排序。看似理所当然的事情,其实并不是这样,指令重

2022-03-20 14:10:43 1977

原创 Java单例设计模式

//单例模式的两种实现方式 懒汉式和饿汉式/*这两种实现,在单线程的模式下,也不会出现线程安全的问题,但是如果在多线程的情况下,就可能会出现多线程的安全问题* 改进:双重校验锁 volatile:易变的 动荡的 反复无常的* 第一次判断singleton是否为null是为了避免singleton已经创建的情况下 避免进入同步代码块 提升效率* 第二次判断singleton是否为null是为了是为了避免并发情况下A线程经过第一次判断 进入同步代码块* 此时B线程也经过判断准备进入同步代码块 .

2022-02-26 17:04:19 291

原创 Java中的泛型擦除以及Flink中的类型擦除(笔记)

package JavaTest;import java.util.ArrayList;/** * Create by zgn on 2022/2/8 12:12 **///TODO 泛型擦除测试public class genericTypeEraser { public static void main1(String[] args) { ArrayList arrayList = new ArrayList(); ArrayList<Stri.

2022-02-08 14:22:52 357

原创 Spark之RDD学习笔记

spark RDD

2022-01-19 13:41:21 223

空空如也

空空如也

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

TA关注的人

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