- 博客(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 367
原创 [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 380
原创 Java虚拟机学习 - 垃圾收集器
总结:了解jvm有哪些垃圾收集器,对于优化jvm内存使用是很有帮助的。 文章参考:http://blog.csdn.net/java2000_wl/article/details/8030172HotSpot JVM虚拟机 上面有7种收集器,分为两块,上面为新生代收集器,下面是老年代收集器。如果两个收集器之间存在连线,就说明它们可以搭配使用。Serial(串行GC)收集器 Serial收集器是
2017-07-16 16:12:41 247
转载 深入理解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 679
原创 [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 208
原创 [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 271
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人