Java
dremio ResultsCleanupService 服务简单说明
dremio 支持对于jobresult 的定时清理,jobresult 的清理可以减少不少存储空间,尤其查询比较多的时候,默认dremio 每个执行的查询会对于 结果集进行本地cache,同时展示使用,同时sys.job_results.<jobid> 也会使用此数据 服务创建 DACDaemonModule 模块中,可以看出依赖SchedulerService,JobResul
发布DDD脚手架到Maven仓库,IntelliJ IDEA 配置一下即可使用
作者:小傅哥 博客:https://bugstack.cn 项目:https://gaga.plus 沉淀、分享、成长,让自己和他人都能有所收获!😄 大家好,我是技术UP主,小傅哥。 这篇文章将帮助粉丝伙伴们更高效地利用小傅哥构建的DDD(领域驱动设计)脚手架,搭建工程项目,增强使用的便捷性。让👬🏻兄弟们直接在 IntelliJ IDEA 配置个在线的链接,就能直接用上这款脚手架!—— 你就
面试官:线程调用2次start会怎样?我支支吾吾没答上来
写在开头 在写完上一篇文章《Java面试必考题之线程的生命周期,结合源码,透彻讲解!》后,本以为这个小知识点就总结完了。 但刚刚吃晚饭时,突然想到了多年前自己面试时的亲身经历,决定再回来补充一个小知识点! 记得是一个周末去面试Java后端开发工程师岗位,面试官针对Java多线程进行了狂轰乱炸般的考问,什么线程创建的方式、线程的状态、各状态间的切换、如果保证线程安全、各种锁的区别,如何使用等等,因为
春风吹又生的开源项目「GitHub 热点速览」
随着上周知名 Switch 开源模拟器 Yuzu(柚子)被任天堂起诉,该项目作者就删库了,但还是要赔偿任天堂数百万美元。此事还在 GitHub 上掀起了一波 Yuzu fork 项目的小浪潮,正所谓野火烧不尽,春风吹又生。 很多读者都表示事情发生得太突然,没来得及 fork 一下,所以本周的「热点速递」上来就是另一款用 C# 写的 Switch 开源模拟器,要 fork 的抓紧时间啦。此事告一段
基于RocketMQ实现分布式事务
背景 在一个微服务架构的项目中,一个业务操作可能涉及到多个服务,这些服务往往是独立部署,构成一个个独立的系统。这种分布式的系统架构往往面临着分布式事务的问题。为了保证系统数据的一致性,我们需要确保这些服务中的操作要么全部成功,要么全部失败。通过使用RocketMQ实现分布式事务,我们可以协调这些服务的操作,保证数据的一致性。 功能原理 RocketMQ的分布式事务消息功能,在普通消息基础上,支持
TheWay2Hack
TheWay2Hacker coding 阶段一 打基础。 主要涉及两个方面,一个是代码质量和设计,代表课程是cs61a。预计时间为一个月(因为已经过去一个月了)。 另一个是步入下一阶段的先导课,是为了进入更底层视角的铺垫,csapp和NandToTetris。每周一个lab,一共7个lab,预计时间为两个半月;另一个是NandToTetris,主要目的是对计算机底层进一步熟悉,并且课程难度较为简
代码生成器之如何快速生成后端接口?
前言 在现代软件开发中,重复性的增删改查逻辑代码的编写往往非常耗时且容易出错。为了提高开发效率,减少手动维护的成本,代码生成器就成为了一个非常重要的工具,本文小编就将为大家介绍一下如何利用一个开源项目快速生成数据接口。 实现方式 环境准备 技术栈:Java,Spring-Boot,MyBatisPlus,Maven(可选) 在开始前,请先确保自己有Java开发环境,并下载好这两个项目。 附上这两
mac 终端 zsh 和 bash 切换
查看 shell 类型 可以执行命令 echo $SHELL,先查看终端类型。 bash: /bin/bash zsh: /bin/zsh shell 类型切换命令 切换到 bash 输入命令:chsh -s /bin/bash 切换到 zsh 输入命令:chsh -s /bin/zsh 注意需要重启终端生效(强制退出后再打开) 遇到个问题:无法正常使用/usr/libexec/java_ho
前端大屏尺寸实现自适应屏幕大小
说在前面 目前很多业主在使用系统的时候都会有大屏的需求,很多屏幕并不会像我们开发的屏幕一样标准,比如1920*1080,这样我们就需要根据业主的屏幕尺寸进行适配,避免一些图表或文字在大屏中出现偏移,影响视觉观感。 方案比
Java如何在树结构上做模糊查询
开发企业后台管理应用时,经常会遇到一种场景:在树结构上做模糊查询。 比如:公司组织架构树、分类树等,通常是在页面上的文本框中输入一个关键字,例如"数据",然后在公司组织架构树中过滤出名字包含数据的部门,且保持树结构不变。 公司的一级部门、二级部门、三级部门等等,名字都有可能包含"数据",比如一级部门叫大数据部门,二级部门叫数据分析部门或数据开发部门等等,这些都是符合要求的。 下面我将造出一个简单的
自己简单实现一个线程池
线程池 Java中的线程池是运用最多的并发框架,几乎所有需要异步或并发执行任务的程序都可以使用线程池。 线程池的好处/作用: 1.不需要频繁的创建和销毁线程,提高相应速度 2.管理线程,避免无休止的创建线程导致资源枯竭。(不会每来一个任务就创建一个线程,线程不断的取任务执行) 线程池的方法有哪些 五个方法: void execute(Job job): 执行一个Job,这个Job需要实现Runna
Spring状态机(FSM),让订单状态流转如丝般顺滑
引言 在复杂的应用程序设计中,尤其是那些涉及多个状态变迁和业务流程控制的场景,有限状态机(Finite State Machine, FSM)是一种强大而有效的建模工具。Spring框架为此提供了Spring状态机(Spring State Machine)这一组件,它允许开发者以一种声明式且结构清晰的方式来管理和控制对象的状态流转。 提起Spring状态机,可能有些小伙伴还比较陌生。当你听到状态
JavaScript 中的变量作用域
当变量被声明时,它就存在于我们代码的特定区域中,可以在其中引用或使用它。这称为该变量的范围。我们不能在其范围之外使用变量。 在 JavaScript 中,变量可以具有全局作用域、局部作用域或块作用域。 在代码中任何函数外部声明的变量都具有全局作用域。具有全局作用域的变量可以在程序中的任何位置访问或修改。
redisson序列化采坑那些事儿
前言 如果对springcloud-gateway有了解的同学,应该会知道springcloud-gateway默认提供了一个基于内存的路由定义仓库。 基于内存的好处,就是快,但是缺点就是网关重启路由就丢失了。为了方便管理网关路由以及保证网关重启,路由不丢失,于是业务部门做了形如图的改造 就是会有一个gateway的portal面板来管理路由,然后路由规则是保存在redis,gateway从r
js类原始和es6方式
//原始创建类 function UIGoods(gd) { this.data = gd this.choose = 0 } UIGoods.prototype.getTotalPrice = function () { return this.data.price * this.choose } const ui1 = new UIGoods({ price: 22 }) co
Http请求头 application/xml和text/xml
Accept:指定客户端能够接收的内容类型,内容类型中的先后次序表示客户端接收的先后次序。 实例:Accept:text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5备注:在Prototyp(1.5)的Ajax代码封装中,将Accept默认设置为“text
Jackson Redisson反序列化问题
异常信息 原因 类里面有个 AtomicInteger 类型变量, jackson 找不到改类的通过 Number value 0 的反序列化方法。 解决方案 手动添加一个反序列化配置, 极简生效代码
cglib FastClass机制
前言 关于动态代理的一些知识,以及cglib与jdk动态代理的区别,在这一篇已经介绍过,不熟悉的可以先看下。 本篇我们来学习一下cglib的FastClass机制,这是cglib与jdk动态代理的一个主要区别,也是一个面试考点。 我们知道jdk动态代理是使用InvocationHandler接口,在invoke方法内,可以使用Method方法对象进行反射调用,反射的一个最大问题是性能较低,cgli
jvm7和8基本区别
来自https://blog.csdn.net/weixin_43767015/article/details/105189239 1 对比图 2 方法区的变化JDK1.8与JDK1.7最大的区别是:JDK1.8将永久代取消,取而代之的是元空间,在JDK1.8中方法区是由元空间来实现,所以原来属于方法区的运行时常量池就属于元空间了。 元空间属于本地内存,所以元空间的大小仅受本地内存
Activity启动流程(基于AOSP 13)
Activity启动流程 这里说的是非首页的Activity。启动一个新的 Activity 只需要在当前 Activity 中调用startActivity方法,并传入一个Intent 即可。 1、应用发起新Activity启动 可以看到,startActivity 方法最终会调用 startActivityForResult 方法,这个方法的核心代码是通过 Instrumentation
Activity生命周期流程(基于AOSP 13)
Activity生命周期 1、Activity生命周期定义 Activity生命周期管理,在APP侧和AMS侧各有对应的记录实现。 系统端使用ActivityRecord记录与管理应用程序端的Activity,其中mState标记当前Activity的生命周期。 APP侧则使用ActivityClientRecord保存与记录,mLifecycleState标记Activity的生命周期状态,其
Activity退出流程(基于AOSP 13)
Activity退出流程 1、onPause 1.1 服务侧发起Pause 在Activity启动流程中,我们知道会调用startPausing方法来触发栈顶的activity进入onPause状态。 schedulePauseActivity 方法主要发送对应的ActivityLifecycleItem,即PauseActivityItem给到客户端。 1.2 应用侧执行Pause 通过Ac
linux下安装jdk环境
在linux下安装jdk环境很简单,有两种方式: 1、用yum或apt之类的软件管理工具,自动安装open-jdk; 2、去oracle官网下载oracle jdk压缩包,在linux中解压后,配置一下环境变量即可。 本文介绍的是第2种方法。 详细步骤: 第一步:到oracle官网(点击跳转)下载linux版本的java压缩包,本文下载的是jdk-8u361-linux-x64.ta
什么是APP封装?APP封装有什么途径?APP封装如何实现?
APP封装是形成APP成本最低的一种方式。你只需要拥有一个手机端的网址就可以通过一些技术处理封装成一个跨iOS和Android的APP,这个过程往往只需要几分钟。既节省时间又能节省开发的成本资金,所以接下来就介绍一下大家都比较关心的怎么给手机网站封装打包成app问题的解答。 跨平台程序应用首先对前端开发人员来说。这个问题并不陌生,跨平台的开发框架已经在国内高速发展很多年,如uni-app可以一端开
生成二维码及二维码添加文本及图片
生成二维码及二维码添加文本及图片 如果要输出流,也可以参考此处 package com.myFirstSpring.test; import java.awt.BasicStroke; import java.awt.Color; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Gra
史上最全:prometheus+alertmanager 实现监控预警
文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录 博客园版 为您奉上珍贵的学习资源 : 免费赠送 :《尼恩Java面试宝典》 持续更新+ 史上最全 + 面试必备 2000页+ 面试必备 + 大厂必备 +涨薪必备 免费赠送 :《尼恩技术圣经+高并发系列PDF》 ,帮你 实现技术自由,完成职业升级, 薪酬猛涨!加尼恩免费领 免费赠送 经典图书:《Java高并发核心编程(卷1)加强版》 面试
后台对Json数据加密、解密
1、工具类 package com.abc.er.util; import org.apache.commons.codec.binary.Base64; import javax.crypto.*; import javax.crypto.spec.SecretKeySpec; import java.security.SecureRandom; public class AesUtil {
mybatis02 - 第一个Mybatis程序
1、开发思路 2、搭建环境 2.1、数据库 -- 创建数据库 CREATE DATABASE `mybatis`; -- 切换数据库 USE `mybatis`; -- 创建表 CREATE TABLE IF NOT EXISTS `user`( `id` INT(20) NOT NULL COMMENT '序号', `name` VARCHAR(30) DEFAU