自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

浮晓悠羡

从零到无穷大……

  • 博客(37)
  • 资源 (1)
  • 收藏
  • 关注

原创 桥接模式-组装的艺术

组装和搭配是一门艺术,桥接模式告诉你如何优雅的组装搭配。

2020-12-12 10:27:49 280 1

原创 双分派-访问者模式的前世今生

学了那么久的Java,你是否知道Java是属于单分派语言还是双分派语言?什么?单分派和双分派是什么意思还不知道?了解了分派机制,就能明白访问者模式的前世今生了。

2020-12-06 18:33:35 870 5

原创 优雅解决DialogFragment所有布局问题

DialogFragment设置背景无效?无法全屏?无法隐藏状态栏?如何实现真正的沉浸式布局?其实很简单,一招优雅、完美解决DialogFragment所有的布局显示问题。

2020-11-14 17:19:52 4682 6

原创 如何用数组来模拟实现链表

习惯了定义一个Node类型作为链表的节点,如此一来,无论是插入、删除,还是查找,代码实现都非常便捷。但如果用数组来实现链表,又该如何去考虑呢?

2020-10-18 22:08:39 5216

原创 为什么要区分稳定和不稳定排序

排序算法,相信你不会陌生~快排、冒泡、选择、归并等等,几大排序算法中,有的是稳定排序,有的则是不稳定排序。但是你有没有想过,既然排序得到的结果都是有序的,为什么还要区分稳定与不稳定呢?

2020-08-27 21:22:45 1869 6

原创 三个维度,不太一样的View事件分发机制(滑动冲突)

个人博客原文链接,这里的排版阅读效果会更好哦~每一个Android开发者,都绕不开View的事件分发,理解好View的事件分发机制,有利于我们解决各种与设备触摸交互的问题,同时也利于我们实现更复杂、炫酷的自定义View效果。关于Android View的事件分发机制,笔者打算分为三篇文章来描述,分别为:(1)Android View事件分发机制之概念理论篇(2)Android View事件分发机制之源码解读篇(3)Android View事件分发机制之滑动冲突实战解决篇本文是第三篇:.

2020-08-23 21:54:02 203

原创 三个维度,不太一样的View事件分发机制(源码解读)

个人博客原文链接,这里的排版阅读效果会更好哦~每一个Android开发者,都绕不开View的事件分发,理解好View的事件分发机制,有利于我们解决各种与设备触摸交互的问题,同时也利于我们实现更复杂、炫酷的自定义View效果。关于Android View的事件分发机制,笔者打算分为三篇文章来描述,分别为:(1)Android View事件分发机制之概念理论篇(2)Android View事件分发机制之源码解读篇(3)Android View事件分发机制之滑动冲突实战解决篇本文是第二篇:.

2020-08-23 21:48:30 184

原创 三个维度,不太一样的View事件分发机制(理论概念)

我想说一说不太一样的View事件分发机制,这篇是事件分发机制的理论概念篇。

2020-08-23 21:30:45 213

原创 位运算在Android中的妙用

学会使用,并擅长使用位运算,不仅能让你的代码变得更加简洁、更加高效、高性能,还能彰显你的代码各种高大上。那么,你对位运算了解有多少?在这些实际场景中,你是否能够巧用位运算而解决问题?

2020-08-06 20:47:31 478 1

原创 为何Collections.sort()会报IllegalArgumentException异常

