自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小尘鸟

曾梦想仗剑走天涯

  • 博客(70)
  • 资源 (10)
  • 收藏
  • 关注

原创 设计模式 | 最佳实践

设计模型设计模式创建型模式:单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。行为型模式:模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式(责任链模式)、访问者模式。工厂模式代理模式单例模式装饰器模式观察者模式模板模式策略模式状态模式适配器模式设计模型领域模型设计领域模型中的实体类可细分为4种类型:VO、DTO、DO、PO

2020-07-08 09:58:48 83

原创 Java | 基础

目录Java 语言基础数据类型基本数据类型IntegerLongDoubleChar引用数据类型StringBigDecimal关键字条件循环语句正则表达式输入输出流异常处理Java面向对象抽象封装继承多态包Java语言高级数据结构集合框架泛型序列化网络编程并发编程Java8新特性Java9新特性设计模型设计模式工厂模式代理模式单例模式装饰器模式观察者模式模板模式策略模式状态模式适配器模式设计模型领域模型设计Java 语言基础数据类型基本数据类型数值型 字符型 布尔型IntegerLong

2020-07-03 16:18:33 47

原创 Spring Boot | 使用Feign作为HTTP客户端调用远程HTTP服务

Feign 简介Spring Cloud的Feign支持的一个中心概念就是命名客户端.Feign客户端使用@FeignClient注册组合成组件,按需调用远程服务器. Spring Cloud使用FeignClientsConfiguration创建一个新的集合作为每个命名客户端的ApplicationContext(应用上下文), 包含feign.Decoder,feign.Encoder...

2018-04-24 18:24:27 28589 1

原创 Intellij Idea怎么设置软件启动时选择项目进入

文章目录Intellij Idea怎么设置软件启动时选择项目进入Intellij Idea怎么设置软件启动时选择项目进入首先我们先进入到已经打开的intellij软件中,我们使用鼠标左键依次点击file setting进入到软件的设置界面中去进入到设置界面后如图所示,我们使用鼠标左键双击点击 Appearance Behavior,可以打开这个设置项的子内容打开ppearance Behavior的子内容设置项后,我们可以看到如图所示,点击System Settings项,右侧会显示对应的设

2020-10-27 19:50:56 55

原创 设计模式 | 工厂模式

当我们做支付项目时,常常项目中需要接入多种支付方式(微信、支付宝、银联等)。其实这些支付方式,都存在一些类似的业务接口,比如支付、查询、退款等等。区别就在于每一家参数不一致(参数名不一致)。我们可以利用工厂模式将支付厂商封装起来。利用工厂模式,我们可以更方便的选择支付方式接口。下面代码仅仅是结构,暂无具体的支付实现。下面代码以java代码为例,工厂模式与编程语言无关,其他编程语言也可以,如C# , Go。代码中类似ResultCreatePay、CreatePayParas仅仅是命名,暂无具体属

2020-07-16 17:24:24 55

原创 集合框架 | ArrayList

文章目录集合框架 | ArrayList实现方式数据结构实现接口操作逻辑扩容删除集合框架 | ArrayList实现方式数据结构实现接口因为 ArrayList 是基于数组实现的,所以支持快速随机访问。RandomAccess 接口标识着该类支持快速随机访问。public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable,

2020-07-09 17:51:50 32

原创 Linux下MongoDB的安装与配置

Linux下MongoDB的安装与配置安装环境CentOS 7.8安装步骤1、根据服务器类型在官网下载Mongodb安装包2、将下载的mongodb-linux-x86_64-4.0.0.tgz 上传到要安装的机器的目录中,例如:/data/lib/mongodb3、解压mongodb-linux-x86_64-4.0.0.tgz 文件cd /data/lib/mongodbtar -zxvf mongodb-linux-x86_64-4.0.0.tgz4、在usr/local 目录中创

2020-07-09 15:23:04 238

原创 Oracle | Java中Oracle正则表达式的使用

现需使用特殊字符实现查询条件中某一字段的灵活查询大致要求如下:@ 表示1位大写字母 # 表示1位0-9数字* 表示1位任意字符% 表示补全字符长度Java代码:String length = 8; String sNo = "*6@52%";String str = "^";for(int i = 0 ; i < sNo.len...

2019-07-17 16:55:34 124

原创 Mysql | 安装报错-无法启动此程序,因为计算机中丢失MSVCP140.dll

