MoDou Blog

Thinking will not overcome fear but action will.

Java中的屠龙之术——如何修改语法树

Java中的屠龙之术——如何修改语法树

在Lombok经常用,但是你知道它的原理是什么吗?,和Lombok经常用,但是你知道它的原理是什么吗?(二)两篇文章中介绍了关于Lombok的底层原理,其实总结为一句话来说就是在编译期通过改变抽象语法树而实现的。上面两篇文章已经讲了抽象语法树的相关知识点,如果有不清楚的可以看一下。 本篇涉及到的所有代码都在github上面有 本篇涉及到的所有代码都在github上面有 本篇涉及到的...

如何快速对接Stripe国际支付系统

如何快速对接Stripe国际支付系统

Stripe国际支付介绍 Stripe是由20多岁的两兄弟Patrick Collison和John Collison创办的Stripe为公司提供网上支付的解决方案。Stripe向服务的公司收取每笔交易的2.9%加上30美分的手续费。 很多中国卖家想要借用stripe来实现建站收款,Stripe现在被称为“移动时代PayPal”。目前服务的客户有大家熟知的facebook、Twi...

Lombok经常用,但是你知道它的原理是什么吗?(二)

Lombok经常用,但是你知道它的原理是什么吗?(二)

在上一篇Lombok经常用,但是你知道它的原理是什么吗?简单介绍了注解处理器,是用来处理编译期的注解的一个工具,我们只是自己生成了一些代码,但是和Lombok却不一样,因为Lombok是在原有类的基础上增加了一些类,你那么Lombok是如何做到修改原有类的内容呢?接下来我们就再进一步了解Lombok的原理。 Javac原理 既然我们是在编译期对类进行操作了,那么我们就需要了解在Java中...

Lombok经常用,但是你知道它的原理是什么吗?

Lombok经常用,但是你知道它的原理是什么吗?

相信大家在项目中都使用过Lombok,因为能够简化我们许多的代码,但是该有的功能一点也不少。那么lombok到底是个什么呢,lombok是一个可以通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码的工具,简单来说,比如我们新建了一个类,然后在其中写了几个字段,然后通常情况下我们需要手动去建立getter和setter方法啊,构造函数啊之类的,lombok的作用就是...

《沙盘模拟系列》JVM如何调优

《沙盘模拟系列》JVM如何调优

纸上得来终觉浅 绝知此事要躬行 我所在的公司基本上是没有机会进行JVM参数调优的,但是如果有些东西自己不亲身经历一下,看再多的理论知识也只能算是纸上谈兵,真正碰到问题的时候还是不知道该怎么分析。所以就自己制造一些问题然后看其现象,利用所学的知识事前推测,看现象是不是和自己推测的一样。这样不仅对自己所学的知识又是一次巩固,而且也能锻炼自己解决问题的能力(虽然问题是自己制造的)。 其...

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

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

在公司有一个需求是要核对一批数据,之前的做法是直接用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的问题,特此也简单的了解一下前端知...