自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 MySQL分页查询优化,你应该还需要掌握的这些知识

当需要从数据库查询的表有上万条记录的时候,一次性查询所有结果会变得很慢,特别是随着数据量的增加特别明显,这时需要使用分页查询。对于数据库分页查询,也有很多种方法和优化的点。下面简单说一下我知道的一些方法。准备工作为了对下面列举的一些优化进行测试,下面针对已有的一张表进行说明。表名:order_history 描述:某个业务的订单历史表 主要字段:unsigned int id,tinyint(4) int type 字段情况:该表一共37个字段,不包含text等大型数据,最大为varcha

2020-07-13 15:39:45 135

原创 阿里java面试题都考些什么

AOP与IOC的概念(即spring的核心)a)IOC:Spring是开源框架,使用框架可以使我们减少工作量,提高工作效率并且它是分层结构,即相对应的层处理对应的业务逻辑,减少代码的耦合度。而spring的核心是IOC控制反转和AOP面向切面编程。IOC控制反转主要强调的是程序之间的关系是由容器控制的,容器控制对象,控制了对外部资源的获取。而反转即为,在传统的编程中都是由我们创建对象获取依赖对象,而在IOC中是容器帮我们创建对象并注入依赖对象,正是容器帮我们查找和注入对象,对象是被获取,所以叫反转。

2020-07-13 10:08:47 210

原创 面试官:简单的聊一下Zookeeper的ZAB协议?结果能回答正确的没几个

前言Zab(Zookeeper Atomic Broadcast)是为ZooKeeper协设计的崩溃恢复原子广播协议,它保证zookeeper集群数据的一致性和命令的全局有序性。概念介绍在介绍zab协议之前首先要知道zookeeper相关的几个概念,才能更好的了解zab协议。集群角色Leader:同一时间集群总只允许有一个Leader,提供对客户端的读写功能,负责将数据同步至各个节点; Follower:提供对客户端读功能,写请求则转发给Leader处理,当Leader崩溃失联之后参与L

2020-07-11 15:15:39 220

原创 全网最通俗易懂的Kafka入门

众所周知,消息队列的产品有好几种,这里我选择学习Kafka的原因,无他,公司在用。我司使用的是Kafka和自研的消息队列(Kafka和RocketMQ)改版,于是我就想学学Kafka这款消息队列啦。本篇文章对Kafka入门,希望对大家有所帮助。本文知识点提前预览:提前预览这篇文章花了我很长时间画图,目的是希望以最通俗易懂的方式带大家入门,如果觉得不错,希望能给我点个赞!一、什么是Kafka?首先我们得去官网看看是怎么介绍Kafka的:https://kafka.apach

2020-07-11 10:10:54 163

原创 基于SSM+Shiro+Ehcahe+Quartz搭建Java EE快速开发平台的源码

项目简介:内容发布系统是基于Kensite开发平台搭建,支持多站点,自带两个演示实例,一个是社区示例,一个是论坛示例。后台拥有站点、导航、文章、评论、收藏、留言板、标签云等模块,并支持标签模版,实现前端与后台业务分离,前端所有数据的展现均可通过Kensite cms 自定义标签实现,新增修改删除等操作通过ajax调用接口实现。内容管理系统只是开发框架附带开发的一个子单元,并非核心,此开发框架的核心是作为一套快速开发框架,可以应用到各种管理系统的开发中,极大的提高开发效率,降低开发成本。此开发框架是我

2020-07-10 09:30:03 291

原创 面试问你,创建多少个线程合适?你该怎么说?

由于细节内容实在太多啦,所以只把部分知识点整理出来粗略的介绍,每个小节点里面都有更细化的内容!接下来开始分享啦为什么要使用多线程?防止并发编程出错最好的办法就是不写并发程序既然多线程编程容易出错,为什么它还经久不衰呢?A:那还用说,肯定在某些方面有特长呗,比如你知道的【它很快,非常快】我也很赞同这个答案,但说的不够具体并发编程适用于什么场景?如果问你选择多线程的原因就是一个【快】字,面试也就不会出那么多幺蛾子了。你有没有问过你自己并发编程在所有场景下..

2020-07-09 16:21:49 126

原创 如何利用Spring Boot 微信点餐开源系统

