自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lixiaoxiong的专栏

勤能补拙,笨鸟先飞

  • 博客(229)
  • 资源 (3)
  • 收藏
  • 关注

转载 Java动态代理之一CGLIB详解

本文转自:程序新视界在上篇文章《Java代理模式及动态代理详解》中我们介绍了Java中的静态代理模式与动态代理模式,并以JDK原生动态代理作为示例进行讲解。本篇文章我们来介绍一下基于CGLIB实现的动态代理,并与原生动态代理进行对比。CGLIB介绍CGLIB(Code Generation Library)是一个开源、高性能、高质量的Code生成类库(代码生成包)。它可以在运行...

2020-03-28 23:26:04 443

转载 Java代理模式及动态代理详解

本文转自:程序新视界公众号Java的动态代理在实践中有着广泛的使用场景,比如最场景的Spring AOP、Java注解的获取、日志、用户鉴权等。本篇文章带大家了解一下代理模式、静态代理以及基于JDK原生动态代理。代理模式无论学习静态代理或动态代理,我们都要先了解一下代理模式。先看百度百科的定义:代理模式的定义:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一...

2020-03-28 23:20:05 411

转载 Java 反射完整过程源码解析

本文转自:程序新视界在《一篇文章全面了解Java反射机制》中我们学习了Java反射的基本使用,这篇文章就带大家一起来看看核心源码。这可是与新手拉开差距的机会。关于反射的类关于反射的类是很多的,我们在基础篇中已经涉及到一部分比如:Filed、Method、Constructor。同时,还有一些我们没有看到的类,比如:AccessibleObject、ReflectionFactory、M...

2020-03-28 23:12:53 1013

转载 一篇文章全面了解Java反射机制【珍藏】

本文转自:程序新视界公众号Java的反射机制在实践中可谓无处不在,如果你已经工作几年,还对Java的反射机制一知半解,那么这篇文章绝对值得得你读一读。什么是反射反射 (Reflection) 是Java的特征之一,它允许运行中的Java程序获取自身的信息,并且可以操作类或对象的内部属性。通俗的来讲就是:通过反射机制,可以在运行时获得程序或程序集中每一个类型的成员和成员的信息。...

2020-03-28 23:05:21 267

转载 垃圾回收-实战篇

本文转自 :码海 公众号上文(看完这篇垃圾回收,和面试官扯皮没问题了)GC 理论颇受大家好评,学习了之后,相信大家对 GC 的工作原理有了比较深刻的认识,这一篇我们继续趁热打铁,来学习下 GC 的实战内容,主要包括以下几点 JVM 参数简介 发生 OOM 的主要几种场景及相应解决方案 OOM 问题排查的一些常用工具 GC 日志格式怎么看 jstat...

2020-03-01 23:41:54 327

转载 看完这篇垃圾回收,和面试官扯皮没问题了

本文转自:码海 公众号前言Java 相比 C/C++ 最显著的特点便是引入了自动垃圾回收 (下文统一用 GC 指代自动垃圾回收),它解决了 C/C++ 最令人头疼的内存管理问题,让程序员专注于程序本身,不用关心内存回收这些恼人的问题,这也是 Java 能大行其道的重要原因之一,GC 真正让程序员的生产力得到了释放,但是程序员很难感知到它的存在,这就好比,我们吃完饭后在桌上放下餐盘即走,服务...

2020-03-01 23:37:20 173

转载 MyBatis 的 DAO 接口跟 XML 文件里面的 SQL 是如何建立关系的?

本文转自:Java极客技术我们在使用 MyBatis 的时候,都用的是 Dao 接口和 XML 文件里的 SQL 一一对应来进行使用的。那你是否思考过二者是如何建立关系的?在开始正文之前,首先解释 Dao 接口和 XML 文件里的 SQL 是如何一一对应的?一句话讲完就是:MyBatis 会先解析这些 XML 文件,通过 XML 文件里面的命名空间 (namespace)跟 DAO...

2020-01-01 22:55:37 345

转载 面试官:负载均衡的算法你了解不?

本文转自:Java极客技术上一篇文章我讲了关于负载均衡的三种算法,轮询法,随机法,最小连接法,这三种负载均衡的算法,但是关于负载均衡还有其他的算法,我们也需要你去看,而且在面试的过程中,很有可能是会问到的呦。对于要实现高性能集群,选择好负载均衡器很重要,同时针对不同的业务场景选择合适的负载均衡算法也是非常重要的。之前已经罗列出几个了,接下来在说剩下的几个算法,1. 源地址哈希算法...

