摘要: 背景:在某项目中,需要使用el表达式对json进行解析;后端先将json序列化为一个map,然后将这个map作为root对象进行el解析,结果报错: Exception in thread "main" org.springframework.expression.spel.SpelEvaluati 阅读全文
posted @ 2024-04-03 16:54 CharyGao 阅读(489) 评论(0) 推荐(0)
摘要: @Repeatable注解是JDK8加入的一个新特性。 本文算是对一个旧知识点的回顾和剖析。 01 ▼ 未使用@Repeatable之前实现多个注解重复使用 在1.8之前,如果想多次使用一个注解进行描述,是如何完成的呢?举个例子,使用一个ReviewRecord注解来描述相关类、方法的Review信 阅读全文
posted @ 2024-04-03 16:51 CharyGao 阅读(568) 评论(0) 推荐(0)
摘要: Excel批量取消合并单元格并填充的三种方法,你值得拥有! 大家在使用Excel进行数据统计统计分析的时候,相信最不想遇到的就是合并单元格,因为合并区域会对我们的数据统计分析、函数查找、数据透视表使用带来很大的麻烦。大家在批量取消合并单元格后,很多单元格又变成空值了,那么该怎么样才能快速取消合并单元 阅读全文
posted @ 2024-04-03 16:45 CharyGao 阅读(10315) 评论(0) 推荐(0)
摘要: 一、wireshark抓取https报文 1.系统变量配置 通过设置系统变量SSLKEYLOGFILE来达到解密https的效果,tls握手结束后,会将session key存放到SSLKEYLOGFILE定义的keylog中,wireshark通过加载keylog文件,将https解密成明文。 打 阅读全文
posted @ 2024-04-03 16:28 CharyGao 阅读(584) 评论(0) 推荐(0)
摘要: 【-D】和【--】两种写法都可以在命令行传入参数,实现覆盖 application.properties 中的配置项,不过写法有些不同 【-D】虚拟机参数 以运行jar包为例,写法为: # 参数写法为:-Dproperty=value java -Dserver.port=1234 -jar app 阅读全文
posted @ 2024-04-03 16:16 CharyGao 阅读(1582) 评论(0) 推荐(1)
摘要: 本文翻译自Serializability and Distributed Software Transactional Memory with etcd3 新的etcd3 API引入了新的更加强大的原语,相比较于etcd2的限制,这些新的原语充分利用了系统的能力。作为评估etcd3性能的一部分,我们 阅读全文
posted @ 2024-04-03 16:07 CharyGao 阅读(75) 评论(0) 推荐(0)
摘要: 前段时间对分布式追踪相关的实现方案进行了一些调研,了解到近期对于大数据的日志检索、分析从原来基于hadoop的实现逐渐过渡到基于es的方案上来。近期在消息审计追踪相关的项目上也尝试的使用了类似的方案。这里对es的一些了解以及常用的一些使用整理于此。 1. 全文索引 全文索引是指计算机搜索程序通过扫描 阅读全文
posted @ 2024-04-03 16:05 CharyGao 阅读(83) 评论(0) 推荐(0)
摘要: 内存屏障是一种基础语言,在不同的计算机架构下有不同的实现细节。本文主要在x86_64处理器下,通过Linux及其内核代码来分析和使用内存屏障 对大多数应用层开发者来说,“内存屏障”(memory Barrier)是一种陌生,甚至有些诡异的技术。实际上,他机制常被用在操作系统内核中,用于实现同步、驱动 阅读全文
posted @ 2024-04-03 16:04 CharyGao 阅读(10038) 评论(1) 推荐(3)
摘要: 分布式锁服务在分布式系统中是一个非常通用的需求。互联网行业有基于Zookeeper实现分布式锁服务的方案,也有提出基于Redis实现分布式锁服务的方案。企业级应用方面,开源Linux上,Redhat Linux HA套件中提供了DLM(Distributed Lock Manager),商用操作系统 阅读全文
posted @ 2024-04-03 16:01 CharyGao 阅读(71) 评论(0) 推荐(0)
摘要: Linux内核Page Cache和Buffer Cache关系及演化历史 | lday的博客 在我们进行数据持久化,对文件内容进行落盘处理时,我们时常会使用fsync操作,该操作会将文件关联的脏页(dirty page)数据(实际文件内容及元数据信息)一同写回磁盘。这里提到的脏页(dirty pa 阅读全文
posted @ 2024-04-03 16:01 CharyGao 阅读(540) 评论(0) 推荐(0)
摘要: Pushing the Limits of Windows: Physical Memory - Microsoft Community Hub 首次发布于 2008 年 7 月 21 日在 TechNet 上 这是我将在接下来的几个月中撰写的系列博客文章中的第一篇,名为“突破 Windows 的限 阅读全文
posted @ 2024-04-03 15:50 CharyGao 阅读(424) 评论(0) 推荐(0)
摘要: 商业转载请联系获得授权,非商业转载请注明出处作者:苏南大叔 【京城,非著名互联网从业人员】来源:https://newsn.net/say/electron-devtools.html打赏:https://newsn.net/shang.html加群:https://newsn.net/group. 阅读全文
posted @ 2024-04-03 14:27 CharyGao 阅读(10526) 评论(0) 推荐(0)
摘要: 一文搞定POI,再也不怕excel导入导出了 写在前面 在Java日常开发过程中,实现Excel文件的导入导出功能是一项常见的需求。 通过使用相关的Java库,如Apache POI、EasyPoi或EasyExcel,可以轻松地实现Excel文件的读写操作。 而这篇文章将介绍如何在Java中使用A 阅读全文
posted @ 2024-04-03 12:14 CharyGao 阅读(6064) 评论(0) 推荐(2)
摘要: 三层设计:(参考阿里One Data) ODS 操作数据层 CDM:公共维度模型层 CDM划分为DWD 明细数据层 DWS汇总数据层 ADS 应用数据层 划分原则: 1,高内聚和低耦合 2,核心模型与扩展模型分离 (扩展模型定制化需求) 3,公共处理逻辑下沉及单一 4,成本与性能平衡 5,数据可回滚 阅读全文
posted @ 2024-04-03 11:12 CharyGao 阅读(18214) 评论(0) 推荐(0)
摘要: private void saveLog(ProceedingJoinPoint jp,long time)throws Throwable { package com.cy.pj.common.aspect; import java.lang.reflect.Method; import java 阅读全文
posted @ 2024-04-03 11:02 CharyGao 阅读(1321) 评论(0) 推荐(0)
摘要: 项目场景: 这里主要说下Spring Boot AOP中@Pointcut拦截类上面的注解与方法上面的注解,怎么写表达式怎么,还有@Pointcut中使用运算符。 @PointCut 表达式 拦截注解的表达式有3种:@annotation、@within、@target 1、@annotation 阅读全文
posted @ 2024-04-03 10:59 CharyGao 阅读(1840) 评论(0) 推荐(0)
摘要: Redis 是一种高性能的键值存储数据库,而 Spring Boot 是一个简化了开发过程的 Java 框架。将两者结合,可以轻松地在 Spring Boot 项目中使用 Redis 来实现数据缓存、会话管理和分布式锁等功能。 一、添加 Redis 依赖 在 pom.xml 文件中添加 Redis 阅读全文
posted @ 2024-04-03 10:56 CharyGao 阅读(3913) 评论(0) 推荐(0)
摘要: 1.修改jar中的配置文件 vim xxx.jar vim的搜索语法就是/之后加关键词,SpringBoot的配置文件都是application-xxx.yml或者application-xxx.properties,所以我们的关键词就是application vim的具体搜索语法就是 /patte 阅读全文
posted @ 2024-04-03 10:39 CharyGao 阅读(1769) 评论(0) 推荐(0)
摘要: 写了一个简单的工具类,获取数据库的表、表中字段、字段类型、字段注释等信息。代码如下: package com.lnjecit.generator.util; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.sq 阅读全文
posted @ 2024-04-03 10:37 CharyGao 阅读(626) 评论(0) 推荐(0)
摘要: Spring三种建立数据源的方法 第一种方法:使用org.springframework.jdbc.datasource.DriverManagerDataSource (spring自带的类,功能较少) 说明:DriverManagerDataSource建立连接是: 每次连接都创建一个新的con 阅读全文
posted @ 2024-04-03 10:36 CharyGao 阅读(757) 评论(0) 推荐(0)
摘要: 一、说明 使用 Docker 能实现服务的容器化,并使用容器间网络在它们之间进行通信。有时您可能需要一个容器来与宿主机上非容器化的服务通信。以下是如何从 Docker 容器中访问本地主机或 127.0.0.1的具体方法。 二、方法1:简单的选择 适用于 Windows 和 Mac 的 Docker 阅读全文
posted @ 2024-04-03 10:35 CharyGao 阅读(3338) 评论(0) 推荐(0)
摘要: cron表达式介绍 cron表达式是由若干数字、空格、符号按一定的规则,组成一组字符串,从而表达时间的信息。与正则表达式类似,都是一个字符串表示一些信息。 cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义。 cron有如下两种语法格式 Seconds Min 阅读全文
posted @ 2024-04-03 10:34 CharyGao 阅读(3882) 评论(0) 推荐(0)
摘要: networks使用方式之官网教程 官网的docker-compose.yml参考文档:Compose file version 3 reference 较为准确的中文翻译版:Compose file version 3 reference networks通常应用于集群服务,从而使得不同的应用程序 阅读全文
posted @ 2024-04-03 10:33 CharyGao 阅读(8261) 评论(0) 推荐(0)
摘要: CentOS7怎么修改时区-永久修改时区-上海时区 root用户在终端,直接使用如下的命令即可修改时区即可:提示是否覆盖,输入:Y cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 阅读全文
posted @ 2024-04-03 10:32 CharyGao 阅读(121) 评论(0) 推荐(0)
摘要: 1、启动一个docker容器: # docker run -it centos:latest /bin/bash 这样就会新建一个docker容器,并且进入容器的bash中 2、安装sshd: # yum -y install openssh-server -y # yum -y install o 阅读全文
posted @ 2024-04-03 10:31 CharyGao 阅读(457) 评论(0) 推荐(0)
摘要: 一.Docker环境安装 1.1 安装工具 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 1.2 为yum源添加docker仓库位置 yum-config-manager --add-repo http://mirr 阅读全文
posted @ 2024-04-03 10:30 CharyGao 阅读(4727) 评论(0) 推荐(0)
摘要: 1. Docker容器的重启策略 Docker容器的重启策略是面向生产环境的一个启动策略,在开发过程中可以忽略该策略。 Docker容器的重启都是由Docker守护进程完成的,因此与守护进程息息相关。 Docker容器的重启策略如下: no,默认策略,在容器退出时不重启容器 on-failure,在 阅读全文
posted @ 2024-04-03 10:29 CharyGao 阅读(1313) 评论(0) 推荐(0)
摘要: 简介 HBase的原型是Google的BigTable论文,受到了该论文思想的启发,目前作为Hadoop的子项目来开发维护,用于支持结构化的数据存储。 官方网站:http://hbase.apache.org 民间中文文档:https://hbase.apachecn.org/#/ 2006年Goo 阅读全文
posted @ 2024-04-03 10:27 CharyGao 阅读(324) 评论(0) 推荐(0)
摘要: Hive 引言 简介 hive是facebook开源,并捐献给了apache组织,作为apache组织的顶级项目(hive.apache.org)。 hive是一个基于大数据技术的数据仓库(DataWareHouse)技术,主要是通过将用户书写的SQL语句翻译成MapReduce代码,然后发布任务给 阅读全文
posted @ 2024-04-03 10:26 CharyGao 阅读(1365) 评论(0) 推荐(0)
摘要: 架构 镜像:docker镜像,就相当于是一个root文件系统,比如官方镜像像ubuntu就包含了一套完整的ubuntu最小系统的root文件系统 容器:镜像和容器的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体.容器可以被创建 启动 停止 删除和暂停等 仓库: 阅读全文
posted @ 2024-04-03 09:12 CharyGao 阅读(1531) 评论(0) 推荐(0)
摘要: 我们在服务器端经常要根据服务器日志排查问题,每当我们的服务通过docker部署,想要检索日志该怎么排查比较方便呢,下面提供两种方法: 一.通过查找宿主机日志路径,通过Linux命令查看即可。 1.1 查看容器日志路径 查看自己的容器ID,通过docker ps命令 查看容器对应的日志路径 docke 阅读全文
posted @ 2024-04-03 09:07 CharyGao 阅读(979) 评论(0) 推荐(0)
摘要: 我们有时做主机之间的渗透测试,需要看网络发包的详细内容,但虚拟机内部如何抓包呢? vmware的虚拟网络编辑器有三种模式: ╔ HostOnly(仅主机) ╠ Bridge(桥接) ╚ NAT(代理)模式 其中: 1、仅主机模式,是虚拟机仅和主机连接,我们这时可以在【编辑】--【虚拟网络编辑器】中设 阅读全文
posted @ 2024-04-03 08:59 CharyGao 阅读(1093) 评论(0) 推荐(0)
摘要: 当在 sh shell 中运行脚本时,它不会自动加载 /etc/profile 文件中的环境变量。这是因为在 sh shell 中,它不会像 Bash 一样自动加载 /etc/profile 文件。 要在 sh shell 中加载 /etc/profile 文件中的环境变量,您需要在脚本中手动加载该 阅读全文
posted @ 2024-04-03 08:57 CharyGao 阅读(293) 评论(0) 推荐(0)
摘要: 状况: 没有python指令,只有python3的指令 python指令指向python2,希望python指令指向python3 操作:(1) 先删除旧的python连接。 sudo rm -rf /usr/bin/python (2)删除后建立新的连接关系,例如linux下python3默认在/ 阅读全文
posted @ 2024-04-03 08:57 CharyGao 阅读(144) 评论(0) 推荐(0)
摘要: 简介 日常开发中,json数据格式经常会被用到,其简单易懂的写法(对人与计算机皆如此)以及其轻量级特性非常适用于网络间的数据传递。json数据格式与java对象会经常进行相互转换,本文探讨的是json to java的转换。Jsonschema2pojo即是一种json转换java的工具 主流JSO 阅读全文
posted @ 2024-04-03 08:55 CharyGao 阅读(667) 评论(0) 推荐(0)