自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (1)
  • 收藏
  • 关注

原创 ES在script_score中使用函数

ElasticSearch在function_score的script_score中使用函数

2024-03-04 18:08:13 174

原创 五分钟读完一本书 --《小王子》

所有的大人都曾经是小孩。

2023-05-17 12:13:08 634

原创 Java基础关键知识点总结

面试时需掌握的重要Java基础知识点

2023-01-23 21:54:37 738 1

原创 Redis关键知识点总结

Redis学习中的关键知识点。看完这一篇,妈妈再也不用担心我的Redis啦!

2023-01-07 18:42:41 1093

原创 Redis Set中 SRANDMEMBER 详解

详解Redis的Set类型中REANDMEMBER方法的使用。包括count为负数的情况;且提供实际案例参考

2022-12-18 02:58:07 819

原创 Springboot JPA update语句的返回值

如何获取jpa update语句中更新记录的真实数量

2022-01-05 16:30:32 5434

原创 Java的Fork-Join框架

最近在看Java stream中的parallel()方法,此方法能够将一个串行的任务流转化为并行处理以加快其处理效率。这一点非常有趣,在看过源码后发现是其使用了Java 1.7提供的Fork-Join框架在发挥作用。今天我们来说明一下Fork-Join框架的作用。Fork-Join是干啥的众所周知,有一组任务需要处理,如果没有明确的顺序先后的要求,并行处理会比串行处理快很多,更好的利用了CPU的性能。而Java中的Fork-Join框架类似于大数据处理方案中的map-reduce的分治思想:它

2021-11-10 23:54:59 5739

原创 MySQL ‘IN‘ ‘IS NULL‘ ‘IS NOT NULL‘ 到底走不走索引

