自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (1)
  • 收藏
  • 关注

原创 Android从入门到精通-对话框

一. AlertDialog对话提示框,通常是在某项操作触发下显示的控件,需要在代码中调用show方法进行展现。AlertDialog的构造方法是protected,所以不能直接创建,有以下两种方式来创建:创建方式通过AlertDialog内部类Build来实现操作//参数为该dialog要显示在哪个上下文中的对象AlertDialog.Bulider builder = new A...

2020-03-17 23:34:39 230

原创 DelegatingFilterProxy源码解析

0.引言在web项目中写过滤器时,若想使用sprng的某些功能,可以通过DelegatingFilterProxy类来实现,该类相当于一个代理类,它会通过配置的filter-name的值去spring容器中找到对应的bean,并且执行对应的过滤逻辑。1.使用方式<filter> <filter-name>filter</filter-name> &...

2020-01-11 05:49:37 342

原创 oracle视图

1.视图的定义视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,视图基于的表称为基表。视图只有逻辑定义,每次使用的时候只是重新执行SQL。通过它可以对表里面的数据进行查询和修改。 视图是存储在数据字典里的一条select语句。 通过创建视图可以提取数据逻辑上的集合或组合。视图看上去非常象数据库的物理表,对它的操作同任何其它的表一样。当通过视图修改数据时,实际上是在改变基表中的数据;相反...

2020-01-11 00:38:17 223

原创 本地项目提交到github上

1.本地新建git项目在项目文件夹下打开git命令窗口,输入以下命令:git init2.在github上新建 Repositories,复制项目url3.关联远程仓库输入以下命令git remote add origin https://github.com/JasonPhui/sso-permission.git4.提交本地项目内容到远程仓库git push -u ori...

2020-01-10 23:37:59 167

原创 idea中.ignore的配置

在idea中新建了一个项目,当想用git来进行项目版本管理时,可以直接在idea中操作,如下图:**成功将项目转变成Git可以管理的仓库后,在idea中发现有很多原本需要忽略的文件也呈红色,原因是没有配置.gitignore文件。在项目新建一个.gitignore文件,然后添加相应的配置提交到仓库即可。# 以'#'开始的行,被视为注释. ...

2020-01-10 22:50:44 3859

原创 maven配置不同的环境

在使用maven开发项目时,可以通过配置在开发时使用开发环境,项目上线时使用生产环境,实现方式如下:1.配置pom.xml中profiles <profiles> <!-- 开发环境 --> <profile> <id>dev</id> <prope...

2020-01-10 21:58:46 1027

原创 责任链模式-Tomcat中Container处理请求方式