2020-01-01 22:48:58 821

转载 面试官问:HTTP 的负载均衡你了解么?你不是说了你们用的Nginx么?说一下吧。

本文转自:Java极客技术之前我讲了关于 HTTP 的安全性问题,本篇文章将会从一个朋友的面试题入手,来说一下关于 HTTP 的重定向和负载均衡。1.HTTP 重定向1.1 重定向是什么重定向(Redirect)就是通过各种方法将各种网络请求重新定个方向转到其它位置(如:网页重定向、域名的重定向、路由选择的变化也是对数据报文经由路径的一种重定向)。上面是百度百科的解释,其实...

2020-01-01 22:45:44 851

转载 HashMap 为什么线程不安全?

本文转自:https://www.cnblogs.com/developer_chan/p/10450908.html前言:我们都知道HashMap是线程不安全的,在多线程环境中不建议使用,但是其线程不安全主要体现在什么地方呢,本文将对该问题进行解密。1.jdk1.7中的HashMap在jdk1.8中对HashMap做了很多优化,这里先分析在jdk1.7中的问题,相信大家都知道在jdk...

2020-01-01 22:33:57 161

转载 springboot + rabbitmq发送邮件(保证消息100%投递成功并被消费)

本文转自:https://www.cnblogs.com/wangzaiplus/p/11213709.html前言:RabbitMQ相关知识请参考:https://www.jianshu.com/p/cc3d2017e7b3Linux安装RabbitMQ请参考:https://www.jianshu.com/p/ee9f7594212bWindows安装RabbitMQ请参考:...

2020-01-01 22:17:14 232

转载 HashMap在多线程环境下操作可能会导致程序死循环

本文转自:Java极客技术关于 HashMap,以前只知道它是非线程安全,在多线程环境下操作可能会导致程序死循环,CPU直接飙到100%的线上故障,还真是第一次听说......01、问题描述经常有些面试官会问,是否了解过 HashMap 在多线程环境下使用时可能会发生死循环,导致服务器 cpu 100% 的线上故障?关于这个问题,很多年前,在淘宝内网里就有很多的程序员发过这种帖...

2020-01-01 10:29:05 1541

转载 面试必问之ConcurrentHashMap线程安全的具体实现方式

本文转自:Java极客技术ConcurrentHashMap 是 Java 并发包中提供的一个线程安全且高效的 HashMap 实现,以弥补 HashMap 不适合在并发环境中操作使用的不足,本文就来分析下 ConcurrentHashMap 的实现原理,并对其实现原理进行分析!一、摘要在之前的集合文章中,我们了解到 HashMap 在多线程环境下操作可能会导致程序死循环的线上故障...

2020-01-01 10:19:19 190

转载 理解Spring:SpringMVC原理与手动实现

本文转自:https://juejin.im/post/5c3bdabaf265da613572c777目录Spring系列之IOC的原理及手动实现 Spring系列之DI的原理及手动实现 Spring系列之AOP的原理及手动实现 Spring系列之手写注解与配置文件的解析引言在前面的几个章节中我们已经简单的完成了一个简易版的spring,已经包括容器,依赖注入,AOP和配置文...

2019-12-31 22:49:53 208

转载 理解Spring:手写注解与配置文件的解析

本文转自:https://juejin.im/post/5c2451c66fb9a049f819573c目录Spring系列之IOC的原理及手动实现 Spring系列之DI的原理及手动实现 Spring系列之AOP的原理及手动实现 Spring系列之手写注解与配置文件的解析 Spring系列之手写一个SpringMVC引入在前面我们已经完成了IOC,DI,AOP的实现,基本的...

2019-12-31 22:42:25 142

转载 理解Spring:AOP的原理及手动实现

本文转自:https://juejin.im/post/5c1c402b6fb9a049a570df27目录Spring系列之IOC的原理及手动实现 Spring系列之DI的原理及手动实现 Spring系列之AOP的原理及手动实现 Spring系列之手写注解与配置文件的解析 Spring系列之手写一个SpringMVC引入到目前为止,我们已经完成了简易的IOC和DI的功能,虽...

