摘要: 概述 Java8 API中添加了一个新的抽象成为流Stream,可以以一种声明的方式处理数据。 Stream与java.io包中的InputStream和OutputStream是完全不同的概念。Java8中的Stream是对集合对象功能的增强,专注与对集合对象进行各种非常便利、高效的聚合操作,或大批量数据操作。 S... 阅读原文
2019-01-08 20:50:02 阅读(5001) 评论(0)
摘要: 一、基础篇JVM JVM内存结构 堆、栈、方法区、直接内存、堆和栈区别 Java内存模型 内存可见性、重排序、顺序一致性、volatile、锁、final 垃圾回收 内存分配策略、垃圾收集器(G1)、GC算法、GC参数、对象存活的判定  JVM参数及调优 Java对象模型 oop-klass、对象... 阅读原文
2019-01-08 19:41:02 阅读(5402) 评论(0)
摘要: 无锁的思想 众所周知,Java中对并发控制的最常见方法就是锁,锁能保证同一时刻只能有一个线程访问临界区的资源,从而实现线程安全。然而,锁虽然有效,但采用的是一种悲观的策略。它假设每一次对临界区资源的访问都会发生冲突,当有一个线程访问资源,其他线程就必须等待,所以锁是会阻塞线程执行的。 当然,凡事都有两面,有悲观就会有... 阅读原文
2019-01-08 18:11:53 阅读(4978) 评论(0)
摘要: RabbitMQ是一个开源的消息代理软件。它接受来自生产者的消息并将其传递给消费者。它就像一个中间人,可以用来减少Web应用程序服务器的负载和交付时间。 RabbitMQ如何工作 让我们简要介绍一下RabbitMQ的工作原理。 让我们首先熟悉RabbitMQ的一些重要概念: 生产者:发送消息的应用程序。... 阅读原文
2019-01-08 16:14:06 阅读(4944) 评论(0)
摘要: 概述 到目前为止,著名的NullPointerException是导致Java应用程序失败的最常见原因。过去,为了解决空指针异常,Google公司著名的Guava项目引入了Optional类,Guava通过使用检查空值的方式来防止代码污染,它鼓励程序员写更干净的代码。受到Google Guava的启发,Optiona... 阅读原文
2019-01-08 14:25:02 阅读(5073) 评论(0)
摘要:   前言:   当我们已经开发好相应的模块或者功能的时候,需要将这个功能部署在index主页上作为可点击直接使用的模块,而不是每次需要去浏览对应的url地址。   这时候就需要运用到L5的BSP。   作为刚刚入门loushang5的初学者自己做了个多表联合查询的Demo。   使用的是loushang的后台... 阅读原文
2019-01-08 14:06:48 阅读(5043) 评论(0)
摘要: 概述 方法引用是用来直接访问类或实例阴茎存在的方法或者构造方法.它需要由兼容的函数式接口(lambda表达式中用到的接口)构成的目标类型上下文. 有时候, 当我们想要实现一个函数式接口的方法, 但是已经由类实现了我们想要的功能, 这时可以使用方法引用来直接使用现有的功能实现. 关于lambda表达式可以看这篇文章Ja... 阅读原文
2019-01-08 13:57:02 阅读(5049) 评论(0)
摘要: 一、编写一个简单程序,要求数组长度为5,分别赋值10,20,30,40,50,在控制台输出该数组的值。 package com.test; public class t01 { public static void main(String[] args) { // 静态初始化 int i[] = new int... 阅读原文
2019-01-08 13:12:50 阅读(5708) 评论(0)
摘要: 前言:由于导师在我的毕设项目里加了消息系统(本来想水水就过的..),没办法...来稍微研究研究吧..简单简单... 需求分析 我的毕设是一个博客系统,类似于简书这样的,所以消息系统也类似,在用户的消息里包含了有:喜欢和赞、评论、关注、私信这样的一类东西,这样的一个系统应该包含以下的功能: 当用户评论/关注... 阅读原文
2019-01-08 12:42:07 阅读(5405) 评论(0)
摘要: 由于 Apache公司发现myBatis的分页弊端,所以又研发出得补丁:PageHelper 中央仓库5.1.2版连接地址: <!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper --><dependency... 阅读原文
2019-01-08 11:40:02 阅读(5205) 评论(0)