自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

马路上开飞机

工作笔记,技术学习

  • 博客(61)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 【工作笔记】Springboot一个比较通用的数据脱敏处理办法

个人信息中的手机号、邮箱等属于敏感数据,其中手机号需要加密存储,邮箱可以直接存储但是在获取和展示时要做脱敏处理;针对此类敏感数据, 介绍一种比较通用的脱敏方法。

2023-05-10 18:39:35 1220

原创 【工作笔记】Mysql写入报错:Incorrect datetime value: ‘1970-01-01 08:00:00‘

原因是MySQL关于时间类型的取值范围进行检查,最早时间为1970-01-01 00:00:01。算上时区的话, 那就是1970-01-01 08:00:01。所以1970-01-01 08:00:00的时间无法写入。即1970-01-01 08:00:01。建议将默认时间赋值为。

2023-04-12 13:21:44 1854

原创 【工作笔记】- maven-shade-plugin打包合并META-INF/services

Maven按照POM依赖声明的先后顺序, 只加载了第一个services文件中的内容,后面的两条都被忽略掉了,导致运行报错。之前被忽略掉的services实现类已经都被加上去了 ,再运行jar包, 恢复正常了。

2022-12-01 17:05:15 2846 1

原创 【Flink系列】开启jdbc批量写入

值得注意的是,useServerPrepStmts开启后,客户端不再对SQL预编译,也就是说上面说的SQL改写也不会发生,所以在批量写入时,把此参数关闭,或保持默认配置;使用Flink应用对流水进行计算和统计,结果一般字段较少,每条计算结果的数据量不大,如果开启批量写入,可以降低和数据库之间的网络交换次数,也可提升数据库的数据写入效率;能让服务端执行预处理语句,但默认情况下客户端每次执行完后会 close 预处理语句,并不会复用,这样预处理的效率甚至不如文本执行。,这会让客户端缓存预处理语句。

2022-11-09 16:17:01 2451

原创 【Flink系列】JDBC写入调优

使用Flink开发的应用常见实时写入,即更新每一条流水的统计结果至数据库。在生产环境下,数据库为多个应用共用,那随着Flink应用的不断新增部署,数据库的写入压力越来越大,直至Flink应用出现阻塞等待、背压的情况出现,情况更严重的情况下会导致任务checkpoint超时、重启。从以上角度出发,考虑针对一些特定场景优化Flink应用,降低写入频次,减轻对数据库的压力。

2022-11-09 14:41:08 1713

原创 【Flink系列】使用logback

Flink logback

2022-10-18 11:54:42 1530

原创 【Flink系列】配置管理rockmq-flink产生的rocketmq-client日志

Flink 日志

2022-10-18 11:39:33 1169

原创 【工作笔记】Linux磁盘想从子目录重新挂载到父目录怎么办

LINUX磁盘分区

2022-10-18 11:27:00 700

原创 【工作笔记】如何修改Linux终端登陆后显示的HOSTNAME

LINUX TIPS

2022-10-18 11:08:04 301

原创 【工作笔记】- Linux重新挂载home目录后导致ssh失效

linux ssh互信

2022-09-26 19:46:56 625 1