2019-12-31 22:34:12 311 1

转载 理解Spring:DI的原理及手写实现

本文转自:https://juejin.im/post/5c18447cf265da61461e1525目录Spring系列之IOC的原理及手动实现 Spring系列之DI的原理及手动实现 Spring系列之AOP的原理及手动实现 Spring系列之手写注解与配置文件的解析 Spring系列之手写一个SpringMVC前言在上一章中,我们介绍和简单实现了容器的部分功能,但是这...

2019-12-31 22:22:23 1038

转载 理解Spring:IOC的原理及手动实现

本文转自:https://juejin.im/post/5c11b1e06fb9a04a0d56b787Spring系列之IOC的原理及手动实现目录Spring系列之IOC的原理及手动实现 Spring系列之DI的原理及手动实现 Spring系列之AOP的原理及手动实现 Spring系列之手写注解与配置文件的解析 Spring系列之手写一个SpringMVC导语Sprin...

2019-12-31 22:14:40 142

转载 Tomcat在SpringBoot中是如何启动的

本转自芋道源码 前言 从 Main 方法说起 走进 Tomcat 内部 总结 前言我们知道 SpringBoot 给我们带来了一个全新的开发体验,我们可以直接把 web 程序达成 jar 包,直接启动,这就得益于 SpringBoot 内置了容器,可以直接启动,本文将以 Tomcat 为例,来看看 SpringBoot 是如何启动 Tomcat 的,同时...

2019-12-31 22:03:53 125

转载 工作不需要面试需要的红黑树知识

写在前面红黑树,对很多童鞋来说,是既熟悉又陌生。学校中学过,只了解大概;工作中不怎么使用,但面试又是重点。每次需要查看红黑树内容时都很难以更生动形象的方式来理解其内容。没错,本文内容就是要解决这个问题,用简单的语言,搭配静图和动图(利用大脑图形记忆方式),让你对红黑树有更深入的了解和更清晰的记忆,希望小伙伴们再次遇到红黑树的问题不至于头大,建议读该文章姿势: 打开两个页面,一个页面看图片和内容...

2019-08-28 11:47:58 285

转载 如何合理地估算线程池大小

如何合理地估算线程池大小?这个问题虽然看起来很小,却并不那么容易回答。大家如果有更好的方法欢迎赐教,先来一个天真的估算方法:假设要求一个系统的TPS(Transaction Per Second或者Task Per Second)至少为20,然后假设每个Transaction由一个线程完成,继续假设平均每个线程处理一个Transaction的时间为4s。那么问题转化为:如何设计...

2019-08-28 11:31:51 160

转载 既生synchronized,何生volatile

在作者博客和公众号(Hollis)中,发表过很多篇关于并发编程的文章,之前的文章中我们介绍过了两个在Java并发编程中比较重要的两个关键字:synchronized和volatile我们简单回顾一下相关内容:1、Java语言为了解决并发编程中存在的原子性、可见性和有序性问题,提供了一系列和并发处理相关的关键字,比如synchronized、volatile、final、concurre...

2019-08-28 11:17:14 373

转载 巧用Java8的Stream,让集合操作飞起来!

简介java8也出来好久了,接口默认方法,lambda表达式,函数式接口,Date API等特性还是有必要去了解一下。比如在项目中经常用到集合,遍历集合可以试下lambda表达式,经常还要对集合进行过滤和排序,Stream就派上用场了。用习惯了,不得不说真的很好用。Stream作为java8的新特性,基于lambda表达式,是对集合对象功能的增强,它专注于对集合对象进行各种高效、便利的聚合...

2019-08-28 09:56:51 206

转载 SpringBoot-RESTful API返回统一格式是怎么实现的

关于 Spring 的全局处理,我有两方面要说: 统一数据返回格式 统一异常处理 为了将两个问题说明清楚,将分两个章节分别说明,本章主要说第一点有童鞋说,我们项目都做了这种处理,就是在每个 API 都单独工具类将返回值进行封装,但这种不够优雅;我想写最少的代码完成这件事,也许有童鞋说,加几个注解就解决问题了,说的没错,但这篇文章主要是为了说明为什么加了几个注解就解决问题了...

2019-08-28 09:36:25 1783

转载 8种方案解决重复提交问题

