随笔分类 - Java
摘要:Mono.defer方法创建数据源属于懒汉型,Mono.just方法创建数据源属于恶汉型,下面看一个例子: package com.example.demo; import org.junit.jupiter.api.Test; import org.springframework.boot.tes
阅读全文
摘要:List、Set集合通过Stream流求和 一、泛型为Integer、Long、Double、BigDecimal求和 Integer sum = scores.stream().reduce(Integer::sum).orElse(0); Long sum = scores.stream().r
阅读全文
摘要:Nginx安装及依赖 pcre wget https://sourceforge.net/projects/pcre/files/pcre/8.44/pcre-8.44.tar.gz tar -zxvf pcre-8.44.tar.gz cd pcre-8.44 ./configure make s
阅读全文
摘要:依赖 安装centos系统依赖 yum install -y automake autoconf libtool gcc gcc-c++ yum install -y libpng-devel libjpeg-devel libtiff-devel 安装leptonica github: https
阅读全文
摘要:windows 可直接使用tess4j最新的api调用(有maven库),直接跳到第三步验证 转载自 http://www.microshell.com/programming/java/performing-optical-character-recognition-in-java/ mac 下载
阅读全文
摘要:单例模式 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需
阅读全文
摘要:JVM内存模型主要分为五大区域:栈、堆、本地方法栈、程序计数器、方法区。 本地方法栈: 跟虚拟机栈非常相似,也是线程私有的,不过虚拟机栈是针对Java方法,而本地方法栈是针对native方法,也就是底层方法。 由于Java是跨平台语言,导致的它不得不牺牲一些对底层方法的控制,而要实现这些底层方法的控
阅读全文
摘要:public static void main(String[] args) { Integer x = 128, y = 128; System.out.println(x == y); false Integer s = 127, t = 127; System.out.println(s ==
阅读全文
摘要:wait是Object类中的方法 sleep是Thread类中的方法 sleep不释放锁,不会让出系统资源。 wait是进入线程等待池中等待,让出系统资源。 sleep方法会自动唤醒,如果时间不到,想要唤醒,可以使用interrupt方法强行打断。 调用wait方法的线程,不会自己唤醒,需要线程调用
阅读全文
摘要:final、finally与finalize的区别 final:final是一个修饰符,可以修饰类,方法和变量。final修饰类表示类不能被其它类继承,并且该类中的所有方法都会隐式的被final修饰。final修饰方法,则该方法不能被重写,若父类中final方法的访问权限为private,将导致子类
阅读全文
摘要:finalize()是Object类里的protected类型的方法,子类(所有类都是Object的子类)可以通过覆盖这个方法来实现回收前的资源清理工作。和这个方法相关的流程如下所述。 1 Java虚拟机一旦通过刚才提到的“根搜索算法”判断出某对象处于可回收状态时,会判断该对象是否重写了Object
阅读全文
摘要:什么是并发? 并发:指应用能够交替执行不同的任务,其实并发有点类似于多线程的原理,多线程并非是同时执行多个任务,如果你开两个线程执行,就是在你几乎不可能察觉到的速度不断去切换这两个任务,以达到"同时执行效果",其实并不是的,只是计算机的速度太快,我们无法察觉到而已. 就类似于你,吃一口饭喝一口水,以
阅读全文
摘要:在学习和开发过程中,我们经常会讨论 short ,int 和 long 这些基本数据类型的取值范围,但是对于 String 类型我们好像很少注意它的“取值范围”。那么对于 String 类型,它到底有没有长度限制呢? 其实 String 类型的对象,他们是有长度限制的, String 对象并不能“存
阅读全文
摘要:运行 java InstallCert imap.exmail.qq.com:993(smtp协议:端口) 得到jssecacerts文件后复制到jdk1.6.0_14\jre\lib\security目录 然后再发送邮件就OK了 package reyo.sdk.utils.ca; import
阅读全文
摘要:使用@Value注入表达式: 1.注入普通字符 @Value("注入普通字符") 2.注入操作系统属性 @Value(#{SystemProperties['os.name']}) 3.表达式 @Value(#T(java.lang.Math).random()*100.0) 4.其他Bean的属性
阅读全文
摘要:在连接es的时候 通过@value注解获取配置文件中节点配置 发现构造函数中获取到的节点一直是null。 在构造函数参数中用@value注解接受,然后赋值给变量解决问题
阅读全文
摘要:1. 平时用的时候,直接在变量头上加上@Value就能到值(其中local.file.temp.dir是配置文件properties的) @Value(value = "${local.file.temp.dir}") private String savePath; 2. 但是当savePath被
阅读全文
摘要:问题 首先说下情况,我们平常开发SpringCloud微服务的时候,若要确保高可用,同一服务都会部署多台实例,然后注册到Eureka上。 一般我们会把所有定时任务写到一个服务里,那平常单实例的时候,都可以正常执行。如果该定时任务服务部署多个实例,如何确保只在一个服务实例里执行任务呢? 个人总结了下,
阅读全文
摘要:为什么需要 Stream Stream 作为 Java 8 的一大亮点,它与 java.io 包里的 InputStream 和 OutputStream 是完全不同的概念。它也不同于 StAX 对 XML 解析的 Stream,也不是 Amazon Kinesis 对大数据实时处理的 Stream
阅读全文
摘要:#header赋值 httpHeaders.add("key", URLEncoder.encode("中文字段", "UTF-8")); #header取值 URLDecoder.decode(request.getHeader("key"),"UTF-8")
阅读全文