自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 Reactor模式小例子

程序的功能一个简单的echo服务:客户端连接上服务器之后,给服务器发送信息,服务器加上时间戳等信息后返回给客户端。/** *@desc:用reactor模式练习服务器程序,main.cpp *@author: zhangyl *@date: 2016.11.23 */ #include <iostream> #include <string.h&g...

2018-08-05 17:17:36 730

原创 protobuf在window上的使用

1、到https://github.com/google/protobuf/releases下载protoc-3.5.1-win32.zip 你们也可以选择其他 解压该文件,文件下有protoc.exe 2、需要maven环境,这里不做演示 添加依赖(依赖的版本要和上面的protoc的版本保持一致) http://mvnrepository.com/artifact/com.google...

2018-06-28 18:19:51 2310

原创 NIO、AIO的初认

—————–传统写法—————————- ————-案例—————– ————–解决上面的问题 用NIO 省去等待时间————— ————–案例 代码太多 只截了一些图————— ...

2018-06-24 12:01:14 394 1

转载 Java集合

Collection // 遍历用 iterator() ├List //重复、有序、可null、遍历用 ListIterator、可自身 │├LinkedList // 改快读慢、重复、有序、链表、队列、堆栈。 │├ArrayList // 读快改慢、重复、有序、动态数组 │└Vector //Vector是一种老的动态数组,是线程同步的,效率很低, │ └Stack ...

2018-06-07 12:21:06 226

转载 输出每层二叉树的最大节点

3 4 7 2 1 9 10应该输出 3 7 10 思路:看到每层,我们应该联想到队列,然后用两个变量,一个用于保存当前层节点的个数,另一个用于保存下一层节点的个数。再利用java中的list去保存每一层的节点,...

2018-06-05 10:49:32 701

转载 二叉树各路径结点之和并找出最大值的路径:先序遍历

如图所见,一个二叉树,各结点值是int类型,现在要找出各结点之和最大的路径。如图可知,此二叉树有三条路径:1,2,4],[1,2,5],[1,3]结点之和最大的是[1,2,5],我们最终的目标就是要找到这条路径!这里用的是先序遍历 当发现到达叶子结点时,确认一条路径,并将这路径中各结点相加得到sum,然后退回至父结点再次寻找另其它叶子结点,重复之前的操作,并与上次的sum进...

2018-06-05 10:44:14 2927

转载 Java线程池 ExecutorService

本篇主要涉及到的是java.util.concurrent包中的ExecutorService。ExecutorService就是Java中对线程池的实现。一、ExecutorService介绍ExecutorService是Java中对线程池定义的一个接口,它在java.util.concurrent包中,在这个接口中定义了和后台任务执行相关的方法: Java API对Exe...

2018-06-04 09:01:47 196

转载 Java内存模型

Java内存模型即Java Memory Model,简称JMM。JMM定义了Java 虚拟机(JVM)在计算机内存(RAM)中的工作方式。JVM是整个计算机虚拟模型,所以JMM是隶属于JVM的。如果我们要想深入了解Java并发编程,就要先理解好Java内存模型。Java内存模型定义了多线程之间共享变量的可见性以及如何在需要的时候对共享变量进行同步。原始的Java内存模型效率并不是很理想,因此...

2018-06-03 23:23:01 163

转载 设计模式:动态代理

AOP就是动态代理的一个应用静态代理: 比如写一个接口,TakeOne和TakeTwo实现这个接口,这两个类都有一个构造方法,参数是接口类,这样TakeOne就可以对TakeTwo里面的方法进行包装,TakeTwo也可以对TakeOne里面的方法进行包装;动态代理: 只要某个类实现该接口,就能产生动态代理...

2018-06-03 17:24:02 196

转载 设计模式:工厂设计模式

