自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (5)
  • 收藏
  • 关注

转载 Spring中bean的作用域与生命周期

转载【Spring】Bean的生命周期Spring中bean的作用域与生命周期在Spring中,那些组成应用程序的主体及由Spring IoC容器所管理的对象,被称之为bean。简单地讲,bean就是由IoC容器初始化、装配及管理的对象,除此之外,bean就与应用程序中的其他对象没有什么区别了。而bean的定义以及bean相互间的依赖关系将通过配置元数据来描述。  Spring中...

2019-04-30 17:53:17 260 2

转载 【转载】Quartz框架流程

SpringBoot中的定时任务与Quartz的整合https://www.cnblogs.com/wadmwz/p/10315481.htmlQuartz框架从入门到实战https://blog.csdn.net/qq_37142346/article/details/78627237quartz实例和流程(含springmvc和Springboot两种模式下配置)...

2019-04-30 14:56:09 279

转载 一次非常有意思的SQL优化经历:从30248.271s到0.001s

转载一次非常有意思的SQL优化经历:从30248.271s到0.001s场景用的数据库是mysql5.6,下面简单的介绍下场景课程表:数据100条create table Course(c_id int PRIMARY KEY,name varchar(10))学生表:数据70000条create table Student(id int PRIMARY...

2019-04-29 16:42:14 139

转载 分库分表--如何做到永不迁移数据和避免热点

转载分库分表?如何做到永不迁移数据和避免热点?1、前言中大型项目中,一旦遇到数据量比较大,小伙伴应该都知道就应该对数据进行拆分了。有垂直和水平两种。垂直拆分比较简单,也就是本来一个数据库,数据量大之后,从业务角度进行拆分多个库。如下图,独立的拆分出订单库和用户库。水平拆分的概念,是同一个业务数据量大之后,进行水平拆分。上图中订单数据达到了4000万,我们...

2019-04-29 15:09:20 1397

转载 【转载】分布式一致性算法、分布式存储、分布式计算

分布式一致性算法早在1898年就诞生了著名的Paxos经典算法(Zookeeper就采用了Paxos算法的近亲兄弟Zab算法),但由于Paxos算法非常难以理解、实现、排错。所以不断有人尝试简化这一算法,直到2013年才有了重大突破:斯坦福的Diego Ongaro、John Ousterhout以易懂性为目标设计了新的一致性算法——Raft算法,并发布了对应的论文《In Search...

2019-04-25 16:55:54 221

转载 【面试】分布式事务方案与分布式系统一致性

分布式事务就是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。就是一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,且属于不同的应用,分布式事务需要保证这些小操作要么全部成功,要么全部失败。本质上来说,分布式事务就是为了保证不同数据库的数据一致性。分布式系统的经典基础理论 CAP 理论对于一个分布式计算系统来说,不可...

2019-04-24 21:04:45 697 1

转载 【面试】redis缓存穿透、缓存击穿、缓存雪崩区别和解决方案

设计一个缓存系统,不得不要考虑的问题就是:缓存穿透、缓存击穿与失效时的雪崩效应。前台请求,后台先从缓存中取数据,取到直接返回结果,取不到时从数据库中取,数据库取到更新缓存,并返回结果,数据库也没取到,那直接返回空结果。缓存穿透描述: 缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求。由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据...

2019-04-23 18:40:03 81511 23

转载 【转载】Redis高可用技术解决方案

转载史上最全Redis高可用技术解决方案大全Redis各种使用方式的优缺点:1、Redis单副本Redis 单副本,采用单个Redis节点部署架构,没有备用节点实时同步数据,不提供数据持久化和备份策略,适用于数据可靠性要求不高的纯缓存业务场景。优点:架构简单、部署方便。 高性价比,当缓存使用时无需备用节点(单实例可用性可以用supervisor或cronta...

2019-04-23 16:49:01 168

转载 【转载】Redlock(redis分布式锁)原理分析

转载 Redlock(redis分布式锁)原理分析Redlock:全名叫做 Redis Distributed Lock;即使用redis实现的分布式锁;使用场景:多个服务间保证同一时刻同一时间段内同一用户只能有一个请求(防止关键业务出现并发攻击);官网文档地址如下:https://redis.io/topics/distlock这个锁的算法实现了多redis实例的情况...

2019-04-23 12:17:06 901

转载 Java 开发 设计模式 ----结构型模式【 适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式】

1、适配器模式(Adapter)适配器模式将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题。主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。用电器做例子,笔记本电脑的插头一般都是三相的,即除了阳极、阴极外,还有一个地极。而有些地方的电源插座却只有两极,没有地极。电源插座与笔记本电脑的电源插头不匹配使得笔记本电脑...

2019-04-22 12:00:46 266

转载 Java 开发 设计模式 ----创建型模式【单例模式,工厂模式,建造者模式,原型模式】

1、单例模式(Singleton)基本概念:保证一个类仅有一个实例,并提供一个访问它的全局访问点。懒汉式public class Singleton { /* 持有私有静态实例,防止被引用,此处赋值为null,目的是实现延迟加载 */ private static Singleton instance = null; /* 私有构造方法...

2019-04-22 11:29:42 419 1

转载 Java 开发 设计模式 ----行为型模式【策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式】

创建型模式:对象实例化的模式,创建型模式用于解耦对象的实例化过程。结构型模式:把类或对象结合在一起形成一个更大的结构。行为型模式:类和对象如何交互,及划分责任和算法。行为型模式第一类:通过父类与子类的关系进行实现。第二类:两个类之间。第三类:类的状态。第四类:通过中间类策略模式(strategy)定义一系列算法,把他们封装起来,并且使它们可以相互替换。策...

2019-04-21 17:52:59 210

原创 Java 开发 设计模式 ----策略模式strategy

策略模式 strategy策略模式 strategy 定义了一系列算法,并将每个算法封装起来,使得他们可以相互转化,且算法的变化不会影响到使用算法的客户。需要设计一个接口,为一系列实现类提供统一的方法,多个实现类实现该接口,设计一个抽象类(辅助类)。ICalculator提供统一的方法。AbstractCalculator是辅助类,提供辅助方法,接下来,依次实现下每个类:首先...

2019-04-20 13:57:49 253

转载 【面试】为什么要重写hashcode和equals方法?

1、通过Hash算法来了解HashMap对象的高效性先复习数据结构里的一个知识点:在一个长度为n(假设是10000)的线性表(假设是ArrayList)里,存放着无序的数字;如果我们要找一个指定的数字,就不得不通过从头到尾依次遍历来查找,这样的平均查找次数是n除以2(这里是5000)。我们再来观察Hash表(这里的Hash表纯粹是数据结构上的概念,和Java无关)。它的平均查找次数接...

2019-04-19 23:35:39 1044 1

转载 【面试】Nginx全面解析 --【负载均衡、反向代理、高可用、宕机容错】

1、什么是NginxNginx是一个高性能的HTTP和反向代理服务器,用于HTTP、HTTPS、SMTP、POP3和IMAP协议。 同时也是一个非常高效的反向代理、负载平衡。 cpu、内存等资源消耗却非常低,运行非常稳定。 多进程异步非阻塞事件处理机制:运用了epoll模型2、为什么要用Nginx跨平台、配置简单。 非阻塞、高并发连接:处理2-3万并发连接数,官方监测能支持5万...

2019-04-19 18:09:19 1426

转载 【面试】 MySQL的读写分离的思路

1、读写分离是什么读写分离,基本的原理是让主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从数据库处理SELECT查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。2、为什么要读写分离呢?增加冗余 增加机器的处理能力 对于读操作作为主的应用,使用读写分离是最好的场景,因为可以确保写的服务器压力更小,而读又可以接受点时间上...

2019-04-18 15:45:48 891

转载 MySQL的执行流程 —— 一条SQL语句在MySQL中如何执行的

References•《MySQL实战45讲》•MySQL 5.6参考手册:https://dev.MySQL.com/doc/refman/5.6/en/[16]转载 一条SQL语句在MySQL中如何执行的1.MySQL 基本架构概览Server 层 :主要包括连接器,查询缓存,分析器,优化器,执行器。所有跨存储引擎的功能都在这一层实现 ,比如,存储过程,...

2019-04-18 11:20:30 235

原创 笔试题

【1】hello world(10分)描述:判断从一个字符串中是否能抓取出helloworld,可以不连续但是一定要保持顺序。如helllllllo wwwwwwworld 但不能是helolllllworld。 public static boolean isHelloWorld(String text) { char[] word1=text.toCharArray()...

2019-04-16 15:10:31 214 2

转载 【面试】消息中间件 Rabbit MQ

1、为什么使用RabbitMQ? RabbitMQ是一款开源的,Erlang编写的,基于AMQP协议的,消息中间件;优点流量削峰,高并发缓存 消息缓冲 消息分发 应用解耦(系统拆分,分布式解耦) 异步处理(预约挂号业务处理成功后,异步发送短信、推送消息、日志记录等)缺点系统可用性降低(MQ中间件突然挂掉) 系统稳定性降低(消息丢失) 分布式一致性问题...

2019-04-14 17:08:06 430

原创 【面试】JAVA 多线程并发(上)

1.JAVA 线程实现/创建方式 1.1继承 Thread 类Thread类实质上是实现了Runnable接口的一个实例,代表一个线程的实例,启动的方法通过Thread类的start()方法,start()方法是一个native()方法,它将启动一个新的线程,并执行run()方法。public class MyThread extends Thread { pub...

2019-04-12 12:40:33 178

转载 【面试】 HashMap ,HashTable ,ConcurrentHashMap 的区别

HashMap底层实现:数组+链表 ,可以存储null键和null值,线程不安全。 初始size容量 16 ,扩容: newsize = oldsize * 2, size一定是2的n次幂。 扩容针对整个Map,每次扩容时,数据结构就发生变化,原来的数组中的元素依次重新计算位置,并重新排序。 插入元素后才判断该不该扩容,有可能无效扩容(插入后再扩容,如果没有再插入,就会产生...

2019-04-12 00:10:43 126

原创 Java 8 新特性

Java 8 (又称为 jdk 1.8) 是 Java 语言开发的一个主要版本。 Oracle 公司于 2014 年 3 月 18 日发布 Java 8 ,它支持函数式编程,新的 JavaScript 引擎,新的日期 API,新的Stream API 等。更多的新特性可以参阅官网:What's New in JDK 81、Lambda 表达式− Lambda允许把函数作为一个...

2019-04-11 18:56:42 126

转载 【面试】Java泛型

1. 概述Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。(在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制的类型)。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。2. 为什么要用泛型--解决编译时期的问题public class Gen...

2019-04-11 10:37:22 140

原创 【面试】Java static方法能否被重写或重载

“覆盖”只有在某方法是基类的接口的一部分时才会出现。即,必须能将一个对象向上转型为它的基本类型并调用相同的方法。class StaticSuper{ public static void staticGet() { System.out.println("StaticSuper staticGet"); } public void dynamicG...

2019-04-10 21:01:44 16849 3

原创 【面试】Redis面试常见问题总结

Redis是单进程单线程的,Redis采用的是基于内存的采用的是单进程单线程模型的KV数据库,由C语言编写。官方提供的数据是可以达到100000+的qps。这个数据不比采用单进程多线程的同样基于内存的KV数据库Memcached差。Redis快的主要原因是:完全基于内存 数据结构简单,对数据操作也简单 使用多路 I/O 复用模型redis 的单进程单线程的,利用队列技术,...

2019-04-10 18:06:18 174

原创 Java从入门到放弃 --没放弃就写java程序员职业规划

网上很多这样的段子,表情包 : Java从入门到放弃,从入门到改行,从入门到出轨,,,最近看到一段话,很喜欢何炅说的一段话:想要得到,你就要学会付出,要付出还要坚持;如果你真的觉得很难,那你就放弃,如果你放弃了就不要抱怨。人生就是这样,世界是平衡的,每个人都是通过自己的努力去决定自己生活的样子。 最怕的就是我懵懵懂懂过了一年,这一年似乎没有改变,,,,,,翻...

2019-04-10 16:03:40 879 1

原创 【面试】tomcat 8的特性

Servlet 3.1Servlet 3.1最大的改进是实现了非阻塞式的I/O通信。这使得性能得到巨大的改进,数据可以通过ReadListener和WriteListener接口以异步的方式进行管理。Servlet 3.1的第二大改进是HTTP协议的升级。它允许客户端指定双方通信所使用的协议。比如说,服务器和客户端原本使用HTTP通信协议,能够升级成WebSockets通信。...

2019-04-09 17:20:38 341

原创 【面试】数据库的三大范式以及五大约束

实体:表; 属性:表中的数据(字段); 关系:表与表之间的关系;数据库设计三大范式(重点): 第一范式(1NF):数据表中的每一列(每个字段)必须是不可拆分的最小单元,也就是确保每一列的原子性; 例如:userInfo:山东省烟台市 131777368781 --》 userAds:山东0省烟台市 userTel:1317773...

2019-04-09 17:10:09 409

原创 【面试】遍历HashMap的方法以及性能比较

JDK8之前,可以使用keySet或者entrySet来遍历HashMap,JDK8中引入了map.foreach来进行遍历。原因:keySet其实是遍历了2次,一次是转为Iterator对象,另一次是从hashMap中取出key所对应的value。而entrySet只是遍历了一次就把key和value都放到了entry中,效率更高。如果是JDK8,使用Map.foreach方法。...

2019-04-08 22:29:24 225

原创 【面试】拦截器、过滤器、监听器 servlet、filter、listener、interceptor 区别总结

1、过滤器:依赖于servlet容器; 在实现上基于函数回调,可以对几乎所有请求进行过滤; 缺点是一个过滤器实例只能在容器初始化时调用一次; 使用过滤器的目的是用来做一些过滤操作,获取我们想要获取的数据,比如:在过滤器中修改字符编码;在过滤器中修改HttpServletRequest的一些参数,包括:过滤低俗文字、危险字符等。2、拦截器:依赖于web框架,在SpringMVC中就是...

2019-04-08 21:42:50 1273

转载 【面试】SpringMVC与Struts2区别与比较总结

一、框架机制1、Struts2采用Filter(StrutsPrepareAndExecuteFilter)实现,SpringMVC(DispatcherServlet)则采用Servlet实现。 2、Filter在容器启动之后即初始化;服务停止以后坠毁,晚于Servlet。Servlet在是在调用时初始化,先于Filter调用,服务停止后销毁。二、拦截机制Struts2框架是类级别的...

2019-04-08 21:25:53 473

原创 【面试】Mybatis常见面试题总结(收集于网络)

1、什么是Mybatis?mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发只需关注SQL语句本身,不需要花费时间去处理加载驱动,创建连接,创建statement对象等繁琐过程。直接编写原生态SQL,执行。 mybatis可以使用XML或者注解的形式来配置和映射原生信息,将POJO映射成数据库中的记录,避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。 通...

2019-04-08 18:55:09 2401 7

转载 Redis五大数据类型应用场景

转自java思维导图公众号Redis最为常用的数据类型主要有以下五种: String Hash List Set Sorted set 在具体描述这几种数据类型之前,我们先通过一张图了解下Redis内部内存管理中是如何描述这些不同数据类型的:首先Redis内部使用一个redisObject对象来表示所有的key和value,red...

2019-04-04 10:43:01 718

xxxxxxshelllll

xxxxxxshelllll

2024-04-03

SpringBoot(入门篇)视频教程资料.rar

SpringBoot入门 @SpringBootApplication 自动装配执行原理 。使用@ConfigurationProperties/@PropertySource 读取properties/yaml属性,注入字符/数值/日期list/map/对象/

2019-07-27

2019Java面试宝典常用技术知识-

2019Java面试宝典常用技术知识.分享来之大佬博客--http://www.ityouknow.com/spring-boot.html

2019-04-12

jquery实现下拉框多选(支持IE7)

jquery 实现下拉框多选方法 ,引入 easyui框架 ,支持IE7版本,360

2019-02-13

java-根据网站链接url生成二维码qrcode

java工具实现类-根据网站链接url,生成二维码图片,存放本地目录

2018-10-23

java189邮箱demon.zip

189邮箱电子发票推送,创建推送邮件任务,发送添加附件任务,查询发送结果,

2018-10-19

空空如也

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

TA关注的人

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