标准定义 使多个对象都有处理请求的机会,从而避免了请求的发送者和接收者之间的耦合关系。将这些对象串成一条链,并沿着这条链一直传递该请求,直到有对象处理它为止。使用方式抽象出一个处理类父类,提取公有方法和属性。 abstract class Handler { private Handler nextHandler; /** * 处理逻辑 *...

2019-12-31 15:45:32 458 1

原创 eclipse中Plug-in Development配置无效问题

今天在配置环境时发现在加入svn插件时在项目中无效:这些东西已经配置成功了,然而在这下面并没有显示插件中的依赖包:通过公司大佬的解救,最终发现错误发生在这里:...

2019-08-05 20:20:41 585

原创 elasticsearch dsl集成python中indices.analyze方法参数analyzer错误

我只试了几个方式,都没成功。然后找到了这个博客,完美解决。转载

2019-04-07 19:54:39 449

原创 Scrapy整合Elasticsearch时的KeyError(*)问题解决

在网上找的资料都是这样的:class ArticleType(DocType): suggest = Completion(analyzer=ik_analyzer) title = Text(analyzer="ik_max_word") create_date = Date() url = Keyword() url_object_id = Keywo...

2019-04-07 19:50:02 556

原创 spring boot中@schedule参数解释

* 第一位,表示秒,取值 0-59* 第二位,表示分,取值 0-59* 第三位,表示小时,取值 0-23* 第四位,日期,取值 1-31* 第五位,月份,取值 1-12* 第六位,星期几,取值 1-7* 第七位,年份,可以留空,取值 1970-2099(*) 星号:可以理解为“每”的意思,每秒、没分(?) 问好:只能出现在日期和星期这两个位置,表示这个位置的值不确定(-) 表达一个范围,如在小时字段中使用 10-12 ,表示从10点到12点(,) 逗号,表达一个列表值,如在星期字段中使

2019-03-26 15:56:06 1141

原创 Linux-免密安装

免密登录步骤:1.关闭selinux。到/etc/selinux/config下,把SELINUX=enforcing修改为SELINUX=disabled 。需要root权限。 su root Password: $ vim /etc/selinux/config 找到SELINUX并修改为SELINUX=disabled 2.关闭防火墙...

2019-03-08 14:47:57 324

原创 git 新建分支到远程仓库

本地新建分支:git branch dev通过git push -u origin dev命令将本地新建分支推送到远程仓库即可在远程仓库建立新的分支,并且可将该本地分支的内容直接推送到对应的远程分支若本地分支内容无法推送,可通过git branch --set-upstream-to=origin/dev dev解决...

2018-12-19 14:16:55 833 1

原创 Springboot使用thymeleaf layout时的问题

一. java.lang.NoClassDefFoundError: org/slf4j/event/LoggingEvent 莫名其妙出了这个错误,之前都没有。找了半天发现原来是jar包版本的问题。原来的jar包:&lt;dependency&gt; &lt;groupId&gt;org.slf4j&lt;/groupId&gt; &lt;artifactId&gt;s...

2018-12-14 13:34:49 808

原创 Springboot中thymeleaf使用th:include时遇到的问题

Caused by: org.thymeleaf.exceptions.TemplateInputException: Error resolving template “header”, template might not exist or might not be accessible by any of the configured Template Resolvers (template...

2018-12-13 20:51:54 7738 1

原创 Springboot整合Mybatis遇到的问题

**Mapper.xml的文件名要与对应的接口名相同不要忘记添加@MapperScan(“接口包位置”)**Mapper.xml中的namespace不要写错

2018-12-13 13:17:05 222

原创 Spring boot静态资源访问

静态资源映射默认情况下,当我们想要在前台页面使用服务器端的静态文件(如css,js,js库,图片等)时,我们只要将这些文件放在以下目录中的任意一个:/META-INF/resources//resources//static//public/如果这四个目录中有相同的静态资源文件,静态资源的默认访问优先级为:/META-INF/resources/&gt;/resources/&g...

2018-12-11 21:29:49 175

原创 Mysql中使用聚合函数对null值的处理

mysql 5.6环境下除了count(*)为特例(不忽略null值)外,其余聚集函数确实是忽略null值

2018-12-05 12:13:10 1202

原创 Linux文件系统

bin:存放一些用户安装的可执行文件及命令,当前用户可以使用sbin: 存放系统的可执行文件及命令,只有root用户可以使用etc: 配置文件存放位置dev: 设备,将硬件设备映射为文件,通过对文件的操作来管理设备home:家目录,普通用户的家目录存放位置lib:存放系统的一些库,包括软件之间的共用库root: root用户的家目录usr: (unix share resource)...

2018-12-05 12:10:29 143

原创 centos7安装后问题

1.不能安装软件:vi /etc/sysconfig/network-scripts/ifcfg-ens32添加DNS=8.8.8.8,ONBOOT=true重启:service network restart2.没有ifconfig命令yum install net-tools

2018-12-05 12:07:48 219

原创 Linux常用命令

基础命令ifconfig: 查看linux ip地址setup: linux网络配置或其他配置 (谷歌提供的公网上的DNS服务器地址为8.8.8.8,若不知道可以直接填写网关地址)pwd: 查看当前目录的绝对路径date: 查看系统当前时间,通过date --help可以查看所有参数(只看年月日date +%Y-%m-%d,加减时间date +%Y-%m-%d --date=" +|- 1...

2018-12-05 12:06:07 242

原创 CSS3-转换与过渡

2D转换转换是使元素改变形状、尺寸和位置的一种效果。通过 CSS3 转换,我们能够对元素进行移动、缩放、转动、拉长或拉伸。Internet Explorer 10、Firefox 以及 Opera 支持 transform 属性。Chrome 和 Safari 需要前缀 -webkit-。注释:Internet Explorer 9 需要前缀 -ms-。2D转换方法:transla...

2018-12-04 19:17:09 310

原创 Netty学习之路(九)-JBoss Marshalling编解码

JBoss Marshalling 是一个Java对象序列化包,对JDK默认的序列化框架进行了优化,但又保持跟java.io.Serializable接口的兼容,同时增加了一些可调的参数和附加的特性。Marshalling开发环境准备下载相关的Marshalling类库:地址,将该jar导入项目即可。创建Marshalling编解码器通过创建MarshallingCodeCFactory工...

2018-11-10 16:04:50 576

原创 Netty学习之路(八)-Google Protobuf编码

Protobuf是一个灵活,高效,结构化的数据序列化框架,相比于XML等传统的序列化工具,它更小,更快,更简单。Protobuf支持数据结构化一次可以到处使用,甚至可以跨语言使用,通过代码生成工具可以自动生成不同语言版本的源代码,甚至可以在使用不同版本的数据结构进程间进行数据传递,实现数据结构的前向兼容。Protobuf入门首先下载Protobuf的最新Windows版本:地址,下载底部的pr...

2018-11-09 16:41:34 193

原创 Netty学习之路(七)-编解码技术

当进行远程跨进程服务调用时,需要把被传输的Java对象编码为字节数组或者ByteBuffer对象。而当远程服务读取到ByteBuffer对象或者字节数组时,需要将其解码为发送时的Java对象。这被称为Java对象编解码技术。而我们常见得Java序列化仅仅是Java编解码技术的一种,由于java序列化有以下缺点:无法跨语言序列化后的码流太大序列化性能太低因此衍生了多种编解码技术和框架。...

2018-11-07 17:42:50 318

原创 LeetCode-最接近的三数之和

题目给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2).解决与之前的三数之和的方法差不多,主...

2018-11-06 21:03:43 189

原创 LeetCode-三数之和

题目给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]解决先对数组进行排序...

2018-11-06 19:30:54 165

原创 Netty学习之路(六)-分隔符和定长解码器的应用

分隔符和定长解码器的应用之前已经使用了LineBasedFrameDecoder解决TCP粘包问题,现在再学两种解决TCP粘包的方法。DelimiterBasedFrameDecoder:可以自动完成以分隔符做结束标志的消息的解码,分隔符自定义。FixedLengthFrameDecoder: 固定长度解码器,它能够按照指定的长度对消息进行自动解码,开发者不需要考虑TCP的粘包/拆包问题...

2018-11-06 16:20:09 182

原创 LeetCode-搜索二维矩阵 II

题目-240编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。示例:现有矩阵 matrix 如下:[ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14...

2018-11-05 20:58:39 218

原创 Netty学习之路(五)-TCP粘包/拆包问题

TCP粘包/拆包问题TCP是个“流协议”,所谓流,就是没有界限的一串数据。TCP底层并不了解上层业务数据的具体含义,它会根据TCP缓冲区的实际情况进行包的划分,所以一个完整的包可能会被TCP拆分成多个包进行发送,也有可能吧多个小的包封装成一个大的数据包发送,这就是TCP粘包和拆包问题。TCP粘包/拆包产生情况服务端分两次读取到了两个独立的数据包,没有粘包和拆包服务端一次接收到了两个数据包...

2018-11-05 19:30:25 201

原创 LeetCode-等差数列划分

题目413如果一个数列至少有三个元素,并且任意两个相邻元素之差相同,则称该数列为等差数列。数组 A 包含 N 个数,且索引从0开始。数组 A 的一个子数组划分为数组 (P, Q),P 与 Q 是整数且满足 0&lt;=P&lt;Q&lt;N 。如果满足以下条件,则称子数组(P, Q)为等差数组:元素 A[P], A[p + 1], …, A[Q - 1], A[Q] 是等差的。并且 P + ...

2018-11-05 13:02:13 370

原创 LeetCode-打家劫舍

题目你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。示例 1:输入: [1,2,3,1]输出: 4解释: 偷窃 1 号房屋 (金额 = 1) ,然后偷窃 ...

2018-11-05 10:19:58 215

原创 Netty学习之路(四)-Netty入门实战

Netty入门实战前面学习了用Java原生NIO的编程实践,过程还是挺复杂的,需要熟练掌握Selector,ServerSocketChannel握,SocketChannel,ByteBuffer等。所以在绝大多数业务场景中我们可以使用Netty来进行NIO编程。先总结一下Netty的优点:API使用简单,开发门槛低;功能强大,预制了多种编解码功能,支持多种主流协议定制能力强,可以通过...

2018-11-03 23:26:07 241

原创 Netty学习之路(三)-AIO编程

AIO编程NIO 2.0引入了新的异步通道的概念,与之前非阻塞IO(NIO)不同的是,NIO 2.0异步套接字通道是真正的异步非阻塞I/O,对应于UNIX网络编程中的事件驱动I/O(AIO)。它不需要通过多路复用器对注册的通道进行轮询操作即可实现异步读写,从而简化了NIO的编程模型。话不多说,直接代码实践。AIO服务端package com.ph.AIO;import java.io.I...

2018-11-03 13:05:42 173

原创 Netty学习之路(二)-异步IO(NIO)编程

异步IO(NIO)编程NIO到底是什么简称?有人称之为New I/O,原因为他相对于之前的I/O类库来说是新增的。这是官方叫法。但是,由于之前老的I/O类库是阻塞I/O,New I/O类库的目标就是让java支持非阻塞I/O,所以更多的人称之为非阻塞I/O(Non-block I/O)。在开始进行NIO编程之前,先得了解几个NIO类库的概念:通道(Channel):通道是对原 I/O 包中...

2018-11-02 22:32:39 675

原创 Netty学习之路(一)- 同步与异步IO

瞄一瞄Netty[1]同步与异步IOI/O基础入门Linux网络I/O模型简介同步与异步IO(校招对我来说已经结束了,虽然找的并不是很满意,但是已经不想再尝试了,毕竟能力所限,不管去哪个公司还是先提高自己的水平吧,从今天开始先搞搞Netty)本篇博客主要是讲一些基础,记录我的学习过程,同时尝试养成写博客的习惯。内容基本来自Netty权威指南加上一丢丢的个人理解。。。。I/O基础入门在jdk...

2018-11-01 15:03:37 794

netty实现微信聊天.zip

详细介绍了netty的使用与基本原理,并通过实战的方式加深理解。可以让你快速入门netty,并应用到实际项目当中。。。。。。

2020-01-11

空空如也

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

TA关注的人

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