1.什么是幂等在我们编程中常见幂等 select查询天然幂等 delete删除也是幂等,删除同一个多次效果一样 update直接更新某个值的,幂等 update更新累加操作的,非幂等 insert非幂等操作,每次新增一条 2.产生原因由于重复点击或者网络重发 eg: 点击提交按钮两次; 点击刷新按钮; 使...

2019-08-25 21:24:44 3337

转载 用Python计算利率,告诉你亏了多少?

本文转自:https://mp.weixin.qq.com/s/M4qcW6C_me4yhYJqEwqaGw大家都知道一线城市生活压力大,年轻人如果没有家里人的帮助想要独立扎根并非易事。好不容易凑足了首付买了房,还要每月透支的还着房贷,在资金链不足的情况下想要得到其他方面的物质满足那就只能借钱了。我觉得借贷很正常,并不是一件坏事。一是国家正在大力推动普惠金融,通过大众消费带动经济发...

2019-07-27 23:22:54 2592

转载 从头到尾说一次Java垃圾回收

本文转自:https://mp.weixin.qq.com/s/IEdGkx-CJec8Diw62uOIng之前上学的时候有这个一个梗,说在食堂里吃饭,吃完把餐盘端走清理的,是 C++ 程序员,吃完直接就走的,是 Java 程序员。

2019-07-27 23:12:28 119

转载 图解Java垃圾回收机制

本文转自:https://www.oschina.net/translate/java-gc什么是自动垃圾回收?自动垃圾回收是一种在堆内存中找出哪些对象在被使用,还有哪些对象没被使用,并且将后者删掉的机制。所谓使用中的对象(已引用对象),指的是程序中有指针指向的对象;而未使用中的对象(未引用对象),则没有被任何指针给指向,因此占用的内存也可以被回收掉。在用 C 之类的编...

2019-07-27 23:03:48 116

转载 Springboot -简单使用mybatis 构建多数据源应用

本文转自:https://blog.csdn.net/qq_15071263/article/details/96591059文章目录Springboot - 使用mybatis 构建多数据源应用1、初始化2个数据库3、初始化数据4、创建一个springboot 应用5、编写配置文件6、编写数据库配置7、编写数据源配置8、编写实体类9、编写Mapper 接口10、编写测试...

2019-07-23 10:52:14 171

转载 通过IDEA快速定位和排除依赖冲突

1、前言我们程序员在开发的时候经常会遇到各种各样的 BUG 问题,其中大部分是业务逻辑异常,还有一些是代码书写不规范造成的异常。例如:NullPointException(NPE),IndexOutOfBoundsException 等等,其实这些我们都好定位和修复。但是还有一些运行时异常定位起来是特别头疼的,那就是 jar 包冲突引起的异常。一般程序在运行时发生类似于 java.la...

2019-07-07 20:10:34 1747

转载 hashCode与equals的区别

本文转自:Java极客技术https://mp.weixin.qq.com/s/kiYM-dI3FCoMfBtbDbyVLg有面试官会问:你重写过 hashcode 和 equals 么,为什么重写equals时必须重写hashCode方法?equals和hashCode都是Object对象中的非final方法,它们设计的目的就是被用来覆盖(override)的,所以在程序设计中还是经常需要...

2019-06-23 00:06:17 1389

转载 这或许是东半球分析十大排序算法最好的一篇文章

本文转自:https://mp.weixin.qq.com/s/sRk1t54-NMNvWtbub4N_6g前言本文全长 14237 字,配有 70 张图片和动画,和你一起一步步看懂排序算法的运行过程。预计阅读时间 47 分钟,强烈建议先收藏然后通过电脑端进行阅读。No.1 冒泡排序冒泡排序无疑是最为出名的排序算法之一,从序列的一端开始往另一端冒泡(你可以从左往右冒泡,也可...

2019-06-22 23:21:42 318

转载 基于SpringBoot2开发的Activiti引擎流程管理项目脚手架

本文转自:JAVA葵花宝典源码地址:https://gitee.com/agile-bpm/agile-bpm-basic前言在工作中,难免会遇到需要开发基于流程管理的系统,例如一些OA/审批系统、工厂管理、ERP等等,新手入门工作流是有一定难度的,但假如你遇到今天这篇文章,那么,你幸运了。这个开源脚手架目前Start已经1.4k+,并且近段时间开源作者还在更新迭代特性,致力于更方...

