个人分享
文章平均质量分 59
LiMing_0820
记录自己程序猿的码农经历,希望能够在退休的时候,还能拿出来看看曾经的努力1
展开
-
2021-04-26
JDK8 Stream数据流操作性能比较Stream 是Java SE 8类库中新增的关键抽象,它被定义于 java.util.stream (这个包里有若干流类型:Stream<T>代表对象引用流,此外还有一系列特化流,如 IntStream,LongStream,DoubleStream等。Java 8 引入的的Stream主要用于取代部分Collection的操作,每个流代表一个值序列,流提供一系列常用的聚集操作,可以便捷的在它上面进行各种运算。集合类库也提供了便捷的方式使我们可.转载 2021-04-26 09:43:55 · 181 阅读 · 0 评论 -
2021-04-26
今天来分享下在 Java 8 中创建 Stream 的 10 种方式,我就整理了 10 种,其实还有更多,仅供大家参考学习下。1、Stream.of 可变参数Stream<String>stream1=Stream.of("A","B","C");System.out.println("stream1:"+stream1.collect(joining()));程序输出:stream1:ABC2、Stream.of 数组String[]...原创 2021-04-26 09:41:46 · 162 阅读 · 0 评论 -
2020-12-27
Springboot 实现文件预览,采用openOfficehttps://blog.csdn.net/ljlj8888/article/details/104355670?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-6.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFro转载 2020-12-27 21:47:44 · 101 阅读 · 0 评论 -
Java工具类之实现压缩导出功能
最近碰到个需要下载zip压缩包的需求,于是我在网上找了下别人写好的zip工具类。但找了好多篇博客,总是发现有bug。因此就自己来写了个工具类。这个工具类的功能为:(1)可以压缩文件,也可以压缩文件夹 (2)同时支持压缩多级文件夹,工具内部做了递归处理 (3)碰到空的文件夹,也可以压缩 (4)可以选择是否保留原来的目录结构,如果不保留,所有文件跑压缩包根目录去了,且空文件夹直接舍弃。注...原创 2020-04-14 15:41:58 · 312 阅读 · 0 评论 -
Java技术栈学习之SpringCloud服务消费者(Feign)(Finchley版本)
上一篇文章,讲述了如何通过RestTemplate+Ribbon去消费服务,这篇文章主要讲述如何通过Feign去消费服务。一、Feign简介Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用Feign 注解和JAX-RS注解。Feign支持可插拔的编码器和解码器。Feign默认集成了Ribbon...原创 2020-03-12 16:40:58 · 196 阅读 · 0 评论 -
Java技术栈学习之SpringCloud服务消费者(rest+ribbon)
在上一篇文章,讲了服务的注册和发现。在微服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是基于http restful的。Spring cloud有两种服务调用方式,一种是ribbon+restTemplate,另一种是feign。在这一篇文章首先讲解下基于ribbon+rest。一、ribbon简介Ribbon is a client side load balancer ...原创 2020-03-12 16:25:55 · 177 阅读 · 0 评论 -
Java技术栈学习之SpringCloud服务的注册与发现(Eureka)
一、spring cloud简介spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等。它运行环境简单,可以在开发人员的电脑上跑。另外说明spring cloud是基于springboot的,所以需要开发中对springboot有一定的了解,如果不了解的话可以看这篇文章:2小时学会sprin...原创 2020-03-12 16:11:36 · 229 阅读 · 0 评论 -
Java技术栈学习之集群中session共享解决方案
集群中session安全和同步是个最大的问题,下面是收集到的几种session同步的方案,希望能通过分析其各自的优劣找出其适应的场景。1. 客户端cookie加密这种方法,简单,高效。自己采用cookie机制来实现一个session,在应用中使用此session实现。问题:session中数据不能太多,最好只有个用户id。参考实现:http://rollerweblogger.or...原创 2020-03-12 13:38:59 · 181 阅读 · 0 评论 -
Java技术栈学习之HashMap实现原理分析
1. HashMap的数据结构数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。数组数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难;链表链表存储区间离散,占用内存比较宽松,故空间复杂度很小,但时间复杂度很大,达O(N)。链表的特点是:寻址困难,插入和删除容易。哈希...原创 2020-03-12 13:28:46 · 166 阅读 · 0 评论 -
Java技术栈学习之JVM结构、GC工作机制详解
知识不仅要知其然,还要知其所以然。其实弄懂了JVM和GC,对我们理解很多java知识都有帮助。JVM结构、内存分配、垃圾回收算法、垃圾收集器。下面我们一一来看。根据《java虚拟机规范》规定,JVM的基本结构一般如下图所示:从左图可知,JVM主要包括四个部分:1.类加载器(ClassLoader):在JVM启动时或者在类运行时将需要的class加载到JVM中。(右图表示了从ja...原创 2020-03-12 11:10:52 · 207 阅读 · 0 评论 -
Eclipse导入已有的项目后项目报错的解决办法
1.导入项目之前,请确认工作空间编码已设置为utf-8:window->Preferences->General->Wrokspace->Text file encoding->Other 选择UTF-8。2.导入后,由于你的开发环境中JRE以及Tomcat Library名称可能和源代码中的不一致,可能会出现Build Path的错误,解决方法如下:右键project->Build Pa原创 2017-03-06 18:41:13 · 26564 阅读 · 0 评论 -
Java中产生随机数的几种常用方式
java产生随机数的几种方式一.在j2se里我们可以使用Math.random()方法来产生一个随机数,这个产生的随机数是0-1之间的一个double,我们可以把他乘以一定的数,比如说乘以100,他就是个100以内的随机,这个在j2me中没有。 二.在java.util这个包里面提供了一个Random的类,我们可以新建一个Random的对象来产生随机数,他可以产生随机整数、随机fl原创 2017-03-08 16:42:23 · 511 阅读 · 0 评论 -
java中的File.separator
前些天遇到一个问题,困扰了好久,现在终于解决了。问题:上传的图片不能正确显示。我的开发环境是在Windows下,工程在Windows下能正常部署,上传的图片也可以正常的显示。但是把工程部署在服务器上的时候,图片总是不能显示,很是让人郁闷,后来在网上找了各种资料,问题终于解决了。文件路径的分隔符在windows系统和Linux系统中是不一样。比如说要在转载 2016-10-18 08:52:38 · 374 阅读 · 0 评论 -
关于正则表达式的经典案例分析
import java.util.regex.*;class Regex2 {public static void main(String[] args) {Pattern p = Pattern.compile(args[0]);Matcher m = p.matcher(args[1]);boolean b = false;while(b = m.find()) {原创 2016-10-18 08:01:02 · 594 阅读 · 0 评论