自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 面试官初体验

面试官初体验前言​ 开发多年,之前总是为了被面试而准备,最近有了几次面试其他人的经验。从面试这件事的两面和看面试,可能感触又有不同。所以下文就是笔者在当面试官之后的一些思考和认知。​ 由于暂时都是以社招为主,年限3-5年,且所在的公司是【小公司】,所以所有的思考都是以这种社招形式为基础。正文简历​ 毫无疑问,一场面试,除非是之前就有认识,否则敲门砖肯定是简历。那么以下段落就以简历为基点,阐述一下笔者作为面试官,会对怎样的:Tips1: 如果有机会提升学历的话,还是去做吧。​ 首先映入眼帘

2021-03-07 18:07:15 6825

原创 nacos入门使用

nacos入门使用前言在当前微服务火爆的今天,在zookeeper,spring cloud,nacos选型之后,决定使用nacos作为微服务注册和管理的方案。因此从本文开始,介绍ncos的基本使用。另nacos作为阿里巴巴提供的服务,中文文档是有提供,建议以官方文档为主。因为阅读文档时发现有部分描述不清晰,因此便有本文。本文以SpringBoot和Nacos框架,linux为环境示例分别讲述nacos服务创建,nacos配置发布,nacos服务发布和管理。nacos官方文档正文ncaos服务

2021-03-06 20:50:09 1078

原创 Linux环境 Mysql安装详解

Linux环境 Mysql安装详解前言mysql作为被广泛使用的数据库,安装的必要性是无需质疑的,而本人在多次安装中遇到了情况各异的问题,所以想以这篇文章记录一下安装配置的过程。并且尽量详细介绍每一步的原因,如果再遇到问题,知其然且知其所以然的情况下,能够快速的解决问题。正文获取mysql安装源文件Mysql官网选择对应版本下载后上传到服务器直接在服务器命令下载到对应目录...

2020-04-20 14:46:25 435

原创 Java8新特性---Stream(流)

