自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (2)
  • 收藏
  • 关注

原创 Java NIO与反应器(reactor)模式

一,Java NIO简介 Java NIO非阻塞应用通常适用在I/O 读写等方面。 我们知道,系统运行的性能瓶颈通常在I/O读写,包括对端口和文件的操作上。过去,打开一个I/O通道后,read()将一直等待端口一遍读取字节内容,这样做非常耗费资源。Java NIO非阻塞技术实际是采用Reactor模式。 他为我们监听I/O端口,如果有内容进来,会自动通知我们,这样,我们就不必开启多个线程死等,从外

2017-07-21 07:54:31 561

原创 java设计模式之装饰模式

一,简介(java I/O采取了该模式) 装饰模式又名包装模式。 装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。 但是纯粹的装饰模式很难找到,大多数装饰模式的实现都是“半透明”的。 换言之,允许装饰模式改变接口,增加新的方法。 可以说半透明的装饰模式是介于装饰模式和适配器模式之间的。适配器模式的用意是改变所考虑的类的接口,也可以通过改写一个或几个方法,或增加新的方法来增

2017-07-21 00:05:48 366

原创 [LeetCode] Longest Valid Parentheses

Description: Given a string containing just the characters ‘(’ and ‘)’, find the length of the longest valid (well-formed) parentheses substring.For “(()”, the longest valid parentheses substring is “

2017-07-17 07:22:36 273

原创 HTTPS 原理解析

文章参考: http://www.cnblogs.com/zery/p/5164795.html一,前言 网景在1994年创建了HTTPS,并应用在网景导航者浏览器中。 最初,HTTPS是与SSL一起使用的;在SSL逐渐演变到TLS时,最新的HTTPS也由在2000年五月公布的RFC 2818正式确定下来。 它是由Netscape开发并内置于其浏览器中,用于对数据进行加密和解密操作,并返回网络

2017-07-16 16:46:15 697

原创 KMP算法理解

KMP算法求解什么类型问题 字符串匹配。给你两个字符串,寻找其中一个字符串是否包含另一个字符串,如果包含,返回包含的起始位置。 如下面两个字符串:char *str = "bacbababadababacambabacaddababacasdsd"; char *ptr = "ababaca";str有两处包含ptr 分别在str的下标10,26处包含ptr。“bacbababadabab

2017-07-16 16:39:10 288

原创 Java线程池类ThreadPoolExecutor、ScheduledThreadPoolExecutor及Executors工厂类

Java中的线程池类有两个,分别是:ThreadPoolExecutor和ScheduledThreadPoolExecutor,这两个类都继承自ExecutorService。利用这两个类,可以创建各种不同的Java线程池,为了方便我们创建线程池,Java API提供了Executors工厂类来帮助我们创建各种各样的线程池。下面我们分别介绍一下这三个类。Java线程池ExecutorService

2017-07-16 16:31:04 379

原创 Java虚拟机学习 - 垃圾收集器

总结:了解jvm有哪些垃圾收集器,对于优化jvm内存使用是很有帮助的。 文章参考:http://blog.csdn.net/java2000_wl/article/details/8030172HotSpot JVM虚拟机 上面有7种收集器,分为两块,上面为新生代收集器,下面是老年代收集器。如果两个收集器之间存在连线,就说明它们可以搭配使用。Serial(串行GC)收集器 Serial收集器是

2017-07-16 16:12:41 246

转载 深入理解jvm 虚拟机(一)

在实际的项目中,一般都会在tomcat容器配置启动参数,将jvm gc信息写入某个文件中。如下:tomcat启动参数,将JVM GC信息写入tomcat_gc.logCATALINA_OPTS='-Xms512m -Xmx4096m -XX:PermSize=64M -XX:MaxNewSize=128m -XX:MaxPermSize=64m -XX:ParallelGCThreads=8 -XX

2017-07-14 07:54:19 678

原创 [LeetCode]Implement strStr()

Description: Implement strStr().Returns the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack.解析: 这是算法中比较经典的问题,判断一个字符串是否是另一个字符串的子串。这个题目最经典的算法应该是KMP算法,不熟悉的朋友

2017-07-13 07:59:36 203

原创 [LeetCode]Search in Rotated Sorted Array

Description: Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand.(i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2).You are given a target value to search. If f

2017-07-13 07:51:59 207

原创 [Thinking in java]理解java三大特性之一继承

本篇参考:http://www.cnblogs.com/chenssy/p/3354884.html在《Think in java》中有这样一句话:复用代码是Java众多引人注目的功能之一。但要想成为极具革命性的语言,仅仅能够复制代码并对加以改变是不够的,它还必须能够做更多的事情。在这句话中最引人注目的是“复用代码”,尽可能的复用代码使我们程序员一直在追求的,现在我来介绍一种复用代码的方式,也是ja

2017-07-13 07:35:42 264

原创 [LeetCode]Search for a Range

Description: Given an array of integers sorted in ascending order, find the starting and ending position of a given target value.Your algorithm’s runtime complexity must be in the order of O(log n).If

2017-07-13 07:20:03 270

quartz开发

学习java应用中比较好用的quartz定时器,一些小一点的项目还是比较好用的

2016-01-08

redis入门指南,快速学习

快速学习redis,帮助你快速了解及入门学习。

2015-07-02

空空如也

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

TA关注的人

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