java
文章平均质量分 56
memory丶of
阳光,爱说话,喜欢玩,喜欢研究新的东西,喜欢分享一些有趣的知识,希望我们一起进步,为时代的进步做出力所能及的小事情。
展开
-
java8函数式接口四种方式
函数接口是只有一个抽象方法的接口,用作 Lambda 表达式的类型。原创 2022-10-25 17:31:52 · 521 阅读 · 2 评论 -
使用easyexcel从浏览器下载excel
添加依赖:得多加 两个依赖不然会报错误(亲身经历)如果只加easyexcel依赖会报错误,解决:解决org.objectweb.asm.Type加了asm依赖就报这个错误,解决办法:解决class net.sf.cglib.core.DebuggingClassWriter has interface <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</原创 2021-11-30 16:50:53 · 1570 阅读 · 0 评论 -
java单元测试
单元测试可以使用springboot自带的单元测试依赖:1.首先是依赖我使用的是2.5.2版本,不同版本的mockito的初始化方法可能会有变化主要是两个:openMocks 和initMocks看springboot版本而定,高版本都会是openMocks。 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-原创 2021-09-22 10:59:13 · 1319 阅读 · 3 评论 -
jackson如何创建json对象和jackson工具类
由于阿里巴巴的fastjson经常爆出漏洞,需要频繁升级版本,单位研发部调研随后决定使用jackson作为json解析的工具,我就粗略研究了一下如何使用jackson创建中间json对象,大致测试如下(建供参考):首先添加maven依赖: <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core&原创 2021-05-13 16:25:47 · 6082 阅读 · 0 评论 -
java日志框架log4j2配置详解
官方文档:http://logging.apache.org/log4j/2.x/manual/configuration.htmlLog4j2简介log4j2是log4j 1.x 的升级版,2015年5月,Apache宣布log4j1.x 停止更新。最新版为1.2.17。log4j2借鉴了logback的一些优秀的设计,并且修复了一些问题,因此带来了一些重大的提升,主要有:1、异常处理:在logback中,Appender中的异常不会被应用感知到,但是在log4j2中,提供了一些异常处理机制。2原创 2020-09-04 14:55:41 · 2878 阅读 · 0 评论 -
JAVA 好用的文件备份代码
好用的java文件备份工具这个工具是变备份边删除原来目录所有的备份数据。package cn.gitv.pro.charging.lncmcc.test;import java.io.*;/** * @author * @create on 2019-12-05 10:10 */public class FileCopyUtils {// 实现对目录的复...原创 2019-12-05 10:27:59 · 1795 阅读 · 0 评论 -
Java代码优化的多条建议
一、代码优化 目标是: 1.减小代码的体积; 2.提高代码运行效率;二、优化细节; 1. 尽量指定类、方法的final修饰带有final修饰符的类是不可派生的。在Java核心API中,有许多应用final的例子,例如java.lang.String,整个类都是final的。为类指定final修饰符可以让类不可以被继承,为方法指定final修饰符可以让方法不可以被重写...翻译 2018-07-30 15:20:43 · 253 阅读 · 2 评论 -
java日期格式化比较好用工具类整合
在我们日常开发中必然会用到Date这个类,所以对于日期的格式化都有自己的理解 ,下面我分享一下我常用的DateUtils 许多你细化的方法和技巧。日期格式化的格式有哪些 public static final String FMT_YM = "yyyyMM"; public static final String FMT_Y_M = "yyyy-MM"; public s...原创 2019-04-11 15:20:08 · 1479 阅读 · 0 评论 -
@Autowired 与@Resource注入对象bean的区别和最佳注入使用方式
spring 的注入方式有:setter、constructor、静态工厂方法、实例工厂方法、注解@Autowired和@Resource自动装配几种方式。下面我们来学习一下@Autowired和@Resource注入对象的区别和最佳的使用方式:首先,@Autowired和@Resource 都是在spring容器中用来装备bean,他们也都可以放在字段上或者方法上。@Autowired...原创 2019-04-16 15:29:14 · 1930 阅读 · 0 评论 -
常用的JVM的启动参数
大家都知道,jvm在启动的时候,会执行默认的一些参数。一般情况下,这些设置的默认参数应对一些平常的项目也够用了。但是如果项目特别大了,需要增加一下堆内存的大小、或者是系统老是莫明的挂掉,想查看下gc日志来排查一下错误的原因,都需要咱们手动设置这些参数。启动参数介绍verbose:gc该参数表示启动JVM的时候输出JVM里面的gc信息如下所示:[Full GC 178K->99K(...转载 2019-05-15 10:31:09 · 269 阅读 · 1 评论 -
Java常用正则表达式总结
校验数字的表达式数字^[0-9]\*$n位的数字:^\d{n}$至少n位的数字:^\d{n,}$m-n位的数字:^\d{m,n}$零和非零开头的数字:^(0|[1-9][0-9]\*)$非零开头的最多带两位小数的数字:^([1-9][0-9]\*)+(\.[0-9]{1,2})?$带1-2位小数的正数或负数:^(\-)?\d+...转载 2019-06-11 11:42:05 · 273 阅读 · 0 评论 -
使用Dockerfile文件制作java的jar架包镜像具体过程
随着我们分布式的观念在各个领域使用,docker容器也逐渐的背大家所认可和使用,那么我们想制作容器就得有镜像如何制作镜像呢?请往下看,Dockerfile就是制作镜像的原始武器:Dockerfile由一行行命令语句组成,并且支持用“#”开头作为注释,一般的,Dockerfile分为四部分:基础镜像信息,维护者信息,镜像操作指令和容器启动时执行的指令。Dockerfile指令:1、FROM...原创 2019-08-08 11:48:28 · 5082 阅读 · 1 评论 -
java常用的GsonUtils工具类
最近阿里的工具fastJson经常爆出漏洞,所以自己决定抛弃fastjson,改用Gson,所以研究了一下总结出了一个比较好用的GsinUtils:Maven项目如果你是maven项目需要添加依赖 <dependency> <groupId>com.google.code.gson</groupId> ...原创 2019-09-24 11:03:18 · 5796 阅读 · 0 评论 -
String,StringBuffer,StringBuilder三者区别
String,StringBuffer以及StringBuilder三者的区别主要是在两个方面,即运行速度和线程安全这两方面。运行速度 从快到慢顺序: StringBuilder > StringBuffer > String String最慢的原因; String为字符串常量,而StringBuffer和StringBuilder均为字符串变量,即String对象一旦创...原创 2018-07-26 09:40:38 · 226 阅读 · 0 评论 -
Java中的静态代理和动态代理详解
首先,大部分同学都知道代理模式,但是代理模式又分静态代理和动态代理,好多同学分不清楚什么时候用静态代理什么时候用动态代理,他们有什么区别,今天我们就详细解析一下。代理ProxyProxy代理模式是一种结构型设计模式,主要解决的问题是:在直接访问对象时带来的问题。代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问。代理类负责为委托类预处理消息,过滤消息并...原创 2018-06-20 11:55:51 · 365 阅读 · 0 评论 -
常见的http协议的解析
HTTP(超文本传输)是一种获取网络资源的协议,例如获取一个html页面,一张图片,一个js文件,都需要遵守这个协议,HTTP协议是Web上数据交换的基础。客户端和服务器 客户端通常是一个浏览器,当输入URL时,浏览器发起第一个请求以获取HTML文档,服务端收到请求后,生成相应的HTML文档,返回给浏览器,浏览器解析返回的HTML文档,并根据文档中的资源信息发送其他的请求获取这些资源,例如c转载 2017-10-25 16:57:52 · 261 阅读 · 0 评论 -
StringUtils类中的isEmpty和isNotEmpty以及相关的
StringUtils方法的操作对象是java.lang.String类型的对象,是JDK提供的String类型操作方法的补充,并且是null安全的(即如果输入参数String为null则不会抛出NullPointerException,而是做了相应处理,例如,如果输入为null则返回也是null等,具体可以查看源代码)。转载 2017-10-26 14:50:04 · 1988 阅读 · 0 评论 -
java中字节流与字符流的区别
前言: 字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同。 实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件。使用字节流不关闭执行:package org.lxh.demo12.byteiodemo; import java.io.File;原创 2018-01-25 11:36:27 · 211 阅读 · 0 评论 -
String类12个常用的方法
1. 用字符数组value创建一个String对象 方法:public String(char[] value)实例:char[] value ={"a","b","c","d"};String str = new String(value);//相当于String str = newString("abcd")2. 用字符数组以x开始的n个字符创建一个String对象 方法:publi原创 2018-01-10 11:38:14 · 48029 阅读 · 6 评论 -
Spring 整合mybatis的配置xml
配置信息<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.spri原创 2018-04-13 13:37:01 · 213 阅读 · 0 评论 -
redis初学者必须了解的5种数据类型以及基本命令
String(基本命令)set key value [ex|px n] //设置值[并设置过期时间为n秒/毫秒]get key //获取值del key //删除值incby|decby key n //将key值自增或自减nrename key newkey//覆盖原来的select n//选择第n个数据库ttl key //查询key的过期时间,-1表示永不过期,不存在的为...原创 2018-04-19 11:08:32 · 237 阅读 · 0 评论 -
Maven从安装到创建项目解析
1. 安装Maven Maven 是 Apache 基金会的顶级项目,一般情况下,被 Apache 看中的都不会是烂货。我们可以从 http://maven.apache.org/ 下载 Maven 开发包,其实就是一个压缩包,下载完毕后,解压一下,配置一下环境变量就可以用了。真是超简单!假设我们刚刚下载了一个 apache-maven-3.1.1-bin.zip 文件,现在将其解压到...转载 2018-05-02 10:00:01 · 182 阅读 · 1 评论 -
分布式数据库架构的演变之路
MyCat 是一个数据库分库分表中间件,使用 MyCat 可以非常方便地实现数据库的分库分表查询,并且减少项目中的业务代码。今天我们将通过数据库架构发展的演变来介绍 MyCat 的诞生背景,以及 MyCat 在其中扮演的角色,从而使得大家对 MyCat 的诞生及其作用有深入的理解。单数据库架构 一个项目在初期的时候,为了尽可能快地验证市场,其对业务系统的最大要求是快速实现。在这个阶段,代码...翻译 2018-05-09 10:52:15 · 1465 阅读 · 0 评论 -
常用 JVM 命令参数解析
-Xms20M 设置堆容量的最小值为20M,必须以M为单位-Xmx20M 设置堆容量的最大值为20M,必须以M为单位。将-Xmx和-Xms设置为一样可以避免堆自动扩展。大的项目-Xmx和-Xms一般都要设置到15G、25G甚至还要高。-verbose:gc输出虚拟机中GC的详细情况。-Xss256k 设置虚拟机栈的大小为256k。-Xoss128k 设置本地方法栈的大小为12...原创 2018-04-27 09:27:21 · 647 阅读 · 0 评论 -
关于HTTP状态码详细解析
状态码100客户端继续其请求。状态码101切换协议,服务器根据客户端的请求切换协议,只能切换到更高级的协议。状态码200 请求成功,一般用于GET和POST请求方式。状态码201成功求情并创建了新的资源。状态码202 已接受请求,但是未处理完成。状态码203 非授权信息,请求成功,但是返回的meta信息不再原始的服务器,而是一个副本。状态码204 无内容,服务器处...原创 2018-04-27 10:30:39 · 381 阅读 · 0 评论 -
Java数据库连接池几种方式及其特点
主流的数据库连接池 在目前技术前沿比较流行的数据库连接池有:DBCP、Tomcat Jdbc Pool、BoneCP、Druid、C3P0等DBCP:由Apache开发的一个Java数据库连接池项目, Jakarta commons-pool对象池机制,Tomcat使用的连接池组件就是DBCP。单独使用dbcp需要3个包:common-dbcp.jar,common-pool.jar,com...翻译 2018-05-07 10:37:23 · 12159 阅读 · 6 评论 -
java设计模式之工厂模式
普通工厂 就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。 创建二者的共同接口:public interface Sender { public void Send(); } 创建实现类:public class MailSender implements Sender { @Override public void...原创 2018-05-07 14:54:01 · 192 阅读 · 1 评论 -
前端开发javascript原型链和对象理解
构造函数创建对象 使用构造函数创建一个对象:function Persion(){}var per = new Persion();per.name = 'gcy';console.log(per.name);//gcy在这个例子中,Person就是一个构造函数,我们使用new创建了一个实例对象per。 现在进入正题:prototype每个函数都有一个prototype属性,就是我原创 2017-11-01 17:45:51 · 305 阅读 · 0 评论