自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 微服务ActiveMQ——知识点整理

1.1 java消息服务:不同系统之间的信息交换,是我们开发中比较常见的场景,比如系统A要把数据发送给系统B,这个问题我们应该如何去处理? 1999年,原来的SUN公司领衔提出了一种面向消息的中间件服务--JMS规范(标准);常用的几种信息交互技术(httpClient、hessian、dubbo、jms、webservice 五种).1.2JMS概述:JMS即Java消息服务(Jav...

2019-01-31 15:53:51 1054

原创 zookeeper是什么?Zookeeper分布式环境指挥官

Zookeeper 概述ZooKeeper是一种分布式协调服务,用于管理大型主机。在分布式环境中协调和管理服务是一个复杂的过程。ZooKeeper通过其简单的架构和API解决了这个问题。ZooKeeper允许开发人员专注于核心应用程序逻辑,而不必担心应用程序的分布式特性。ZooKeeper框架最初是在“Yahoo!"上构建的,用于以简单而稳健的方式访问他们的应用程序。 后来,Apache ...

2019-01-30 15:10:42 211

原创 SpringMVC源码阅读:Controller中参数解析

 1.前言SpringMVC是目前J2EE平台的主流Web框架本文将通过源码(基于Spring4.3.7)分析,弄清楚Controller是如何匹配我们传入的参数,并定义简单的参数解析器2.源码分析doDispatch方法943行获取了HandlerAdapter,ctrl+h打开类继承图,找到RequestMappingHandlerAdapter,RequestMappin...

2019-01-29 16:22:41 664

转载 互联网公司消息的年终奖,成了大多数人的伤心地

往年春节前一个月甚至更早,朋友圈都会被各种豪华年终奖消息刷屏。不管是为了展现业绩还是为了公关、招聘目的,年终奖成为了互联网公司们比拼的一项资本。但是今年,年终奖成了大多数人的伤心地。  作者  张吉龙  编辑安心  2013 年春节前夕,搜狐媒体中心员工邓鑫鑫在新浪微博上看到了一条鸡汤文,大意是说一个男人在外工作 20 年,终于要回家了,老板问他:你是要 20 年的工资还是要 3 句忠告?...

2019-01-29 16:12:12 1037

原创 Java高级架构面试真题汇总:Nginx、 Netty、Zookeeper、Tomcat、Dubbo

(一)Nginx是什么——相关面试题Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。1、请列举Nginx的一些特性。2、解释Nginx是...

2019-01-29 14:06:55 502

原创 译文:Java 中正确使用 hashCode 和 equals 方法

在这篇文章中,我将告诉大家我对hashCode和equals方法的理解。我将讨论他们的默认实现,以及如何正确的重写他们。我也将使用Apache Commons提供的工具包做一个实现。 目录:hashCode()和equals()的用法 重写默认实现 使用Apache Commons Lang包重写hashCode()和equals() 需要注意记住的事情 当使用ORM的时候特别要注...

2019-01-28 17:05:12 118

原创 JavaScript:面试频繁出现的几个易错点

1.前言这段时间,金三银四,很多人面试,很多人分享面试题。在前段时间,我也临时担任面试官,为了大概了解面试者的水平,我也写了一份题目,面试了几个前端开发者。在这段时间里面,我在学,在写设计模式的一些知识,想不到的设计模式的这些知识,就是面试题里面,频繁让人掉坑的考点。所以,今天就总结一下,那些让人掉坑的考点。2.面向对象编程关于面向对象和面向过程,个人觉得这两者不是绝对独立的,而是相...

2019-01-28 16:47:51 176

原创 java面试字符串算法

一、概要本文介绍了有关字符串的算法第一部分的Java代码实现,算法目录:替换字符串中的空格 输入一个字符串,打印出该字符串的所有排列 第一个只出现一次的字符 翻转句子 计算字符串之间的最短距离 二、代码实现2.1 替换字符串中的空格问题描述实现一个函数,将字符串p中的所有空格都替换成为指定的字符串r。解决思路遍历原始的字符串p,统计原先字符串中空格的个数spa...

2019-01-28 16:45:02 1817 3

原创 Spring中Bean的生命周期是怎样的?

概述Spring的ioc容器功能非常强大,负责Spring的Bean的创建和管理等功能。而Spring 的bean是整个Spring应用中很重要的一部分,了解Spring Bean的生命周期对我们了解整个spring框架会有很大的帮助。BeanFactory和ApplicationContext是Spring两种很重要的容器,前者提供了最基本的依赖注入的支持,而后者在继承前者的基础进行了功能...

2019-01-28 16:30:30 496

原创 Spring Cloud是什么 ?Spring Cloud和Dubbo对比,优势在哪里?

springcloud是什么?Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来...

2019-01-28 16:15:36 459

原创 Spring Boot中Jackson ObjectMapper应用详解

Spring Boot支持与三种JSON mapping库集成:Gson、Jackson和JSON-B。Jackson是首选和默认的。Jackson是spring-boot-starter-json的一部分,spring-boot-starter-web中包含spring-boot-starter-json。也就是说,当项目中引入spring-boot-starter-web后会自动引入spr...

2019-01-25 16:19:25 5277

原创 RabbitMQ 幂等性概念及业界主流解决方案

一、什么是幂等性可以参考数据库乐观锁机制,比如执行一条更新库存的 SQL 语句,在并发场景,为了性能和数据可靠性,会在更新时加上查询时的版本,并且更新这个版本信息。可能你要对一个事情进行操作,这个操作可能会执行成百上千次,但是操作结果都是相同的,这就是幂等性。二、消费端的幂等性保障在海量订单生成的业务高峰期,生产端有可能就会重复发生了消息,这时候消费端就要实现幂等性,这就意味着我们的消...

2019-01-24 15:57:03 11464 3

原创 超详细的Java面试题总结——Java高性能架构面试

前言:一种是实际项目中确实有一些内存泄露,高并发的东西跟面试官说,还有就是可以假设(忽悠,似乎不太好),要是遇到类似的问题我如何解决,比如Java 内存泄露如何排查,用jstack,jmap,如何分析dump文件,找到问题,这个可以参照一些高质量公众号的文章内容,比如自己做的项目,如果并发很大,如何处理,redis 消息队列,数据如何优化,或者用hbase es等等,都要自己延展,找到一个点,...

2019-01-24 13:43:47 2842

原创 七年开发经验教你如何正确、安全地停止 SpringBoot 应用

引言Spring Boot,作为Spring框架对“约定优先于配置(Convention Over Configuration)”理念的最佳实践的产物,它能帮助我们很快捷的创建出独立运行、产品级别的基于Spring框架的应用,大部分Spring Boot应用只需要非常少的配置就可以快速运行起来,是一个与微服务(MicroServices)相当契合的微框架。 网络上关于Spring Boot的Q...

2019-01-23 19:08:54 192

原创 Mybatis【逆向工程,缓存,代理】知识要点

Spring中Mybatis的配置方案一2.1 多数据源配置案例(1)数据源配置(2)创建sqlSessionFactory(3)配置扫描器,扫描指定路径的mapper生成数据库操作代理类(4)数据源配置(5)创建sqlSessionFactory(6)配置扫描器,扫描指定路径的mapper生成数据库操作代理类(1)(2)(3)是一组配置,(4)(5)(6)是一...

2019-01-23 17:02:57 149

原创 当跳槽遇到互联网公司裁员寒潮,该如何应对?

前言:“正常人员调整和优化”,对于近期互联网行业来说,这句话出现的频率格外高。曾经站在风口上的互联网行业却遭遇寒潮,包括知乎、锤子、美团、腾讯等10余家知名互联网科技公司,相继爆出裁员降薪消息。但是冬天来了,春天还会远吗?近期互联网公司裁员寒潮来临,但该来的终究会来,正如潮起潮落!寒冬过后会是什么情况?视频寒冬过去之后的两三年,在2011年前后,土豆、优酷、乐视分别上市,行业内...

2019-01-23 15:37:09 696

原创 hibernate性能优化策

悲观锁与乐观锁使用乐观锁在表中加一个version的字段来解决并发性问题悲观锁:就是多个人同时想修改某个数据,乐观锁:乐观锁需要在表中加一version(版本)字段,并要在对应的类中配置 一级缓存1、一级缓存很短,和session的生命周期一致,随着session的关闭而消失   *load/get/iterate(查询实体对象)可以使用缓存数据2、一级缓存它缓存的是实体对象  ...

2019-01-22 16:11:53 129

原创 JAVA多线程之线程间的通信方式

一,介绍本总结我对于JAVA多线程中线程之间的通信方式的理解,主要以代码结合文字的方式来讨论线程间的通信,故摘抄了书中的一些示例代码。 二,线程间的通信方式①同步这里讲的同步是指多个线程通过synchronized关键字这种方式来实现线程间的通信。参考示例:public class MyObject { synchronized public void me...

2019-01-22 16:05:58 111

原创 多线程启动 停止线程

线程的概念:线程是进程独立运行的子任务。多线程是异步的。所以,Java代码启动线程的顺序不是线程的执行顺序。   通常实现线程有两种方式。1 继承Thread类 2 实现Runnable接口。下面对这两种方法进行验证。继承Thread类实现public class MyThread extends Thread{    @Override    public ...

2019-01-22 14:17:41 318

原创 Zookeeper: 分布式过程协同技术详解

Zookeeper的使命Zookeeper主要作用为在分布式系统中协调多个任务,一个任务可以是协作或者是竞争。协作意味着多个进程需要一同处理某些事情,一些进程采取某些行动使得其他进程可以继续工作,例如在主从模式中,主节点与从节点协作,主节点分配任务给从节点;竞争是指两个进程不能同时处理工作,一个进程必须等待另一个进程,同样在主从工作模式中,通过互斥排它锁的方式保证任何时刻只有一个主。使用Z...

2019-01-21 17:29:40 2225 1

原创 Spring Cloud-微服务架构集大成者

本文不是讲解如何使用Spring Cloud的教程,而是探讨Spring Cloud是什么,以及它诞生的背景和意义。1 背景2008年以后,国内互联网行业飞速发展,我们对软件系统的需求已经不再是过去”能用就行”这种很low的档次了,像抢红包、双十一这样的活动不断逼迫我们去突破软件系统的性能上限,传统的IT企业”能用就行”的开发思想已经不能满足互联网高并发、大流量的性能要求。系统架构走向分布...

2019-01-21 15:57:06 211

原创 Spring远程服务编程框架 Spring Remoting——Hessian远程服务调用过程

Remoting实际上是一种企业分布式计算的组件。在同一服务器(Java虚拟机)内进行调用的服务(或类)并不需要把自己暴露为一种远程服务; 但是,如果你需要与一个外部程序(在不同的服务器上或在一个不同的组织中)进行通讯的话,那么,必须把它实现为一个远程服务。Spring框架为把业务类 暴露为远程服务提供了一种独特而灵活的方式。Spring Remoting架构的核心是服务对象,这些对象其实是一...

2019-01-18 18:37:39 556

原创 Java在2019年会怎样?具当前的形势,按照规划路线学习提升自己!

摘要:Java语言在2019年会继续延续在软件开发领域主流的使用地位,但是在2019年也会有更多的语言对Java形成冲击。总的来说,Java语言在2019年将体现出以下几个特点:第一:Java语言依然是被最广泛使用的编程语言之一。目前Java语言在Web开发领域、Android开发领域、大数据开发领域以及各种后端服务开发领域都有广泛的用户基础,可以说Java语言的生态环境已经比较健全了,这...

2019-01-18 16:28:43 579

原创 RabbitMQ安装配置和基于EasyNetQ驱动的基础使用

RabbitMQ基本概念和原理1.AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。 2.RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写。 3.Channel    Channel是我们与RabbitMQ打交道的最重要的一个接口,我们大部分的业务操作是在Chann...

2019-01-17 19:23:40 254

转载 Spring Boot 揭秘与实战 自己实现一个简单的自动配置模块

为了更好的理解 Spring Boot 的 自动配置和工作原理,我们自己来实现一个简单的自动配置模块。假设,现在项目需要一个功能,需要自动记录项目发布者的相关信息,我们如何通过 Spring Boot 的自动配置,更好的实现功能呢?实战的开端 – Maven搭建先创建一个Maven项目,我来手动配置下 POM 文件。<project xmlns="http://maven....

2019-01-17 13:58:41 114

原创 MySQL高可用数据库内核深度优化的四重定制

一、UDB高可用数据库架构UDB以虚拟IP、HAProxy、单节点UDB数据库搭建双节点高可用架构:双节点的UDB数据库保证数据库数据的全量冗余,同时保证数据库的可用性; HAProxy在同一时间只连接一个UDB节点,避免多点写入带来的数据冲突问题; 双节点HAProxy保证Proxy的可用性; 虚拟IP在HAProxy发生宕机时通过IP漂移的方式对HAProxy进行切换,用户不需要...

2019-01-16 16:22:28 174

原创 MySQL 统计信息以及执行计划预估方式初探

数据库中的统计信息在不同(精确)程度上描述了表中数据的分布情况,执行计划通过统计信息获取符合查询条件的数据大小(行数),来指导执行计划的生成。在以Oracle和SQLServer为代表的商业数据库,和以开源的PostgreSQL为代表的数据库中,直方图是统计信息的一个重要组成部分。在生成执行计划的时候,通过统计信息以及统计信息的直方图来预估符合条件的数据行数,从而影响执行计划的生成。统...

2019-01-16 15:56:28 316

原创 渣渣的CVTE、阿里、去哪儿、腾讯面经

CVTE:一面:面试的题目不太记得,只记得一两个:项目介绍Java中异常和错误的区别,说出三个遇到过的程序报异常的情况算法题,在0到n这n+1个数中取n个数,如何找到缺少的那个。hashmap的存储过程,链表使用的循环链表还是双向链表印象中问的并不难,之后立刻二面二面:和一个主管的样子聊,没有什么技术细节,问了一些分布式的问题,另外就是建议入职之前需要学习什么...

2019-01-16 14:05:25 337

原创 如何基于MySQL及Redis搭建统一的KV存储服务

摘要:本文介绍基于MySQL及Redis搭建统一的kv存储服务:常用部署方式及其特点,Cluster manager,MySQL和Redis集群方案,以及Sync数据同步服务。一、MySQL+Redis 常用部署方式1.1 拓扑  1.2 特点业务层通过双写同时写MySQL及Redis。读通常在Redis,若读取不到,则从MySQL读取,然后将数据同步到Redis,Re...

2019-01-15 15:07:51 327

原创 在Java面试的时候,面试官会怎样问关于框架的问题?

前言经常能够看到网上看到xxx公司的面经,说明公司是有面试套路的。但不只是公司,面试官也可以有自己的面试套路,有些面试官的题可能几年都不变。(1) 历年题或面经,相信你已经知道了。(2)应届生与社招不一样。应届生偏基础知识,社招则可能问一些经验性的东西。(3)跟公司有关,跟公司的业务有关,跟你要进的那个组使用的技术有关,跟它招聘的岗位有关。可以去查一下公司现在热招职位的技术要求有哪...

2019-01-15 15:04:33 7344 1

转载 Spring boot 与 Docker-compose构建微服务应用

spring boot需要的依赖这个spring boot应用比较简单,就是spring boot使用mongodb,将数据存储在mongodb之中,其中操作mongodb的方法不是使用原生的mongodb提供的api,也不是使用spring boot提供的spring-data-mongodb来操作,而是使用morphia这一种mongodb orm框架来操作mongodb,使用morphi...

2019-01-15 14:26:05 429

原创 Java线程池ThreadPoolExecutor

线程池的好处1. 降低资源的消耗通过重复利用已创建的线程降低线程创建和销毁所造成的消耗2. 提高响应速度当任务到达时,任务可以不需要等到线程创建就能立即执行3. 提高线程的可管理型线程是稀缺资源,如果无限制地创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一分配、调优和监控。实现原理当提交一个新任务到线程池时,线程池的处理流程为:Java...

2019-01-14 15:13:40 73

原创 Java 之 ThreadLocal 详解

1. 概念ThreadLocal 用于提供线程局部变量,在多线程环境可以保证各个线程里的变量独立于其它线程里的变量。也就是说 ThreadLocal 可以为每个线程创建一个【单独的变量副本】,相当于线程的 private static 类型变量。ThreadLocal 的作用和同步机制有些相反:同步机制是为了保证多线程环境下数据的一致性;而 ThreadLocal 是保证了多线程环境下数据...

2019-01-14 14:51:14 104

原创 一篇文章概括Spring Cloud微服务教程

现在流行的是Spring Cloud基于NetFlix解决方案提供的解决方案。那么让我们来演示如何使用它。 一、 注册中心基于Spring Cloud的MicroServices的Hearth是Eureka Server。也称为Discovery Server。因为该服务器保存有关您的系统可以在其运行位置,健康状况和其他方面使用的所有微服务的信息。很明显,在生产中,这个服务器需要具有高...

2019-01-14 13:19:47 144

原创 代理模式——结合SpringAOP讲解

前言     最近想学学Spring源码,各种设计模式在Spring的源码中运用得淋漓尽致,笔者也不得不感叹原来广大的开发者一直站在牛人的肩膀上进行编程。谈到Spring,面试问得最多的就是Spring的两大核心,IOC以及AOP。IOC本质上来说就是对bean反射以及依赖注入,管理bean生命周期的容器。而AOP本质上就是动态代理。今天笔者就来讲讲动态代理。接下来我将从下面几个方面阐述动态代...

2019-01-13 20:18:43 148

原创 Spring Boot RabbitMQ 延迟消息实现完整版

概述曾经去网易面试的时候,面试官问了我一个问题,说下完订单后,如果用户未支付,需要取消订单,可以怎么做我当时的回答是,用定时任务扫描DB表即可。面试官不是很满意,提出:用定时任务无法做到准实时通知,有没有其他办法?我当时的回答是:可以用队列,订单下完后,发送一个消息到队列里,并指定过期时间,时间一到,执行回调接口。面试题听完后,就不再问了。其实我当时的思路是...

2019-01-11 17:54:55 130

原创 java面试重要知识点复习大纲和一些值得看的面试题

面试重要知识点复习大纲一、Java基础部分 (搞定所有技术之后才考虑复习的技术点)1.数组中的排序问题(笔试或者机试,前者可能性更大)2.面向对象的理解3.集合相关的问题,比如hashmap跟hashtable的区别。搞清楚每个集合对象的特性就欧了。4.多线程启动方式,以及产生死锁的原因和解决办法【多线程问题不是很常问,有精力就复习这块内容】5.IO流,了解常见的几个流对象...

2019-01-11 17:40:58 661

转载 Springboot 整合 Dubbo/ZooKeeper 详解 SOA 案例

摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢!“看看星空,会觉得自己很渺小,可能我们在宇宙中从来就是一个偶然。所以,无论什么事情,仔细想一想,都没有什么大不了的。这能帮助自己在遇到挫折时稳定心态,想得更开。”  – 《腾讯传》本文提纲一、为啥整合 Dubbo 实现 SOA二、运行 springboot-dubbo-server...

2019-01-11 15:09:19 94

转载 8年测试工程师+面试官——写给求职心切的求职者

作为一个已经有多年工程师面试经验,并在国内的大企业,小企业,国外的大企业,小企业混迹过的面试官(注意,我是技术人员,不是HR),我面过很多形形色色的求职者,也有自己的思考。这篇文章希望能帮助到正在面试中的人们。每年的校园招聘季,阅读和筛选简历都是我重要的工作之一。在一上午时间内怀着生怕错误优秀人才的心态伏案阅读了接近40份简历的我来说,在简历中看到让自己“情何以堪”的内容吐个槽,似乎也合情...

2019-01-10 17:30:06 194

原创 activiti任务监听器获取Spring Bean

hibernate sql server 2005 假分页hibernate3.x版本对Sql Server分页使用的Select Top方式,如果一页显示100条要查看第100页数据hibernate查询语句为Select Top 10000,先查出10000条然后再从里面取100条,解决方法为升级hibernate到4.x版本,设置hibernate.dialect=org.hiberna...

2019-01-10 15:13:21 2054

空空如也

空空如也

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

TA关注的人

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