原创 【工作笔记】-Flink1.15.1:NoSuchMethodError: org.apache.commons.cli.Option.builder(Ljava/lang/String

Flink运行错误处理:NoSuchMethodError: org.apache.commons.cli.Option.builder

2022-09-01 10:34:08 616

原创 【工作笔记】Hadoop集群动态扩充节点

hadoop动态扩充节点

2022-06-20 16:16:57 378

原创 【Flink系列】- RocksDB增量模式checkpoint大小持续增长的问题及解决

背景一个使用FlinkSQL开发的生产线上任务, 使用Tumble Window做聚和统计,并且配置table.exec.state.ttl为7200000,设置checkpoint周期为5分钟,使用rocksdb的增量模式。正常情况下,任务运行一段时间以后,新增和过期的状态达到动态的平衡,随着RocksDB的compaction,checkpoint的大小会在小范围内上下起伏。实际观察到,checkpoint大小持续缓慢增长,运行20天以后,从最初了100M左右,增长到了2G,checkpoi

2022-03-31 10:28:07 6405 9

原创 【工作笔记】Linux磁盘扩充

第一步fdisk -l查看还有未被分配的磁盘。第二步fdisk /dev/vdc给磁盘做lvm分区,第一步选择n,后面默认,最后一步w写分区第三步pvcreate /dev/vdc1初始化刚才创建的分区第四步vgextend vgdata /dev/vdc1将初始化的分区加入到虚拟卷组,虚拟卷组可以通过vgdisplay来查看。第五步lvextend -L +500G /dev/ma...

2022-01-05 10:01:13 991

原创 【工作笔记】- Hadoop Yarn异常“Container is running beyond physical memory limit” 解决

Yarn容器运行一段时间以后出现“Container is running beyond physical memory limit”的报错,容器被kill掉,任务失败。 出现此错误时, 修改yarn-site.xml文件,添加两个配置:<property> <name>yarn.nodemanager.pmem-check-enabled</name> <value>false</value></property>&

2021-09-01 19:10:55 626 1

原创 【工作笔记】-Jedis连接池配置排雷,java.net.SocketException: Broken pipe

业务中使用到了Jedis连接池,近期生产业务频繁出现“java.net.SocketException: Broken pipe”的异常堆栈信息,虽然没有影响到生产业务,但是非常烦人,打算来排除一下问题。这类问题一般是Jedis客户端与服务端之间的服务连接断开了,但是连接池没有及时检测出来,导致坏链一直保存在池中,业务从连接池中取出坏链,导致抛异常。看一下连接池的配置: JedisPoolConfig poolConfig = new JedisPoolConfig(); poolConfig.

2021-04-09 16:43:34 883

原创 【工作笔记】- Yarn集群搭建

以下步骤在三台机器上相同操作:第一步,基础环境准备1. 创建hadoop用户,设置密码uaseradd hadooppasswd hadoop2. 下载hadoophttps://hadoop.apache.org/releases.html我这里下载的是3.1.4版本3. 上传、解压tar -xvf hadoop-3.1.4.tar4. 修改/etc/hosts 172.30.251.225 node1 172.30.251.226 node2...

2020-12-30 16:04:51 757 1

原创 【工作笔记】-Spring中bean实例创建时接收参数的几种形式

这是一篇关于spring实践中的一点小笔记。一般情况下,使用springboot, 创建对象实例时,类似以下方式: @Bean public IBusinessService payService(){ return new BusinessService(); }当以此方式创建了多个Bean时,这些Bean在内存中的组织形式可以有多种,例如创建了以下对象: @Bean public IBusinessService payService

2020-05-20 10:57:11 680

原创 【工作笔记】- Eureka Client与Server版本不匹配导致Cannot execute request on any known server错误

通过springboot集成eureka做server和client的部署,参照其他博主的文章对程序进行了配置,启动后client无法正常注册到server端,报以下错误:2020-05-15 10:57:38.034 INFO 13644 --- [freshExecutor-0] com.netflix.discovery.DiscoveryClient : Getting all instance registry info from the eureka server2020-05-

2020-05-15 16:16:45 1380

原创 【工作笔记】- Maven通过配置Profile指定不同的资源目录

项目开发过程中可能会需要区分不同开发环境的服务配置以及资源配置,例如测试环境、UAT环境、生产环境下不同的配置文件等。使用Maven的Profiles配置可以解决这一问题。一、添加目录dev、prod、uat三个环境,使用三个目录加以区分。二、添加Profiles <profiles> <profile> ...

2020-01-22 15:35:39 610

原创 【工作笔记】 - Hazelcast作为Mybatis二级缓存完全使用手册

Mybatis支持各种二级缓存实现,其中就包括Hazelcast. 我们都知道Hazelcast是一个分布式内存网格(In-Memory-Data-Grid), 但是大多数时候都被用做分布式缓存。将Hazelcast作为Mybatis的二级缓存来使用时,将其配置为stand-alone的模式,即单节点,不尝试连接到任何集群。我们分为几个步骤来做。第一步,引入Maven依赖: &lt...

2020-01-14 23:50:16 755

原创 【工作笔记】- linux创建用户并且挂载目录

使用命令创建一个新用户:useradd -d /home/newuser -m newuser为新建用户设置密码:passwd newuser系统将创建一个newuser目录,并且为其创建用户目录。挂载一块新的磁盘设备, 使用fdisk -l 查看设备信息:为磁盘设备添加分区(假设/dev/vdc是一个未分区的磁盘):fdisk /dev/vdc...

2020-01-13 19:52:10 1831

原创 工作笔记-linux常用指令持续更新

查询指定端口的tcp连接状态netstat -an|grep 5701 |more查看cpu架构信息lscpu查看cpu详细信息cat /proc/cpuinfo# 查看物理CPU个数cat /proc/cpuinfo | grep "physical id" | sort | uniq# 查看每个物理CPU中core的个数(即核数)cat /...

2019-12-05 11:13:51 147

原创 【Hazelcast源码笔记】一、AddressPicker

Node在创建过程中,会生成一个AddressPicker,通过AddressPicker来获取publicAddress和bindAddress. 在很多情况下,这两者包含相同的IP和端口。在某些情况下会有不同,如通过<public-address>配置指定了publicAddress或者通过MemberAddressProvider来生成了bindAddress。下面看源码:在...

2019-11-19 17:00:09 705

原创 【工作笔记】Springboot集成Redis添加密码连接"NOAUTH Authentication required"

一个很简单的问题,使用Springboot集成Redis,并且添加Auth授权,正常配置我认为是这样的:spring: redis: database: 0 url: redis://127.0.0.1:6379 password: 123456password ssl: false timeout: 1000 jedis: p...

2019-11-13 15:56:23 4742 1

原创 【工作笔记】- SUSE 11.X安装keepalived

今天想实践一下nginx+keepalived的高可用集群方案,先安装keepalived。SUSE系统离线源码安装有我很多痛苦的回忆,今天还是如此,经历漫长的找库、安装。先上传keepalived安装包:keepalived-2.0.19.tar下载链接:https://www.keepalived.org/download.html然后解压,准备源码安装configure, ...

2019-10-29 20:52:12 1120

原创 温故知新-开发简单的Java Web项目,使用Servlet处理请求并进行页面跳转

用Spring、SpringBoot用到麻木,已经忘记纯Java Web项目是怎么开发的了,大学的知识都还给了赵小薇姐姐,今天创建一个Java Web简单程序,后续将继续写Spring MVC原理及Tomcat原理。IDE环境为Spring Tool Suit,先创建一个Dynamic Web Project选择Target Runtime为Tomcat 8命名服务名,选择J...

2019-10-12 17:51:25 291

原创 工作笔记-Hazelcast安装和基本配置

服务端Hazelcast区分服务端和客户端,服务端通过hazelcast.xml文件加载配置,客户端通过hazelcast-client.xml文件加载配置。3.12版本以后支持yaml文件格式的配置,在xml和yaml文件同时存在时,优先加载xml文件。以下是hazelcast.xml文件的最小配置(yaml格式):hazelcast: instance-name: haze...

2019-09-05 00:07:09 3567

原创 工作笔记-GuavaCache源码分析

Guava CacheGuava Cache是google的java扩展包中的一个模块,主要提供缓存服务,整体实现比较简单,单模块的核心源文件不超过20个,花几个小时可以看个大概。关于Guava Cache的使用介绍可以参考github上的wiki:https://github.com/google/guava/wiki/CachesExplainedCache的实现类似Concurr...

2019-09-04 09:12:51 357

原创 工作笔记-【Hashtable】和【HashMap】,源码分析

花点时间通过读写方法对Map接口的这三个实现类做出比较:Hashtable,HashMap,ConcurrentHashMapHashtable是比较老的实现,HashMap对Hashtable做了优化,ConcurrentHashMap是HashMap的高并发实现。以Put方法为例,以下是三者的实现及部分注释。HashMapfinal V putVal(int hash, K ...

2019-09-03 00:48:35 130

原创 工作笔记-JUnit测试时,【unknown protocol: classpath】

在application.yml中使用了classpath路径的uri来获取工程中的资源文件: javax: cache: provider: org.ehcache.jsr107.EhcacheCachingProvider uri: classpath:ehcache.xml m...

2019-08-26 10:27:37 1413

原创 工作笔记-记一次Jedis连接泄露的问题及解决过程

问题追踪我使用的Jedis版本是2.9.0,通过连接池访问,在做压力测试时,发现在高并发环境下,连接泄露,连接池内的连接未能正常返还,导致"could not get resource fron pool".看使用代码: public void execute(RedisAction callback) { Jedis jedis = jedisPool.getResource...

2019-08-20 12:09:19 3139 9

原创 【CentOS】「无法为立即文档创建临时文件: 只读文件系统」的解决

原因不明,只是在某天登陆虚拟机工作的时候,按下tab自动命令补齐,就出现了此错误。使用 "df -h "命令查看文件对应的磁盘:# df -h文件系统 容量 已用 可用 已用% 挂载点/dev/vda1 99G 9.5G 85G 11% /devtmpfs 5.9G 0 5.9G 0% /devtmpfs ...

2019-07-22 16:38:51 6853 3

原创 错误java.lang.ClassNotFoundException: com.google.common.collect.ImmutableMap,巨坑

又碰到了坑。。。折腾了两三个小时,发现Maven有时候还真的是坑。今天打算玩一玩hystrix。添加了POM依赖以后,启动程序,发现报错:java.lang.ClassNotFoundException: com.google.common.collect.ImmutableMap咦?莫名其妙,仔细检查了一下发现是HystrixCommandAspect引用的一个guava包中的一个类...

2019-04-11 20:07:58 18298 1

原创 Mybatis集成:NoClassDefFoundError: org/springframework/jdbc/datasource/TransactionAwareDataSourceProxy

在使用Springboot集成Mybatis的时候,都按照手册配置好了。但是实际运行就是报错:NoClassDefFoundError: org/springframework/jdbc/datasource/TransactionAwareDataSourceProxy,真是各种试了半天,都没效。后来发现原因真的吐血。我使用的springboot-starter的版本是2.1.3,对应的默认...

2019-04-06 15:13:28 745

原创 httpClient,Certificate for ip/域名 doesn't match any of the subject altinative names: []问题处理

在做https双向认证通信类开发的时候,遇到一个问题,错误信息是:javax.net.ssl.SSLPeerUnverifiedException: Certificate for &lt;我请求的IP地址&gt; doesn't match any of the subject alternative names: []遇到这种情况,先查看你安装的Certificate证书的subject ...

2019-02-25 17:29:05 18469 5

原创 工作笔记-Java 泛型和泛型参数

泛型是Java1.5以后的特性,在各种开源框架的源码当中可以看到很多泛型的使用,如果不对泛型做到了如指掌的话,看源码真的会有阻碍。下面是泛型的一个简单的例子。public class GenericsDemo&lt;T&gt; { private T demoProp; public T getDemoProp(){ return demoProp; } public v...

2018-12-05 20:42:15 214

原创 工作笔记-注解 Annotation

注解是java.lang.annotation包提供的功能(我一度以为是Spring的特性

2018-12-04 20:51:12 200

原创 工作笔记-IntelliJ IDEA 使用笔记(持续更新)

从eclipse转IntelliJ, 很多操作不太习惯。1.查看idea.log:工具栏help→Show Log In Finder,找到idea.log,可以查看到详细的错误日志。2.导入新的maven项目工具栏File→New→Module From Existing Sources。3. 导入时遇到错误Unsupported major.minor version 51...

2018-11-26 22:07:51 264

原创 工作笔记-Maven依赖:POM Reference

POM文件POM, Project Object Model, 项目对象模型,是Maven项目的XML表示,一个pom.xml文件可以几乎完成所有maven项目的配置。POM标签分为三大类,项目基础及依赖、项目构建、环境及资源文件。这三大类是比较普遍和重要的配置归类,除这三大类之外还有一些辅助配置,项目中接触的较少。按照顺序把三大类的配置完成了, 一个Maven项目大致上就能配置得很全面了...

2018-11-26 17:38:06 578

JAVA程序设计_具有发牌洗牌功能的纸牌游戏

每张牌都有花色和数字两个属性。纸牌游戏有2副牌参与(没有Joker,共104张), 应有洗牌(将所有牌打乱)、发5张牌、判断游戏胜利、判断游戏失败的功能。 每次发牌后程序自动为5张牌排序、游戏胜利条件为5张牌中至少有2张是完全相同的,或者5张同花色,或者5张为顺子(如数字为34567); 如果不满足游戏结束条件则继续在从剩下的牌中发5张;直到最后不足5张,游戏失败。

2010-10-10

LCD字符分行移动显示实验

实现LCD字符显示 显示模式16x2,5x7点阵 第一行自左向右移动 第二行自右向左

2010-04-26

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

TA关注的人

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