Stream 流是Java API 的新成员,它允许你以声明性方式处理数据集合。你可以把他看成遍历数据集的高级迭代器,他其实是一连串支持连续、并行聚集操作的元素。同样,流还可以透明的并行处理。流和简单实例public class Dish { private final String name; private final boolean vegetar...

2018-03-14 15:43:28 2494

原创 Java8新特性---Lambda表达式

Lambda表达式 Lambda表达式的本质只是一个语法糖,由编译器推断并帮你转换包装为常规的代码,因此你可以使用更少的代码来实现同样的功能。基本语法:(parameters -> expression) (parameters -> {expression;})简单例子://仅用三行代码完成 排序后输出列表public static void ...

2018-03-14 14:28:59 295

原创 Linux常用命令

Linux大部分操作都基于命令。因此记录常用命令有利于日常使用。Linux常用命令系统相关查看系统32位或64位getconf LONG_BIT使用VI命令使用vi命令打开文件。点击i进入编辑新增模式点击ESC退出编辑模式进入命令模式。常见命令: Ctrl+u:向文件首翻半屏;Ctrl+d:向文件尾翻半屏;Ctrl+f:向...

2018-02-28 20:40:15 239

原创 Linux环境安装配置Nginx

安装Nginx安装编译工具及库文件yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel安装PCRE下载PCRE安装包: wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz解...

2018-02-25 11:20:04 1423

原创 Linux环境安装jdk

安装jdk RPM文件安装下载对应版本的jdk文件。上传到服务器指定位置。进入指定文件夹。输入命令:rpm -ivh jdk-8u161-linux-x64.rpm设置环境变量vi /etc/profile点击i进入新增模式。输入:#set java environmentJAVA_HOME=/usr/java/jdk1.7.0_79JRE_HOM...

2018-02-22 17:07:52 256

原创 Linux常用软件安装

以下是服务器开发涉及到软件的安装过程安装jdk安装配置Nginx

2018-02-22 17:06:33 247

原创 ElasticSearch RestHighLevelClient 教程(三) 删除&&查询删除

前言​ 删除文档作为ES操作中重要的一部分,其必要性毋庸置疑。而根据官网文档api可知,有两种删除方式:一是直接根据index,type,id直接删除,而第二种是查询删除,也就是所谓的Delete By Query API。​ 第一种删除方式因为id作为唯一标识,所以如果文档存在肯定能指定删除。​ 而第二种查询删除的方式,其作用过程相当于先查询出满足条件的文档,再根据文档ID依次删除。所

2018-01-26 15:20:39 15411

原创 ElasticSearch 使用教程之_score(评分)介绍

前言​ 使用ES时,对于查询出的文档无疑会有文档相似度之别。而理想的排序是和查询条件相关性越高排序越靠前,而这个排序的依据就是_score。本文就是详解_score有关的信息,希望能对排序评分的理解有所帮助。正文​ 一个文档对于搜索的评分一定是有据可依的,而接下来就要介绍根据哪些参数查找匹配的文档以及评分的标准。理论 此段转自官方文档—– 相关度评分背后的理

2018-01-18 17:31:45 87842 6

原创 SpringCloud学习笔记---服务的注册和发现

前言​ 微服务的意义和概念在当下十分火热,而spring同样提供了实现微服务的SpringCloud框架。更多的也不多说,希望通过这个系列记录学习过程的的经验。​ 所有版本以SpringBoot2.x和SpringCloud Finchley为主,构建工具为gradle,IDE为基础的eclipse。如果使用maven构建可以在官网和其他推荐文章中参考构建pom代码。​ 第一篇是关于在微

2018-01-17 20:38:59 618

原创 ElasticSearch RestHighLevelClient 教程(二) 操作index

前言官方推荐的RestHighLevelClient在网络上相关文档较少,因此很多坑都需要通过自己看官方文档,源代码解决。因此这系列文章就是为了解决这些文档提及不全的部分,如果有文章没提到的部分,欢迎一起交流。这篇就关于使用RestClient操作索引,内容就是解决问题的实例。同样,一切版本以5.6.0为准。其他升级版本新的api不属此列。正文问题根源​ 由于使用RestHighLevelCli

2018-01-04 14:18:19 31254 1

原创 ElasticSearch 使用教程之Mapping(映射)介绍

前言在使用ElasticSearch(后文均称为ES)的过程中,由于中文官方文档不足和网上资源较少,本着服务自己和造福后人的目的,详细了部分官方文档的描述,就有了这系列使用教程。系列材料源于官方文档并辅以一定额外实例,并感谢翻译中文文档的作者们。本系列以ES 5.6.0 为标准版本,如果版本不同引起的歧义,请参考官方文档。官方文档ElasticSearch权威指南(中文版)Elas

2018-01-02 10:06:20 13763 1

原创 ElasticSearch ik中文分词安装

前言​ 在使用ElasticSearch做搜索时,语句的倒排索引可以说是十分关键。所以如果针对中文段落时,如果进行正确的分词索引就是重中之重,接下来就介绍如何在ElasticSearch中安装ik中文索引。(后文均简称ES)正文安装步骤插件下载:源项目地址 点击跳转到ik项目打包好的发布地址。选择和你服务器安装ES版本相近的ik版本,下载。下载地址如果github访问有问题,可直接下载本人存

2017-12-29 14:04:59 529

原创 java日志详解--logback

前言​ 关于logback这块,相关的文章比较多,而本人研究也不是比较深入,因此这篇文章只是本人的配置过程以及其他几篇深入介绍的文章,当作记录使用,希望能帮到自己和读者。正文对比log4j的优势:更快的实现 Logback的内核重写了,在一些关键执行路径上性能提升10倍以上。而且logback不仅性能提升了,初始化内存加载也更小了。 非常充分的测试 Logback经过了几年,数不清小时的

2017-12-22 13:47:39 967

原创 Java日志详解 一 Log4j

引言​ 日志作为项目中最基本的一部分,其重要性不言而喻。当项目运行在服务器上,不通过日志来反馈其运行状态的话,我们无从得知在运行期间运行状况如何。异常的发生后,如果没有日志将不知道如何解决。​ 那么重要性就提到这儿,接下来介绍Log4j和Logback两种常用的日志框架和配置详细,希望会为笔者以及读者有一定帮助。在日常配置中有据可依而不是重复的复制粘贴。正文简介 Log4j是Apache

2017-12-22 11:13:19 424

原创 ElasticSearch RestHighLevelClient 教程(一)通用操作

前言​ 项目中使用到ElasticSearch作为搜索引擎。而ES的环境搭建自然是十分简单,且本身就适应于分布式环境,因此这块就不多赘述。而其本身特性和查询语句这篇博文不会介绍,如果有机会会深入介绍。​ 所以这篇博文主要还是介绍Java客户端中如何使用查询搜索引擎中的数据。而使用的Java客户端是官方新推出的RestHighLevelClient,使用Http连接查询结果。但是网上

2017-12-14 15:03:02 127764 36

原创 Spring+Hibernate动态切换数据源以及失败解决方案

前言​ 本来只是动态数据源切换的话,是不准备记录下来当博客发表的。但是在使用Spring + Hibernate实现数据源切换时,遇到了切换失败的问题。无论是查看源码还是debug调试都解决不了,最后还是在网上找到了答案,这里留一个悬念。​ 所以本文主旨在查阅大量资料后解决动态切换数据源失败的问题,顺便在前面介绍如何进行配置动态切换数据源。所有场景以Spring 4.2.6 + Hibern

2017-10-20 17:25:23 4693 4

原创 Spring源码学习之认识AOP

前言作为Spring的重要特性之一,AOP的作用当然是毋庸置疑的。它使我们可以在代码执行过程中,横切代码,封装那些重复执行的操作。保证代码的模块化和管理时的便捷性。而这篇博文将从源码的角度解析AOP的工作原理和使用过程:简单的AOP实现<!-- bean.xml --><bean id="testadvice" class="chapter3_AOP.TestAdvice"></bean><be

2017-09-28 15:34:25 239

原创 ActiveMQ入门和实例

简介为了适应当前分布式系统的发展,系统与系统之间的通信尤为重要。而JMS就是为了将系统之间解耦,以消息中间件的形式连接系统。以下是ActiveMQ的简单介绍和入门实例下载安装ActiveMQ进入下载地址,下载适应版本。解压后进入bin目录点击activemq.bat(windows下)启动即可。启动失败请依次检查jdk版本和端口61616是否被占用。通信方式点对点/P2P发布者&订阅者

2017-09-20 14:33:21 560

转载 MySQL使用中遇到的问题

MySQL权限控制 MySQL中的帐号管理和权限控制MySQL之权限管理​

2017-09-18 10:59:53 463

原创 Spring源码学习之IoC

Spring学习笔记之初入IocIoc容器BeanFactory:Ioc容器定义最基础的接口,定义了作为Ioc容器所必备最基本的方法。ApplicationContext:细化了许多BeanFactory的方法,并且通过继承许多其他接口,实现了更多其他的IoC容器特性使用IoC容器编程式使用IoC容器 ClassPathResource resource = new ClassP

2017-08-29 14:07:39 287

原创 Spring整合Quartz(Spring:4.2.6.RELEASE+Quartz 2.2.1)

前言Quartz作为一种常用的定时任务框架,有一定的使用场景,因此以下介绍Spring 整合 Quartz。因为是一篇介绍使用的博文,所以只介绍测试通过的配置:配置详解项目版本配置://gradleext{springVersion = "4.2.6.RELEASE"}dependencies{//Springcompile "org.springframework:spring-bea

2017-08-07 17:22:35 1505

原创 深入Collection之ConCurrentHashMap(JDK7)

深入Collection之ConCurrentHashMap(JDK7)前言​ 有关Collection中Map的重要性不用多说,这种K-V的存储结构在Java中使用十分广泛。单线程中,HashMap已经足够使用。而多线程中,HasMap已经满足不了正常的并发使用。而Hashtable作为HashMap在并发中的替代品,针对每个操作都上锁的行为,虽然解决了并发时正确性,但是毫无疑问这种做法大大降

2017-07-26 13:12:33 367

转载 sun.misc.Unsafe的各种神技

转自:http://blog.csdn.net/dfdsggdgg/article/details/51543545sun.misc.Unsafe包下载http://download.csdn.net/detail/dfdsggdgg/9535347实例化私有类正常情况下没法实例化一个私有构造函数的类,但是Unsafe可以做到。import java.lang.reflect.Field; imp

2017-07-25 11:48:20 306

原创 Java文件锁以及并发读写中的应用

引言​ 在项目中,如果遇到需要并发读写文件的问题,那么对文件上锁分开访问是十分有必要的。因此这篇博文主要介绍文件锁的相关知识。有误之处,希望指出。什么是文件锁​ 文件锁就如同编程概念中其他锁的意义一样。通过对文件上锁,只有拥有锁的进程才能拥有对应锁权限的操作权限。而没有锁的进程只能挂起或者处理其他的事务直到拥有锁。从而在并发的场景下,我们才能对文件的读写进行控制。分类共享锁:获取到共享锁,

2017-06-12 09:37:04 10812 2

原创 下载服务端数据到本地保存为Excel

引言​ 在项目中,往往会需要将查询出的数据导出成excel或者其他的文件形式,便于用户查看。因此就有了这篇博文,介绍如何下载服务器的数据并以excel的形式保存到本地。整体思路查询出目标数据,并生成对应的文件格式的文件。在本项目就是以Excel格式存储查询出的数据。文件可以保存在服务器上,也可以直接以文件流的形式写入到Response的输出流中。本文分成两步,先保存到服务器,然后写入响应的输

2017-06-07 13:18:59 3660

原创 深入Collection之HashMap

深入Collection之HashMap作为Map中最常使用的实现类HashMap,它的重要性当然毋庸置疑,所以这篇文章就是有关HashMap的实现和功能介绍。成员变量 //默认数组初始化容量 static final int DEFAULT_INITIAL_CAPACITY = 16; /** * 定义最大的数组容量,当初始化时的入参的capacity容量比这个值大

2017-06-05 16:51:11 2020 2

原创 深入Collection之LinkedList

​ 这一篇是有关LinkedList的学习,那么闲话不多扯,直接按照上一篇的博文的模式来分析LinkedList的实现和功能。成员变量 transient int size = 0; /** * Pointer to first node. * Invariant: (first == null && last == null) || *

2017-05-10 08:59:01 262

原创 深入Collection之ArrayList

深入集合之ArrayList​ 集合作为JDK中使用最频繁的几个类之一,对于其具体实现形式的了解一直浮于表面。因此查看几个集合类的源码(本人以JDK8为参考源码)后有了接下来的几篇博文。而ArrayList作为使用做频繁的List,则理所当然是第一篇解析目标:​ 一个类的组成都是成员变量和成员方法,再细分看就是构造方法和其他方法。而一个类除非使用静态工厂生成实例,都摆脱不了用构造方法生成实例

2017-05-10 08:51:15 445

原创 学习JVM(垃圾收集和内存分配)

虽然Java的垃圾回收机制已经十分优秀,但是为了出现问题时,调试优化更容易,这里继续学习垃圾收集器和相关内存分配。由于程序计数器、虚拟机栈、本地方法栈生命周期岁线程变化,因此是类结构确定下来时就已知的。因此这几个区域的内存分派和回收都是确定的,不需要过多的考虑回收问题。一、如何判断对象死亡1、  引用计数算法当有一个地方引用该对象,计数器+1,当引用失效,计数器-1。任何时刻计数器

2017-04-30 13:05:17 317

原创 学习JVM(Java内存管理和OOM)

学习JVM首先要关注虚拟机运行时的内存分布和内存管理,这样在遇到OOM时才能调试相应的参数获得解决办法。一、内存区域:以上图为概要,一一介绍各个内存区域:1、  程序计数器:是一块较小的内存空间,它可以看作当前线程所执行额字节码的行号执行器。简单地说,计数器内记录值是字节码的位置,而记录值的变化则决定了程序执行的流程(变化地看一段字节码到另一端字节码就是程序的跳转)此内

2017-04-30 10:51:22 399

原创 Spring--事务小结

Spring为我们提供了非常方便的事务管理,在不需要了解不同持久层事务处理的情况下,使用配置或注解的方式实现了事务的统一管理。这也就体现了之前所说的Spring核心AOP功能的作用。而为了更好的使用Spring事务管理,需要了解以下知识:一、数据库事务相关基础知识1、  何为事务最简单的话就是,事务内的多个SQL语句,在事务提交时,要么都成功,要么都失败。必定是一个整体。事务的四个特性

2017-04-22 11:25:31 334

原创 Spring AOP小结

Spring作为一种web开发最常用的框架之一,其简化开发,松耦合都是我们选择它的原因,而作为Spring的核心---Spring AOP(Aspect Oriented Porgraming)面向切面编程更是重中之重。因此本文将对AOP以本人的理解重新阐述一遍,以便自己和读者理解。如有差错,万望指出。一、            AOP到底是什么?作用是什么?按照软件重构的思想,如果多个类

2017-04-16 13:57:34 275

原创 iconfont使用简易教程

因为自己的项目中需要使用图标,而本人不擅长前端。因此了解到阿里的iconfont矢量图标是一个不错的图标库。下文介绍最简易,通用的使用图标方式以便参考。1、  寻找适用的图标官方网址:http://www.iconfont.cn/ 找到需要的icon以为例,添加入库。1、  生成代码:点击右上角购物车图标点击下载代码,得到zip包,解压即可获得需要的文件。

2017-04-12 11:33:44 28310 3

原创 Java代理模式(cglib代理)

java提供的基于Proxy、InvocationHandler的动态代理由于只能创建接口的代理对象,在实际应用中不能很好的满足需要,针对这个问题,另外一个开源框架cglib提供了一种实现方式,可以针对类进行代理对象的创建。CGLib采用了非常底层的字节码技术,其原理是通过字节码技术为一个类创建子类,并在子类中采用方法拦截的技术拦截所有父类方法的调用,顺势织入横切逻辑。JDK动态代理与CGLi

2017-04-07 16:22:41 320

原创 Java代理(JDK动态代理)

对于静态代理,如果接口发生改变,那么代理类和原始对象都要发生改变。而且每一个原始对象都需要一个代理类完成代理操作。因此类数目会相当多。因此使用jdk动态代理时,动态代理类始终只有一个invoke方法,当接口发生改变时,动态代理的接口不用随之改变。但是要求目标对象必须实现接口,因为它创建代理对象的时候是根据接口创建的。如果不实现接口,jdk无法给目标对象创建代理对象。动态代理现在只能代理接口

2017-04-07 14:48:55 235

原创 Java代理模式(静态代理)

代理模式是通过创建一个代理对象,使用这个代理对象代替实际对象。对于客户端而言,得到代理对象于操作而言没有任何影响。当客户端操作代理对象时,实际上操作会由实际对象完成。即客户端操作代理对象,代理对象操作实际对象,而代理对象在操作实际对象时,可以添加额外的操作实现懒加载,权限限定等一系列额外操作。代理分类:1、  虚代理:根据需要创建开销很大的对象,而该对象只有在真正需要的时候才会被真正创

2017-04-07 13:22:17 258

原创 Hibernate缓存机制详解

Hibernate中,缓存机制将对象保存在内存中而非每次都访问数据库无疑大大提高了程序的运行性能。因此此篇博文旨在总结Hibernate的缓存机制,希望在项目中或者面试提问中能够有所帮助。一、            缓存作用Hibernate是一个持久层框架,经常访问物理数据库,为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能。缓存内的数据是对物理数据源中的数据的复制,应

2017-04-05 17:08:42 596

POI 操作excel

该包已确认可以适用于web应用,可以操作excel 2007.

2017-01-14

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

TA关注的人

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