由于细节内容实在太多啦,所以只把部分知识点整理出来粗略的介绍,每个小节点里面都有更细化的内容!接下来开始分享啦架构前后端分离:补充:setting.xml 文件的作用:settings.xml是maven的全局配置文件。而pom.xml文件是所在项目的局部配置。Settings.xml中包含类似本地仓储位置、修改远程仓储服务器、认证信息等配置。 maven的作用:借助Maven,可将jar包仅仅保存在“仓库”中,有需要该文件时,就引用该文件接口,不需要复制文件过来占用空间..

2020-07-09 11:14:55 158

原创 我当场懵了!面试官问我Spring AOP 中两种代理模式的区别

//加V:BGM7756可免费领取文末面试资料!基本介绍代理模式是一种结构性设计模式。为对象提供一个替身,以控制对这个对象的访问。即通过代理对象访问目标对象,并允许在将请求提交给对象前后进行一些处理。被代理的对象可以是远程对象、创建开销大的对象或需要安全控制的对象。代理模式主要有三种不同的形式:静态代理:由程序员创建代理类或特定工具自动生成源代码再对其编译。在程序运行前代理类的 .class 文件就已经存在了动态代理(JDK 代理、接口代理):在程序运行时运用反射机制动态创建而成,动态就是在

2020-07-08 10:37:48 354

原创 吃透这37个经典面试题,还愁拿不到offer?

微信搜索BGM7756,免费获取文末的面试资料!1.bio与nio的区别吃透这37个经典面试题,还愁拿不到offer?2.select与poll的区别吃透这37个经典面试题,还愁拿不到offer?3.zookeeper的⼯作原理吃透这37个经典面试题,还愁拿不到offer?吃透这37个经典面试题,还愁拿不到offer?4.cap理论吃透这37个经典面试题,还愁拿不到offer?5.⼆段式满⾜cap理论的哪两个理论6.线程池的参数配置,为什么java官⽅提供⼯⼚⽅法给线程池7

2020-07-07 09:33:11 144

原创 面试官问你——如何终止线程?有几种方式?你该怎么回答?

文末有面试资料!在 Java 中有以下 3 种方法可以终止正在运行的线程:使用退出标志,使线程正常退出,也就是当 run() 方法完成后线程终止;使用 stop() 方法强行终止线程,但是不推荐使用这个方法,因为使用此方法不安全,目前该方法已被弃用;使用 interrupt()方法中断线程。第一种:使用标志位终止线程使用标志位终止线程就是定义一个boolean型的标志位 ,在线程的run方法中根据这个标志位是为true还是为false来判断是否终止,这种情况多用于while循环中。 //+V

2020-07-06 21:22:33 155

原创 公司一直用Mybatis的原因原来在这!不得不竖起我的大拇指

01 什么是MyBatis、Spring?MyBatis是什么?微信搜索BGM7756,免费领取零基础到架构师的资料它是一个SQL Mapping框架,它是一个持久化技术框架。再说得简单一点,它只不过是一个操作数据库的框架。Spring是什么?Spring就是一个大容器,不管是IoC还是AOP,都是以Spring容器为基础的,因此,Spring不管整合什么框架,其关键都是利用Spring容器来管理其他框架的核心组件。那么MyBatis编程的核心组件是什么?就是以下三个:SqlSessionFactor

2020-07-06 10:57:42 195

原创 MyBatis XML方式的基本用法你会了吗

猿灯塔 希望对各位有帮助! 另外!文末有令你们心动的白嫖惊喜哦! 微信搜索【BGM7756】免费获取!我们通过一个简单的权限控制需求(RABC,Role-Based Access Control,基于角色的访问控制),来讲解通过XML方式配置MyBatis的基本用法(即select、update、insert、delete等操作的XML配置方式)。工具JDK 1.6及以上版本MyBatis 3.30版本MySQL 6.3版本Eclipse4

2020-07-03 09:42:13 188

原创 分享学习笔记——如何一步步学HashMap

猿灯塔 全文略长 希望对各位有帮助!另外!文末有令你们心动的白嫖惊喜哦!想要的朋友关注我、转发文章并私聊我哦!一直以来,hashMap源码就是备受追捧的话题,面试官的宠儿。 虽然我不太知道具体有什么作用,但是就跟初中高中的史地政生一样,用处不用考虑,应试就得了。 正好这几日工作不忙,所以我也算下定了决定要把hashMap的源码啃个明白。写这篇文章也是为了给自己一个记录的方式,毕竟好记性不如烂笔头,而纸质虽然更有仪式感可是携带又不方便。同时也算是给同样想看hashmap源码的朋友一个参考或者

