- 博客(125)
- 资源 (25)
- 收藏
- 关注
原创 Java Comparator
package com.huawei.psbi.vulnerability.jasypt;import java.lang.reflect.Field;import java.lang.reflect.Method;import java.lang.reflect.Type;import java.util.ArrayList;import java.util.Comparator;import java.util.List;import java.util.stream.Collecto.
2022-03-11 11:03:06
751
转载 CORS解决跨域问题
1.跨域问题1.1 什么是跨域跨域是指跨域名的访问,以下情况都属于跨域:跨域原因说明 示例 域名不同 www.jd.com 与 www.taobao.com 域名相同,端口不同 www.jd.com:8080 与 www.jd.com:8081 二级域名不同 item.jd.com 与 miaosha.jd.com 如果域名和端口都相同,但是请求路径不同,不属于跨域,如:...
2021-06-09 16:31:02
483
转载 jedis线程安全问题
网上都说jedis实例是非线程安全的,常常通过JedisPool连接池去管理实例,在多线程情况下让每个线程有自己独立的jedis实例,但都没有具体说明为啥jedis实例时非线程安全的,下面详细看一下非线程安全主要从哪个角度来看。...
2021-06-09 11:47:49
1676
1
转载 Jedis的基本使用
前言Redis在Java’中的客户端在GitHub上start最高的是Jedis和Redisson。Jedis提供了完整的Redis命令,而Redisson有更多分布式的容器实现
2021-06-09 11:14:02
742
原创 修改jenkins插件下载地址
一、Jenkins 启动参数 由于jenkens会对update-center.json做签名校验安全检查,需要我们先关闭掉才行。 1.Java 启动(tomcat的话,需要去JAVA):java -Dhudson.model.DownloadService.noSignatureCheck=true -jar jenkins.war 2.Docker 启动:JAVA_OPT...
2021-03-05 09:50:43
466
1
原创 centos离线安装Docker
一、删除久的安装版本sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logr..
2021-03-04 11:04:21
268
1
原创 zookeeper分布式锁简单实现
package com.huawei.buildcenter.taskschedule.impl.distributedlock;/** * The DistributedLock * * @author t00511139 * @version [ManageOne V100R006c50, 2020/12/22] * @since 2020/12/22 */public interface DistributedLock { /** * 获取分布式锁 *.
2020-12-22 15:49:30
168
3
原创 jar包和war包区别
一、jar包的介绍JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。JavaSE程序可以打包成Jar包(J其实可以理解为Java了)。JAR 文件格式以流行的 ZIP 文件格式为基础。与 ZIP 文件不同的是,JAR 文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和 JVM 这样的工具直接使用。在 JAR 中包含特殊的文件,如 manifests 和部署描述符,用来指示工具如何处理特定的 JAR。简单
2020-12-04 14:46:48
308
原创 Java压缩文件夹及文件夹
import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.OutputStream;import java.util.ArrayList;import java.util.List;import java.util.zip.ZipEntry;import java.util.zip.ZipOutputStream;/** * The test001.
2020-12-02 20:25:33
336
原创 String[]中添加元素
private static String[] insert(String[] strings, String string) { if (strings == null) { strings = new String[0]; } if (string.isEmpty()) { LOGGER.error("Empty string."); return null; ...
2020-11-26 11:50:54
13143
原创 static方法中使用@Autowire
public class GitQueue { private static GitQueue gitQueue; @Autowired private Map<String, GitManage> manageMap; /** * 初始化mongoTemplateStatic */ @PostConstruct public void init() { gitQueue = this; } .
2020-11-25 17:46:24
789
原创 Java读取jar包中的文件
一、使用Resourcepublic void getFileInfo() throws Exception { Map<String, String> fileMap = new HashMap<>(); ResourcePatternResolver resourcePatternResolver = new PathMatchingResourcePatternResolver(); Resource[] resources
2020-11-25 17:08:28
347
原创 JGit操作
package com.huawei.buildcenter.cicdpipeline.service.gitprocess;import org.apache.dubbo.common.logger.Logger;import org.apache.dubbo.common.logger.LoggerFactory;import org.eclipse.jgit.api.CloneCommand;import org.eclipse.jgit.api.Git;import org.eclip.
2020-11-25 16:47:07
592
原创 无注册中心使用dubbo
前言熟悉dubbo的朋友都知道,dubbo可通过指定Url方式绕过注册中心直连指定的服务地址,所以想当然会想到那么可不可以不使用注册中心。本文就是SpringBoot整合Dubbo(无注册中心)的示例展示。提供者dubbo-provider目录结构配置pom.xml <dependencies> <dependency> <groupId>org.springframework.boot&..
2020-11-10 14:17:55
3449
1
原创 Springboot配置MongoDB连接
一、在pom中添加依赖。<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId></dependency>二、配置数据源 在项目中,使用的配置文件是yaml格式的,所以配置信息如下: spring: data: ..
2020-11-05 09:37:38
5672
原创 Java对已有excel进行信息追加
private void process(String path, String sheetName, int col, String value) throws Exception { File file = new File(path); if (!file.exists()) { //创建新文件 FileOutputStream fileOutputStream = new FileOutputStream(file);.
2020-10-22 11:21:50
259
原创 将时间差转换为时分秒
public void setDuringTime(Date startTime, Date endTime) { if (status.contains("IN")) { return; } long during = endTime.getTime() - startTime.getTime(); long day = during / 86400000; long hour = (during -.
2020-10-22 09:43:19
1353
原创 idea连接MongoDB
1.打开IntelliJ IDEA2.点击选择菜单栏FileSettings -> Plugins,安装MongoDB插件3.右侧打开MongoDB插件4.点击加号5.General中分别配置名称、数据库地址、连接库名6.如果数据库配有密码则在Authentication中配置相应信息7.Auth.mechanism配置为SCRAM-SHA-18.点击Test出现success表示正确完成配置...
2020-10-13 17:19:07
9012
原创 lombok基本使用
lombok是一款在java开发中简洁化代码十分有用的插件工具,这篇博客对较为常用的几种注解进行记录,分享学习心得。使用lombok注解,目的和作用就在于不用再去写经常反复去写的(如Getter,Setter,Constructor等)一些代码了。首先,用到的几个注解:@Data 使用这个注解,就不用再去手写Getter,Setter,equals,canEqual,hasCode,toString等方法了,注解后在编译时会自动加进去。 @AllArgsConstruc...
2020-10-12 19:05:39
244
原创 Spring和SpringBoot
概述 对于Spring和SpringBoot到底有什么区别,我听到了很多答案,刚开始迈入学习SpringBoot的我当时也是一头雾水,随着经验的积累、我慢慢理解了这两个框架到底有什么区别,相信对于用了SpringBoot很久的同学来说,还不是很理解SpringBoot到底和Spring有什么区别,看完文章中的比较,或许你有了不同的答案和看法!什么是Spring 作为Java开发人员,大家都Spring都不陌生,简而言之,Spring框架为开发Java应用程序提供了全面的基...
2020-10-12 09:38:26
192
原创 Tomcat开启远程调试配置
一、修改Tomcat目录下的catalina文件 1) Windows环境,修改bin/catalina.bat文件:set CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8787启动结果(含有如下信息说明启动成功): 2)Linux环境,修改bin/catalina.sh文件:...
2020-09-30 15:33:09
706
原创 Java Runtime类使用
Runtime类的使用一、得到系统内存的一些信息public void runtimeInfo() { Runtime runtime = Runtime.getRuntime(); int processors = runtime.availableProcessors(); long freeMemory = runtime.freeMemory(); long maxMemory = runtime.maxMemory(); long totalMem
2020-09-18 15:26:21
153
原创 java加载国际化
方式一:通过util包中的ResourceBundle加载:首先国际化资源文件放在了classpath下的i18n目录下:基本命名格式:基名_语言_地区.properties常见的资源文件命名格式:i18n_en.properties:所有英文语言的资源i18n_en_US.properties:美国地区,英文语言的资源i18n_zh.properties:所有中文语言的资源i18n_zh_CN.properties:中国大陆的,中文语言的资源i18n_zh_HK
2020-09-17 16:23:38
264
原创 java URL编码与解码
编码 URLEncoder.encode(String, "UTF-8"); 解码 URLDecoder.decode(String, "UTF-8" );
2020-09-07 14:46:14
152
原创 java发送接收文件
接收函数:public File getInputStream(String url, String filePath, String method, String fileName) throws Exception { if (StringUtils.isBlank(requestToken)) { throw new AppException("request Token is null"); } File resultFi
2020-09-02 11:24:37
1649
原创 java安全解压文件
方法一public class Decompression { private static final Logger LOGGER = Logger.getLogger(Decompression.class); private static final int BUFFER = 512; private static final int TOO_BIG = 0x6400000; private static final int TOO_MANY = 1024;
2020-08-28 15:46:25
291
原创 Servlet的init()方法执行时间
init 方法是随 Servlet 实例化而被调用的,因为 load-on-startup 就是用来设置 Servlet 实例化时间的。因此,init 方法执行的时刻有两种:(1) load-on-startup 的值大于等于0,则伴随 Servlet 实例化后执行。(2) load-on-startup 的值小于0 或者 不配置, 则在第一次 Servlet 请求的时候执行。<servlet> <servlet-name>helloServlet</
2020-08-24 10:25:41
908
转载 dispatch-servlet.xml与applicationContext.xml
spring的配置文件:applicationContext.xml定义的是“root webapp context”,直译过来就是根应用上下文。(一般配置bean、数据库连接、事务、shiro、开启任务task配置等等)springmvc的配置文件:dispatcher-servlet.xml定义一个servlet的应用上下文,是applicationContext.xml上下文的子类。(一般配置视图解析器、扫描指定的包中的类上的注解、添加静态资源访问的支持等等)在初始化时,application
2020-08-21 18:51:56
199
原创 Java htttps跳过ssl证书验证
import java.io.BufferedReader; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamRe.
2020-08-21 15:36:12
789
原创 idea建立mavenWeb
一、运行环境:IntelliJ IDEA Version 2018.3.4 (IDEA2018) 、 JDK1.8二、运行中所需安装包以及最终的项目项目ZIP链接:https://pan.baidu.com/s/1N39STOehDV1s6bAQytNJMA提取码:dp74Tomcat链接:https://pan.baidu.com/s/1V7vX07cO87i57k508XdLUQ提取码:9tuu三、Maven-Web项目新建步骤1.创建一个新工程,如图,点击Cr.
2020-08-21 10:44:40
195
原创 response.setHeader(Content-Type)与response.setContentType()
response.setHeader(Content-Type)与response.setCo在Java Web编程中,设置Content-Type和Content-Length头部是再经常不过的操作了,但是HttpServletResponse提供了两个相关的方法来设置头部,一个是void setHeader(String name, String value),一个是void setContentType(String type)或者void setContentLength(...
2020-08-20 17:21:33
5849
原创 java 流概念
一、“流”的概念 “流”是一个抽象的概念,它是对输入输出设备的一种抽象理解,在java中,对数据的输入输出操作都是以“流”的方式进行的。“流”具有方向性,输入流、输出流是相对的。当程序需要从数据源中读入数据的时候就会开启一个输入流,相反,写出数据到某个数据源目的地的时候也会开启一个输出流。数据源可以是文件、内存或者网络等。二、“流”的分类 “流”序列中的数据可以是未经加工的原始二进制数据,也可以是经过一定编码处理后符合某种格式的特定数据,因此java中的“流”分...
2020-08-18 10:45:18
2767
原创 lambda表达式
一、简介 java8于2014年发布,相比于java7,java8新增了非常多的特性,如lambda表达式、函数式接口、方法引用、默认方法、新工(编译工具)、Stream API、Date Time API、Optional等 。 当前很多公司的老产品依然使用的java7,甚至开发人员开发新产品时依然没有选择升级, 写关于java8系列文章的目的在于梳理和分享java8新增的主要特性,开发时也可以用作参考。 ambda表达式是java8新增的主要特...
2020-07-31 21:10:48
164
原创 <? extends T>和<? super T>
<? extends T>和<? super T>是Java泛型中的“通配符(Wildcards)”和“边界(Bounds)”的概念。<? extends T>:是指“上界通配符(Upper Bounds Wildcards)” <? super T>:是指“下界通配符(Lower Bounds Wildcards)”为什么要用通配符和边界?使用泛型的过程中,经常出现一种很别扭的情况。比如按照题主的例子,我们有Fruit类,和它的派生类Ap...
2020-07-31 20:27:35
174
原创 Callable多线程
一般使用线程池执行任务都是调用的execute方法,这个方法定义在Executor接口中:public interface Executor { void execute(Runnable command);}这个方法是没有返回值的,而且只接受Runnable。那么像得到线程的返回值怎嘛办呢?在ExecutorService接口中能找到这个方法:<T> Future<T> submit(Callable<T> task);<T&g
2020-07-14 15:34:29
467
原创 使用freemaker模板
import com.123.bsp.log.OssLog;import com.123.bsp.log.OssLogFactory;import freemarker.template.Configuration;import freemarker.template.Template;import freemarker.template.TemplateExceptionHandler;import java.io.File;import java.io.IOException;imp.
2020-06-18 14:49:13
442
原创 缓冲池
存储模板类:package com.huawei.manageone.modriverframework.mocommondriverservice.clearAlarm;/** * The InfoContent * * @since 2020/4/8 */class InfoContent<T> { private long cacheTime; ...
2020-04-14 15:39:34
280
原创 生产者消费者
生产者:/* * Copyright (c) Huawei Technologies Co., Ltd. 2012-2019. All rights reserved. */package com.huawei.manageone.modriverframework.mocommondriverservice.checkAlarm;import com.huawei.bsp.de...
2020-04-14 10:13:01
184
转载 java中package与import
我就以package与import开始吧。 package的作用其实就是c++的namespace的作用,防止名字相同的类产生冲突,只是实现的机制不一样,java编译器在编译时,直接根据package 指定的信息直接将生成的class文件生成到对应目录下。如package aaa.bbb.ccc 编译器就将该.java文件下的各个类生成到./aaa/bbb/ccc/ 这个目录底...
2019-07-29 14:10:20
213
转载 File类、RandomAccessFile类、FileFilter接口
File文件类型 一:作用 对文件系统上的文件或目录进行查看操作等。只能创建,删除文件(目录)或者查看属性,但是不能修改文件的内容。二:构造器 File(String pathname):参数pathname是一个路径,此构造器的相对位置是在项目名这个文件夹下。 File(String parentpath,String child...
2019-07-09 08:43:59
212
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人