自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一念永恒

一念山河成 ,一念百草生,一念万古亘,一念月东升。

  • 博客(345)
  • 资源 (12)
  • 问答 (1)
  • 收藏
  • 关注

原创 curl之get请求,post 表单与json请求

写在前面curl url中如果拼接多个参数一般会使用?a=a1&b=b1,像这样只能读取第一个参数的值,后面是获取不到的,应该对&符号进行转义,如?a=a1\&b=b1,或者直接把url整体用引号包起来。Get请求curl http://**.**.***.**/SeedAgile/SeedApi/querySprintByRequirementNo?parameterName=parameterValuePost表单可以用 -X POST 来申明我们的请求方法

2020-07-12 21:17:54 1841

原创 关于SpringBoot项目配置文件放在jar外面总结

针对小项目,非分布式没有统计配置中心,开发时候会面临打包配置不同的环境,例如我遇到的项目,在公司有测试环境,稳定环境,现场有现场测试,现场稳定环境,针对不同环境需要不同的配置。这时候可考虑把配置抽离出来,对每个环境放对应的配置文件,且直接放在jar包外面即可。详细说明如下:SpringBoot项目在运行时默认的配置文件application.properties是可以直接放在jar包外面的,且读取优先级如下:config/application.properties > applic

2020-07-07 21:38:08 3335

原创 mybatis generator plugin插件扩展之自定义注释,支持mysql,oracle

本文主要介绍如何对mybatis generator plugin 插件扩展,实现自定义实体类的注释。实现方式可通过修改源代码,或者自己单独开一个项目,通过继承generator的类,然后项目中引入。本文主要介绍后者。一、新建maven项目1、添加项目依赖<dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-c

2020-07-05 16:22:02 1442

原创 树Tree形结构,获取所有叶子节点路径