2020-07-01 10:40:44 206

原创 我就是大名鼎鼎的EventLoop

猿灯塔 全文略长 希望对各位有帮助!另外!文末有令你们心动的白嫖惊喜哦!想要的朋友转发文章并私聊我哦!关于 Reactor 的线程模型首先我们来看一下 Reactor 的线程模型.Reactor 的线程模型有三种:单线程模型多线程模型主从多线程模型首先来看一下 单线程模型:所谓单线程, 即 acceptor 处理和 handler 处理都在一个线程中处理. 这个模型的坏处显而易见: 当其中某个 handler 阻塞时, 会导致其他所有的 client 的 handler 都

2020-06-27 18:04:09 156

原创 Spring Boot 2.x——构建RESTful API与单元测试

文末有惊喜哦~大家耐心看完哦!首先,回顾并详细说明一下在快速入门中使用的@Controller、@RestController、@RequestMapping注解。如果您对Spring MVC不熟悉并且还没有尝试过快速入门案例,建议先看一下快速入门的内容。@Controller:修饰class,用来创建处理http请求的对象@RestController:Spring4之后加入的注解,原来在@Controller中返回json需要@ResponseBody来配合,如果直接用@RestControll

2020-06-23 20:06:40 153

原创 没掌握这几个JAVA异常关键点——你还怎么学好JAVA?(持续更新)

