java
独正己身
这个作者很懒,什么都没留下…
展开
-
jenkins pipeline中archiveArtifacts用途
pipeline中可以使用archiveArtifacts命令存档文件。存档的文件会保存到Jenkins的jobs/JOB_NAME/builds/BUILD_NO目录下。示例如下:pipeline { agent any stages { stage('Archive') { steps { archiveArtifacts artifacts: '**/target/*.jar', fin...原创 2021-09-03 10:24:30 · 4967 阅读 · 1 评论 -
gitlab版本回退
## 查看所有commits记录$git log## gitlab回退到某次commit$ git reset --hard 3018a546427e1f865524b82b488d6a2721d00759$ git reset 3018a546427e1f865524b82b488d6a2721d00759注意:3018a546427e1f865524b82b488d6a2721d00759为commit id## 强制重新提交到远程$ git push -fgit报错You ar.原创 2021-08-20 15:21:59 · 484 阅读 · 0 评论 -
Log4j 输出的日志中时间比系统时间少了8小时的解决方法,log4j日志文件重复输出
参考网页:https://www.itdaan.com/blog/2016/04/22/32dc97dbcda591a6f5941d87c8b0fbb5.htmlhttps://www.cnblogs.com/digdeep/p/5420223.html原创 2021-08-04 16:24:34 · 892 阅读 · 0 评论 -
java -Djava.security.egd=file:/dev/./urandom用处
centos7.2 启动卡在部署 manager 上 -Djava.security.egd=file:/dev/./urandom将$JAVA_HOME/jre/lib/security/Java.security内,将securerandom.source的内容改为file:/dev/./urandom即可Linux或者部分unix系统提供随机数设备是/dev/random 和/dev/urandom ,两个有区别,urandom安全性没有random高,但random需要时间间隔生成随机数。原创 2021-08-04 16:18:11 · 13599 阅读 · 0 评论 -
log4j2输出中文乱码
log4j2 输出中文乱码发现部署在centos上的程序输出Log乱码,大致如下使用log4j2,被迫更改成log4j2后运行出现乱码,查了很久,log4j2中已没有log4j.appender.syslog.encoding=UTF-8这一配置,网上推荐在xml配置文件的输出配置的pattern前添加字符集<PatternLayout charset="UTF-8" pattern="${log_pattern}"/>同时需要检查将idea code、file ...原创 2021-07-29 19:31:47 · 4934 阅读 · 0 评论 -
java判断方法超时
工作中经常会遇到如下问题: 程序中某方法挺耗时,但想超过XX数值则按失败算; 程序中需要调用外部接口,要考虑外部接口不可用,或卡死问题。 针对以上问题,我们都想在程序中给某方法添加超时判断;运行程序等待该方法多长时间,超过则另作处理。下面是写的一段代码,大致可以实现该功能:public static void main(String[] args){ Thread t = null; try{ FutureTask<Boolean> task = new F原创 2021-07-20 20:06:37 · 953 阅读 · 0 评论 -
docker 推送镜像到私有Harbor仓库
登录web 创建一个项目 baozhun_test写hosts表 、daemon.json 写不安全网站认证重启docker harbor harbor.xjky.com 改为私有仓库ip打 tag docker tag nginx:latest (harbor.xjky.com)/baozhun_test/nginx:1.15在服务器登录 horbar (https://harbor的IP)docker login https://harbor.xjky.com推送镜像docker push原创 2021-07-13 14:27:53 · 568 阅读 · 0 评论 -
Java红黑树(二)
寻找节点后继对于一棵二叉查找树,给定节点t,其后继(树种比大于t的最小的那个元素)可以通过如下方式找到:t的右子树不空,则t的后继是其右子树中最小的那个元素。 t的右孩子为空,则t的后继是其第一个向左走的祖先。后继节点在红黑树的删除操作中将会用到。TreeMap中寻找节点后继的代码如下:// 寻找节点后继函数successor()static <K,V>...原创 2021-07-12 08:19:32 · 101 阅读 · 0 评论 -
PowerMockito测试方法内对象问题
当测试如下类时Class A { public boolean myMethod(someargs) { MyQueryClass query = new MyQueryClass(); Long id = query.getNextId(); // some more code }}Class MyQueryClass { .... public Long getNextId() { //lot of DB code, execute so原创 2021-07-05 16:41:38 · 842 阅读 · 0 评论 -
Junit测试私有方法
https://my.oschina.net/u/2474629/blog/530373下面是Database的测试类。importjava.lang.reflect.InvocationTargetException;importjava.lang.reflect.Method;importjava.util.HashMap;importjava.util.Map;importorg.junit.After;importorg.junit.Assert;import...转载 2021-07-05 15:59:20 · 1588 阅读 · 0 评论 -
java传值还是传地址问题
参见英文答案 > Is Java “pass-by-reference” or “pass-by-value”?78个我有以下两种与ArrayList get方法相关的情况,一种是自定义类,另一种是String类:1.下面是修改Custom类ArrayList元素的示例:ArrayList mTmpArray1 = new ArrayList();MyClass myObj1 = new MyClass(10);...原创 2021-06-10 16:37:36 · 284 阅读 · 0 评论 -
log4j2xml配置解析
<?xml version="1.0" encoding="UTF-8"?>2<!--3 status : 这个用于设置log4j2自身内部的信息输出,可以不设置,当设置成trace时,会看到log4j2内部各种详细输出。4 因此我们直接设置成OFF5 -->6<Configuration status="OFF">7 <!-- 配置输出端 -->8 <Appenders>9 .原创 2021-06-03 11:42:35 · 2171 阅读 · 0 评论 -
maven手动添加本地jar包
java SE的套路新建lib包,之后导入(eclipse直接build path)(idea麻烦些:File→project structure→libraries→+jar包)优点:简单,不用做额外的配置缺点:协作开发,多人都需做同样的操作,沟通也是一回事4. pom文件scope的system属性优点:配置后之后直接引入,mavenreImport即可缺点:没啥缺点,就是配置者得费些时间前置条件要引入如下taobao-sdk-java.jar操作自定义目录.原创 2021-06-03 09:57:05 · 1960 阅读 · 2 评论 -
java process管道调用进程操作
1. IntroductionIn this tutorial, we're going to takean in-depth look at theProcessAPI.For a shallower look into how to useProcessto execute a shell command, we can refer to our previous tutorialhere.The process that it refers to is an executing...原创 2021-06-03 09:50:27 · 601 阅读 · 0 评论 -
java操作seaweedfs
前置条件是seaweedfs服务已成功启动,具体部署可参考我上篇文章SeaweedFS部署及使用指南首先导入pom依赖 <dependency> <groupId>net.anumbrella.seaweedfs</groupId> <artifactId>seaweedfs-java-client</artifactId> <version&g.原创 2021-06-03 09:45:40 · 3979 阅读 · 6 评论 -
java获取文件大小的方法
目前Java获取文件大小的方法有两种:1、通过file的length()方法获取;2、通过流式方法获取;通过流式方法又有两种,分别是旧的java.io.*中FileInputStream的available()方法和新的java..nio.*中的FileChannel下面依次介绍这几种方法:首先选择一个文件并查看这个文件在windows中显示的大小,为了测试准确性,我这里选取了一个大文件(超过2GB)查看这个文件在windows中显示的大小:使用在线转换工具将其转换成字节:原创 2021-05-26 09:23:41 · 10606 阅读 · 1 评论 -
Java正确判别出文件的字符集-带BOM和不带BOM的UTF-8字符
Java正确判别出文件的字符集(尤其是带BOM和不带BOM的UTF-8字符)前几天在项目中需要读取用户上传过来的txt文件,但不确定txt文件的字符集UTF-16、UTF-8(带BOM)、Unicode可以根据前三个字节区别publicStringgetTxtEncode(FileInputStreamin)throwsIOException{byte[]head=newbyte[3];in.read(head);...转载 2021-05-26 09:12:49 · 1786 阅读 · 0 评论 -
Java中如何实现一个函数返回多个值
由于java中没有指针,不能像C++一样通过指针的方式实现一个函数返回多个值,因此在java中必须采用变通的方式解决,常用的方式有以下几种:1、封装一个实体类,将要返回的值封装进去;2、通过map或者数组的方式来返回多个值;第一种方案不够优雅,而且每次要返回多个值时就去封装一个实体类,这样会导致实体类多到泛滥;第二种方案必须采用实现方法和调用方法约定的Key或者下标,如果只是系统内部使用问题不大,但是如果与外部系统对接时,调用方不知道具体的Key值或者下标,只能通过文档或者查看代码,通用性不强;使原创 2021-05-25 09:06:11 · 8939 阅读 · 1 评论 -
EffectiveJava读书笔记
Effective Java。Java名著,必读。如果能严格遵从本文的原则,以编写API的质量来苛求自己的代码,会大大提升编码素质。以下内容只记录了我自己整理的东西,还是建议读原文。为了聚焦知识点,一些说明故意忽略掉了。相当于是一篇摘要。1、考虑用静态工厂方法替代构造函数例子:Integer.valueOf(“1”)、Boolean.valueOf(“true”)等。优势:可读性高(方法名) 性能(不一定创建对象) 灵活性高下面针对三个优势进行一些解读。可读性高new转载 2020-12-22 08:44:54 · 294 阅读 · 0 评论 -
java中Int范围越界检测
LeetCode上老有String 或者 char[]转int的算法,在计算之前需要分析计算是否会超过int 的范围。解决溢出问题有两个思路,第一个思路是通过字符串转换加try catch的方式来解决,第二个思路就是通过数学计算来解决。由于字符串转换的效率较低且使用较多库函数,所以解题方案不考虑该方法,而是通过数学计算来解决。通过循环将数字x的每一位拆开,在计算新值时每一步都判断是否溢出。溢出条件有两个,一个是大于整数最大值MAX_VALUE,另一个是小于整数最小值MIN_VALUE,设当前计算结原创 2020-12-15 10:06:52 · 4274 阅读 · 1 评论 -
Idea自动生成类和方法Javadoc注释
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/qq_36859289/article/details/81186911前言,我现在也是刚接触idea,写下此博客为了跟大家分享一下,同时找个地方存储一下。(好记性不如烂笔头)我的idea版本为2018.1.6配置类注释:...转载 2019-10-15 11:32:38 · 14565 阅读 · 2 评论 -
浅谈Java中的System.gc()的工作原理
很多人把Java的“效率低下”归咎于不能自由管理内存,但我们也知道将内存管理封装起来的好处,这里就不赘述。Java中的内存分配是随着new一个新的对象来实现的,这个很简单,而且也还是有一些可以“改进”内存回收的机制的,其中最显眼的就是这个System.gc()函数。乍一看这个函数似乎是可以进行垃圾回收的,可事实并不是那么简单。其实这个gc()函数的作用只是提醒虚拟机:程序员希望进行一次垃圾回...转载 2018-10-29 20:15:05 · 332 阅读 · 1 评论 -
JAVA设计模式之工厂模式—Factory Pattern
1.工厂模式简介工厂模式用于对象的创建,使得客户从具体的产品对象中被解耦。 2.工厂模式分类这里以制造coffee的例子开始工厂模式设计之旅。我们知道coffee只是一种泛举,在点购咖啡时需要指定具体的咖啡种类:美式咖啡、卡布奇诺、拿铁等等。/** * * 拿铁、美式咖啡、卡布奇诺等均为咖啡家族的一种产品 * 咖啡则作为一种抽象概念 * @author Lsj...转载 2018-10-29 20:16:40 · 138 阅读 · 0 评论 -
静态变量和全局变量的区别
变量一般有两个属性,一个是作用域,一个是内存分布空间,静态变量的内存是分配在全局区(静态区)的,全局变量与全局静态变量的区别:(1)若程序由一个源文件构成时,全局变量与全局静态变量没有区别。(2)若程序由多个源文件构成时,全局变量与全局静态变量不同:全局静态变量使得该变量成为定义该变量的源文件所独享, 即:全局静态变量对组成该程序的其它源文件是无效的。静态全局变量的作用:(1)...转载 2018-10-26 22:17:43 · 11493 阅读 · 0 评论 -
JAVA设计模式之观察者模式
转自:https://www.cnblogs.com/luohanguo/p/7825656.html1、初步认识观察者模式的定义: 在对象之间定义了一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象会收到通知并自动更新。大白话: 其实就是发布订阅模式,发布者发布信息,订阅者获取信息,订阅了就能收到信息,没订阅就收不到信息。2、这个模式的结构图3、可以看到...转载 2018-11-12 10:32:34 · 142 阅读 · 0 评论 -
Java红黑树(一)
参考文章:红黑树上:https://www.cnblogs.com/CarpenterLee/p/5503882.html 红黑树原理一:https://www.cnblogs.com/skywang12345/p/3245399.html 红黑树下:https://www.cnblogs.com/CarpenterLee/p/...转载 2019-03-25 12:47:58 · 2623 阅读 · 1 评论 -
通过读取配置文件的方式来使用反射完成对实例对象方法的调用
实现的功能如题,通过读取配置文件的方式来使用反射完成对实例对象方法的调用。废话不多说,直接演示,先准备一个接口:public interface IMyServlet { public void init(); public void service(); public void destory();}然后再创建一个实现类,实现上面的接口:public...转载 2019-04-21 21:52:22 · 841 阅读 · 1 评论 -
按权重产生随机数
###题目实现一个抽奖功能。共有N中奖品,每种奖品都有一个对应的权重(整数),该奖品被抽到的概率与其权重成正比。假设奖品i的权重为weights[i],0 <= i < N,wieghts是长度为N的int数组,实现以下函数,返回抽中的奖品的编号。举例:假设weights的内容为{10,20,20},那么应该有20%的概率返回0号奖品,40%的概率返回1号奖品,40%的概率返回2号...转载 2019-05-13 13:08:37 · 1530 阅读 · 0 评论 -
Java输入多个数字
1:方法1public static void main(String[] args){ System.out.print(请输入a和n"); Scanner scan = new Scanner(System.in);//以空格作为分隔符 int a = scan.nextInt(); int n = scan.nextInt(...转载 2018-10-26 14:44:12 · 22582 阅读 · 0 评论