• java面试宝典 (四)|并发篇

    前言因为要最近要面试,冲刺挑战一下,下面是准备的并发篇面试题,其实我对并发也不太清楚,没怎么接触实战。大家也可以留言,我再加上一、线程篇这里讲解线程和线程相关分析二、并发安全篇1、高并发中如何保证脏读数据答:只有全局变量存在线程安全,多线程共享同一个全局变量会出现线程安全问题使用Syn(自动)或lo...

    Java基础 (八) | 常用Java函数

    这篇个人常用Java函数,不是技术类文章目录1、数据库事件用到的sql2、json字符串截取与替换一、数据库事件用到的sqlDECLARE startDate date DEFAULT DATE_FORMAT(now_day,'%Y-%m-%d');-- 更新数据的时间DECLARE startSt...

    Java基础 (七) | 函数式编程

    函数式编程函数式编程是一种编程范式,他将计算机视为函数的运算,并避免变化状态和可变数据。他是一种声明式编程范式,也就是说:编程是用表达式或者声明而不是语句完成好处代码简洁,开发快速接近自然语言,易于理解:自由度很高更方便的代码管理:不依赖、也不会改变外界的状态易于"并发编程":不...

    SpringBoot实战 (九)| 异常机制源码分析和自定义异常

    微信公众号:纯洁的麦田。如有问题,请后台留言,反正我也不会听。前言如题,今天介绍下 SpringBoot 是如何异常处理机制源码分析,自定义全局异常和自定义异常。一、springboot原理探究1.1、springboot默认错误处理机制错误页面默认响应json数据1.2、源码分析BasicErro...

    SpringBoot实战 (八)| RocketMq安装与整合使用

    前言这篇开始给大家带来的是消息中间件模块,分别给大家带来RocketMq、kafka和rabbitMq安装一、RocketMq安装...

    SpringBoot实战 (七) | nacos安装与SpringBoot的整合配置中心

    前言今天给大家带来的不同于apollo的另外一种配置管理,与其说也是一个服务治理与管理简介Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 ...

    SpringBoot实战 (六) | Apollo安装及整合

    前言这篇给大家带来apollo安装以及使用,部署方式是Mac上部署,linux也类似。一、Apollo介绍Apollo(阿波罗)是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性。application...

    Java基础 (六) | Jvm 调优-工具篇

    前言工具做为图形化界面来展示更能直观的发现问题,另一方面一些耗费性能的分析(dump文件分析)一般也不会在生产直接分析,往往dump下来的文件达1G左右,人工分析效率较低,因此利用工具来分析jvm相关问题,长长可以到达事半功倍的效果来。jvm监控分析工具种类一种是jdk自带的工具:一种是第三方的分析...

    Java基础 (五) | 内存泄漏和排查CPU飙升

    前言本文章主要讲解内存分析、内存泄漏、内存溢出和CPU飙升的问题???本文章使用Mac作为的开发工具一、大纲什么是内存泄漏、内存溢出排查CPU飙升jvisualvm分析内存溢出问题...

    Java基础 (四) | 封装、继承、多态

    前言本文章主要学习Java中的重要概念封装、继承和多态,通过案例的方式进行讲解,让你对继承和多态在企业中的应用更加了解。一、大纲什么是多态基于继承关系的类型复用和拓展设计多态,运用多态二、封装2.1、什么是封装​ 封装(Encapsulation)是面向对象方法的重要原则,就是把对象的属性和操作(或...

    Java基础 (三) | 第三方支付

    java基础 (二) | 第三方支付...

    Java工具 (二) | nodejs的安装及配置

    这篇来讲解nodejs的安装及配置简单的说Node.js 就是运行在服务端的 JavaScript。Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javas...

    Mysql (二) |常用函数

    mysql常用函数这里讲解mysql常用函数,适合用统计以及平时sql工作中1、多列合并一列展示SELECTconcat(uid0,uid1,uid2,uid3,uid4)FROMaccount_info1、...

    Java工具 (一) | mysql装步骤以及碰壁报错

    前言之前一直用别人的数据库,我真怕哪一天数据库进不去,里面的数据我就GG了,于是乎我就今天决定了自己安装数据库,下面是步骤mac和win这里就不讲了,直接下一步下一步就OK,改下密码,今天要讲的是linuxlinux安装mysql步骤1、官网下载包上传到linux某个目录https://dev.my...

    Java面试宝典 (三) | 高频基础题篇

    示例1:面向对象的特征有哪些方面?继承封装多态抽象示例2:String是最基本的数据类型吗?String是类对象,八大对象:byte,long,short,char,int,float,double,booble示例3:int和Integer有什么区别?int是基础类型,Integer是类类型,之间...

    Java面试宝典 (二) | Spring全家桶源码篇

    前言这里讲解的都是一些框架流程以及源码分析篇的面试题对springboot有什么理解1、一站式单机开发2、约定大于配置3、从繁琐的xml中解脱4、内置tomcat容器5、打包成jar部署更简单spring启动流程1、执行web.xml中的ContextLoaderListener监听器2、初始化co...

    Java面试宝典 (一) | 源码及设计模式篇

    前言因为要最近要面试,冲刺挑战一下,下面是准备的中级面试题一、设计模式篇1.常用的设计模式答:单例:保证Jvm中只有一个实例,一般用在配置、Springbean,servlet工厂:创建对象和使用过程完全分开代理:在目标方法前和目标方法后实现增强策略、模板、责任链、观察者、装饰、门面模式2.策略模式...

    SpringBoot 实战 (四) | 整合 RabbitMq

    微信公众号:纯洁的麦田。如有问题,请后台留言,反正我也不会听。前言该篇文章内容较多,包括有rabbitMq相关的一些简单理论介绍,provider消息推送实例,consumer消息消费实例,Direct、Topic、Fanout的使用,消息回调、手动确认等。(但是关于rabbitMq的安装,就不介绍...

    SpringBoot 实战 (三) | 整合 MongoDB

    微信公众号:纯洁的麦田。如有问题,请后台留言,反正我也不会听。前言如题,今天介绍下SpringBoot是如何整合MongoDB的。MongoDB简介MongoDB是由C++编写的非关系型数据库,是一个基于分布式文件存储的开源数据库系统,它将数据存储为一个文档,数据结构由键值(key=>valu...

    Mybatis (二) | 传参类型和$#

    前言:一直很想写一篇记录mybatis传值篇,我们都知道有map传参,DTO传参,list传参,string传参等等,所以我想总结一下,记录一下,其中还会讲解到#传参和$传参一:传参类型String传参mapper接口List<BasLocation>selectInLocListFor...

    SpringBoot 实战 (二) | 整合redis单机、集群、哨兵模式

    SpringBoot整合redis单机、集群、哨兵模式前言在本篇文章中将SpringBoot整合Redis,使用的是RedisTemplate,分别实现了SpringBoot与redis的单机版、集群版、哨兵模式的整合。Maven依赖<dependency>&...

    SpringBoot实战 (一) | Kafka安装与整合使用

    这里讲解直接安装启动kafka,没有先安装zookeeper一、linux安装1、下载wgethttp://mirror.bit.edu.cn/apache/kafka/2.2.0/kafka_2.12-2.2.0.tgz或者官网下载再上传linuxhttp://kafka.apache.org/d...

    Java基础 (二) | 手写RPC框架及理论

    RPC:RemoteProcedureCall即远程过程调用是一种常见的一种通信方法,从跨进程到跨物理机以及有即使年历史理论知识:跨进程交互形式:RestFul、WebService、HTTP、基于DB做数据交互、基于MQ数据交互、以及RPC图解交互形式:现有框架对比核心原理(整体架构)RPCSer...

    Java基础 (一) | 手写Spring MVC 框架

    spring手写框架...

    Java开发规范

    本文摘自阿里开发规范,是阿里工程师们严格遵循的开发标准,同时也是培养自己写出高质量代码的必然要求,不让自己写出来的代码像个刚毕业的。命名的风格代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。反例: _name $name代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使...

    Mybatis (四) | 查询字段为null设置为0

    背景1、用mybatis查询(mysql)时,会使用多个double字段做相加,但是呢,其中几个字段有可能是null,会抛空指针。2、多表或者单表,查出来某个字段为空,希望设置为0解决方法原生态sqlSELECT A.MTMM_TYPE, LABEL_TYPE, MANUFACTURER, ADDR...