随笔分类 - Java基础
java基础知识
摘要:前几天有个小伙伴加我之后问了下面的这个问题。我看到后是一脸懵逼的状态,jcombobox?实话说,我已经完全忘了在Java中还有这么个东西。 在网上一番搜索后,才发现原来它是 swing 中的下拉列表组件。swing 又是什么呢?swing 和 awt 一样,都是Java语言中用来做图形化的工具,而
阅读全文
摘要:我发现了一个商城,我还没有登录,就可以往购物车中添加商品,加了好几件后,我准备付款,需要我先去登录,登录完之后付款。 现在很多商城,都会要求用户先去登录,登录之后再往购物车中添加商品,这样用户、购物车、商品,三个对象之间就有了绑定关系。 而针对我最开始说的那种情况,其实就是基于session做的,客
阅读全文
摘要:一、前言 拷贝这个词想必大家都很熟悉,在工作中经常需要拷贝一份文件作为副本。拷贝的好处也很明显,相较于新建来说,可以节省很大的工作量。在Java中,同样存在拷贝这个概念,拷贝的意义也是可以节省创建对象的开销。 Object类中有一个方法clone(),具体方法如下: protected native
阅读全文
摘要:注:本系列文章中用到的jdk版本均为java8 相比很多同学在刚接触Java集合的时候,线程安全的List用的一定是Vector。但是现在用到的线程安全的List一般都会用CopyOnWriteArrayList,很少有人再去用Vector了,至于为什么,文章中会具体说到。接下来,我们先来简单分析以
阅读全文
摘要:注:本系列文章中用到的jdk版本均为java8 LinkedList类图如下: LinkedList底层是由双向链表实现的。链表好比火车,每节车厢包含了车厢和连接下一节车厢的连接点。而双向链表的每个节点不仅有指向下一个节点的指针,还有指向上一个节点的指针。 在LinkedList源码中有一个Node
阅读全文
摘要:注:本系列文章中用到的jdk版本均为java8 ArrayList类图如下: ArrayList的底层是由数组实现的,数组的特点是固定大小,而ArrayList实现了动态扩容。 ArrayList部分变量如下,在下面的分析中会用到这些变量。 /** * 默认容量 */ private static
阅读全文
摘要:不管是在工作中还是生活中,相信很多同学都被“锟斤拷”深深的毒害过,比如这样, 这样, 还有这样, 那么究竟是为什么会出现这些奇怪的字符?接下来我们一探究竟! ASCII编码 在计算机底层都是用0和1进行存储的,ASCII编码将所有的字母及符号进行编码后转成二进制的0和1进行存储,字母和符号占1个字节
阅读全文
摘要:枚举是JDK1.5引入的新特性。被enum关键字修饰的类就是一个枚举类。 关于枚举,阿里巴巴开发手册有这样两条建议: 枚举类名带上 Enum 后缀,枚举成员名称需要全大写,单词间用下划线隔开。 如果变量值仅在一个固定范围内变化用 enum 类型来定义。 一 枚举类有哪些特点 创建一个ColorEnu
阅读全文
摘要:加密算法我们整体可以分为:可逆加密和不可逆加密,可逆加密又可以分为:对称加密和非对称加密。 一、不可逆加密 常见的不可逆加密算法有MD5,HMAC,SHA1、SHA-224、SHA-256、SHA-384,和SHA-512,其中SHA-224、SHA-256、SHA-384,和SHA-512我们可以
阅读全文
摘要:Stream是数据渠道,用于操作集合、数组等生成的元素序列。 Stream操作的三个步骤: 创建Stream 中间操作 终止操作 一、获取stream的四种方式 通过collection系列集合的stream()或parallelStream()获取。 @Test void test11(){ Li
阅读全文
摘要:方法引用就是通过类名或方法名引用已经存在的方法来简化lambda表达式。那么什么时候需要用方法引用呢?如果lamdba体中的内容已经有方法实现了,我们就可以使用方法引用。 一、方法引用的三种语法格式 1. 对象::实例方法名 lamdba写法: @Test void test1(){ Consume
阅读全文
摘要:今天早上,新来的同事小王突然问我:“周哥,什么是幂等性啊?”。然后我就跟他解释了一番,幂等性就是说无论你执行几次请求,其结果是一样的。说到了幂等就不得不说重复提交了,你连续点击提交按钮,理论上来说这是同一条数据,数据库应该只能存入一条,而实际上存放了多条,这就违反了幂等性。因此我们就需要做一些处理,
阅读全文
摘要:什么是函数式编程 在学习lambda之前,我们先搞清楚什么是函数。我理解的函数就是输入一些东西经过一定的规则后输出。假如我们超时买苹果,苹果的单价是5元,则f(x) = 5x;其中x代表我们购买苹果的重量,则苹果的重量和价格对应的一种关系就是函数。我们看看这个函数,我们关注的重点其实就是x和5x。这
阅读全文
摘要:在我们日常开发中,判空应该是最常用的一个操作了。因此项目中总是少不了依赖commons lang3包。这个包为我们提供了两个判空的方法,分别是StringUtils.isEmpty(CharSequence cs)和StringUtils.isBlank(CharSequence cs)。我们分别来
阅读全文
摘要:本文由公众号「Java旅途」整理,设计到的内容由java基础、数据库、SSM框架、redis、消息队列、spring boot、spring cloud、git及一些前端知识。整理时间为2019-11-19,首发于微信公众号「Java旅途」,关注微信公众号「Java旅途」,回复面试领取该pdf版资料
阅读全文