今天安装MySql的时候系统提示“无法启动此程序,因为计算机中丢失MSVCP140.dll”或者,无法启动此程序,因为计算机中丢失 api-ms-win-crt-runtime-l1-1-0.dll原因是没有安装VC++2015的版本库。下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=53587。点击下载、安...

2019-07-02 14:01:10 6403

原创 项目管理工具 | 软件开发项目管理软件

软件开发项目管理软件软件类型功能优势劣势开源confuence协作共享知识管理与协同Scrum付费禅道项目管理产品管理、项目管理、质量管理、文档管理、组织管理和事务管理Java架构、issues控制免费+付费JIRA项目管理项目计划、任务分配、需求管理、缺陷跟踪...

2019-06-26 21:46:39 3433 1

原创 Java多线程 | 03 线程本地ThreadLocal的介绍与使用

目录第03课 线程本地 ThreadLocal 的介绍与使用ThreadLocal 概述ThreadLocal 与 Synchronized 同步机制的比较如何实现一个简单的 ThreadLocalThreadLocal 的应用第03课 线程本地 ThreadLocal 的介绍与使用ThreadLocal 概述我们通过上两篇的学习,我们已经知道了变量值的共享可...

2019-06-25 17:56:13 53

原创 Java多线程 | 02 可重入锁与Synchronized的其他特性

目录第02课 可重入锁与 Synchronized 的其他特性Synchronized 锁重入Synchronized 的其他特性volatile 与 synchronized 的区别volatile 的使用第02课 可重入锁与 Synchronized 的其他特性上一节中基本介绍了进程和线程的区别、实现多线程的两种方式、线程安全的概念以及如何使用 Synchro...

2019-06-25 17:26:41 71

原创 Java多线程 | 01 线程安全和锁Synchronized概念

目录第01课 线程安全和锁 Synchronized 概念进程与线程的概念进程和线程的关系线程和进程各自有什么区别和优劣同步与异步并行与并发Java 实现多线程方式线程安全Synchronized 修饰符一个对象有一把锁,多个线程多个锁!对象锁的同步和异步Synchronized 应用第01课 线程安全和锁 Synchronized 概念进程...

2019-06-25 14:52:55 54

原创 Oracle | 先分组后根据每组排序取值

Oracle PL/SQL 先分组后 根据每组排序 获取每组最大值或最小值示例:用户每次登陆都会向表中插入一个登录日期,现在需要获取最近10分钟内登录的用户,及其最新的登陆时间。因此现需要根据用户进行分组,然后得到每组中日期最大的那条数据。表结构如下:user_id login_time 1 11:00 2 11:10 3 11:11 ...

2019-06-25 12:02:37 1912

转载 深入搜索引擎原理

之前几段工作经历都与搜索有关,现在也有业务在用搜索,对搜索引擎做一个原理性的分享,包括搜索的一系列核心数据结构和算法,尽量覆盖搜索引擎的核心原理,但不涉及数据挖掘、NLP等。文章有点长,多多指点~~一、搜索引擎引题搜索引擎是什么?这里有个概念需要提一下。信息检索 (Information Retrieval 简称 IR) 和 搜索 (Search) 是有区别的,信息检索是一门学科,研究...

2019-06-24 20:21:42 220

原创 欢迎使用CSDN-markdown编辑器201906

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...

2019-06-24 19:04:32 43

原创 UTILS | Java的时间日期和字符串之间的互相类型转换

获取当前日期时间// 时间戳格式long current = System.currentTimeMillis();// 时间格式Date now = new Date();日期时间格式化转为字符串SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//将Date类型转换成String类...

2019-06-22 16:13:45 74

转载 JDK | Java7/8中的HashMap和ConcurrentHashMap全解析

目录Java7 HashMapput 过程分析get 过程分析Java7 ConcurrentHashMap初始化put 过程分析get 过程分析并发问题分析Java8 HashMapput 过程分析get 过程分析Java8 ConcurrentHashMap初始化put 过程分析扩容:tryPresizeget 过程分析...

2019-06-18 11:50:47 114

转载 JDK | 详解Map家族

目录Map大家族的那点事儿MapAbstractMapTreeMapHashMapWeakHashMapLinkedHashMapConcurrentHashMap参考文献Map大家族的那点事儿MapMap是一种用于快速查找的数据结构,它以键值对的形式存储数据,每一个键都是唯一的,且对应着一个值,如果想要查找Map中的数据,只需要传入一个...

2019-06-18 11:32:34 183

