自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Lucene

全文搜索比如在一个文件夹中,有很多文件,如记事本,world,Excel,我们想根据其中的关键词搜索包含的文件。例如,输入lucene,所有内容含有lucenne的文件就会被检查出来,这就是所谓的全文检索。我们很容易想到的一个方法是建立一个关键词与文件的相关映射。 Lucene架构设计 - 创建索引,通过indexwrite对不用的文件进行索引的创建,并将其保存在索引相关文件存储的位置中。 -

2017-06-29 11:45:42 379

原创 JAVA反射机制

反射机制是什么?反射机制是在运行状态中们对于任意个一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。反射机制能做什么?在运行时判断任意一个对象所属的类在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法在运行时调用任意一个对象的方法生成动态代理反射机

2017-06-23 16:58:47 306

原创 Redis Sentinel机制和用法

概述Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案,当用Redis做Master-slave的高可用方案时,假如master宕机了,Redis本身都没有实现自动进行主备切换,而Redis-sentinel本身也是一个独立运行的进程,它能监控多个master-slave集群,发现master宕机后能进行自动切换。功能不时地监控redis是否按照预期良好地运行;如果发现某

2017-06-22 16:04:24 544

原创 spring boot mybatis相关问题

1.读取properties文件中的配置值使用@Value方式@RestController public class WebController { @Value("${test.msg}") private String msg; @RequestMapping("/index1") public String index1(){

2017-06-16 16:56:35 281

原创 Spring boot 数据库连接断线重连

问题描述我正在做的这个项目,数据库是跨区并且不由自己管理的。防火墙会每隔一段时间就自动断开数据库连接。 于是需要对application.properties的datasource进行配置。配置及具体含义#初始化连接spring.datasource.initial-size=10#最大空闲连接spring.datasource.max-idle=20#最小空闲连接spring.data

2017-06-16 11:14:35 23089 5

原创 OAuth协议

读音/’əu ‘ɔːθ/OAuthOAuth是一个关于授权的开放网络标准。应用场景有一个”云冲印”的网站,可以将用户储存在Google的照片,冲印出来。用户为了使用该服务,必须让”云冲印”读取自己储存在Google上的照片。问题是只有得到用户的授权,Google才会同意”云冲印”读取这些照片。那么,”云冲印”怎样获得用户的授权呢?传统方法是,用户将自己的Google用户名和密码,告诉”云冲印”,后者

2017-06-11 17:26:36 538

原创 Java面试笔记(Java基础)

Java基础:面向对象和面向过程的区别面向过程是一件事“该怎么做”,面向对象是一件事“该谁来做”。然后那个谁就是对象,他要怎么做是他的事,反正最后一群对象合力把事情做好就行了。Java的四个基本特性(抽象、封装、继承,多态)Overload和Override的区别构造器Constructor是否可被override构造器不能被继承,也不能被重写。但是可以被重载。访问控制符public,protect

2017-05-12 10:05:52 744

原创 寻找中序遍历下一个节点

题目描述给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。思路 可以发现,情况分为两类: - 第一类:给定的节点包含右子树,则下一个节点一定在右子树中。是这个节点右子树的最左子节点。 - 第二类:给定的节点不包含右子树。有两种情况: - 该节点是父节点的左子树,则下一个节点就是这个父节点。 - 该节点是父节

2017-05-09 10:40:22 373

原创 多线程笔记

线程和进程区别http://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html计算机的核心是CPU,它承担了所有的计算事务。它就像一座工厂,时刻在运行。假定工厂的电力有限,一次只能供给一个车间使用。也就是说,一个车间开工的时候,其他车间都必须停工。背后的含义是,单个CPU一次只能运行一个任务。进程就好比工厂车间,它代表CPU能处

2017-05-09 10:14:39 210

原创 JVM 如何创建Java对象

对象的建立类初始化当JVM遇到一条new的指令时,首先去检查这个指令是否在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已经加载,解析和初始化过。如果没有,那么必须先执行类的初始化。划分空间接下来就是要在堆中划分出一块空间,这块空间的大小由类去确定,在类加载以后,一个对象的大小已经是确定的了。对于这个划分,可能存在两种情况: 1. 堆的空间是规整的,已用过的部分在一边,未用过的部

2017-05-03 19:07:59 325

原创 MySQL多表查询笔记

多表查询的分类内连接:join,inner join外连接:left join,left outer join,right join,right outer join,union交叉连接:cross join内连接select a.*, b.* from tablea a join tableb b on a.id = b.id 外连接左连接select a.*, b.* from

2017-04-24 21:31:53 310

原创 JSP笔记<一>

JSPJSP所处位置下图为JSP容器和JSP文件在web应用中所处的位置 JSP处理流程就想其他普通网页一样,您的浏览器发送一个HTTP请求给服务器Web服务器识别出这是一个对JSP网页的请求,并且将该请求传递给JSP引擎,通过使用URL或者.jsp文件来完成。JSP引擎从磁盘中载入JSP文件,然后将他们转化为servlet。这种转化只是简单地将所有模板文本改用println语句,并且将所有

2017-04-22 21:04:49 488 2

原创 Java异常处理笔记

Java异常错误错误是程序无法处理的错误,表示运行应用程序中较严重问题,大多数错误与代码编写者执行的操作无关,而表示代码运行时JVM出现的问题,例如,Java虚拟机运行错误,当JVM不在有继续执行操作所需的内存资源时,将出现OutOfMemoryError.异常是程序本身可以处理的异常. ps:异常和错误的区别:异常能被程序本身可以处理,错误是无法处理。可查异常编译器要求必须处置的异常。 正确的

2017-04-20 17:47:14 367

原创 JVM : 垃圾回收

GC需要完成的3件事哪些内存需要回收? 什么时候回收? 如何回收?哪些对象需要回收?引用计数器算法给对象添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减一,任何时刻计数器为0的对象就是不可能再被使用的。 这个方法很简单但是不能解决对象之间循环引用的问题。可达性分析算法通过一系列的“GC Roots”的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径

2017-04-18 22:21:44 230

原创 JVM:内存管理

Java和C++之间有一堵由内存分配和垃圾回收技术所围成的“高墙”,墙外面的人想进去,墙里面的人却想出来。 《深入理解JVM》运行时数据区域可以看到数据区分为方法区,堆,虚拟机栈,本地方法栈,程序计数器。 其中方法区和堆是所有线程共享的数据区,而虚拟机栈和本地方法栈,程序计数器是线程隔离的数据区程序计数器程序计数器一块较小的内存空间,它可以看做是当前线程所执行的字节码的行号指示器。字节码解

2017-04-18 20:53:38 251

原创 我所理解的HTTP协议<二>

HTTP无状态cookieHTTP安全问题HTTP本身不具备加密功能,HTTP报文使用明文方式发送。将通信加密通过和SSL或TLS组合使用,加密HTTP的通信内容。 与SSL组合使用的HTTP被称为HTTPS。 HTTP+加密+认证+完整性保护=HTTPS 将HTTP通信接口部分用SSL和TSL协议代替。 当时用SSL时,先和SSL通信,再由SSL和TCP通信。(待更新)

2017-04-15 15:51:06 316

原创 我所理解的HTTP协议<一>

TCP/IP为了理解HTTP,首先得了解一下TCP/IP协议族。TCP/IP的分层管理TCP/IP协议族将内部的协议按功能分成了几个层次。 其中包括:应用层,传输层,网络层和数据链路层。应用层应用层决定了向用户提供服务时通信的活动。 HTTP协议就属于该层。 除此之外还有FTP和DNS协议。传输层传输层决定处在网络连接中的两台计算机之间的数据传输。 传输层协议有TCP和UDP协议。网络层网络

2017-04-15 14:51:02 486

原创 归并排序

综述归并排序是建立在归并操作上的一种有效的排序算法。这个算法是分治法的一个典型的应用。1.有序数组合并有序数组合并非常简单,只要比较两个数组中最小的数,谁小就取谁。然后把取了的数删除,继续比较。如果一个数组为空,则取另一个数组的元素。 这个方法时间复杂度为O(n)public void MemeryArray(int[] a,int n,int[] b,int m,int c[]){ in

2017-04-13 12:13:03 305

原创 把数组排成最小的数

问题输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。思路比较简单的思路:把一个数组按某一种规则排序; 这种规则是nm>mn,则mCodeimport java.util.ArrayList;public class Solution { public String

2017-04-12 15:25:22 287

原创 全排序算法

问题输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 思考如果字符串没有重复的内容,可以使用递归: 例如abc可以考虑a(bc),b(ac),c(ab),三种情况 而括号里面的继续按照外面的顺序递归求出。 但是如果字符串里有重复的呢? a(bb),b(ab),b(ab

2017-04-10 15:11:51 433

原创 剑指offer第五题

题目用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。思路本来想的很简单,从stack1往stack2中一倒就把“后进先出”倒成了“先进先出”。 但是这个思路有一个问题,就是stack2里面有元素的时候。本来他应该先出的,反倒在stack2中先进,变成了后出 所以应该把stack2分成两种情况 一种它为空,用原来的思路,另一种它不为空,就直接从stack2里面

2017-04-03 11:33:52 349

原创 剑指offer第四题

题目输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。思路通过root结点可以把中序遍历分成两部分。可以知道左子树的个数和右子树的个数。从而求出前序遍历和中序遍历相对应的左子树和右子树。 并通过递归求出。 递归方

2017-04-02 22:43:41 643

原创 剑指offer第三题

题目输入一个链表,从尾到头打印链表每个节点的值思路建立一个栈,先把数据存到栈里面。Code/*** public class ListNode {* int val;* ListNode next = null;** ListNode(int val) {* this.val = val;* }*

2017-04-02 21:02:19 306

原创 剑指offer第二题

题目请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。思路最直观的做法是从头往后开始扫描,但是这样复杂度为O(n^2) O(n)的做法是从后往前开始复制和替换。 先求出替换后的字符串大小,然后用两个指针(index)从后往前复制,如果遇上空格,直接替换为%20Codepublic class

2017-04-02 19:42:32 430

原创 人员信息管理系统

基本描述这个系统主要实现基本的业务功能:增加用户,修改用户,删除用户,查询单个用户,查询全部用户和退出系统的功能。 工厂模式,代理模式,MySQL数据库连接方式数据库连接方式:JDBC程序结构框架表的信息id int ;name varchar(50) ; sex varchar(10) ; birthday date基本类User类定义user包含的信息。定义get和set信息的方法。Da

2017-04-02 17:43:34 6035

原创 java连接mySQL数据库

首先要安装有JDK(一般是JDK1.5.X)。 然后安装MySQL,这些都比较简单,具体过程就不说了。 配置好这两个环境后,下载JDBC驱动mysql-connector-java-5.1.21.zip 加载JDBC驱动 操作方法:在Eclipse中,选中相应的工程,点击Project-Properties中的Java Build Path,在Libraries中点击Add Exter

2017-03-30 09:06:40 359

原创 二叉树的遍历

前序遍历:按照“根左右”,先遍历根节点,再遍历左子树 ,再遍历右子树中序遍历:按照“左根右“,先遍历左子树,再遍历根节点,最后遍历右子树后续遍历:按照“左右根”,先遍历左子树,再遍历右子树,最后遍历根节点 已知两种遍历求第三种 假设知道前序和中序遍历 1. root最简单,前序遍历的第一节点G就是root 2. 观察中序遍历ADEFGHMZ,其中ADEF是root的左子树,HMZ是r

2017-03-28 10:46:16 395

原创 单件模式(singleton)

单件模式是设计模式里面最简单的模式。它的目的是设计出只有一个实例的类,并确保全局访问。经典单件模式public static class singleton{ private singleton unique; private singleton(){} public static singleton getInstance(){ if(unique==nul

2017-03-28 09:12:59 369

原创 二叉查找树(BST)

定义 二叉查找树是一颗二叉树。 每个节点的键值都大于左子树任意节点的键值而小于右子树任意节点的键值。TIPs:树的算法可以很容易用递归。因为树的子节点也可以看做一颗树。基本实现数据表示求节点的size(伪代码):public int size(tree): if tree==null: return 0; else: return size

2017-03-27 17:43:37 641

原创 HashMap

HashMap是我们使用非常多的Collection,它是基于哈希表的Map接口的实现,以key-value的形式存在。定义HashMap是继承于AbstractMap。常见问题HashMap特性ashMap可以接受null键值和值,而Hashtable则不能;HashMap是非synchronized;HashMap很快;以及HashMap储存的是键值对“你知道HashMap的工作原理吗?” “你

2017-03-15 14:46:36 336

原创 leetcode100题< Same Tree >(java)

题目很简单,就是找出两个相同的树我首先就想到了树的遍历code1树的深度优先搜索 先声明一个栈,把头结点放进去。 然后把栈里第一个结点pop出来,接着把头结点的子节点push进去, 然后把栈里面的第一个结点pop出来,把他的子节点push进去。 直到栈为空。/** * Definition for a binary tree node. * public class TreeNode {

2017-03-15 00:50:04 272

原创 TCP三次握手与四次分手

基础信息ACK:此标志表示应答域有效,就是说前面所说的TCP应答号将会包含在TCP数据包中;有两个取值:0和1,为1的时候表示应答域有效,反之为0; SYN:表示同步序号,用来建立连接。SYN标志位和ACK标志位搭配使用,当连接请求的时候,SYN=1,ACK=0;连接被响应的时候,SYN=1,ACK=1;这个标志的数据包经常被用来进行端口扫描。 FIN: 表示发送端已经达到数据末尾,也就是说双方

2017-03-14 22:58:50 273

原创 深度优先搜索

深度优先搜索算法(DFS)是一种用于遍历或搜索树或图的算法。沿着树的深度遍历树的节点,尽可能的搜索树的分支。当节点v所在的边都已经被探寻过,搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点为止。如果还存在未被发现的节点,则选择一个作为源节点并重复以上过程,整个进程反复进行直到所有节点被访问到位置。属于盲目搜索。DFS可以产生目标图的相应拓扑排序表,利用拓扑排序

2017-03-14 11:28:28 475

原创 史上最好理解的KMP算法

KMP算法的解释很多,但是大多都晦涩难懂。 我看了好几篇,决定把其中讲得比较好的几篇归纳一下。 但是版权属于它们: The Knuth-Morris-Pratt Algorithm in my own words 字符串匹配的KMP算法 如果你看不懂KMP算法,那就看一看这篇文章暴力匹配算法首先,我假设你已经是一个已经懂暴力匹配算法的人了。 但是暴力匹配算法有一个问题:当你知道你的目标串

2017-03-13 22:08:09 288

原创 leetcode 第21题<Merge Two Sorted Lists>(java)

题面 Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.审题linked list 考察链表结构 合并两个有序的链表,使之成为一个新(有序的)表。新表由先前的两个

2017-03-13 17:54:09 369

原创 leetcode 第20题<Valid Parentheses>(java)

题面 Given a string containing just the characters ‘(‘, ‘)’, ‘{‘, ‘}’, ‘[’ and ‘]’, determine if the input string is valid. The brackets must close in the correct order, “()” and “()[]{}” are all

2017-03-13 15:06:02 294

转载 h264 slice_group_map_type

3.关于FMO(多片组) FMO,指灵活块映射,也即多片组模式。关于片组的概念:一个片组由若干个宏块组成,可以按照某种规则将一个图像中的某些宏块(这些宏块可以在图像中的任意位置,不是必须相邻)划分成一个组,就是一个片组。我们已经知道,H.264对图像进行编解码时是以片为单位的,一个片也包含一系列的宏块。在有了片组的概念后,划分片时还有一个规则:一个片中的所有

2017-03-12 20:52:53 838 1

原创 leetcode 第15题 <3Sum>(java)

题面 Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all unique triplets in the array which gives the sum of zero. Note: The solution set must not conta

2017-03-12 20:50:31 373

原创 leetcode 第八题<String to Integer (atoi)>(java)

题面 Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input cases. If you want a challenge, please do not see below and ask yourself what are the possible in

2017-03-11 19:05:40 283

原创 Leetcode 第四题< Median of Two Sorted Arrays>(Java)

题面: There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)).看题目是很简单的,就是在两个有序数组

2017-03-08 16:13:50 373

基于servlet的项目实战[简单的验证码图片生成](详细流程和代码)

基于servlet的项目实战[简单的验证码图片生成](详细流程和代码)

2017-04-24

空空如也

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

TA关注的人

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