public static void fun(TreeNode node, List<String> path, List<List<String>> allPah) { if (node.children.size() == 0) { allPah.add(path); return; } for (TreeNode cNode : node.children) { List<String> cPath = new Arra..

2020-07-05 15:50:41 4149 2

原创 Google guava 常用工具类的使用

1.普通集合创建// 普通Collection的创建List<String> list = Lists.newArrayList();Set<String> set = Sets.newHashSet();Map<String, String> map = Maps.newHashMap();2.针对Map<String,List<String>>结构添加数据的技巧以往的写法Map<String,List<In

2020-06-09 21:46:37 444

原创 java list结构转tree树结构

package com.stu; import java.util.ArrayList;import java.util.List; public class TreeUtils { //把一个List转成树 static List<Node> buidTree(List<Node> list){ List<Node> tree=new ArrayList<>(); for(Node node:l.

2020-06-09 20:46:48 412

原创 IO模型

前言说到IO模型,都会牵扯到同步、异步、阻塞、非阻塞这几个词。从词的表面上看,很多人都觉得很容易理解。但是细细一想,却总会发现有点摸不着头脑。自己也曾被这几个词弄的迷迷糊糊的,每次看相关资料弄明白了,然后很快又给搞混了。经历过这么几次之后,发现这东西必须得有所总结提炼才不至于再次混为一谈。尤其是最近看到好几篇讲这个的文章,很多都有谬误,很容易把本来就搞不清楚的人弄的更加迷糊。最适合IO模型...

2020-03-30 07:05:25 197

原创 Spring 循环依赖

1. 什么是循环依赖?循环依赖其实就是循环引用,也就是两个或者两个以上的bean互相持有对方,最终形成闭环。比如A依赖于B,B依赖于C,C又依赖于A。如下图:正在上传…重新上传取消注意,这里不是函数的循环调用,是对象的相互依赖关系。循环调用其实就是一个死循环,除非有终结条件。Spring中循环依赖场景有:(1)构造器的循环依赖(2)field属性的循环依赖其中,构造...

2020-03-30 07:04:06 232

原创 Java byte转int为什么要&0xff

总归就是一句话,保证补码的完整性先看例子byte[] b = new byte[1];b[0] = -127;// -127System.out.print(b[0]);// 129System.out.print(b[0] & 0xff);在此不再描述源码、反码、补码的概念,但有个概念要提一下,‘数据扩展’,数据扩展:众所周知计算机内二进制都是以补码形...

2019-10-24 20:02:49 506

转载 kafka不同版本间consumer保存机制区别

目录一、 误区澄清与概念明确1 Kafka的版本2 新版本 VS 老版本二、消费者组 (Consumer Group)1 什么是消费者组2 消费者位置(consumer position)3 位移管理(offset management)四、Rebalance4.1 什么是rebalance?4.2 什么时候rebalance?4.3 如何进行组内分区...

2019-07-16 09:34:28 1242

原创 java  nio 多路复用系统调用函数

select比epoll效率差的原因:select是轮询,epoll是触发式的,所以效率高。Select:1.Socket数量限制:该模式可操作的Socket数由FD_SETSIZE决定,内核默认32*32=1024.2.操作限制:通过遍历FD_SETSIZE(1024)个Socket来完成调度,不管哪个Socket是活跃的,都遍历一遍.Poll:1.Socket数量几乎无限制...

2019-07-13 10:56:20 592

原创 java  nio是如何实现零拷贝(zero-copy)的

首先了解关于zero-copy相关的知识点java nio是如何实现zero-copy的在上一篇文章中简单介绍了zero-copy的相关知识,提到了mmap内存直接映射方式,这种方式介于sendfile系统调用与传统IO之间,其中一个重要原因是sendfile完全在内核空间中完成的,这对于应用程序来说就无法对数据进行操作,也由此,javaNIO是基于mmap内存映射的方式来实现零拷贝的。...

2019-07-06 23:54:38 4414

原创 Java NIO——Zero-copy

相关文章java nio是如何实现零拷贝(zero-copy)的技术介绍零复制(英语:Zero-copy;也译零拷贝)技术是指计算机执行操作时,CPU不需要先将数据从某处内存复制到另一个特定区域,从而可以减少上下文切换及CPU的拷贝时间,通常用于通过网络传输文件时节省CPU周期和内存带宽。假如我们要实现这样的功能:将文件中的字节复制到套接字中read(file, tmp_buf...

2019-07-06 13:26:12 701

原创 centso7离线安装mongodb

把下载好的mongodb包解压到 /usr/local/ ,重命名为mongodb创建数据存放目录 /data/db创建文件vi /usr/local/mongodb/mongodb.confport=27017 #端口dbpath= /data/db #数据库存文件存放目录logpath= /usr/local/mongodb/mongodb.log #日志文件存放路径...

2019-06-30 14:23:20 338

原创 CentOS7安装zookeeper

目录1、下载及解压2、配置(&拷贝)3、启动测试4、异常及解决此处以简单集群为例,单机模式测试请自行搜索。下文安装以三台机器为例,内网地址为192.168.159.128-130。安装集群时每台服务器配置基本一样,因此可以在每台机器上单独配置,也可以只在一台机器上安装好之后,使用scp命令,将文件夹拷贝到其他服务器,修改差异部分即可。1、下载及解压zoo...

2019-06-30 11:15:00 250

原创 centos7 搭建kafka集群

目录1、下载及解压2、配置(&拷贝)3、启动测试4、彻底底删除topic安装kafka之前确保jdk和zookeeper集群已经在服务器上部署成功。安装方法请自行搜索或者参考:CentOS7安装JDKCentOS7安装zookeeper此处以简单集群为例,单机模式测试请自行搜索。下文安装以三台机器为例,内网地址为192.168.159.128-130...

2019-06-30 11:07:35 470

原创 centos7 jdk8环境搭建

目录1、卸载系统自带的OpenJDK以及相关的java文件2、下载JDK并解压到指定位置1、卸载系统自带的OpenJDK以及相关的java文件(因为个人安装时候centos为最小安装,没有自带jdk之类此步骤为网络资源,但当时只是记录了word,没有留下参考资源的网址,因此第一部分为参考的文章里面的内容,如果后面遇到原文再补上)在命令行输入:java -version...

2019-06-30 10:47:06 233

原创 NIO中Buffer与Channel搭配使用原理

Channel:用于源节点与目标节点之间的连接。在Java NIO中,负责缓冲区中数据传输,Channel本身不存储数据,因此需要配合缓冲区进行传输。在NIO中,使用通道(Channel)基于缓冲区数据块的读写。BufferByteBufferCharBufferDoubleBuffer...主要介绍一下ByteBufferByteBuffer继承于Buffer类,ByteBu...

2019-05-24 22:36:08 702

原创 二叉树算法题汇总

目录二叉树的遍历前序遍历中序遍历后序遍历层次遍历基础算法求二叉树中的节点个数求二叉树的深度(高度)求二叉树第k层的节点个数求二叉树中叶子节点的个数判断两棵二叉树是否相同的树判断二叉树是不是平衡二叉树求二叉树的镜像判断两个二叉树是否互相镜像判断是否为二分查找树BST本文的实例代码基于JAVA编写首先给出节点的数据结构publi...

2019-05-19 12:39:59 11251 3

原创 mysql删除重复数据保留id最小(最大)的数据

如题:有Person表+----+---------+| Id | Email |+----+---------+| 1 | a@b.com || 2 | c@d.com || 3 | a@b.com |+----+---------+问题:删除重复的邮件地址这类问题在数据库的笔试题中经常会遇见,解题思路有两个,一连接,二子查询连接DELETE p...

2019-03-02 15:41:51 3356

原创 CountDownLatch

用来控制一个线程等待多个线程。维护了一个计数器 cnt,每次调用 countDown() 方法会让计数器的值减 1,减到 0 的时候,那些因为调用 await() 方法而在等待的线程就会被唤醒。public class CountdownLatchExample { public static void main(String[] args) throws Interrup...

2019-02-28 15:48:06 183

原创 Servlet生命周期

Servlet运行原理 我们来看一下Tomcat是如何加载的:     1. 如果已配置自动装入选项,则在启动时自动载入。     2. 在服务器启动时,客户机首次向Servlet发出请求。     3. 重新装入Servlet时。      当启动Servlet容器时,容器首先查找一个配置文件web.xml,这个文件中记录了可以提供服务的Servlet。每个Servlet...

2019-02-26 11:38:06 173

转载 HTTPS与SSL验证

1 验证流程1 客户端发起一个https的请求,把自身支持的一系列Cipher Suite(密钥算法套件,简称Cipher)发送给服务端2  服务端,接收到客户端所有的Cipher后与自身支持的对比,如果不支持则连接断开,反之则会从中选出一种加密算法和HASH算法   以证书的形式返回给客户端 证书中还包含了 公钥 颁证机构 网址 失效日期等等。3 客户端收到服务端响应后会做以下几...

2019-02-15 16:47:02 2686 1

转载 CA证书

1. CA证书理解?CA证书的作用?CA证书顾名思义就是由CA(Certification Authority)机构发布的数字证书。要对CA证书完全理解及其作用,首先要理解SSL。SSL(security sockets layer,安全套接层)是为网络通信提供安全及数据完整性的一种安全协议。SSL3.0版本以后又被称为TLS。SSL位于TCP与各应用层之间,是操作系统向外提供的API。SSL...

2019-02-15 16:12:16 1573

转载 常见IO模型详解

服务器端编程经常需要构造高性能的IO模型,常见的IO模型有四种:同步阻塞IO(Blocking IO):即传统的IO模型。 同步非阻塞IO(Non-blocking IO):默认创建的socket都是阻塞的,非阻塞IO要求socket被设置为NONBLOCK。注意这里所说的NIO并非Java的NIO(New IO)库。 IO多路复用(IO Multiplexing):即经典的Reactor...

2019-02-14 16:18:27 1227

原创 NIO同步、非阻塞、基于selector的异步处理理解

java nio的io模型是同步非阻塞,这里的同步异步指的是真正io操作(数据内核态用户态的拷贝)是否需要进程参与。而说java nio提供了异步处理,这个异步应该是指编程模型上的异步。基于reactor模式的事件驱动,事件处理器的注册和处理器的执行是异步的。JAVA NIO是同步非阻塞io。同步和异步说的是消息的通知机制,阻塞非阻塞说的是线程的状态 。下面说说我的理解,client和服...

2019-02-13 12:16:10 807 1

原创 js promise then 用法详解

Promise 是抽象的异步处理对象构造方法:let promies = new Promise((resolve, reject) =&gt; { resolve(); //异步处理 });Promise 有三个状态:Fulfilled: has-resolved, 表示成功解决,这时会调用 onFulfilled. Rejected: has-rejected, 表示解...

2019-01-21 10:05:58 65819 16

原创 js全局变量与局部变量问题,变量提升

1、程序的运行结果为:100  10  100var a = 10;function test(){ a = 100; console.log(a); console.log(this.a); var a; console.log(a);}test();解析:Javascript在执行前会对整个脚本文件的声明部分做完整分析(包括局部变量),从...

2019-01-14 11:50:00 1576

转载 深入理解HashMap(原理,查找,扩容)

Hashmap是一种非常常用的、应用广泛的数据类型,最近研究到相关的内容,就正好复习一下。网上关于hashmap的文章很多,但到底是自己学习的总结,就发出来跟大家一起分享,一起讨论。 1、hashmap的数据结构 要知道hashmap是什么,首先要搞清楚它的数据结构,在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的...

2019-01-07 15:03:35 721

转载 Spring 面试问题 TOP 50

Spring Framework 现在几乎已成为 Java Web 开发的标配框架。那么,作为 Java 程序员,你对 Spring 的主要技术点又掌握了多少呢?不妨用本文的问题来检测一下。本文内容主要翻译自 Top 50 Spring Interview Questions You Must Prepare In 20181. 一般问题1.1. 不同版本的 Spring Framew...

2019-01-07 10:58:16 293

转载 Unicode编码详解

ASCII码在学校学 C 语言的时候,了解到一些计算机内部的机制,知道所有的信息最终都表示为一个二进制的字符串,每一个二进制位有 0 和 1 两种状态,通过不同的排列组合,使用 0 和 1 就可以表示世界上所有的东西,感觉有点中国“太极”的感觉——“太极生两仪,两仪生四象,四象生八卦”。在计算机种中,1 字节对应 8 位二进制数,而每位二进制数有 0、1 两种状态,因此 1 字节可以组合出...

2019-01-04 15:57:24 4077 1

转载 Java语言中一个字符占几个字节?

要区分清楚内码(internal encoding)和外码(external encoding)就好了。内码是程序内部使用的字符编码,特别是某种语言实现其char或String类型在内存里用的内部编码;外码是程序与外部交互时外部使用的字符编码。“外部”相对“内部”而言;不是char或String在内存里用的内部编码的地方都可以认为是“外部”。例如,外部可以是序列化之后的char或String...

2019-01-04 15:54:51 16250 2

原创 数据结构树结构定义

树中名词解释的定义:结点:指树中的一个元素;结点的度:指结点拥有的子树的个数,二叉树的度不大于2;数的度:指树中的最大结点度数;叶子:度为0的结点,也称为终端结点;高度:叶子节点的高度为1,根节点高度最高;层:根在第一层,以此类推; 二叉树定义:由一个结点和两颗互不相交、分别称为这个根的左子树和右子树的二叉树构成。性质:二叉树的第i层上至多有2^(i...

2019-01-03 21:04:05 1400

原创 pos方式下载文件,解决url参数过长问题

前端页面下载文件时候,如果以get方式提交,会受到url参数长度限制,所以改成构造form表单方式进行提交下载,已下是借助form表单方式进行提交 function downloadImage() { $("#downloadform").remove(); var form = $("&lt;form&gt;");//定义一个form表单 form.attr("id", "d...

2018-12-28 17:14:46 2100 1

转载 mysql锁详解

锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。本章我们着重讨论MySQL锁机制的特点,常见的锁问题,以及解决MySQL...

2018-12-27 17:18:34 2404 1

转载 volatile详解

 volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。  volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先...

2018-12-27 17:00:24 26861 27

转载 TCP的三次握手与四次挥手(详解+动图)

背景描述通过上一篇中网络模型中的IP层的介绍,我们知道网络层,可以实现两个主机之间的通信。但是这并不具体,因为,真正进行通信的实体是在主机中的进程,是一个主机中的一个进程与另外一个主机中的一个进程在交换数据。IP协议虽然能把数据报文送到目的主机,但是并没有交付给主机的具体应用进程。而端到端的通信才应该是应用进程之间的通信。UDP,在传送数据前不需要先建立连接,远地的主机在收到UDP报文后也...

2018-12-27 11:39:59 1081

原创 双栈实现队列,双队列实现栈思路

1.两个栈实现队列用栈a,栈b实现一个队列入队,进a; 出队,判断b是否为空,如果为空,则把a栈逐个出栈入b栈,如果b不为空,直接出栈以此实现出队2.两个队列实现栈队列a,队列b实现栈出队,把a队列中的n-1个元素出队,一次入b队列,a队列出队;如再次出队,则把b队列中的n-1个元素出队,一次入a队列,b出队,以此实现出栈。 入队,进入到不为空的栈中,...

2018-12-22 16:49:54 4603 1

原创 Java双向队列Deque栈与队列

Java中实际上提供了java.util.Stack来实现栈结构,但官方目前已不推荐使用,而是使用java.util.Deque双端队列来实现队列与栈的各种需求.如下图所示java.util.Deque的实现子类有java.util.LinkedList和java.util.ArrayDeque.顾名思义前者是基于链表,后者基于数据实现的双端队列.总体介绍要讲栈和队列,首先要讲Dequ...

2018-12-22 16:08:06 33423 5

原创 Java Set集合,HashSet与TreeSet详解

SetSet:注重独一无二的性质,该体系集合可以知道某物是否已近存在于集合中,不会存储重复的元素用于存储无序(存入和取出的顺序不一定相同)元素,值不能重复。对象的相等性   引用到堆上同一个对象的两个引用是相等的。如果对两个引用调用hashCode方法,会得到相同的结果,如果对象所属的类没有覆盖Object的hashCode方法的话,hashCode会返回每个对象特有的序号(java...

2018-12-20 16:07:05 597 1

TCP-IP详解卷1:协议

TCP/IP协议,资源非扫描版本,高清,有目录,欢迎下载

2019-04-18

深入分析Java Web技术内幕

深入分析Java Web技术内幕深入分析Java Web技术内幕

2018-04-13

基于dwz 、log4j、springmvc、mybatis、mysql后台管理通用完整代码

基于dwz 、log4j、springmvc、mybatis、mysql后台管理通用完整代码 配有数据库、maven项目、可直接运行、

2018-02-16

myeclipse10.7导出war包时出错解决jar

myeclipse10.7导出war包时出错解决办法 所需jar包 亲测有效

2017-10-20

maven-resources-plugin-2.5

maven-resources-plugin-2.5

2017-08-08

mvp+retrofit+rxjava

mvp+retrofit+rxjava 简单的图片加载

2016-09-07

listview优化比较

比较了 无缓存 一级缓存 glide缓存之间的效果比较

2016-07-17

android list下拉刷新

android list下拉刷新

2016-04-05

Fatjar for eclipse最新版

Eclipse打Jar包插件FatJar在2009年发布了0.0.31版本之后,至今未有更新,好在4.4之前的Eclipse中都能正常使用。但是在新发布的Eclipse4.4中却失灵了,从来没接触过插件开发的三哥在经过半天的研究之后,改了一个在Eclipse4.4中可用的版本,为区别,版本号也相应的加了1。 适合最新版本的eclipse 本人亲测。 如果你尝试了其他的fat但是不好使的,可以试试。

2015-12-24

java简单分页技术mysql 内涵.sql文件,直接实现

java简单分页技术mysql 内涵.sql文件,直接实现(适合刚结束的 )大神请绕行

2014-11-04

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

TA关注的人

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