Java
Jetpack Compose(1) —— Android 全新的 UI 框架
写在前面 Jetpack Compose 已经不是什么新技术了,Google 早在 2019 年就推出 Jetpack Compose 的首个 alpha 版本,时至今日,相当大比例的国内 Android 开发者还没有学习使用过。本篇文章主要介绍 Jetpack Compose 的一些发展背景,接下来会有一个系列的文章,来逐步讲述 Jetpack Compose 的一些知识点。 一、Jetpack
Jetpack Compose(2) —— 入门实践
一、项目中使用 Jetpack Compose 从此节开始,为方便起见,如无特殊说明,Compose 均指代 Jetpack Compose。 开发工具: Android Studio 1.1 创建支持 Compose 新应用 新版 Android Studio 默认创建新项目即为 Compose 项目。 注意:在 Language 下拉菜单中,Kotlin 是唯一可用的选项,因为 Jetpac
修改VSCODE代码自动补全内容
1.问题 在学习JavaScript中,由于输入al,只会打出一个alert,而不是我想要的alert(""); 所以寻求改变方法 2.解决 参考链接:如何在 JavaScript 中编辑 Visual Studio Code 自动补全代码? 2.1 进入代码片段:配置用户代码片段 > javascript.... 按住ctrl+shift+p, 输入代码片段,选择上述选项即可 2.2
2.1日Android学习
了解了Android Studio的各个功能 drawable中是有关于我们应用图像处理的像素的有关内容 layout是我们主要的布局的页面文件 mipmap中包含了我们软件的图标等图片信息 values里就是一些字符或页面主题等内容 我们要进行简单的软件的开发一般就只要对 Androidmanifests.xml Java目录下的第一个目中的程序和layo
内存不够用还要速度快,可以基于 File 的 Cache
一:背景 1. 讲故事 18年的时候在做纯内存项目的过程中遇到了这么一个问题,因为一些核心数据都是飘在内存中,所以内存空间对我们来说额外宝贵,但偏偏项目中有些数据需要缓存,比如说需要下钻的报表上的点,基于性能的考虑,不希望采用独立的缓存中间件,比如 redis, mongodb,毕竟再怎么滴还是要走网络io,但直接放在本机内存中也不现实,那有没有均衡于 native cache 和 cache
SpringBoot/Java中OCR实现,集成Tess4J实现图片文字识别
场景 Tesseract Tesseract是一个开源的光学字符识别(OCR)引擎,它可以将图像中的文字转换为计算机可读的文本。 支持多种语言和书面语言,并且可以在命令行中执行。它是一个流行的开源OCR工具,可以在许多不同的操作系统上运行。 https://github.com/tesseract-ocr/tesseract Tess4J Tess4J是一个基于Tesseract OCR引擎的Ja
利用java代码将多张图片合成一张图片
利用java代码将多张图片合成一张图片 效果展示: 工具类 ImgDealUtils 参考:https://blog.csdn.net/weixin_48029654/article/details/127043664 https://blog.csdn.net/jiang_wang01/a
Exception in thread "xxl-job, admin JobRegistryMonitorHelper-registryOrRemoveThreadPool-1330285467" java.util.ConcurrentModificationException
这个问题集合遍历修改了集合结构,这样是不被允许的,需要换种方式 报错示意图 第一可以采用 Iterator<XxlJobRegistry> iterator = registryList.iterator(); while (iterator.hasNext()) { XxlJobRegistry registry = iterator.next();
2.微服务及相关框架
1.微服务框架,微服务好处 微服务(MicroServices),我们可以从字面上去理解,即“微小的服务”: (1) 所谓“服务”,其实指的是项目中的功能模块,它可以帮助用户解决某一个或一组问题,在开发过程中表现为 IDE中的一个工程或 Moudle。 (2) “微小”则强调的是单个服务的大小,主要体现为以下两个方面: 微服务体积小,复杂度低:一个微服务通常只提供单个
【Flink从入门到精通 02】DataStream API
【Flink从入门到精通 02】DataStream API 在之前的文章中,我们介绍了Flink的安装部署、基础概念,今天我们来一起学习Flink的核心之一DataStream API。 01 分布式流处理基础 上
设置java程序的守护进程
1.在服务器执行:crontab -e 命令 2.在出现的界面编写cron表达式 3.编写guard_java_extbork.sh脚本 #!/bin/bash source /etc/profile ps -ef|grep jar包名称 |grep -v grep if [ $? -ne 0 ] then sh jar包
Vue学习笔记16--监视属性watch + 深度监视 + 监视简写
监视属性watch 示例一: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>
@Valid和@Validated区别
@Valid 和 @Validated 都是用来在Java中进行数据校验的注解,但它们来自不同的框架并服务于不同的目的: @Valid: @Valid 是Java EE(现在是Jakarta EE)规范的一部分,具体来说是JSR 303/JSR 349(Bean Validation)的标准注解。 它用于验证对象属性,当使用在方法参数上时,会在方法调用前自动触发该参数对象的约束验证。 Hibern
第七章 程序是在何种环境中运行的
运行环境=操作系统+硬件,程序中包含着运行环境这一内容,操作系统和硬件决定了程序的运行环境。同一类型的硬件可以选择安装多种操作系统。从程序的运行环境这一角度来考量硬件时,CPU的种类是特别重要的参数。CPU只能解释其自身固有的机械语言,不同的CPU的只是机器人的种类也是不同的。C语言的程序称为本地代码。程序员用c语言等编写的程序在编写阶段仅仅是文本文件,文本文件在任何环境下都能显示和编辑。我们称之
MyBatis-Plus简介与快速入门
在Java开发的世界里,持久层框架的选择对于项目的成功至关重要。今天,我们要聊的主角是MyBatis-Plus——一个增强版的MyBatis,它以其强大的功能、简洁的代码和高效的性能,正在成为越来越多开发者的新宠。 那么,MyBatis-Plus到底是什么?又该如何快速入门呢?让我们一起探索这个强大的工具。 一、MyBatis-Plus简介 1、简介 MyBatis-Plus (opens new
Vue学习笔记17--监视属性 + 计算属性
监视属性和计算属性对比:computed和watch之间的区别 计算属性computed能完成的功能,watch都可以完成 监听属性watch能完成的功能,computed计算属性不一定能完成,例如:watch可以进行异步操作 两个重要小原则: 所被Vue管理的函数,最好写成普通函数,这样this的指向才是vm或组件实例对象。 所有不被vue所管理的函数(定时器的回调函数、ajax的回调函数
ELKF日志系统搭建(二)进阶——使用 Kafka 作为日志消息缓存
说明: 在一些比较大的业务使用场景中,因为应用繁多,需要收集的日志也很多,通过 filebeat 或者logstash 收集上来的日志如果全都直接发送给 ES,那么就会对 ES 集群产生一定的压力,为了避免出现日志接收不过来的问题,于是引入了消息队列作为缓存,比如常见的使用 Redis 或 Kafka 作为消息缓存。本篇讲的是以 kafka 作为消息缓存的架构,收集上来的日志先发送给 Kafka,
Java代码混淆工具:ProGuard
前言 java代码可以反编译,因此有时候要保护自己的知识产权还得费点心思,一般来说有三个思路: 将class文件加密,这个是最安全的,但也费事儿,因为要重写classloader来解密class文件,Lombok 库就是使用的这种方式(lombok.launch.ShadowClassLoader)。 使用花指令,使得class文件不能反编译(利用反编译工具漏洞);安全性一般; 代码混淆,提高代
centos7安装hadoop(集群模式)
目录节点规划安装前准备准备jdk和hadoop的安装文件分别修改三台主机名字建立hadoop账号添加账号并且指定密码添加hadoop账号到sudo组,vi /etc/soduers切换到hadoop账号配置三台主机的证书登录解压jdk和hadoop配置环境变量复制jdk和配置文件到别的节点使环境变量生效编辑文件修改修改配置文件创建文件目录复制hadoop到别的节点初始化namenode启动hado
Java流程控制01:用户交互Scanner
Scanner对象 1.Java提供了一个实现程序和人交互的工具类,可以获取用户的输入。Java.util.Scanner是Java5的新特征,可以通过Scanner类来获取用户的输入。 2.基本语法: 3.通过Scanner 类的 next() 与nextLine() 方法获取输入的字符串,在读取前我们一般需要使用 hasNext() 与 hasNextLine() 判
Nacos集群使用docker构建和部署
使用Dockers部署Nacos集群 前置条件: 已经安装docker 已经有Mysql服务保存Nacos配置数据 Docker Swarm集群已经初始化 Nacos稳定版本和Linux版本的Jdk稳定版本 私有镜像仓库可以正常使用(可选) 构建私有镜像 准备 创建目录 tar.gz包 从官方网站下载 jdk-8u144-linux-x64.tar.gz nacos-
Vue框架设计:性能权衡的艺术
“框架设计里到处都体现了权衡的艺术。” 当我们设计一个框架的时候,框架本身的各个模块之间并不是相互独立的,而是相互关联、相互制约的。因此作为框架设计者,一定要对框架的定位和方向拥有全局的把控,这样才能做好后续的模块设计和拆分。同样,作为学习者,我们在学习框架的时候,也应该从全局的角度对框架的设计拥有清晰的认知,否则很容易被细节困住,看不清全貌。 另外,从范式的角度来看,我们的框架应该设计成
优雅使用前端枚举Enum,符合国标的那种!
01、什么是枚举Enum? 枚举Enum是在多种语言中都有的一种数据类型,用于表示一组特定相关的常量数据集合,如性别(男、女)、数据状态(可用、禁用)、垂直对齐(顶端、居中、底部)、星期等。特点是数据值固定,不会变,存储和显示的内容不同。 然而在JavaScript中并没有枚举Enum类型,TypeScript算是有(本文中暂没用用TS的枚举)。在前端项目中还是会用到经常用到这类型数据的,本文就
cosmopolitan libc-your build-anywhere run-anywhere c library
author's link Cosmopolitan Libc makes C a build-anywhere run-anywhere language, like Java, except it doesn't need an interpreter or virtual machine. Instead, it reconfigures stock GCC and Clang to out
程序是在何种环境下运行的
一个程序的运行,需要多种硬件的辅助,其中我们熟知的包括cpu,显示器,内存,硬盘等等,cpu更是尤为重要对于程序的有序运行 运行环境 = 操作系统 + 硬件 操作系统和硬件决定了程序的运行环境。同一种类型的硬件可以选择安装多种操作系统。 从程序的运行环境这一角度来考量硬件时,CPU的种类是特别重要的参数。CPU只能解释其自身固有的机器语言。 不通操作系统的API不同 应用程序向操作系统传递指令的