一. 异常是什么异常是指阻止当前方法或作用域继续执行的问题。比如你读取的文件不存在,数组越界,进行除法时,除数为0等都会导致异常。一个文件找不到的异常:public class TestException { public static void main(String[] args) throws IOException { InputStream is = new FileInputStream("jaywei.txt"); int b;

2020-06-20 14:51:37 132

原创 分享毕业生和初级程序员通过面试的技巧(Java后端方向)

文末有惊喜噢~本来想分享毕业生和初级程序员如何进大公司的经验,但后来一想,人各有志,有程序员或许想进成长型或创业型公司或其它类型的公司,所以就干脆来分享些提升技能和通过面试的技巧,技巧我讲,公司你选,两厢便利毕业生和初级程序员(一般是工作经验3年以下)大多处于事业的青黄不接的阶段,在找工作时往往会遇到缺乏实际项目经验的瓶颈,作为技术面试官,我也经常在面试过程中感受到这些候选人缺乏实际经验的缺陷。不过本人之前做过java兼职培训老师,也总结了些这批人群提升实际技能和面试技能的技巧,最近也老有人来问我这

2020-06-16 17:10:50 192

原创 快速入门 Java 后端开发的正确姿势

开发工具先聊下 Java 后端的开发工具吧,我推荐使用 IntelliJ IDEA,这是被公认为最好用的 Java 开发工具,熟悉 Android Studio 的 Android 开发人员对它应该不陌生,其强大的功能和特性可以说是完虐 Eclipse 和 MyEclipse,尤其我最喜欢它的智能代码提示功能。IDEA 用熟了之后绝对大大提升开发效率,目前我们公司开发人员也是全面转向 IDEA 了。这里我向大家推荐一套很详细的中文专题教程,该教程在 github 上是开源的,也经常更新,以下是地址:In

2020-06-16 14:37:21 304

原创 Java架构-面试如何谈自己做过的项目

1、介绍项目架构把项目整体架构描述一遍,系统环境和软件架构可以一句话带过。网络架构可以按照网络拓扑来说明,顺便把服务器角色和业务流程说一下。要突出运维体系架构中的关键点:监控报警、负载均衡、冗余、高可用、数据库集群、存储、安全、虚拟化等的部署和设计。把项目整体描述一遍,让面试官直观的了解你所介绍的项目的来龙去脉;软件方面就是软件架构。面试官看中的不是架构多么合理,模块化多么好,而是在开发过程中为什么要这么做,具体来讲有什么好处。软件架构是通过硬件/软件整合来呈现的,如防火墙、安全、路由器、信息排队、

2020-06-15 11:30:20 1189

原创 Java架构笔记-互联网架构设计:高性能的后端

先简略回顾一下。对于互联网产品的高性能架构设计通常包括以下几个大方面:Web浏览器高性能设计App客户端高性能设计高性能的网络和硬件后台服务高性能设计后端服务一般指用户直接看到的远程服务,涉及到网络硬件、逻辑计算、通信协议和数据存储等部分。下面我们将着重介绍高性能后台服务的设计方法和策略。一、高性能的网络和硬件网络硬件是提供实现高性能服务的先决条件,如果网络硬件失败,再优秀的团队也是“巧妇难为无米之炊”。互联网产品在网络硬件方面经常需要使用的高性能方案有如下几种:CDN加速技术。CDN加速

2020-06-15 10:55:54 354

原创 Java架构-高并发的解决方案

1.应用和静态资源分离刚开始的时候应用和静态资源是保存在一起的,当并发量达到一定程度的时候就需要将静态资源保存到专门的服务器中,静态资源主要包括图片、视频、js、css和一些资源文件等,这些文件因为没有状态所以分离比较简单,直接存放到响应的服务器就可以了,一般会使用专门的域名去访问。通过不同的域名可以让浏览器直接访问资源服务器而不需要再访问应用服务器了。架构图如下:2.页面缓存页面缓存是将应用生成的页面缓存起来,这样就不需要每次都生成页面了,从而可以节省大量的CPU资源,如果将缓存的页面放到内存中

2020-06-15 10:12:30 223

原创 成为架构师不可错过的Java架构学习笔记

1. 性能调优专题1.1.性能优化如何理解1.1.1. 如何衡量性能标准1.1.2. 性能优化是什么1.1.3. 性能优化后效果1.2. JVM调优1.2.1. JVM内存管理机制1.2.2. JVM执行子系统1.2.3. 程序编译与代码优化1.2.4. 实战调优案例与解决方法1.3.JAVA程序性能优化1.3.1. 优雅的创建对象1.3.2. 注意对象的通用方法1.3.3. 类的设计陷阱1.3.4. 泛型需要注意的问题1.3.5. Java方法的那些坑1.3.6. 程序设计

2020-06-15 09:23:41 248 1

原创 必看!java后端,亮剑诛仙(最全知识点)

你可能有所感悟。零散的资料读了很多,但是很难有提升。到处是干货,但是并没什么用,简单来说就是缺乏系统化。另外,噪音太多,雷同的框架一大把,我不至于全都要去学了吧。这里,我大体根据基础、Java基础、Java进阶给分了下类,挑的也都是最常用最重要的工具。基础知识数据结构基本的数据结构是非常重要的,无论接触什么编程语言,这些基本数据结构都是首先要掌握的。具体的实现,就体现在java的集合类中。这些数据结构,就是这些复杂工具的具体原始形态,要烂记于心。培训机构一般没有时间普及基础知识,通过算法和数据结

2020-06-13 21:02:30 233

原创 前后端分离实践的架构设计

前后端分离的项目开发策略已经不是什么新鲜东西了,网上介绍这方面的文章非常多。我自己是在14年的时候接触到的,对这种开发策略一直爱不释手,不管新老项目都会首先用前后端分离的思维先去思考一番。从14年到现在在前后分离上面也实践了近3年的时间,项目大大小小的也差不多4,5个吧,但是却从来没有一个是自己觉得很满意的,其中的原由和心酸可能只有自己才能体会了。前后端分离实践有感现在到处都是前后端分离的实践。然而一些项目在从一体化 Web 设计转向前后端分离的架构时,仍然会碰见各种各样的问题。由于层出不穷的问题,甚至

2020-06-13 16:10:19 1112

原创 Java面试题总结(2020年多家公司整理的300道Java面试题手册)

以下为 spring 常见面试问题:什么是 Spring 框架?Spring 框架有哪些主要模块使用 Spring 框架能带来哪些好处什么是控制反转(IOC)?什么是依赖注入请解释下 Spring 框架中的 IoCBeanFactory 和 ApplicationContext 有什么区别Spring 有几种配置方式如何用基于 XML 配置的方式配置 Spring如何用基于 Java 配置的方式配置 Spring怎样用注解的方式配置 Spring请解释 Spring Bean 的生命周期

2020-06-13 15:10:23 310

空空如也

空空如也

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

TA关注的人

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