
Java技术栈
文章平均质量分 65
Java技术栈
周小董
专注于数据采集,数据治理及数据架构的研究,热爱分享一些经验,欢迎朋友来探讨交流。 附言:文章仅用于个人学习,如有侵权,请联系我删除,谢谢!
展开
-
[1264]源码分析--System.loadLibrary解析
在我们实际开发中,经常会调用so库的一些功能,那么他们是如何工作的呢?本文我们就来分析一下 so库的加载原理。so的加载分为两个Java层、Native层两部分,下面我们以加载一个为例来具体分析一下它的加载流程。转载 2024-02-08 09:00:00 · 1202 阅读 · 0 评论 -
[1256] javascript常用类型转换和获取值
然后通过使用 Java 提供的 java.util.ArrayList 类来创建一个空的列表对象 list,同时指定其参数类型为 String。接下来,我们遍历原始数组 array,并使用 list.add() 方法将每个元素添加到列表中。在JavaScript中,可以使用java.util.List来表示列表。要从该列表中获取值,需要先将其转换为适当的数据结构(如Array)并进行操作。Java中的Base64编码可以使用java.util.Base64类来实现。原创 2024-01-07 21:36:44 · 550 阅读 · 0 评论 -
[1254]Java常用jar命令
通过这种方式,可以把配置文件放在/etc/config/目录中,java代码扫描classpath下的配置文件时,就会以-Xbootclasspath/p:指定的目录做为优先查找路径。以下的内容会介绍如何执行jar包,Main.class作为可执行的入口类,先给出Main.java的源码,如下所示。这将使用Maven的默认目录结构,编译源代码并将生成的class文件打包到target目录中的jar包中。这将编译src文件夹中的源代码,并将生成的class文件打包到名为myJar.jar的jar包中。原创 2023-12-30 22:03:26 · 4047 阅读 · 1 评论 -
[1253].class文件转换为.java文件
下载并安装Java反编译工具,比如JD-GUI、Fernflower等。使用ASM库或其他类似的字节码操作库,将输入流中的字节码转换为对应的。请注意,以上代码仅供参考,实际使用时需要根据具体情况进行修改。打开反编译工具,选择要转换的.class文件。使用Java反射机制,通过Class类的。点击反编译按钮,工具会将。原创 2023-12-30 22:02:41 · 3742 阅读 · 0 评论 -
[1252]java byte[] 转string
这些方法在将byte数组转换为字符串时可能会有一些差异,具体选择哪种方法取决于具体的需求和环境。参考:https://www.jianshu.com/p/2a9e82f48540。Java 8 开始可以使用Base64类。这种方式使用平台默认字符集。原创 2023-12-30 22:01:21 · 2236 阅读 · 0 评论 -
[1143]Flink的Checkpoint和Savepoint
文章目录Flink的Checkpoint和Savepoint介绍第一部分:Flink的Checkpoint1\. Flink Checkpoint原理介绍2\. Checkpoint的简单设置3. 保存多个Checkpoint4.从Checkpoint进行恢复Checkpoint1、checkpointConfig2、barrier第二部分: Flink的Savepoint1.Flink的Savepoint原理介绍2.创建Savepoint3.从Savepoint恢复4. Savepoint目录结构flin转载 2022-05-21 15:21:04 · 4863 阅读 · 0 评论 -
[1138]java中json的使用和解析
文章目录1.创建json对象1.1 创建JSONObject对象1.2 创建JSONArray对象2.解析json2.1 官方json包解析2.2 fastjson解析2.3 jackson解析1.创建json对象1.1 创建JSONObject对象使用map初始化json@Test public void test1() { Map<String, Object> map = new LinkedHashMap<String, Objec转载 2022-04-27 22:16:56 · 1071 阅读 · 0 评论 -
[1135]Java8 LocalDateTime 时间戳 Instant ZoneOffset
文章目录1.时间戳定义2.Instant定义3.理解:4.测试:1.时间戳定义首先我们要先了解时间戳的定义,Unix时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。即北京时间要比格林威治时间多8个小时unix时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考转载 2022-04-27 22:12:56 · 984 阅读 · 0 评论 -
[1134]使用maven创建项目没有.iml文件
解决方案:在terminal输入:mvn idea:module原创 2022-04-23 22:30:03 · 1097 阅读 · 0 评论 -
[1132]Flink与Kafka版本对应关系
以下为Flink和Kafka的版本对照表Flink版本Kafka版本1.12.X2.4.11.11.X2.4.11.10.X2.2.11.9.X2.2.01.8.X2.0.11.7.X2.0.10.10.x0.8.2.00.9.x0.8.2.0最近在使用Flink进行Kafka吞吐量测试时,遇到了以下问题导致程序无法运行去网上查资料也没有很直接的解决方法,大致也就是说是Flink与Kafka的版本问题目前Flink采用转载 2022-04-23 21:50:12 · 2162 阅读 · 1 评论 -
[1131]Flink(1.13)命令行提交Job
文章目录Per-Job-Cluster新老版本启动方法Session-ClusterPer-Job-Cluster 与 Session-Cluster 区别ApplicationPer-Job-Cluster 与 Application 区别高可用配置Yarn 高可用和Standalone 高可用区别查看flink提交任务Flink提供了yarn上运行的3模式,分别为Application Mode, Session-Cluster和Per-Job-Cluster模式。Yarn 模式会动态申请资源原创 2022-04-23 21:49:13 · 3995 阅读 · 0 评论 -
[1128]commons-lang里面StringUtils方法说明以及案例
文章目录1.public static boolean isBlank(String str)2. public static boolean isEmpty(String str)3. public static boolean isNotEmpty(String str)4. public static boolean isNotBlank(String str)5. public static String trim(String str)6. public static String trimToN转载 2022-04-20 21:47:58 · 484 阅读 · 0 评论 -
[1127]Java中instanceof关键字的作用
instanceof 是 Java 的保留关键字。它的作用是测试它左边的对象是否是它右边的类的实例,返回 boolean 的数据类型。严格来说,instanceof 是 Java 的一个二元操作符(双目运算符),类似于 ==,>,< 等操作符。用来测试一个对象是否是为一个类的实例,用法为:boolean result = obj instanceof class 其中 obj 为一个对象,Class 表示一个类或者一个接口。当 obj 为 Class 的对象,或者是其直接或间接子类,或转载 2022-04-20 21:47:09 · 228 阅读 · 0 评论 -
[1124]flink上下文StreamExecutionEnvironment
概览 | Apache FlinkFlink : 1.12-SNAPSHOT APIStreamExecutionEnvironment的获取概述里介绍获得StreamExecutionEnvironment方法有三个StreamExecutionEnvironment.getExecutionEnvironment(); StreamExecutionEnvironment.createLocalEnvironment(); StreamExecutionEnvironment.creat原创 2022-04-20 20:58:15 · 911 阅读 · 0 评论 -
[1123]Java中使用Jedis操作Redis
文章目录jedis包下载创建RedisUtils工具类Controller中使用RedisJedis中操作String,List,Set,Map,以及集合排序Redis连接池RedisJava测试连接池如果我们使用Java操作Redis, 需要确保已经安装了 redis 服务及 Java redis 驱动。Maven项目可以直接在pom.xml中加入jedis包驱动: <!-- https://mvnrepository.com/artifact/redis.clients/jed原创 2022-03-28 21:36:26 · 283 阅读 · 0 评论 -
[1122]maven pom relativePath属性的作用
搭建maven项目,子模块指定父模块试,经常会在parent下面出现relativePath类似下面:<parent> <groupId>net.itxw</groupId> <artifactId>test</artifactId> <version>0.0.1-SNAPSHOT</version> <relativePath/></parent>这个下面的属性是什么意思?其实很明原创 2022-03-28 21:35:33 · 807 阅读 · 0 评论 -
[1121]dependency中的classifier属性
classifier元素用来帮助定义构件输出的一些附属构件。附属构件与主构件对应,比如主构件是 kimi-app-2.0.0.jar 该项目可能还会通过使用一些插件生成 如 kimi-app-2.0.0-javadoc.jar 、 kimi-app-2.0.0-sources.jar 这样两个附属构件。这时候,javadoc,sources就是这两个附属构件的classifier,这样附属构件也就拥有了自己唯一的坐标。Note:不能直接定义项目的 classifer,因为附属构件不是项目直接默转载 2022-03-28 21:34:27 · 546 阅读 · 0 评论 -
[1120]Maven依赖冲突解决之exclusions
1. 背景1、作为java生态下开发者,往往需要使用大量线程的第三方库,一般都是以jar包形式存在。2、maven作为事实上主流的jar包依赖管理工具,Idea和Eclipse都支持创建maven工程来管理jar包依赖。3、使用maven进行jar包依赖管理时,maven会自行管理jar包及其依赖链条,但往往会遇到依赖冲突问题,这时候就可以尝试使用exclusion来进行依赖管理。2. 解决方式1、场景假如hadoop集群中hadoop版本是3.2.1,这时候为了保证程序能够顺利操作hadoo转载 2022-03-28 21:33:25 · 2440 阅读 · 0 评论 -
[1119]使用maven插件maven-shade-plugin对可执行java工程及其全部依赖jar进行打包
现在基本上都是采用maven来进行开发管理,我有一个需求是需要把通过maven管理的java工程打成可执行的jar包,这样也就是说必需把工程依赖的jar包也一起打包。而使用maven默认的package命令构建的jar包中只包括了工程自身的class文件,并没有包括依赖的jar包。我们可以通过配置插件来对工程进行打包,pom具体配置如下:maven-assembly-plugin (使用此插件会有一些问题)<plugin> <artifactId>maven-asse转载 2022-03-28 21:31:54 · 1926 阅读 · 0 评论 -
[1118]设置Maven的编译环境为1.8的方法
遇到的问题: 项目默认使用 jdk1.7, 每次 update maven 的时候, 项目都会重新恢复到1.7进行编译, 导致部分使用1.8新特性的代码会报红解决方法:1: 在pom.xml 下添加如下配置 (项目使用1.8进行编译) 推荐使用<build> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifa原创 2022-03-25 23:03:38 · 2806 阅读 · 0 评论 -
[1117]maven依赖中scope=compile和provided区别
scope的其他参数如下compile默认的scope,表示dependency(依赖)都可以在生命周期中使用。而且,这些dependencies 会传递到依赖的项目中。适用于所有阶段,会随着项目一起发布provided跟compile相似,但是表明了dependency 由JDK或者容器提供,例如Servlet AP和一些Java EE APIs。这个scope 只能作用在编译和测试时,同时没有传递性。runtime表示dependency不作用在编译时,但会作用在运行和测试时,如原创 2022-03-25 23:02:27 · 1532 阅读 · 0 评论 -
[1115]idea怎么快速取消打的所有断点或取消多个断点
在项目中选择调试执行点击红色箭头所指向的符号点击后就可以看到你打过的所有断点对你想取消的断点位置去掉对勾就可以了最后点击Done就解决了参考:https://blog.youkuaiyun.com/weixin_44100455/article/details/88565814...原创 2022-03-20 23:16:33 · 3509 阅读 · 0 评论 -
[1114]mysql-connector-java各种版本下载地址
mysql-connector-java下载地址:http://mvnrepository.com/artifact/mysql/mysql-connector-java1.进去后选择自己的版本:2.然后再点击需要下载其他的jar包(或者依赖)都是在此网址中可以下载到的参考:https://blog.youkuaiyun.com/weixin_41804049/article/details/87719574...原创 2022-03-16 23:57:03 · 2152 阅读 · 0 评论 -
[1112]IDEA常用快捷键
文章目录1. 首先定义 java类 的属性参数:2. 右键 => 选择:generate:3. 出现:generate 面板:4. 点击:construct : 生成构造函数:无参构造函数点击:Select None:有参构造函数点击:OK:5. 点击:Getter: 生成: 类参数获取方法:6. 如果已经生成相应的 getter函数或 setter函数,则不能重新定义:7. 点击:Setter: 生成: 类参数设置方法:IDEA中常用的快捷键1. 首先定义 java类 的属性参数:package原创 2022-03-15 23:18:59 · 8447 阅读 · 0 评论 -
[1110]idea中maven自带Bundled (Maven 2)和Bundled (Maven 3)的文件目录位置
idea中maven自带Bundled (Maven 2)和Bundled (Maven 3)的文件目录位置在idea安装的plugins目录中。假设idea安装目录为:D:\work\ideaIU-2017.3.1.win\Bundled (Maven 2)的目录为:D:\work\ideaIU-2017.3.1.win\plugins\maven\lib\maven2Bundled (Maven 3)的目录为:D:\work\ideaIU-2017.3.1.win\plugins\maven\li转载 2022-03-14 19:48:36 · 891 阅读 · 0 评论 -
[1109]Maven全局配置文件settings.xml详解
文章目录一、概要1、settings.xml的作用2、settings.xml文件位置3、配置的优先级二、settings.xml元素详解1、顶级元素概览1.1、LocalRepository1.2、InteractiveMode1.3、UsePluginRegistry1.4、Offline1.5、PluginGroups1.6、Servers1.7、Mirrors1.8、Proxies1.9、Profiles1.9.1、Activation(1)下面的示例表示当存在属性hello的时候激活该profil转载 2022-03-14 19:47:08 · 262 阅读 · 0 评论 -
[1102]@Scheduled中fixedDelay、initialDelay 和cron表达式的解析及区别
注解参数区别@Scheduled注解可以控制方法定时执行,其中有三个参数可选择:1、fixedDelay控制方法执行的间隔时间,是以上一次方法执行完开始算起,如上一次方法执行阻塞住了,那么直到上一次执行完,并间隔给定的时间后,执行下一次。2、fixedRate是按照一定的速率执行,是从上一次方法执行开始的时间算起,如果上一次方法阻塞住了,下一次也是不会执行,但是在阻塞这段时间内累计应该执行的次数,当不再阻塞时,一下子把这些全部执行掉,而后再按照固定速率继续执行。3、cron表达式可以定制化执行任务,转载 2022-03-13 14:40:53 · 825 阅读 · 0 评论 -
[1101]flink常用参数说明
文章目录flink run参数:flink run -m yarn-cluster参数flink-listflink cancelflink stop:仅仅针对Streaming jobflink modify 修改任务并行度flink savepointflink run参数:flink run命令执行模板:flink run [option]参数参数全称描述-c–class需要指定的main方法的类-C–classpath向每个用户代码添加url,他是通过U原创 2022-03-13 14:39:27 · 3284 阅读 · 0 评论 -
[1088]SpringBoot启动报错:HikariPool-1 - Exception during pool initialization
SpringBoot启动报错:HikariPool-1 - Exception during pool initialization.com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure原因:jdbc连接失败解决办法:1、仔细检查username、password、url中IP地址、端口号等是否正确,特别是IP地址更换环境容易忘记修改。2、如果你使用的是SpringBoot 2.0以上版原创 2021-12-08 22:58:09 · 1304 阅读 · 0 评论 -
[1085]对于maven中pom.xml依赖报红问题
文章目录对于maven中pom.xml依赖报红问题maven-assembly-plugin总是标红问题描述解决方案对于maven中pom.xml依赖报红问题在写maven项目的时候,导入的依赖报红问题解决办法,像下图标注位置是红色,依赖包也无法正常导入解决1.按下图操作刷新之后等一下就可以了maven-assembly-plugin总是标红问题描述Hadoop中MapReduce在本地打包jar上传至服务器,在porn.xml中添加相关依赖:<build> &原创 2021-12-08 22:45:30 · 5023 阅读 · 1 评论 -
[1084]windows搭建clojure开发环境
文章目录1、单独运行的clojure2、安装leiningen安装方法1:安装方法2:3、使用Intellij Idea作为开发IED4、运行和打包lein项目5、leiningen构建工具的project.clj配置1、单独运行的clojure关于clojure是什么东西就自行百度了,简单说就是用Lisp语言写的程序,编译成.class放在jvm上面跑,所以是需要jre的。独立的clojure可以从官方网站找到,目前稳定版本是1.8,官网https://clojure.org/index。下载后是一个原创 2021-11-29 20:42:07 · 2302 阅读 · 1 评论 -
[1078]Win10配置Java环境变量
文章目录1、 下载安装JDK2、 配置环境变量2.1 找到jdk的安装目录2.2 添加环境变量2.3 测试1、 下载安装JDK下载地址安装就不赘述了2、 配置环境变量2.1 找到jdk的安装目录win+e打开资源管理器,找到jdk的安装目录,复制这个路径2.2 添加环境变量右键此电脑 -> 属性,找到高级系统设置添加第一个环境变量:JAVA_HOME把刚刚复制的 jdk 路径粘贴在这里添加第二个环境变量,在 Path 里添加新的值点击新建分别加入原创 2021-11-28 16:46:28 · 270 阅读 · 0 评论 -
[1076]使用IntelliJ IDEA配置Tomcat
文章目录一,下载Tomcat二,Tomcat环境变量配置三,在IntelliJ IDEA配置Tomcat一,下载Tomcat1.进入官网Http://tomcat.apache.org/,选择download,下载所需要的Tomcat版本。注意有zip和exe两种格式的,zip(64-bit Windows zip(pgp,md5,sha1))是免安装版的,exe(32-bit/64-bit Windows Service installer(pgp,原创 2021-11-27 21:35:44 · 1486 阅读 · 0 评论 -
[1074]解决IDEA支持GBK编码项目的问题
文章目录问题描述解决方案问题描述在开发一些老系统时,还是采用传统的GBK编码, 当在IDEA里设置项目编码为GBK时, 经过一次代码更新,或者分支切换,或者刷新一下maven imports, 都会让IDEA自动把项目编码设置为UTF8, 如下图就算我们已经通过Pereference->Editor->File Encodings, 设置全局和项目Encoding 都是GBK了, 依然会有这个问题。每次打开一个Java文件时, 都需要去切换编码, 有时候文件中没有中文, 默认就是UTF转载 2021-11-27 21:33:05 · 1776 阅读 · 1 评论 -
[1073]从零开始打jar包
文章目录一、制作只含有字节码文件的jar包二、制作含有jar文件的jar包三、制作含有资源文件的jar包经常会头疼于一个jar包是如何制作的,包括maven的打包方式,springboot的打jar包的原理,jar包稍稍有错误就会完全无法运行。在网上折腾了很久终于有些思路和步骤,在这里做个笔记本文大纲:一、制作只含有字节码文件的jar包1、最简单的jar包——直接输出hello2、含有两个类的jar包——通过调用输出hello3、有目录结构的jar包——通过引包并调用输出hello二、制作含有转载 2021-11-27 21:30:54 · 173 阅读 · 0 评论 -
[259]Intellij IDEA安装lombok及使用详解
项目中经常使用bean,entity等类,绝大部分数据类类中都需要get、set、toString、equals和hashCode方法,虽然eclipse和idea开发环境下都有自动生成的快捷方式,但自动生成这些代码后,如果bean中的属性一旦有修改、删除或增加时,需要重新生成或删除get/set等方法,给代码维护增加负担。而使用了lombok则不一样,使用了lombok的注解(@Setter,@...转载 2018-07-06 09:11:15 · 828 阅读 · 0 评论 -
[255]如何查找Linux服务器上JDK安装路径?
成功远程到你要部署软件的Linux服务器上。这是第一步。 查看JDK版本:java -version 查看java执行路径:which java 查看JAVA_HOME路径:echo $JAVA_HOME 插卡PATH内容:echo $PATH想要查看是否本系统上已经安装了Java。 直接用键盘输如Linux命令:java -version 如果系统已经安装...原创 2018-07-06 09:07:09 · 8354 阅读 · 0 评论