在编程语言中有两个很基础的概念,即方法(method)和函数(function)。如果达到了编程初级/入门级水平,那么你肯定在心中已有了初步的答案。
也许在你心中已有答案了
除去入参、返回值、匿名函数之类的正确的形式内容之外,你也许会说“函数就是定义在类外面的,而方法就是定义在类里面的,跟类绑定的”。
这种说法有没有问题呢?当然有!不然我就不会专门写这篇文章了,本文主要会来厘清这个问题。
在标准...
阅读全文
CPU缓存导致可见性、线程切换导致了原子性、编译优化导致了有序性问题。那么这篇文章就先解决其中的可见性和有序性问题,引出了今天的主角:Java内存模型(面试并发的时候会经常考核到)
什么是Java内存模型?
现在知道了CPU缓存导致可见性、编译优化导致了有序性问题,那么最简单的方式就是直接禁用CPU缓存和编译优化。但是这样做我们的性能可就要爆炸了~。我们应该按需禁用。
Java内存模型是有一个很复杂的规...
阅读全文
相比于大多数人熟悉的MySQL数据库的索引,Elasticsearch的索引机制是完全不同于MySQL的B+Tree结构。索引会被压缩放入内存用于加速搜索过程,这一点在效率上是完爆MySQL数据库的。但是Elasticsearch会对全部text字段进行索引,必然会消耗巨大的内存,为此Elasticsearch针对索引进行了深度的优化。在保证执行效率的同时,尽量缩减内存空间的占用。这篇文章就深度解析了Elasticsearch索引原理,揭开搜索的神秘面纱。
简介
...
阅读全文
课堂上,当小编形如流水地回答完沐芳老师提出来的问题时,却被至今没有对象的胖虎无情嘲讽了?
沐芳老师:小编,你平时是如何启动、停止你的SpringBoot项目的?
小编(自信满满):启动时使用java -jar xxxx.jar命令启动,停止服务时,使用ps -ef找到服务的pid,然后再kill掉停止。
胖虎:就这?
这让小编很有挫败感,原计划按时放学回去陪隔壁小花打王者荣耀的小编,毅然决然留在教室潜心研究一番到底什么...
阅读全文
时间紧迫,长话短说,今天,小编给大家同步一个知识点,使用try-with-resources来优雅地关闭资源。
1. 背景
其实,在JDK 7就已经引入了对try-with-resources的支持,它的主要作用就是解放小编和小编小伙伴们的双手,帮助我们自动释放使用过的资源(比如输入、输出流)。
2. 例子
如何才能使用这个自动关闭资源的骚操作呢?我们只需要在try内声明和初始化资源即可,如下所示:
这样,当我们写入文件时,...
阅读全文
生活中,我们需要掌控自己的时间,减少加班,提高效率;日常开发中,我们需要操作时间API,保证效率、安全、稳定。现在都2020年了,了解如何在JDK8及以后的版本中更好地操控时间就很有必要,尤其是一次线上BUG的发生,让小编更是深有体会。
背景
在Java8以前,每每操控时间,我们经常使用的类库就是Date,并且会通过SimpleDateFormat类对时间进行格式化。你可知道?Date类是一个可变类,SimpleDateFormat类也是线程...
阅读全文
说的专业一点,HashMap是常用的用于存储key-value键值对数据的一个集合,底层是基于对Map的接口实现。每一个键值对又叫Entry,这些Entry分散的存储在一个由数组和链表组成的集合中。当然在Java8中,Entry变成了Node。
说的通俗一点,就像你去住酒店,你下单提供了你的手机号,然后到酒店了给你一个房卡,你知道了你的房号之后再根据这个房号去找对应的房间一样。
房号就是key,房间里就是value。你通过手机号下单到...
阅读全文
小编是菜鸟一枚,最近想试试MQ相关的技术,所以自己看了下RabbitMQ官网,试着写下自己的理解与操作的过程。
刚开始的第一篇,原理只介绍 生产者、消费者、队列,至于其他的内容,会在后续中陆续补齐。
引入MQ话题
什么时候会用到MQ
可能很多人有疑惑:MQ到底是什么?哪些场景下要使用MQ?
前段时间安装了RabbitMQ,现在就记录下自己的学习心得吧。
首先看段程序:
View Code
仅仅从代码上...
阅读全文
这一节我们总结FM三兄弟FNN/PNN/DeepFM,由远及近,从最初把FM得到的隐向量和权重作为神经网络输入的FNN,到把向量内/外积从预训练直接迁移到神经网络中的PNN,再到参考wide&Deep框架把人工特征交互替换成FM的DeepFM,我们终于来到了2017年。。。
FNN
FNN算是把FM和深度学习最早的尝试之一。可以从两个角度去理解FNN:从之前Embedding+MLP的角看,FNN使用FM预训练的隐向量作为第一层可以加快模型收敛。从FM的...
阅读全文
近期用到阿里的一款开源的数据同步工具 Canal,不经意之中看到了 MDC 的用法,而且平时项目中也多次用到 MDC,趁机科普一把。
通过今天的分享,能让你轻松 get 如下几点,绝对收获满满。
a)MDC 快速入门;
b)MDC 源码解读;
c)MDC 能干什么?
阿里开源项目 Canal:
老项目这么用过:
但是无论怎么用,都逃不过 MDC API 的使用,下面先花一分钟快速入门,然后再逐步去深入 MDC。
1. MDC ...
阅读全文