原创 Java高并发程序设计 | 01 详解java的volatile关键字

目录同步与异步,并行和并发死锁、饥饿、活锁线程并发级别Java内存模型JMM的关键技术点原子性可见性有序性不能重排的指令:Happens-Before 原则深入理解volatile关键字volatile的作用volatile的实现原理volatile的应用场景同步与异步,并行和并发同步和异步通常用来形容一次方法调用。同步方法调用...

2019-06-18 11:16:12 80

原创 Oracle | 高效分页查询PL/SQL语法总结

1. 无ORDER BY排序的写法。(效率最高)经过测试,此方法成本最低,只嵌套一层,即使查询的数据量再大,速度依旧最快SELECT*FROM(SELECTROWNUMASrowno,t.*FROMemp tWHEREhire_dateBETWEENTO_DATE('20060501','yyyymmdd...

2019-06-14 17:11:28 68

原创 静态代理、动态代理、反射、AOP的关系、原理及实现方式

目录静态代理动态代理动态代理和反射的关系动态代理的几种实现方式Java实现动态代理的大致步骤Java 实现动态代理主要涉及哪几个类动态代理实现cglib动态代理AOP静态代理所谓静态代理,就是代理类是由程序员自己编写的,在编译期就确定好了的。来看下下面的例子:public interface HelloSerivice { pu...

2019-06-13 20:12:55 261

原创 BIO、NIO和AIO的区别、三种IO的原理与用法

目录IOBIONIOAIO区别及联系各自适用场景使用方式IO什么是IO? 它是指计算机与外部世界或者一个程序与计算机的其余部分的之间的接口。它对于任何计算机系统都非常关键,因而所有 I/O 的主体实际上是内置在操作系统中的。单独的程序一般是让系统为它们完成大部分的工作。在 Java 编程中,直到最近一直使用 流 的方式完成 I/O。所有 I/O 都被视...

2019-06-13 20:05:03 19614 1

原创 ERROE:The import javax.websocket cannot be resolved

ERROE:The import javax.websocket cannot be resolved原因是未找到 javax.wevsocket 下的内容可以引入Tomcat的包来解决步骤如下:1. 选择项目并右键2. 在 Build Path 中打开 ConfigureBuild Path ,在Libraries中,点击右侧的Add Variable......

2019-06-13 19:33:46 1055

原创 UTILS | 雪花分片ID生成算法snowflake

目录snowflake算法原理snowflake算法相比UUID的优势snowflake算法源码实现 - Java版本snowflake算法源码实现 - Scala版本 (Twitter官方原版)snowflake算法原理snowflake算法所生成的ID结构:1位,不用 二进制中最高位为1的都是负数,但是我们生成的id一般都使用整数,所以这个...

2019-06-12 17:22:07 876

转载 JDK | Set如何保证元素不重复

在Java的Set体系中,根据实现方式不同主要分为两大类。HashSet和TreeSet。1、HashSet 是哈希表实现的,HashSet中的数据是无序的,可以放入null,但只能放入一个null,两者中的值都不能重复,就如数据库中唯一约束2、TreeSet 是二差树实现的,Treeset中的数据是自动排好序的,不允许放入null值在HashSet中,基本的操作都是有HashM...

2019-06-11 19:59:29 872

转载 JDK | Switch对String的支持

Java 7中,switch的参数可以是String类型了,这对我们来说是一个很方便的改进。到目前为止switch支持这样几种数据类型:byteshortintcharString。但是,作为一个程序员我们不仅要知道他有多么好用,还要知道它是如何实现的,switch对整型的支持是怎么实现的呢?对字符型是怎么实现的呢?String类型呢?有一点Java开发经验的人这个时候都会猜测switc...

2019-06-11 19:50:12 7055

转载 JDK | JDK6和JDK7中substring的原理及区别

String是Java中一个比较基础的类,每一个开发人员都会经常接触到。而且,String也是面试中经常会考的知识点。String有很多方法,有些方法比较常用,有些方法不太常用。今天要介绍的subString就是一个比较常用的方法,而且围绕subString也有很多面试题。substring(int beginIndex, int endIndex)方法在不同版本的JDK中的实现是不同的。了解...

2019-06-11 19:36:09 71

转载 JDK | 整型的缓存机制

本文将介绍Java中Integer的缓存相关知识。这是在Java 5中引入的一个有助于节省内存、提高性能的功能。首先看一个使用Integer的示例代码,从中学习其缓存行为。接着我们将为什么这么实现以及他到底是如何实现的。你能猜出下面的Java程序的输出结果吗。如果你的结果和真正结果不一样,那么你就要好好看看本文了。package com.javapapers.java;public cl...

2019-06-11 19:14:56 175

原创 ERROR | Eclipse启动报错No java virtual machine was found

A Java Runtime Evironment (JRE) or java Development Kit (JDK) must be available in order to run Eclipse.No java virtual machine was found after searching the following locations: ...出现以上错误是因为ecli...

2019-06-11 11:21:34 233

转载 JDK | 为什么说Java中只有值传递

Java是值传递还是引用传递?Java是什么传递?Java是值传递吗?Java是引用传递吗?为什么Java是值传递?为什么Java不是引用传递?什么是值传递?什么是引用传递?对于初学者来说,要想把这个问题回答正确,是比较难的。在第二天整理答案的时候,我发现我竟然无法通过简单的语言把这个事情描述的很容易理解,遗憾的是,我也没有在网上找到哪篇文章可以把这个事情讲解的通俗易懂。所以,就有...

2019-06-10 20:54:48 107

原创 ERROR | Unhandled event loop exception No more Handles

在Eclipse中切换工作台,报错 Unhandled event loop exception No more Handles在 Show Error Log 中,查看详细日志 显示 很多 org.eclipse.ui 的报错信息而开机之后,仅打开Eclipse,不会报这个错误经过排查,应该是系统或其他应用和Eclipse存在ui冲突(博主是和VDI虚拟桌面发生冲突)关闭了冲突的软件,E...

2019-05-29 09:25:11 63

转载 PLSQL 11注册码

plsql 11 - oracel注册码:Product Code:4t46t6vydkvsxekkvf3fjnpzy5wbuhphqzserial Number:601769password:xs374ca实测可用,永久激活

2019-03-27 08:57:35 1474

原创 CentOS7部署Eureka注册中心

一、准备项目开发工具为 idea,采用 Maven 构建。 SpringBoot 包含一个 Maven 插件,它可以将项目打包成一个可执行 jar,在 pom.xml 中有如下配置:&lt;build&gt;    &lt;plugins&gt;        &lt;plugin&gt;            &lt;groupId&gt;org.springframework.boot&lt;...

2018-05-16 17:51:05 3123 3

原创 谷歌浏览器chrome切换窗口黑屏

为什么切换到别的程序再切回来就半边黑屏了?解决chrome程序窗口切换黑屏问题win10打开chrome窗口 熄屏唤醒后黑屏windows切换到谷歌浏览器黑屏问题解决方法:设置-&gt;高级-&gt;系统-&gt;使用硬件加速模式,把它关掉1. 打开chrome设置2. 最下面-显示高级设置3. 再拉到最下面-使用硬件加速模式(把勾去掉)...

2018-05-15 13:55:33 2935

原创 CentOS中安装软件的3种方法及各自优缺点

安装方法1使用rpm安装包的方式RPM是Red Hat公司随Redhat Linux推出了一个软件包管理器,通过它能够更加轻松容易地实现软件的安装相比其他安装方法,优点如下:自动处理了各种软件包可能的依赖关系便于管理,使用rpm命令包可以轻松进行安装、升级、卸载等操作自动生成默认配置,相比使用tar.gz免安装包的方式来说,更加简单便捷,容错率更高...

2018-05-10 15:29:41 1971

原创 CentOS下安装mysql

环境阿里云 CentOS 7.4 (Linux)安装方法本次安装使用rpm安装包的方式参考文章 https://www.jianshu.com/p/04a5178a47fc鉴于上述优点,本次安装使用rpm方式,下面是安装全过程从官网选择自己想要安装的mysql版本mysql官网链接 https://dev.mysql.com/downloads/repo/yum/image.png在网站最底下,点...

2018-05-10 15:28:37 137

原创 CentOS下安装tomcat

环境阿里云 CentOS 7.4 (Linux)安装方法从官网选择自己想要安装的tomcat版本在CentOs上安装jdk下载wget http://mirrors.shu.edu.cn/apache/tomcat/tomcat-9/v9.0.8/bin/apache-tomcat-9.0.8.tar.gz解压缩tar -zxvf apache-tomcat-9.0.8.tar.gz移动并重命名m...

2018-05-10 15:28:05 65

原创 CentOS下安装jdk

阿里云CentOS7.4(Linux)环境下安装java8-jdk1.8环境阿里云 CentOS 7.4 (Linux)安装方法本次安装使用rpm安装包的方式参考文章 https://www.jianshu.com/p/04a5178a47fc鉴于上述优点,本次安装使用rpm方式,下面是安装全过程从官网选择自己想要安装的java-jdk版本进入Oracle官方网站的javase下载页面 http:...

2018-05-10 15:27:31 83

原创 ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded

远程连接mysql数据库时,报错ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded解决方法如下:mysql -u root -pALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'new_password';即...

2018-05-10 15:21:33 2130 4

最新阿里京东美团滴滴面试真题

最新阿里京东美团滴滴面试真题

2018-09-07

RabbitMQ实战 高效部署分布式消息队列

RabbitMQ实战 高效部署分布式消息队列.pdf 本书对RabbitMQ做了全面、翔实的讲解,体现了两位专家的真知灼见。本书首先介绍了有关MQ的历史,然后从基本的消息通信原理讲起,带领读者一路探索RabbitMQ的消息通信世界。这当中不仅包含了针对单台RabbitMQ服务器和RabbitMQ集群的讲解,还教导读者如何使用各种工具来进行监控。 本书内容浅显易懂,文笔风趣幽默。书中包含了丰富的、可以运行的示例程序源代码,读者可以自行下载并运行,这种亲身实践有助于加深对相关主题的理解。对于初学者来说,这样的编排非常适用。对于那些有一定RabbitMQ使用经验的读者来说,本书不仅可以巩固消息通信基本原理,同时也可加深对RabbitMQ高级特性的理解,譬如如何编写RabbitMQ插件。相信处于RabbitMQ探索之旅不同阶段的读者都能从本书获益。 本书适合有一定工作经验的开发者或者架构师阅读,也可以作为RabbitMQ运维工作的参考手册。

2018-09-07

凌风云搜索破解版

凌风云搜索下载(附注册码)2.1.1.7 免费版 更新时间:2018-03-15

2018-04-26

数据结构与算法分析.pdf

本书是《Data Structures and Algorithm Analysis in C》一书第2版的简体中译本。原书曾被评为20世纪顶尖的30部计算机著作之一,作者Mark Allen Weiss在数据结构和算法分析方面卓有建树,他的数据结构和算法分析的著作尤其畅销,并受到广泛好评.已被世界500余所大学用作教材。 在本书中,作者更加精炼并强化了他对算法和数据结构方面创新的处理方法。通过C程序的实现,着重阐述了抽象数据类型的概念,并对算法的效率、性能和运行时间进行了分析。 全书特点如下: ●专用一章来讨论算法设计技巧,包括贪婪算法、分治算法、动态规划、随机化算法以及回溯算法 ●介绍了当前流行的论题和新的数据结构,如斐波那契堆、斜堆、二项队列、跳跃表和伸展树 ●安排一章专门讨论摊还分析,考查书中介绍的一些高级数据结构 ●新开辟一章讨论高级数据结构以及它们的实现,其中包括红黑树、自顶向下伸展树。treap树、k-d树、配对堆以及其他相关内容 ●合并了堆排序平均情况分析的一些新结果 本书是国外数据结构与算法分析方面的标准教材,介绍了数据结构(大量数据的组织方法)以及算法分析(算法运行时间的估算)。本书的编写目标是同时讲授好的程序设计和算法分析技巧,使读者可以开发出具有最高效率的程序。 本书可作为高级数据结构课程或研究生一年级算法分析课程的教材,使用本书需具有一些中级程序设计知识,还需要离散数学的一些背景知识。

2018-04-26

SpringMVC课堂笔记(2)

SpringMVC入门资料,由浅入深学习,从入门到精通,基础知识总结笔记。

2017-04-28

SpringMVC课堂笔记(1)

SpringMVC的学习资料,由浅入深介绍,入门资料

2017-04-28

《大话数据结构》电子版

《大话数据结构》电子版、PTF格式

2017-04-28

java学习的入门、进阶以及精通的推荐书籍

java学习的入门、进阶以及精通的推荐书籍,java学习的入门、进阶以及精通的推荐书籍

2015-12-08

Oracle SQL 内置函数以及解析

Oracle SQL 内置函数以及解析

2015-12-08

Servlet实现增删改查功能代码实例

文件是PDF的格式,内容是使用Servlet实现增删改查功能代码和实例。

2015-12-08

空空如也

空空如也

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

TA关注的人 TA的粉丝

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