Java
文章平均质量分 81
请叫我东子
一个拥有7年开发经验的java老兵。主要关注的技术方向为分布式技术、微服务、大数据、IOT、云原生、分布式事务、数据中台、领域驱动设计等相关技术。
展开
-
java八股文第二章:Java 集合框架
Java 集合框架1、List(线性结构)ArrayListObject[] 数组实现,默认大小为 10 ,支持随机访问,连续内存空间,插入末尾时间复杂度 o(1),插入第 i 个位置时间复杂度 o(n - i)。扩容,大小变为 1.5 倍,Arrays.copyOf(底层 System.ArrayCopy),复制到新数组,指针指向新数组。Vector类似 ArrayList,线程安全,扩容默认增长为原来的 2 倍,还可以指定增长空间长度。LinkedList基于链表实现,1.7 为双向链表原创 2021-01-18 13:40:31 · 1099 阅读 · 0 评论 -
让您轻松理解java线程池
1.线程线程是调度cpu的最小单元,也叫轻量级的进程。2.两种线程模型用户级线程(ULT):指不需要内核支持而在用户程序中实现的线程,它的内核的切换是由用户态程序自己控制内核的切换,不需要内核的干涉。但是它不能像内核级线程一样更好的运用多核CPU。内核级线程(KLT):切换由内核控制,当线程进行切换的时候,由用户态转化为内核态。切换完毕要从内核态返回用户态。可以很好的运用多核CPU,就像Windows电脑的四核八线程,双核四线程一样。3.线程池线程池管理器(ThreadPool):用于创建原创 2020-05-18 15:54:34 · 324 阅读 · 0 评论 -
Java 8 Collectors toMap
1. 介绍在本教程中,我们将讨论Collectors类的toMap()方法。我们使用它将流收集到一个Map实例中。对于本教程中涉及的所有示例,我们将使用图书列表作为数据源,并将其转换为不同的Map实现。2. List 转换 Map我们将从最简单的情况开始,将List 转换 Map。Book类定义如下:class Book { private String name; p...原创 2019-09-06 15:24:38 · 18589 阅读 · 1 评论 -
Java 8 Lambda 表达式
1.Lambda 表达式Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性。 Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。 使用 Lambda 表达式可以使代码变的更加简洁紧凑。2.语法lambda 表达式的语法格式如下:(parameters) -> expression或(parameters) ->{ statements; }3原创 2017-03-15 11:11:29 · 745 阅读 · 0 评论 -
Java 8 Optional 类 学习
1. Optional类的简介Optional 类是一个可以为null的容器对象。如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象。Optional 是个容器:它可以保存类型T的值,或者仅仅保存null。Optional提供很多有用的方法,这样我们就不用显式进行空值检测。 Optional 类的引入很好的解决空指针异常。2.类声明以下是一个 java.util.原创 2017-03-15 10:45:52 · 919 阅读 · 0 评论 -
Mybatis调用MySQL存储过程
1.存储过程的简介我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。 一个存储过程是一个可编程的函数,它在数据库中创建并保存。它可以有SQL语句和一些特殊的控制结构组成。当希望在不同的应用程序或平台原创 2017-04-10 11:40:35 · 33764 阅读 · 4 评论 -
jvm知识点总览
转载 作者:纯洁的微笑 出处:http://www.ityouknow.com/ 在江湖中要练就绝世武功必须内外兼备,精妙的招式和深厚的内功,武功的基础是内功。对于武功低(就像江南七怪)的人,招式更重要,因为他们不能靠内功直接去伤人,只能靠招式,利刃上优势来取胜了,但是练到高手之后,内功就更主要了。一个内功低的人招式在奇妙也打不过一个内功高的人。比如,你剑法再厉害,一剑刺过来,别人一掌打断你的剑转载 2017-03-02 11:28:12 · 621 阅读 · 0 评论 -
Java并发编程:Callable、Future和FutureTask
1、简介在Java中创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。2、需求在Java中,如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。而自从Java 1.5开始,就提供了Callable和Future,通过它们可以在任务执行完毕之后得到任务执行结果原创 2017-02-21 16:58:49 · 2113 阅读 · 1 评论 -
Java 模板方法模式的实现
Java 模板方法模式的实现1.定义:定义一个操作中的算法的框架,而将一些步骤延迟到子类中,使子类可以不改变一个算法的结构。可以重新定义该算法的某些特定步骤。2.使用场景:(1).多个子类有公有的方法,并且逻辑基本相同。(2).重要、复杂的算法,可以把核心算法设计为模板方法,周边相关的细节则在子类中实现。(3).重构时,模板方法模式是一个经常使用的模式,把相同的代码抽到父类原创 2016-01-28 14:46:52 · 1050 阅读 · 0 评论 -
Java 读取Excl文件 (poi-3.13)
最近做项目遇到了读取Excel数据到数据库做数据的初始化。于是找一个。发现(poi-3.13)可以解决问题。可以解析两种格式(xlsx和xls) 以下是实现的步骤 1.下载poi3.13包,地址(http://poi.apache.org/download.html#POI-3.13) 2.学习APi。 接下来是还是de原创 2016-01-25 17:28:04 · 1851 阅读 · 0 评论 -
Java中list的删除问题
标题:java中一个大的list中包含一个小的list,想要从大的list中将小的list删除。代码:import java.util.ArrayList;import java.util.List;public class Test {public static void main(String[] args) {List lista = ne原创 2015-07-21 16:33:28 · 768 阅读 · 0 评论