看了很多篇文章,关于走不走索引这个问题真是众说纷纭,不如自己实践一波来得准。先说我的mysql版本为5.7;再说结论:有时候走,有时候不走。这个基于MySQL自身的查询优化。直接上例子!准备工作:首先创建一个students表,内含自增主键id,在name和school_id两列上建立多列索引,最后还有一个普通列age;CREATE TABLE `students` ( `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, `nam

2021-08-05 18:33:46 7945

原创 兄弟间的较量 -- ArrayList与LinkedList

日常开发的过程中我们会经常使用到List结构,很多兄弟就直接开始写些这样的语句:List<Xxx> x = new ArrayList<>();。但 List 的实现方式有很多种,在不用保证线程安全的情况下还有一种通用实现方式LinkedList。我们今天通过源码从多个维度来理解它们的原理、比较它们的异同。我信奉一个观点:不拿源码说话就没有底气,如果本文与其他文章的结论相左,请以我为准。当然,我也欢迎大家提出宝贵建议和意见。本文用到的源码我会加入中文注释以便理解。ArrayLi

2020-06-15 13:23:38 196

原创 Java 8 新日期时间 API ( 下 ) - 格式化

Java 8 对曾经的格式化方案 java.text.SimpleDateFormat 也不太满意,重新创建了一个 java.time.format 包,该包下包含了几个类和枚举用于格式化日期时间。java.time.format 包java.time.format 包提供了以下几个类用于格式化日期时间类说明DateTimeFormatter用于打印和解析日期时间对象的格式化程序DateTimeFormatterBuilder创建日期时间格式化样式的构建器Decim

2020-05-12 23:08:06 373

原创 Java 8 新日期时间 API ( 中 ) - 时区日期时间

上一章节 Java 8 新日期时间 API ( 上 ) - 本地日期时间 我们对 Java 8 重新设计的日期时间 API 做了一些基础的介绍,同时详细介绍了和本地时间有关的几个类 LocalDateTime 、LocalDate 和 LocalTime 。这三个类有选择的隐藏了时区的处理。它们内部会使用操作系统当前的时区。因此在我们使用中会将其当作不包含时区处理。与此同时,Java 在 java.time 包中也提供了几个类用于处理需要关注时区的日期时间 API: java.time.ZonedDat

2020-05-10 23:23:06 310

原创 Java 8 新日期时间 API ( 上 ) - 本地日期时间

作为开发者,经常需要处理日期时间。如果你跟随者 Java 5 一路走来,那么一定会对 java.util.Date 、java.util.Calendar 、java.util.GregoiranCalendar 和 java.text.SimpleDateFormat 四大类非常熟悉,它们分别用于处理日期、日历、日历表示、日期时间格式化。这四个类,对于编程老人来讲,应该是习惯了,但对于编程新人来讲,就有好多疑问,有好多陷阱和坑等着它们跳,比如非线程安全:java.util.Date 并不是线程安全的

2020-05-10 19:03:07 170

原创 什么是Email Bounced(被退回)

被Bounced的电子邮件是指收件人的邮件服务器拒绝并返回给原始发件人的邮件。邮件被退回表示您的邮件尚未送达,发生这种情况时,邮件应用会收到未送达的通知。退回电子邮件有两种不同类型:硬退件和软退件。软退件(Soft Bounce)电子邮件可能导致软退件的原因有很多。这些退回的电子邮件通常是由于临时传输问题引起的,例如:收件人的邮箱已满。 电子邮件太大。 您要发送到的电子邮件帐户已被...

2020-03-14 17:07:43 5986

原创 Redis各数据类型最大储存量

Strings:最大512MBLists: 2^32-1个数据 (4294967295)Sets: 2^32-1个数据 (4294967295)Hashes:2^32-1个键值对 (4294967295)Sorted sets:与Sets类型类似,没有明确说明。应该也是2^32-1个数据Reference: https://redis.io/topics/data-types...

2020-03-11 23:58:40 1416

原创 Linux之使用SWAP分区

本文介绍了linux系统中swap分区的作用,以及如何完成swap分区的增删

2020-03-08 16:22:14 64049

原创 Java密码验证之passay库

写这篇文章主要基于2点:我在百度上没有搜索到关于passay库的文章,因此我希望能通过此文章来弥补这一块的空缺。“不要重复造轮子”是十分重要的。现在开始领略passay的魅力吧!在passay对应的maven仓库中,一句话形容了passay的作用:Library for checking that a password complies with a custom set of rul...

2020-01-29 22:07:56 61098

原创 Web服务Docker化的优势

docker能够简化配置一致的示例的发布流程,很好的应对了负载波动较大的情况;同时它比虚拟机更加轻量级,成本更为低廉。诸多优势下,它终于成为了新时代的宠儿。

2020-01-04 17:57:46 60165

原创 Java基础——方法参数传值问题

这篇文章我会使用简单的类比并且辅以代码示例的方式来阐述方法参数的传值问题。你只需要知道8种基本数据类型以及引用类型在JVM中的存储结构即可。如果你忘记了,没关系,我们先复习一下:8种基本数据类型分别为byte,short,int,long,float,double,char,boolean。它们在JVM中会直接以数值的形式直接存储于栈(Stack)中,而其他类型为引用类型,类型的实体存储于堆(...

2020-01-04 17:43:59 58913

原创 Centos7安装mongoDB

1. 配置MongoDB的yum源vim /etc/yum.repos.d/mongodb-org-3.4.repo进入编辑模式后添加以下内容:[mongodb-org-3.4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64...

2019-12-29 01:20:19 59639

原创 Springboot 2.x + JPA 配置多数据源实战

在进行web开发的时候,有时候会出现需要调用另一个数据库的需求。这篇文章将教会你如何达到此目的,并提供了一键即用的完整代码给各位尝试。

2019-12-28 16:15:34 65536

原创 maven之packaging标签

在使用Java web开发的后端工程师们大部分都会使用Maven作为项目构建以及编译的工具,微服务和大中台当道的今天,我们会更加关注maven的细节,今天我们来讲一讲`<packaging>`标签的作用。

2019-12-25 23:06:01 86904 1

原创 Spring之attribute与parameter对比

前阵子在学习拦截器的时候,有一个非常有趣的应用:计算API从调用到返回的耗时。这个时候我们通常在preHandle()方法的HttpServletRequest参数对象上调用setAttribute()方法,将其实时间存入,在afterCompletion()方法中再使用getAttribute()方法读出。这个时候我在想:attribute与parameter都能通过get方法从HttpServ...

2019-12-23 23:09:58 59998

原创 Spring拦截器(Interceptor)的运用

拦截器是一种面向切面编程的设计实现,它能够方便的在API调用前后进行记录、修改request/response等操作,大大的简化了代码,提升代码复用性的同时降低了其耦合度,这是Spring给出的一种非常棒的设计模式!

2019-12-23 00:40:51 60326

原创 Springboot 2.x中server.servlet.context-path的运用

今天在开发项目的时候遇到了请求不通API的问题,最开始以为是server.servlet.context-path配置导致的问题,最终发现是由于AWS端口未开放/监听导致的connection refuse。虽然如此,仍然想记录一下server.servlet.context-path的作用。功能这个配置能够设置项目中的所有API的上下文路径(URL的一部分),与@RequestMapping...

2019-12-16 17:53:17 72396 3

原创 Java浅克隆与深克隆

通常我们想复制一个对象,可以自己new出一个对象,并对相应的属性存入数据以实现克隆的目的。可是当属性较多时,这样的方式会十分麻烦。然而Java早已考虑好一切,我们知道,所有的对象都有一个共同的父类Object,而Object类中已经定义好了protected修饰的clone()方法,今天我们从这个方法开始,讲述Java的浅克隆与深克隆。浅克隆与深克隆的区别**浅克隆:**复制对象时仅仅复制对象...

2019-11-11 00:41:22 64475

原创 Java设计模式之原型模式

在有些系统中,存在大量相同或相似对象的创建的工作,如果用传统的构造函数来创建对象,会比较复杂且耗时耗资源,用原型模式生成对象就很高效。原型模式属于对象的创建模式通过给出一个原型对象来指明所有创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象。

2019-11-10 19:01:21 59634

原创 JVM内存结构

Java虚拟机运行时数据区域被分为五个区域:堆(Heap)、栈(Stack)、方法区(Method Area)、本地方法栈(Native Stack)、程序计数器(Program Count Register)。本次将根据这5个子模块详细介绍JVM的内存结构。

2019-11-09 17:24:58 59584

原创 Java设计模式之单例模式

单例模式是常用的23种设计模式中最简单也是最常用的模式。“隐藏构造方法并提供获得类的实例的方法来达到整个系统中只有此类的唯一的实现对象”是单例的核心。饿汉式一开始就创建了资源,而懒汉式虽然一开始节约了资源,但因为锁的原因导致每次访问的时候效率降低;两种方式各有利弊。

2019-11-06 22:55:03 59629

原创 Java基础之抽象类与接口

在工作中我们并不会经常用到抽象类,或者即使使用到了也只是在遵从整个项目的架构而在生成接口。例如我们经常看到许多公司的项目中大量service实际上没有多种实现,却将Service分为了service抽象类和implement实现类两个文件。这是一件需要权衡利弊的问题,而不是应该遵从大流。先一起来看一下这些抽象的方法与类的使用吧抽象类作用:如果父类的方法本身不需要实现任何功能,仅仅是为了定义方...

2019-11-04 14:11:42 64525

原创 浅谈@Bean与@Compoment的异同之处

在Spring的历史中,我们曾经使用XML文件进行各种文件的装载与注入,但是由于XML需要额外的文件去维护,导致了代码的可读性较低、程序员编写代码较慢的问题。注解的诞生解决了很多问题。@Compoment介绍此注解作用于一个类上,表明了此类将作为一个组件类,Spring需要为此类创建一个bean。目前@Controller @Service @Repository都内含@Compoment...

2019-10-30 22:20:35 68052 2

原创 使用ResponseEntity处理API返回

最近在做Google AMP mail的时候遇到了一个问题,在调用/unsub(退订)接口的时候需要向google client返回特定的ResponseHeader。但是项目使用的是Springboot 2.x,通常使用@RestController修饰API层,无法做到动态的返回特殊的Header。那么如何对一些特殊的API做一些特别的返回值封装呢?Spring framework中的Resp...

2019-10-30 00:34:29 74782 1

转载 七个开源的 Spring Boot 前后端分离项目

前后端分离已经在慢慢走进各公司的技术栈,根据松哥了解到的消息,不少公司都已经切换到这个技术栈上面了。即使贵司目前没有切换到这个技术栈上面,松哥也非常建议大家学习一下前后端分离开发,以免在公司干了两三年,SSH 框架用的滚瓜烂熟,出来却发现自己依然没有任何优势!其实前后端分离本身并不难,后段提供接口,前端做数据展示,关键是这种思想。很多人做惯了前后端不分的开发,在做前后端分离的时候,很容易带进来一...

2019-10-15 18:12:01 1119

原创 Macbook版Intellij IDEA 配置 Code Style

先贴上Google的官方code style文档Google Java Style GuideGoogle 在 GitHub 上有一个专门放置编码规范的仓库,地址在:https://github.com/google/styleguide现在有了这两样东西,就可以开始配置了。在git仓库里找到 intellij-java-google-style.xml 文件,打开它,然后copy到本地。...

2019-10-15 16:28:11 65722

原创 HTTP和HTTPS协议

今天让我们一起研究一下HTTP和HTTPS这两种常用的协议。HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容...

2019-10-15 16:11:59 59745 2

转载 Please stop with "I'm too busy"

We’re all just so “busy” these days. “Slammed” in fact. “Buried.” Desperately “trying to keep our heads above water.” “Overloaded”Busy is a catch all term. When we say “busy,” we’re really trying t...

2019-10-14 18:39:14 1079

原创 ThreadLocal原理(简单易懂)

最近公司开展了一个新项目,使用token达到API的无状态,其中有一个功能,是在timeline上展示不同的action是由哪个user操作的。这个时候我们需要在service中获得token信息,但是使用参数传值会十分冗余,此时ThreadLocal就发挥了很好的作用。

2019-10-14 13:00:38 60423

ppzs_mac_2.3.5.dmg

PP助手是一款专业的手机助手,让您的安卓手机更简单好用,轻松管理心爱手机。免费下载应用、视频和音乐、管理通讯录、快速备份手机等应有尽有。

2020-05-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除