![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
行走的猪蹄子
这个作者很懒,什么都没留下…
展开
-
Java 读取本地txt文件
普通方式和行为参数化方式public class ProcessFileDemo { public static void main(String[] args) throws IOException { String line = processFile(); System.out.println("readline "+line); String lambdaLine = processFileLambda((BufferedReader br原创 2022-03-17 17:04:51 · 2515 阅读 · 0 评论 -
取得inputStream的长度
网络文件URL url = new URL(strUrl);HttpURLConnection httpconn = (HttpURLConnection)url.openConnection(); httpconn.getContentLength();本地文件InputStream inputStream = urlCon.getInputStream();inputStream.available();转载 2021-03-10 21:29:59 · 5861 阅读 · 0 评论 -
JAVA Bean转换为MAP,兼容@JsonProperty
public static <T> Map<String, Object> bean2Map(Object object) { Map<String,Object> maps = new HashMap<>(); try{ Field[] fields = object.getClass().getDeclaredFields(); if (fields!=null &&a原创 2021-01-16 11:49:06 · 649 阅读 · 7 评论 -
stream操作符demo
public class TransMain { public static void main(String[] args) { Set<String> set = Set.of("lilei","hanmeimei","michael","kangkang","jane","liulei"); Stream<String> stream = set.stream(); stream.filter(s -> s.l原创 2020-11-27 18:12:48 · 113 阅读 · 0 评论 -
函数式编程与接口的对比
函数式编程与接口实现的对比lambda表达式表达的是接口函数,箭头左侧是函数参数,箭头右侧是函数体。函数的参数类型和返回值类型都可以省略,程序会根据接口定义的上下文自动确定数据类型。package design.mode.reactivex.function;public class SimpleFuncMain { interface Body{ String lowwer(String low); } interface Printer{原创 2020-11-27 15:12:31 · 207 阅读 · 0 评论 -
设计模式之命令模式 Command
模式之命令模式1)先创建一个command接口,里面只有一个execute() 方法等待实现public interface Command { void execute();}2)创建一个灯类作为demopackage design.mode.command;public class Light { public void on(){ System.out.println("light on now"); } public void off原创 2020-11-26 10:38:11 · 128 阅读 · 0 评论 -
基于Flow.Publisher/Flow.Subscriber的观察者模式
基于Flow.Publisher/Flow.Subscriber的观察者模式基于Flow.Publisher/Flow.Subscriber的观察者模式发布者Sender实现Flow.Publisher接收者Receiver实现Flow.SubscriberMain函数验证结果基于Flow.Publisher/Flow.Subscriber的观察者模式此Demo代码由三部分组成,分别是发布者、观察者、执行函数发布者Sender实现Flow.Publisherpackage design.mode.o原创 2020-11-25 15:45:39 · 576 阅读 · 0 评论 -
JAVA设计模式-观察者模式(PropertyChangeEven、PropertyChangeListener实现)
因为Observable类在jdk1.9后已被标记为启用状态,推荐使用PropertyEvent等方式替代。所以以下代码是PropertyChangeEven、PropertyChangeListener 实现的观察者模式。1,创建一个很简单的主类public class PropertyMain { public static void main(String[] args) { PropertyProvider propertyPublishService = new Pr原创 2020-10-26 14:00:18 · 561 阅读 · 1 评论 -
JAVA设计模式-观察者模式(Observer、Observable实现)
1,首先设置一个主题类(即被观察者),继承自Observable类,代码如下@Slf4jpublic class SubjectDemo extends Observable { String message ; public void setMessage(String s){ this.message = s; log.info("set message {}",this.message); setChanged();原创 2020-10-26 11:02:50 · 183 阅读 · 0 评论 -
JAVA << 和 >>位运算
log.info("op accept is {} ",opAccept); log.info("op 1<<3 is {} ",1<<3); log.info("op 1<<2 is {} ",1<<2); log.info("op 1<<1 is {} ",1<<1); log.info("op 1<<0 is {} ",1<<0); ..原创 2020-10-12 17:12:25 · 91 阅读 · 0 评论 -
JAVA IO中的ByteBuffer, FileChannel
package com.yaeher.community.test.nio;import lombok.extern.slf4j.Slf4j;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.nio.ByteBuffer;import java.nio.CharBuffer;import java原创 2020-10-12 15:19:32 · 156 阅读 · 0 评论 -
java stream 流式写法过滤条件
public class Java8Test { public static void main(String[] args) { Person p1 = new Person("麻子", 31); Person p2 = new Person("李四", 20); Person p3 = new Person("王五", 26); List<Person> personList = new ArrayList原创 2020-07-28 14:27:05 · 1968 阅读 · 0 评论 -
Error occurred during initialization of boot layer,java.lang.module.FindException: Module java.instr
**Error occurred during initialization of boot layer java.lang.module.FindException: Module java.instrument not found**启动项目时遇到了这个问题,Application不能启动,但是gradle 没有问题,怀疑是启动参数配置错了,尝试调整了一下,果然解决了。解决方案如下:打开Edit->Application界面,选择JRE,选择Default...原创 2020-07-20 19:21:10 · 5257 阅读 · 1 评论 -
多态成员访问的特点
Parent p = new Child();多态成员访问的特点成员变量编译看左边(基类),运行看左边(基类);无论如何都是访问基类的成员变量。成员方法编译看左边(基类),运行看右边(派生类),动态绑定。Static方法编译看左边(基类),运行看左边(基类)。只有非静态的成员方法,编译看左边,运行看右边。这样,我们也可以得出多态的局限:不能使用派生类特有的成员属性和派生类特有的成员方法。代码举例:创建父类Animal类public class Animal { int原创 2020-07-16 17:03:26 · 806 阅读 · 0 评论 -
getSystemProperty("line.separator")的作用
最近项目中在用阿里巴巴的canal,看到代码里有一句是这样写的。public static final String LINE_SEPARATOR = getSystemProperty("line.separator");打印出来的效果就是,换行符。那么为什么要这样写呢?原因是想要使用系统的换行符号,避免操作系统不同带来的不同后果。...原创 2020-03-02 15:39:16 · 403 阅读 · 0 评论 -
idea配置maven解决"Dependency 'xxxx‘ not found"
1)官网下载maven 地址:http://maven.apache.org/download.cgi2)在本地解压缩。配置环境变量。环境变量MAVEN_HOME配置path3) 设置maven 配置文件,设置alibaba仓库,避免依赖下载时报错。打开maven安装路径下的conf文件夹下面的,settings.xml文件。一,设置本地仓库地址localRepository...原创 2020-02-19 18:03:12 · 1455 阅读 · 0 评论 -
Mockito之@Mock和@InjectMocks的不同,搬运自Stack Overflow
这里举一个简单的例子来展示@Mock 和 @InjectMocks的不同有game 和 player 两个类class Game { private Player player; public Game(Player player) { this.player = player; } public String attack() { ...原创 2019-12-11 14:51:21 · 643 阅读 · 0 评论 -
@Mockito注解和@Mock注解失败的解决办法
最近在看mockito的资料,创建一个mock对象有两种方法。①使用Mocktio.mock方法创建对象;②使用@Mock注解创建对象;在使用过程中发现使用List mockList = Mockito.mock(ArrayList.class);创建一个mock出来的ArrayList对象mockList,是可以成功创建的,但是使用@Mock注解就没效果。果断Google了一下,在St...原创 2019-12-10 15:10:56 · 7087 阅读 · 1 评论 -
LocalDateTime兼容日期格式
LocalDateTime兼容日期格式触发场景:在工作中要接收前端传递的时间类型的数据,我默认设置的是接收"yyyy-MM-dd HH:mm:ss"格式的数据,例如:“recordTime”:“2018-12-25 13:10:45”,但是因为我设置的格式原因,当前端传递的参数格式为"recordTime":"2018-12-3 13:10:45"时,则会报错。为了兼容两种日期格式,所以进行了一...原创 2019-12-03 16:05:13 · 1381 阅读 · 0 评论 -
使用axios.delete时后台接收不到参数的疑惑
链接:https://blog.csdn.net/qq383366204/article/details/80268007转载 2019-11-11 17:14:38 · 193 阅读 · 0 评论 -
异步校验工具awaitility
转自:https://blog.csdn.net/hj7jay/article/details/55094639转载 2019-11-01 09:06:51 · 151 阅读 · 0 评论 -
Micronaut:面向未来的微服务和云原生应用框架
转自:https://yq.aliyun.com/articles/649920转载 2019-10-28 16:46:33 · 132 阅读 · 0 评论 -
JAVA基础
static代码执行顺序:https://blog.csdn.net/anticlql/article/details/74011018原创 2019-07-31 14:09:30 · 70 阅读 · 0 评论 -
JAVA中赋值符号“=”的意义
赋值分两种情况,一种是对基本数据类型的赋值;另一种是为对象赋值;①基本数据类型:基本数据类型的赋值很简单,基本类型储存了实际的数值,并非指向了一个对象的引用,所以在为其赋值时,是直接将一个地方的内容复制到了另一个地方。例如,对基本数据类型使用 a=b ,那么b的内容就复制给a。若接着又修改了a,而b根本不会受这种修改的影响。②对象类型:在为对象赋值的时候,情况发生了变化,对一个对...原创 2019-03-21 10:18:29 · 1034 阅读 · 0 评论 -
原码,反码,补码看这一篇就够了
转自:https://blog.csdn.net/zl10086111/article/details/80907428转载 2019-09-06 13:51:35 · 156 阅读 · 0 评论 -
SpringMVC多视图的配置
可以返回json或xml等格式的数据接口,供第三方调用<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver"> <!-- ①配置支持媒体类型 --> <property name="contentNegotiationManager"> &l...转载 2019-04-01 23:08:53 · 319 阅读 · 0 评论 -
Ubuntu系统配置JDK1.7环境
1.首先在官网下载JDK网址:https://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html?ssSourceSiteId=otncn2.使用WinSCP等工具,将JDK压缩包移动至Ubuntu服务器上。3.在Ubuntu机器上对压缩包解压缩可以直接鼠...转载 2019-04-04 14:14:28 · 207 阅读 · 0 评论 -
Mybatis读取Javabean中的属性
&lt;insert id="insertRecord" parameterType="com.bu.mes.moddles.orderDemand.entity.AmazonGtspcBizLicense"&gt; insert into vendor_code(vendor_code, vendor_name, type, business_l...原创 2019-03-13 10:57:16 · 1405 阅读 · 0 评论 -
InputStream.read() 和 OutputStream.write()方法
先贴出代码 InputStream inputStream = new FileInputStream(file); OutputStream os = response.getOutputStream(); byte[] b = new byte[2048]; byte[] c = new byte[2048]; //设置数据缓冲区b的对照组为c int size; while...原创 2019-03-21 15:48:53 · 10242 阅读 · 0 评论 -
File类是什么
File(文件)类,这个名字是有误导性的,我们可能认为它指代的是文件,实际上并非如此,它既能代表一个特定文件的名称, 也能代表一个目录下的一组文件的名称,如果它指定的是一个文件集,我们就可以对此集合调用list()方法,该方法会返回一个字符数组,实际上,FilePath(文件路径)对这个类来说是个更好的名字。...原创 2019-03-20 17:09:48 · 2156 阅读 · 0 评论 -
什么是流,Inputstream和Outputstream
最近在做导出文件的功能,经常需要和Inputstream以及Outputstream打交道,关于这两个类库的概念总是比较模糊,查阅书籍之后,有了稍稍清晰的了解,根据《JAVA编程思想一书》第18章"JAVA I/O 系统"写到:流:编程语言的I/O类库中经常使用流这个抽象概念,它代表任何有能力产出数据的数据源对象,或者有能力接收数据的接收端对象。Inputstream:用来表示从不同...原创 2019-03-20 17:03:34 · 2984 阅读 · 0 评论 -
解决java.io.FileNotFoundException: (Access is denied)
最近在做一个从网页上导出Excel的功能,导出的文件为空白Java后台报错java.io.FileNotFoundException: C:\demo.xlsx (Access is denied)百度了一番大家多数是说InputStream和OutputStream操作时,如果填写的路径不存在,那么就会报系统找不到指定路径但是我填写的是C盘根目录,这个路径不可能不存在。路径存在,那么...原创 2019-03-20 14:51:14 · 5262 阅读 · 0 评论 -
MyBatis if判断条件为等于的问题
MyBatis if判断条件为等于的问题在用MyBatis操作数据库的时候相信很多人都用到,当在判断null, 大于,大于等于,小于,小于等于,不等于时估计很多都用到,比较容易实现了,这里就省略了,但唯独判断条件为等于时估计蛮多人遇到坑了, 俺在这个问题上坑了差不多一天,于是把这个实验总结并简要记录一下;当MyBatis 判断条件为等于的时候,常量需要加 .toString() 来转换,这种方...转载 2019-03-11 17:04:07 · 3621 阅读 · 0 评论 -
卸载重装jre
由于某些情况需要卸载重装java,在控制面板卸载之后,使用java安装包安装java(jdk和jre)。这里发现一点问题,jdk可以正常安装,但是jre没有提示安装(二者都已经卸载)。这时决定自己,手动安装一下jre,于是在官网下载了匹配版本的jre。安装历史版本的JAVA请参考这篇博客:https://blog.csdn.net/loongshawn/article/details/5...原创 2019-03-19 16:56:25 · 2999 阅读 · 1 评论 -
SpringBoot结合Mybatis搭建JavaWeb框架
转自:https://www.cnblogs.com/peterxiao/p/7779188.html转载 2019-04-28 15:55:11 · 143 阅读 · 0 评论 -
mybatis-generator自动生成代码插件使用详解
转自:https://www.cnblogs.com/handsomeye/p/6268513.html原创 2019-04-28 16:09:21 · 297 阅读 · 0 评论 -
Java并发编程:volatile关键字解析
转自:https://www.cnblogs.com/dolphin0520/p/3920373.html转载 2019-04-19 17:41:03 · 83 阅读 · 0 评论 -
Java中List转换为数组,数组转List
Java中List转换为数组,数组转ListList转换为Array可以这样处理:ArrayList list=new ArrayList();String[] strings = new String[list.size()];list.toArray(strings);反过来,如果要将数组转成List怎么办呢?如下:String[] s = {“a”,“b”,“c”};List ...转载 2019-09-06 13:50:56 · 167 阅读 · 0 评论 -
JAVA1.8阅读String类源码心得体会
JAVA1.8阅读String类源码心得体会前几天在二面某大厂的时候被问到String类的问题,没有回答上来。所以回来恶补了一下String类的源码。确实阅读源码感受到了设计者代码的优雅和巧妙,在此记录一下自己印象比较深刻的心得体会。equals()用来判断两个字符串是否相等,这里使用了很巧妙的判断逻辑,来尽量节省时间。首先判断待比较的对象是不是自己本身,然后判断和待比较对象是不是同一个类...原创 2019-09-05 16:37:08 · 180 阅读 · 0 评论 -
serialVersionUID作用
serialVersionUID作用serialVersionUID简介serialVersionUID的两种显示的生成方式serialVersionUID实例解析序列化实体类序列化功能反序列化功能情况一:假设Person类序列化之后,从A端传输到B端,然后在B端进行反序列化。在序列化Person和反序列化Person的时候,A端和B端都需要存在一个相同的类。如果两处的serialVersionU...转载 2019-09-03 14:22:35 · 128 阅读 · 0 评论