属于创建型设计模式,需要生成的对象叫做产品 ,生成对象的地方叫做工厂 。使用场景:在任何需要生成复杂对象的地方,都可以使用工厂方法模式。 直接用new可以完成的不需要用工厂模式简单(静态)工厂:interface Fruit{ public void eat();}class Apple implements Fruit{ public void...

2018-06-03 11:22:17 241

原创 设计模式:模板设计模式

在spring加载配置文件的时候,可以有不同的加载方式,如根据文件系统目录加载配置文件(FileSystemXmlApplicationContext),类路径加载配置文件(ClassPathXmlApplicationContext),以及根据项目上下文目录(XmlWebApplicationContext)加载配置文件先通俗的解释一下:完成一件事情,有固定的数个步骤,但是每个步骤根据对象的...

2018-06-02 23:38:21 194

原创 设计模式:单例设计模式

单例设计模式的最大特征是构造方法私有化,而后在类的内部提供有一个static本类对象,并且利用static方法取得此对象。最简单的单例实例:package com.text;class Singleton{ private static final Singleton INSTANCE = new Singleton();//static本类对象 private Sin...

2018-06-01 14:16:19 180

原创 设计模式:生产者与消费者

生产者和消费者指的是两个不同的线程类对象,操作同一资源的情况生产者负责生产数据,消费者负责取走数据生产者每生产一组数据之后,消费者就要取走一组数据会出现 数据错乱问题还有 数据重复取出,数据重复设置要想解决数据错乱问题,采用synchronized同步方法才行要想解决重复的问题,必须加入等待与唤醒机制,在Object类里面提供了专门的方法等待:public final ...

2018-06-01 11:18:13 452

原创 线程与进程

区别线程是CPU调度的最小单位,进程是资源分配的最小单位。进程是线程的容器,真正完成代码执行的是线程,而进程则作为线程的执行环境。实现多线程 ·继承Thread类; ·实现Runnable接口(Callable接口,知道就行); 线程启动都是Thread的start启动继承Thread类一个小实例package cn.xst.textdemo;class ...

2018-06-01 09:55:17 1070

转载 Hash表算法

本文分为三部分内容, 第一部分为一道百度面试题Top K算法的详解;第二部分为关于Hash表算法的详细阐述;第三部分为打造一个最快的Hash表算法。 ———————————————————————————第一部分:Top K 算法详解问题描述 百度面试题: 搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节。...

2018-05-31 20:40:30 416

转载 数据结构:递归算法

递归有直接递归和间接递归•直接递归:函数在执行过程中调用本身。 •间接递归:函数在执行过程中调用其它函数再经过这些函数调用本身。 •表达方式: •递归算法有四个特性: (1)必须有可最终达到的终止条件,否则程序将陷入无穷循环; (2)子问题在规模上比原问题小,或更接近终止条件; (3)子问题可通过再次递归调用求解或因满足终止条件而直接求解; (4)子问题的解应能组合为整个问题...

2018-05-31 13:33:21 2984

转载 数据结构:(堆)栈

(堆)栈概述栈是一种特殊的线性表,是操作受限的线性表 •定义:限定仅在表尾进行插入或删除操作的线性表,表尾—栈顶,表头—栈底,不含元素的空表称空栈 •特点:先进后出(FILO)或后进先出(LIFO)栈的结构如下图所示: 老师说过把它看成杯子线性表的操作主要包括: (1)清空(堆)栈 (2)判断是否为空 (3)元素的个数 (4)入栈 (5)出栈 (6)取栈顶...

2018-05-31 11:30:18 284

转载 数据结构:队列

队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。队列中没有元素时,称为空队列。队列特点:先进先出(FIFO)队列的结构 如下图所示: 线性表的操作主要包括: (1)清空队列 (2)判断是否为空 (3)元素的个数 (4)入队列 (5)出队列 (6)取对头元素接口package queue; publ...

2018-05-31 09:09:25 165

转载 数据结构:线性表

在线性表中数据元素之间的关系是线性,数据元素可以看成是排列在一条线上或一个环上。 线性表分为静态线性表和动态线性表,常见的有顺序表(静态的)、单向链表(动态的)和双向链表(动态的)。 线性表的操作主要包括: (1)计算表的长度n。 (2)线性表是否为空 (3)将元素添加到线性表的末尾 (4)获取第i个元素,0≤i < n。 (5)清除线性表 (6)返回列表中首次出现指定元素的...

2018-05-30 23:24:42 195

原创 maven的配置

这是我maven的配置,还是记录一下吧<?xml version="1.0" encoding="UTF-8"?><!--Licensed to the Apache Software Foundation (ASF) under oneor more contributor license agreements. See the NOTICE filedistr...

2018-05-29 20:26:59 185

原创 Spring Security与Spring Boot集成

在之前的项目的基础上进行修改的 添加依赖 build.gradle// 添加 Spring Security 依赖 compile('org.springframework.boot:spring-boot-starter-security')// 添加 Thymeleaf Spring Security 依赖 compile('org.thymeleaf.extr...

2018-05-28 22:11:59 668

原创 gradle写依赖,没有导入jar包

之前用的maven,刚接触gradle,所以比较不怎么会用 遇到写了依赖,保存,但是一直没有把jar包导进来。 我们从写依赖开始 进去找想要的包 选想要的版本点进去 选择gradle 复制下来 在gradle项目中,build.gradle文件写依赖 写法看一下,就是中间用“:”来分 在项目里右键build.gradle,选中Gradle,点击refresh进行...

2018-05-27 19:45:25 10963

原创 ElasticSearch与springboot整合

还是跟之前一样,用gradle+springboot+ElasticSearchl来实现一个小实例 也有用到spring data因为用到ElasticSearch,所以要安装 启动,linux下的安装不做演示。window下启动就是在bin文件夹下双击elasticsearch.bat就可以了修改build.gradle // 添加 Spring Data Elasticsearc...

2018-05-27 00:43:29 2334

原创 认识spring Data jpa

JPA:Hibernate、springboot 添加依赖 // 添加 Spring Data JPA 的依赖 compile(‘org.springframework.boot:spring-boot-starter-data-jpa’) // 添加 MySQL连接驱动 的依赖 compile(‘mysql:mysql-connector-java:6....

2018-05-26 11:02:13 293 1

原创 gradle下认识thymeleaf

Thymeleaf是动态才会显示出功能的build.gradle详细解释 增加Thymeleaf依赖// buildscript 代码块中脚本优先执行buildscript { // ext 用于定义动态属性 ext { springBootVersion = '1.5.2.RELEASE' } // 自定义 Thymeleaf 和...

2018-05-25 16:22:46 1551 1

原创 Ecplise上传文件到GITHUB

“Can’t connect to any repository: https://github.com/binglo/tt.git (https://github.com/binglo/tt.git: cannot open git-receive-pack)” 总是报这些错,头疼死。 binglo搞了好久,才搞定。希望对你们有所帮助GitHub上的操作 去GitHub注册一个账号...

2018-05-24 20:21:12 289

原创 Git安装与本地GIT操作

之前用svn 但是觉得不方便  而且开始接触GitHub  安装步骤主要选中中间那个其他都是默认安装完成通过cmd去验证安装成功没这样就算安装成功设置开发者的基本信息设置完成之后是没有什么反应的查看基本信息git config -l (后面的是L)创建版本库版本库:在仓库之中可以保存所有用户开发过程之中所编写的代码的日志记录如果要开发项目,那么首先必须有一个仓库(可以简单的理解为是一个磁盘上的文件...

2018-05-24 11:14:45 340

空空如也

空空如也

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

TA关注的人

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