MoDou Blog

Thinking will not overcome fear but action will.

几百万数据放入内存不会把系统撑爆吗?

几百万数据放入内存不会把系统撑爆吗?

在公司有一个需求是要核对一批数据,之前的做法是直接用SQL各种复杂操作给怼出来的,不仅时间慢,而且后期也不好维护,就算原作者来了过一个月估计也忘了SQL什么意思了,于是有一次我就想着问一下之前做这个需求的人为什么不将这些数据查出来后在内存里面做筛选呢?直接说了你不怕把内存给撑爆吗?此核算服务器是单独的服务器,配置是四核八G的,配置堆的大小是4G。本着怀疑的精神,就想要弄清楚几百万条数据真的放...

如何优雅的使用线程池

如何优雅的使用线程池

线程池不仅在项目中是非常常用的一项技术而且在面试中基本上也是必问的知识点,接下来跟着我一起来巩固一下线程池的相关知识。在了解线程池之前我们先了解一下什么是进程什么是线程 进程 程序:一般是一组CPU指令的集合构成的文件,静态存储在诸如硬盘之类的存储设备上 进程:当一个程序要被计算机运行时,就是在内存中产生该程序的一个运行时实例,我们就把这个实例叫做进程 用户下达运行程序的命...

看了这篇文章,再也不怕关于树的面试题了

看了这篇文章,再也不怕关于树的面试题了

基础知识就像是一座大楼的地基,它决定了我们技术的高度 在面试中,关于树的问题是很多的,例如简单点的会问你关于树的前中后序的遍历顺序是怎样的?难点会让你手写关于树的算法题,又或是在Java后端面试中也会涉及到一些树的知识,例如在HashMap中产生哈希冲突生成的链表到一定条件下为什么要转成红黑树?,为什么要用红黑树而不用B+树呢?在Mysql中索引的存储为什么用B+树而不用其他树等等...

《后端也要懂一点前端系列》React入门

《后端也要懂一点前端系列》React入门

在上一篇文章中我们使用了webpack搭建项目并成功运行了起来,但是对于在公司使用而言这点是完全不够的,所以接下来我们就开始学习如何使用React框架来进行开发。本篇文章不会探讨原理,只是从一个新手的角度来介绍如何使用。如果没看我第一篇的可以先看我第一篇搭建项目的文章《后端也要懂一点前端系列》使用webpack搭建项目 React起源 以铜为鉴,可以正衣冠;以人为鉴,可以明得失...

《后端也要懂一点前端系列》使用webpack搭建项目

《后端也要懂一点前端系列》使用webpack搭建项目

笔者文笔功力尚浅,如有不妥,请慷慨指出,必定感激不尽 今天突然有兴致想要学习一下前端的技术,所以特此记录学习前端之路。由于之前在公司做的项目大部分都是关于JSP页面的增删改查,所以前端后端都是一个人来写的,对于前端还只是停留在js、html、css阶段,对于一些前端框架是一点也不了解,正好学习后端的时候遇到了cookie、session、token的问题,特此也简单的了解一下前端知...

一文彻底搞懂Cookie、Session、Token到底是什么

一文彻底搞懂Cookie、Session、Token到底是什么

笔者文笔功力尚浅,如有不妥,请慷慨指出,必定感激不尽 Cookie 洛:大爷,楼上322住的是马冬梅家吧? 大爷:马都什么? 夏洛:马冬梅。 大爷:什么都没啊? 夏洛:马冬梅啊。 大爷:马什么没? 夏洛:行,大爷你先凉快着吧。 在了解这三个概念之前我们先要了解HTTP是无状态的Web服务器,什么是无状态呢?就像上面夏洛特烦恼中经典的一幕对话一样,一次对话完成后下...

为什么重写了equals()也要重写hashCode()

为什么重写了equals()也要重写hashCode()

为什么重写了equals()也要重写hashCode() 笔者文笔功力尚浅,如有不妥,请慷慨指出,必定感激不尽 在Effective Java中第九条规定在覆盖equals()方法时总要覆盖hashCode()方法。这是为什么呢?接下来我们就介绍一下这两个方法。 Java中的equals()方法和hashCode()方法都是在Object类中的方法,而在Java中所有的类都是O...

学会这几道链表算法题,面试再也不怕手写链表了

学会这几道链表算法题,面试再也不怕手写链表了

学会这几道链表算法题,面试再也不怕手写链表了 笔者文笔功力尚浅,如有不妥,请慷慨指出,必定感激不尽 在面试的时候经常被问到让手写关于链表的代码,下面几个都是我在面试中被问到过的问题。当然我写的不一定是最优解,如果有更好的解决办法欢迎大家指出。 便于大家观看,我先将题目列出 删除链表中倒数第N个节点 链表反转 合并两个有序链表 求链表的中间节点 删除链表中...

无需看源码了解并解决一个事务常见的异常

无需看源码了解并解决一个事务常见的异常

无需看源码了解并解决一个事务常见的异常 在观看此篇文章之前需要了解什么是事务的传播属性 在观看此篇文章之前需要了解什么是事务的传播属性 在观看此篇文章之前需要了解什么是事务的传播属性 Transaction rolled back because it has been marked as rollback-only 相信大家在使用Spring事务的时候有概率会碰到一个异常...

如何在Spring中使用责任链设计模式

如何在Spring中使用责任链设计模式

如何在Spring中使用责任链设计模式 笔者文笔功力尚浅,如有不妥,请慷慨指出,必定感激不尽 本片文章不是讲Spring源码中使用责任链的设计实例,而是会讲在Spring中如何设计自己的责任链并且如何调用。 责任链设计模式作为我们常用的设计模式之一,用途非常的广,例如在一些流程化的执行中、或者是一些动态拦截中我们都可以使用责任链设计模式进行设计需求,从而使我们的项目无论是可用性...