Java
java实现用一个变量表示多个属性的状态
1、流程启动及状态流转举例(场景:同一份数据在多个流程中流转,确定各流程自己的状态) 1.发起流程核心代码 View Code 2.获取多个流程 View Code 3、流程组装成枚举 View Code 4、监听回调 View Code
Java - IO流
(IO随用随创建,不用了就关流) 1.字节流 OutputStream(字节输出流,写出) FileOutputStreanm off表示起始索引,len表示截取长度 Windows换行符:"rn" Linux:"n" Mac:"r" 续写:创建对象第二个参数写true 字节打印流(特有方法会原样输出) 无缓冲区,自动刷新无用 InputStream(字节输入流,读取) Fi
Android dex、odex、oat、vdex、art区别
1.dex java程序编译成class后,dx工具将所有class文件合成一个dex文件,dex文件是jar文件大小的50%左右. 2.odex(Android5.0之前)全称:Optimized DEX;即优化过的DEX. Android5.0之前APP在安装时会进行验证和优化,为了校验代码合法性及优化代码执行速度,验证和优化后,会产生ODEX文件,运行Apk的时候,直接加载ODEX,避免重复
1.1javaSE初识
JDK: JDK是Java Development Kit的缩写,意为Java语言的软件开发工具包(SDK)。它是Java编程的核心工具,为程序开发者提供了一个完整的开发环境。 JRE: Java运行环境,是运行Java程序所必须的环境的集合,包含了JVM(Java虚拟机)和Java核心类库。 Java开发工具:包括编译器(javac)、解释器(java)、调试器等工具,用于Java程序的编译、运
Java SE核心技术——12常用类
Java 中的 System 类是 Java 标准库的一部分,它属于 java.lang 包,因此在使用时不需要显式地导入。这个类提供了一些与系统相关的功能,主要包括以下几个方面: 标准输入输出: System.in:标准输入流,通常用于从键盘读取数据。 System.out:标准输出流,用于向控制台打印信息。 System.err:标准错误流,用于打印错误信息。 环境变量: Syste
promise.catch
在 JavaScript 中,如果你在 Promise 链中使用了 catch,并且 catch 捕获到一个异常后,后面的 then 仍然会被执行,但有一些具体的行为取决于 catch 中的操作。 1、当promise.catch捕获到异常并返回一个值,那么后续的 then 会继续执行,并且接收 catch 中返回的值作为输入。如: new Promise((resolve, reject) =&
JAVA线程资源共享问题
JAVA多线程共享资源问题 场景引入 这个场景是一个典型的多线程共享资源的场景,主要目的是测试和观察多个线程对共享变量 sum 进行并发操作时是否会出现线程安全问题 场景描述 共享资源: 共享变量 sum,初始值为 0。 多个线程同时对 sum 进行操作,一个线程负责自增操作,另一个线程负责自减操作。 线程操作: 每个线程在循环中对 sum 进行 1000 次操作。 自增线程每次将 sum
yum和rpm安装的Jenkins启动报错"Job for jenkins.service failed because the control process exited with error code. See "systemctl status jenkins.service" and "journalctl -xe" for details."解决办法
jenkins卸载方式 1、rpm的方式安装 2、yum的方式安装 3、启动并查看状态 systemctl start jenkins #启动 systemctl status jenkins #检查Jenkins的当前状态 4、出现异常 叮咚。。。。。。 启动时报错如下图 按照提示 输入命令 排查原因 &
Digest Auth 摘要认证
1、该代码展示了使用Apache HttpClient库进行HTTP请求,并处理基于MD5的HTTP Digest认证的过程。 Digests类实现了MD5加密算法,HttpUtils类处理了GET、POST方法的请求,包括设置请求头、生成授权信息和处理响应。 2、请求流程 2.1.发送一个请求 2.2.服务器返回401响应头,要求输入用户凭据(建立通信,发起请求。如果返回401,继续下一次请求。
Git虚空commit,java.lang.NoClassDefFoundError
GPT老师真好用啊…… 1. 需求:需要定期提交commit到远程gerrit仓库,希望可以通过编程的方式让它自动提交。但由于远程仓库代码量过大,不想在本地维护,且commit内容较为独立,不会产生冲突,想要在本地生成一个commit直接交上去。 失败过程:(git是给你这么用的吗这种要求一看就会失败吧)首先我们要捏造一个commit,可以通过操作git暂存区实现。假设我们要把test.txt传到
LeetCode | 1 Two Sum
分析 Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target. You may assume that each input would have exactly one solution, and you ma
大数据框架之一——Hadoop学习第四天
1、MapReduce序列化(接着昨天的知识继续学习) 序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。 当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个
@JsonAnyGetter 注解
@JsonAnyGetter 注解 在 Jackson 中,@JsonAnyGetter 注解用于指示 Jackson 在序列化过程中取得对象动态属性的方法。它的作用是将动态属性以键值对的形式包含在序列化结果中。 1.1 @JsonAnyGetter 注解的要求 使用 @JsonAnyGetter 注解的方法必须满足以下要求: 方法必须是公共的 方法不能有参数 方法的返回类型必须是 Map<
SpringBoot日志的使用
https://www.baeldung.com/logback 这里有对logback的介绍 背景: 在生产环境中,排程问题都是通过日志,所以日志很重要。 日志有三个部分组成 Logger Appender Layout 一般日志都会有对应的配置文件, log4j2.xml 或者是 logback-spring.xml ,日志的输出格式在 Pattern 标签中 1、确认日志
Spring Boot 常见注解的用法和功能
前言 Spring Boot提供了大量注解,主要用于简化配置和开发,大致可分为核心注解、Web注解、依赖注入注解、数据访问注解、配置注解、条件注解、测试注解。 一、核心注解 @SpringBootApplication &n
【原创】【深入浅出系列】之代码可读性
这是“深入浅出系列”文章的第一篇,主要记录和分享程序设计的一些思想和方法论,如果读者觉得所有受用,还请“一键三连”,这是对我最大的鼓励。 一、老生常谈,到底啥是可读性 一句话:见名知其义。有人说好的代码必然有清晰完整的注释,我不否认;也有人说代码即注释,是代码简洁之道的最高境界,我也不否认。但我都不完全接受,如果照搬前者,有人会在每个方法、每个循环、每个判断都添加大量注释,对于一个表达不严谨的
JAVA报错:Caused by: java.lang.NoSuchFieldError: REFLECTION
这个主要是项目里面含有jaxb相关的包 多版本冲突了 要把一些排掉 比如 可以用maven helper看冲突 -----------------------有任何问题可以在评论区评论,也可以私信我,我看到的话会进行回复,欢迎大家指教------------------------
记某项目的vue.config.js的配置,主要是获取git版本信息,并写入新创建的json文件
/** @format */ const moment = require("moment"); const FileManagerPlugin = require("filemanager-webpack-plugin"); const GreatePlugin = require("generate-asset-webpack-plugin"); const shell = requir
edge浏览器加载java插件的方法
在Microsoft Edge浏览器中直接加载Java插件并不是一个直接支持的功能,因为Edge是基于Chromium内核的浏览器,主要支持Web技术如HTML、CSS和JavaScript。Java插件(通常指的是Java小程序,使用Java编程语言编写的应用程序)主要用于在早期的Internet Explorer浏览器中运行,但在现代浏览器中已不再支持。 如果我们的目的是在Web页面上展示或运
京东面试:说说CMS工作原理?
CMS(Concurrent Mark Sweep)垃圾收集器是以“最短的停顿”著称的垃圾回收器,因此也是 JDK 9 之前使用最广泛的垃圾回收器之一。那么,问题来了,为什么 CMS 能实现最短停顿时间?CMS 垃圾回收器的工作原理又是啥呢?接下来,我们一起来看。 CMS 工作原理 CMS 之所以能实现最短停顿时间是和它的工作原理分不开的,它们存在因果关联关系,因为 CMS 的工作原理,所以决定了
从Java类加载器源码浅析到线上热部署实现
1 Java代码的执行过程 写了这么多代码,有没有想过我们的代码是怎么执行的?或者说定义了那么多类,我们的class是怎么加载到内存的?Java语言属于一种高级语言,而cpu能执行的只有机器码,所以Java代码的运行离不开jvm虚拟机的编译,下面用一张图说明在HotSpot虚拟机中Java代码加载到cpu执行的过程。 1.2 类的生命周期与加载过程 在Java中类的生命周期分为5部分:加载、链接
LeetCode | 454 4sum-II
分析 四个相同大小的数组,从数组中各取一个元素,四者之和要与目标值相等,target是一个确定值。在两数之和这给问题中,num[j] = target - num[i],在这道题目中是否也可以使用这种思维来降低自由变量数量? 将四个数组一分为2,两个数组作为一个整体,就可以等价于两数之和的思路了。取两个数组,计算出里面所有的元素之和,并按照值进行归类,有点类似于缓存的概念。有了确定的目标值,有了确
node.js: mysql sequelize es6 ORM in vscode
mysql: select * from tutorials; # CREATE TABLE IF NOT EXISTS `tutorials` (`id` INTEGER NOT NULL auto_increment , `title` VARCHAR(255), `description` VARCHAR(255), `published` TINYINT(1), `createdAt`