[个人博客链接:这里的排版会更好~](https://www.hxxian.cn/blog/article.html?articleId=12)案发现场在Java开发中,我们对集合List进行排序,常会使用Collections.sort()方法进行排序,或者对于数组,使用Arrays.sort()方法进行排序。其实两者的sort()方法都是同一个,如下jdk源码:Collections#sortpublic static <T> void sort(List<T> .

2020-07-31 08:18:31 2518 3

原创 Typora写博客完美得无可挑剔,还要什么富文本?

摘要Typaro是一款Markdown编辑器,Windows、Mac、Linux三大主流系统的都有。Typaro样式简洁、美观,还支持导出HTML,支持样式定制,如果会点web前端小技巧的话,还能让你的个人博客长得跟Typaro一模一样,而且还大大节省了你写博客文章的时间。使用了Typaro,会让你瞬间放弃富文本,还要什么富文本?Typaro是啥?Typaro是一款歪果仁写的Markdown编辑器(软件),至于Markdown是什么,如果你不了解,就去找一下度娘或者google吧~我是怎么认识Typ

2020-07-05 13:29:27 1225 2

原创 springboot打war包部署到tomcat后无法访问的解决方法

将项目打包成war包并部署到线上tomcat,发现tomcat确实有解析到项目,但是却一直访问不了,报404错误,这是为什么呢?深陷其久,终发现原因!

2020-06-29 08:36:01 14527 21

原创 List遍历时如何删除其子元素

序每一个问题的出现都会有它的原因和背景。List遍历何其简单,之所以会提出这个问题,是因为你可能会遇到过或者曾经写过类似下的代码:List<String> list = new ArrayList<>();list.add("a");list.add("b");list.add("c");list.add("d");list.add("e");list.forEach(v -> System.out.println(v));for (String val

2020-06-28 11:57:40 579

原创 如何让你的API接口更加的安全?

作为后端开发,我们需要设计接口提供给前端访问做数据交互。通常,我们设计的接口是否够安全,主要体现在两方面:如何保证数据在传输过程中的安全性,体现为数据的保密性与一致性服务器如何缜密地接收并处理数据,保证不被攻击

2020-05-04 18:37:27 1807

原创 二维码扫码登录原理

简要明了,步步深入,图文并茂地解析二维码扫码登录原理,让你在相同或相似的业务场景中安全可靠的实现二维码扫码登录。

2020-05-04 18:10:57 4012 1

原创 java8 — 新日期时间API篇

1. 前言相信很多java开发者在java关于日期时间的操作都不陌生,但在java8开始,产生了有关日期和时间相关操作的新的API。博主在此强烈建议各位java开发者在今后的代码编写过程中,若遇到时间日期相关操作,都用上java8之后的新时间日期API,我们应该明白,新生事物出现,必定是对旧事物的完善或者是缺陷的弥补。为了使得自己的代码更加的健壮,那么就去不断的去学习、熟悉掌握新的API吧!2. ...

2018-03-28 19:55:15 4209 2

原创 java8 — Stream篇

1. Stream产生的背景Stream 作为 Java 8 的一功能强大的新特性,它与 java I/O里的 InputStream 和 OutputStream 是完全不同的概念。Java 8 中的 Stream 是对集合(Collection)对象功能的增强,它专注于对集合对象进行各种非常便利、高效的聚合操作(aggregate operation),或者大批量数据操作 (bulk data...

2018-03-28 12:20:56 893

原创 java8 — Lambda表达式篇

1、前言  许多java初学者大多数都是以jdk1.5或jdk1.6为主,但jdk的成长史里,每发布的一个版本都会带来不少的新特性,这些新特性的出现都是为了弥补或者优化先前版本的不足和缺陷的,因此作为java开发者,应该跟上jdk的发展潮流,利用好新的特性,使自己的代码变得更加简洁、更加高效、更加优雅!       jdk8早在2014年3月18日就已经发布,虽说博主从事java开发已有两年多,但...

2018-03-27 22:30:24 387

原创 laypage.js分页插件使用总结

本文为笔者以完整js代码形式详细展示了对laypage.js分页插件使用总结,希望也能够对读者有所帮助!

2017-10-21 13:00:10 3080

原创 深入理解java反射机制

本文深刻并且通俗的讲解了java反射机制,相信笔者阅读之后能够基本掌握java反射1、反射的根本 -- Class类1.1 Class类的概念理解在我们的生活中,很多很多的人,我们可以用一个java类Person来表示,那么我们的java程序有很多很多的类,又该怎样表示呢?就是Class!!java程序中的各个java类属于同一类事物,描述这一类事物的java类就是Class。反射主要是指程序可以访问、检测和修改它本身的状态或行为的一种能力。换一种更容易理解的说法,反射就是把java类中的各

2017-05-30 16:02:32 425

原创 理解Spring的AOP和Ioc/DI就这么简单

本文以通俗易懂的例子阐述了什么是AOP、Ioc、DI,相信读者看了之后会很容易明白AOP —— Asepct-Orentid-Programming,面向切面编程 那么我们该怎么理解AOP呢?我们可以通过OOP —— 面向对象编程来进行比较分析 相信大家对于OOP的理解不难,就以人(people)来说,我们就可以把它看做一类对象,people有身高、体重、年龄等属性,也有跑步、吃饭、睡觉、娱乐等行为,把这些属于people的属性和行为封装在people类中,然后以统一调

2017-05-26 22:32:13 34969 7

原创 静态代理与动态代理

本文对静态代理和动态代理做了一个比较详细的分析和对比,用通俗贴切的例子来举例说明,以便让读者更容易理解和学习代理模式:代理模式是为另一个对象提供一个替身来控制对这个对象的访问。代理类负责为这个对象预处理消息,过滤消息并转发消息,以及进行消息被该对象执行后的后续处理。用一个例子说明:客户去买联想电脑,但是他不是直接去厂家去买,而是去一个有联想电脑卖的店去买,这个店就相当于一个代理,它不负责生产电脑,但是客户来买电脑时他转交这个订单给厂家,厂家就先把电脑送到这个店,这个店再给客户。对于客户来

2017-05-19 18:42:02 2399 2

原创 初始化创造的原始世界——java类加载机制

类加载机制我们先来看一下java程序从源文件到运行有哪些过程?如图:Java源程序经过编译器(javac)编译后变成字节码,字节码被类加载器加载到java虚拟机,再由虚拟机解释执行--虚拟机将每一条要执行的字节码送给解释器,解释器将其翻译成特定机器上的机器码,然后在特定的机器上运行。那类加载器又是一种怎样的机制呢?1、概念a.与普通程序不同的是,Java程序(class

2017-05-14 20:28:51 248

原创 初始化创造的原始世界——java类的初始化顺序

java类的初始化顺序java类的初始化顺序常会出现在java的笔试和面试题中,本文将通过实践代码对java类的初始化顺序做个分析!首先结论话语放前面,java类的初始化顺序依次如下:1.父类静态成员和静态初始化快,按在代码中出现的顺序依次执行。2.子类静态成员和静态初始化块,按在代码中出现的顺序依次执行。3. 父类的实例成员和实例初始化块,按在代码中出现的顺序依次执行,且每创

2017-05-14 17:28:12 359

原创 Apache2.4+Tomcat7服务器集群配置

本文是笔者结合自己的实际操作与经验,将配置详解分享给大家!笔者在刚刚配置环境到时候遇到许多问题,折腾了有将近七八个小时,最后终于是成功将Apache结合Tomcat服务器集群环境搭建了起来,在此之前,笔者先将遇到的问题分享一下,如果有哪位读者遇到与笔者一样的问题,本文也许会对你有帮助!1、笔者的电脑安装的Apache2.4版本,刚开始配置的时候是参考了别人的文章,是用mod_JK来实现Apah

2017-05-11 08:12:43 2131

转载 你真的了解volatile关键字吗?深入解析java并发与volatile

volatile关键字经常在并发编程中使用,其特性是保证可见性以及有序性,但是关于volatile的使用仍然要小心,这需要明白volatile关键字的特性及实现的原理,这也是本篇文章的主要内容。

2017-04-01 17:12:21 387

原创 代码形象——javadoc注释规范

javadoc注释规范备注:本文结合了许多篇文章的内容加上自己的理解和经验,将很多零散的知识点,总结和统一整理与此。你必须写注释而且按照项目规范来的写注释的理由javadoc注释规范就是指文档注释,包括类、接口、方法、属性等的说明,在一个团队项目开发中,统一规范的注释很重要,对于自己以后的查看源码也极有帮助,如果没有相应的注释,那么给团队合作、自己查看源代码都会带来非常大的

2017-03-25 14:19:43 26820

原创 设计模式--装饰者模式

本文较详细的解释了装饰者模式,用很贴切生活中的例子举例说明,相信应该对读者在理解上有帮助!

2017-03-25 10:28:57 365

转载 浅谈Web网站架构演变过程(其实不只是浅谈了,很开拓视野)

前言我们以javaweb为例,来搭建一个简单的电商系统,看看这个系统可以如何一步步演变。该系统具备的功能:用户模块:用户注册和管理商品模块:商品展示和管理交易模块:创建交易和管理阶段一、单机构建网站网站的初期,我们经常会在单机上跑我们所有的程序和软件。此时我们使用一个容器,如tomcat、jetty、jboos,然后直接使用JSP/servlet技术,或者使用一些开源的框架

2017-03-24 20:40:15 357

原创 设计模式--观察者模式(详解)

java设计模式--观察者模式一个贴切又通俗的例子让你明白什么是观察者模式,同时还告诉你java内置的观察者。1. 概述  观察者模式定义了对象之间的一对多的依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。有时被称作发布/订阅模式,可借助下图理解下定义2. 解决的问题  将一个系统分割成一个一些类相互协作的类有一个不好的副作用,那

2017-03-21 20:28:00 502

转载 避免表单重复提交--用session实现token机制

直接拿例子来说吧!!目录结构web.xml javaWeb_25 index.jsp index.jsp <%@ page language="java" contentType="text/html; charset=UTF-8

2017-03-21 19:32:04 2274 2

转载 java验证码生成程序与用session实现一次性验证

session实现一次性验证码,同时附带有java验证码程序基本原理和表单重复提交一致。1.在原表单页面,生成一个验证码的图片,生成图片的同时,需要把该图片中的字符串放入到session中。2.在原表单页面,定义一个文本域,用于输入验证码。3.在目标的Servlet中:获取session和表单域中的验证码的值4.比较两个值是否一致,若一致,受理请求,且把sess

2017-03-21 16:32:27 1875

转载 认清java字符串对象--String

java程序员必须要明白的--String对象作为java开发程序员,你经常回与String打交道,但是你真的了解它吗?本文主要来介绍一下Java中的不可变对象,以及Java中String类的不可变性,那么为什么Java的String类是不可变对象?让我们一起来分析一下。答案一:最流行的Java面试题之一就是:什么是不可变对象(immutable object),不可变对象

2017-03-21 16:27:31 245

原创 设计模式之--工厂模式详解(简单工厂、工厂方法、抽象工厂)

工厂模式1、定义工厂模式很简单,就是用来创建对象实例的,所有的对象实例,都交给工厂类生成。2、类型简单工厂、工厂方法、抽象工厂以下是笔者对这三种工厂模式的一些个人理解,希望对读者有帮助!简单工厂简单工厂模式的工厂类一般是使用静态方法,通过接收的参数的不同来返回不同的对象实例。优点:实现客户与具体实现类的松耦合,对于客户来说,他只需要传

2017-03-12 17:28:23 392

原创 设计模式之--外观模式

外观模式1、定义外观模式提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。换言之,外观给客户提供了一个更加简洁的接口,而这个外观隐藏子系统的复杂性,是客户使用功能便捷,并实现了子系统和客户之间的松耦合关系。2、模式中涉及的角色门面(外观):外观模式的核心,被客户调用,并定义了各层子系统的入口点。子系统:实现了子系统的功

2017-03-12 08:48:21 240

原创 设计模式之--适配器模式

设计模式--适配器模式1、定义适配器模式将一个类的接口,转换成客户期望的另一个接口,适配器让原本接口不兼容的类可以合作无间。2、模式中涉及的角色目标接口:与客户接触的接口,换句话说,客户只会使用这个接口被适配接口:需要转换成客户所期望的那样的接口适配器:通过包装一个需要适配的接口,把该接口转换成目标接口3、适配器的类型类适配器:继承被适配

2017-03-11 22:16:54 229

原创 抽象类和接口中的细节

概念首先一句很简单的话区分出抽象类与接口:抽象类在java中,被关键字abstract声明的类成为抽象类(同时也有抽象方法--被abstract声明的方法)接口在java中,被关键字interface声明的类成为接口抽象类与接口的相似之处1、在抽象类中,可以有一个或多个抽象方法,也可以没有抽象方法,但是,如果一个类只要存在着一个抽象方法,

2017-03-10 20:45:57 274

空空如也

空空如也

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

TA关注的人

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