Java学习笔记
文章平均质量分 78
Java学习笔记
青冘
希望和你一起进步
展开
-
Echarts图表Java后端生成Base64图片格式,POI写入Base64图片到Word中
Echarts图表Java后端生成Base64图片格式,POI写入Base64图片到Word中原创 2023-08-08 16:58:39 · 2029 阅读 · 2 评论 -
SptingBoot基于Echarts生成图表,后端生成ECharts图片
SptingBoot基于Echarts生成折线图,柱状图;后端生成Echarts图表;使用phantomJs服务器端导出Echarts图片java生成Echarts图表;Echarts后端导出Base64图片;echarts写入Word中;Echarts图片生成失败问题解决原创 2023-08-08 16:22:10 · 3817 阅读 · 0 评论 -
使用 POI 在 Word 中重新开始编号、自定义标题格式
使用POI设置Word导航中的标题编号,自定义标题样式原创 2023-08-07 17:12:17 · 4211 阅读 · 0 评论 -
RabbitMQ原理解析
RabbitMQ是使用Erlang语言开发的开源消息队列系统,基于AMQP协议来实现。AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、 安全。AMQP协议更多用在企业系统内,对数据一致性、稳定性和可靠性要求很高的场景,对性能和吞吐量的要求还在其次。消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常原创 2022-11-22 10:47:40 · 1633 阅读 · 1 评论 -
Dubbo与SpringCloud和Feign的区别
SpringCloud和Dubbo都是现在主流的微服务架构;初始定位不同:SpringCloud定位为微服务架构下的一站式解决方案;Dubbo 是 SOA 时代的产物,它的关注点主要在于服务的调用和治理生态环境不同:SpringCloud依托于Spring平台,具备更加完善的生态体系;而Dubbo一开始只是做RPC远程调用,生态相对匮乏,现在逐渐丰富起来。调用方式:SpringCloud是采用Http协议做远程调用,接口一般是Rest风格,比较灵活;原创 2022-11-04 17:21:00 · 2422 阅读 · 0 评论 -
你需要了解的Java快捷开发 stream的使用(二) stream对List集合进行分组、汇总、排序等操作 Android兼容
首先介绍一下Collectors 类的静态工厂方法Spliterator用来遍历和分割序列,它是为了并行执行而设计的;集合实现了 Spliterator 接口,提供了一个spliterator()方法使用 groupingBy() 将数据进行分组,最终返回一个 Map 类型。根据部门对用户列表进行分组。执行结果:groupingBy 可以接受一个第二参数实现多级分组。根据部门和性别对用户列表进行分组。执行结果:根据部门进行分组,汇总各个部门用户的平均年龄。执行结果:如果流中的元素的类实现了转载 2022-07-12 15:21:43 · 7803 阅读 · 1 评论 -
你需要了解的Java快捷开发 stream的使用(一) stream对List集合进行查询、统计等操作
Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象。Stream API可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。这种风格将要处理的元素集合看作一种流, 流在管道中传输, 并且可以在管道的节点上进行处理, 比如筛选, 排序,聚合等。元素流在管道中经过中间操作(intermediate operation)的处理,最转载 2022-07-12 15:20:03 · 8517 阅读 · 1 评论 -
Java集合框架学习(四) HashMap 的 7 种遍历方式与性能分析
目录HashMap 遍历1.迭代器EntrySet2.迭代器 KeySet3.ForEachEntrySet4.ForEach KeySet5.Lambda6.Streams API 单线程7.Streams API 多线程性能测试结论字节码分析性能分析安全性测试1.迭代器方式2.For 循环方式3.Lambda 方式4.Stream 方式小结总结HashMap 遍历HashMap遍历从大的方向来说,可分为以下 ...原创 2021-07-02 09:40:10 · 464 阅读 · 2 评论 -
Java集合框架学习(三) Map 接口
HashMap 和 Hashtable 的区别线程是否安全:HashMap是非线程安全的,HashTable是线程安全的,因为HashTable内部的方法基本都经过synchronized修饰。(如果你要保证线程安全的话就使用ConcurrentHashMap吧!); 效率:因为线程安全的问题,HashMap要比HashTable效率高一点。另外,HashTable基本被淘汰,不要在代码中使用它; 对 Null key 和 Null value 的支持:HashMap可...原创 2021-07-01 14:08:50 · 450 阅读 · 0 评论 -
Java集合框架学习(二) Collection
Collection 子接口之 ListArraylist 和 Vector 的区别?ArrayList是List的主要实现类,底层使用Object[ ]存储,适用于频繁的查找工作,线程不安全 ; Vector是List的古老实现类,底层使用Object[ ]存储,线程安全的。Arraylist 与 LinkedList 区别?是否保证线程安全:ArrayList和LinkedList都是不同步的,也就是不保证线程安全; 底层数据结构:Arraylist底层...原创 2021-07-01 09:40:31 · 380 阅读 · 1 评论 -
Java集合框架学习(一) 概述
Java 集合概览从下图可以看出,在 Java 中除了以Map结尾的类之外, 其他类都实现了Collection接口。并且,以Map结尾的类都实现了Map接口。说说 List,Set,Map 三者的区别?List(对付顺序的好帮手): 存储的元素是有序的、可重复的。 Set(注重独一无二的性质): 存储的元素是无序的、不可重复的。 Map(用 Key 来搜索的专家): 使用键值对(key-value)存储,类似于数学上的函数 y=f(x),“x”代表 key,"y...原创 2021-06-30 17:05:30 · 334 阅读 · 1 评论 -
switch对String的支持
Java 7中,switch的参数可以是String类型了,这对我们来说是一个很方便的改进。到目前为止switch支持这样几种数据类型:byteshortintcharString。但是,作为一个程序员我们不仅要知道他有多么好用,还要知道它是如何实现的,switch对整型的支持是怎么实现的呢?对字符型是怎么实现的呢?String类型呢?有一点Java开发经验的人这个时候都会猜测switch对String的支持是使用equals()方法和hashcode()方法。那么到底是不是这两个方法呢?接下来我...原创 2021-06-28 11:04:27 · 526 阅读 · 0 评论 -
Java 字符串逗号拼接
在Java中,如果我们有这样一个List:List list = ImmutableList.of("Hollis","hollischuang","Java干货");如果我们想要把他拼接成一个以下形式的字符串:Hollis,hollischuang,Java干货可以通过以下方式:StringBuilder builder = new StringBuilder();if (!list.isEmpty()) { builder.append(list.get(0));原创 2021-06-28 10:37:04 · 8295 阅读 · 0 评论 -
Java 字符串的不可变性
String在Java中特别常用,而且我们经常要在代码中对字符串进行赋值和改变他的值,但是,为什么我们说字符串是不可变的呢?首先,我们需要知道什么是不可变对象?不可变对象是在完全创建后其内部状态保持不变的对象。这意味着,一旦对象被赋值给变量,我们既不能更新引用,也不能通过任何方式改变内部状态。可是有人会有疑惑,String为什么不可变,我的代码中经常改变String的值啊,如下:String s = "abcd";s = s.concat("ef");这样,操作,不就将原本的"abc原创 2021-06-25 16:59:35 · 898 阅读 · 1 评论 -
Java 自动装拆箱
目录包装类型为什么需要包装类拆箱与装箱自动拆箱与自动装箱自动装箱与自动拆箱的实现原理哪些地方会自动拆装箱场景一、将基本数据类型放入集合类场景二、包装类型和基本类型的大小比较场景三、包装类型的运算场景四、三目运算符的使用场景五、函数参数与返回值自动拆装箱与缓存自动拆装箱带来的问题包装类型Java 语言是一个面向对象的语言,但是 Java 中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计原创 2021-06-25 16:22:25 · 624 阅读 · 1 评论 -
每天进步一点点之Java基础(1)——Object 类中的方法总结
1.Object 类的结构如图可知,Object 类中的方法,按照用途可以分为以下几种:构造函数hashCode() 和 equals() 函数用来判断对象是否相同 wait(), wait(long), wait(long,int), notify(), notifyAll() 线程等待和唤醒 toString() 和 getClass() clone() finali...原创 2019-07-25 22:52:24 · 880 阅读 · 0 评论 -
Maven安装与配置 mvn-v不是内部命令
原本新建的环境变量是MAVEN_HOME和%MAVEN_HOME%\bin之后替换为M2_HOME 和%M2_HOME%\bin 就成功运行了原创 2020-03-16 11:20:24 · 517 阅读 · 0 评论 -
java_IO流之ObjectInputStream与ObjectOutputStream的使用,序列化与反序列化多个对象
package test01;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectInput;import java.io.ObjectInp...原创 2018-06-23 22:47:57 · 1697 阅读 · 0 评论