2019-05-28 23:12:55 1217

转载 比较通俗理解的CAP理论

本文转自 51CTO技术栈https://mp.weixin.qq.com/s/6PgqyigrgVICl0JiI73oNg在此之前我就隐约对文中提到的一些 CAP 误解嗤之以鼻,这篇文章让我更加确信了之前零碎的认知,不夸张地讲,这应该是我看过的最通俗也是最深刻的 CAP 科普文。在 Jeff Hodges 精彩的博客文章给年轻人关于分布式系统的笔记中,他建议我们用 CAP 定...

2019-05-28 22:52:03 1054

转载 Python新手100天学习计划-github标星过百

本文转自:Phthon那些事作为目前最火也是最实用的编程语言,Python不仅是新手入门程序界的首选,也逐渐成为了从大厂到小厂,招牌需求list的必要一条。当然,学Python这件事情,你可能也和文摘菌一样,已经下了一百次决心,但是最后都“从入门到放弃”。究其原因,很可能是没有明确的学习目标,或者学习目标太过“宏伟”,所以总是阵亡在了introduction视频到第一行代码之前。那...

2019-05-12 09:49:10 3132

转载 数据库怎么分库分表,垂直?水平?

本文转自:https://www.cnblogs.com/littlecharacter/一、数据库瓶颈不管是IO瓶颈,还是CPU瓶颈,最终都会导致数据库的活跃连接数增加,进而逼近甚至达到数据库可承载活跃连接数的阈值。在业务Service来看就是,可用数据库连接少甚至无连接可用。接下来就可以想象了吧(并发量、吞吐量、崩溃)。1、IO瓶颈第一种:磁盘读IO瓶颈,热点数据太多,数据库缓...

2019-05-08 22:33:16 760

转载 没用过分布式锁?可以看看这篇文章

本文转自:https://www.cnblogs.com/JJJ1990/p/10496850.html首先分布式锁和我们平常讲到的锁原理基本一样,目的就是确保,在多个线程并发时,只有一个线程在同一刻操作这个业务或者说方法、变量。在一个进程中,也就是一个jvm 或者说应用中,我们很容易去处理控制,在jdk java.util 并发包中已经为我们提供了这些方法去加锁, 比如synchroni...

2019-05-08 22:18:43 147

转载 同步/异步/阻塞/非阻塞/BIO/NIO/AIO清晰讲解

本文转自:Java团长https://mp.weixin.qq.com/s/5rhH4caRqHdHyGV6_jeP3g常规的误区假设有一个展示用户详情的需求,分两步,先调用一个HTTP接口拿到详情数据,然后使用适合的视图展示详情数据。如果网速很慢,代码发起一个HTTP请求后,就卡住不动了,直到十几秒后才拿到HTTP响应,然后继续往下执行。这个时候你问别人,刚刚代码发起的这个请求是不是...

2019-05-08 22:11:51 329

转载 数据中台已成下一风口,它会颠覆数据工程师的工作吗?

本文转自:INFOQ数据中台被誉为大数据的下一站,由阿里兴起,核心思想是数据共享,并在 2018 年因为“腾讯数据中台论”再度成为了人们谈论的焦点。如今似乎人人都在提数据中台,但却不是所有人都清楚数据中台到底意味着什么。数据中台是只有大厂才需要考虑的高大上的概念吗?普通企业该不该做数据中台?数据中台的出现会给现有数据从业者们带来颠覆式的挑战吗?带着上述问题,InfoQ 采访了 Thoug...

2019-03-24 15:54:16 905 1

转载 手把手教你撸一个JSON解析器--带源码

本文转自:https://gyl-coder.top/JSONParser/JSONJSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Pytho...

2019-03-24 15:48:41 3280

servlet实现原理的source代码包

http://blog.csdn.net/lixiaoxiong55/article/details/51684248中的source代码文件

2016-06-16

具有消息恢复功能数字签名分析

具有消息恢复功能数字签名分析 以及各种消息恢复功能数字签名构造技巧 看了无数论文之后做得详细的总结

2012-07-13

java类、对象、成员、package、import、访问修饰控制符总结

java类、对象、成员 package、import、访问修饰控制符 接口和抽象类 细心总结,解惑上述所引起的一些困惑

2012-07-13

空空如也

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

TA关注的人

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