原创 Subarray Sum Equals K

Given an array of integers and an integer k, you need to find the total number of continuous subarrays whose sum e

原创 判斷一個數是2的整數次冪

private static boolean isPowerOfTwo(int val) { return (val & (val-1)) == 0; } 或者 private s

原创 Path Sum III

You are given a binary tree in which each node contains an integer value. Find the number of paths that sum to

原创 Java IO 再理解

上一次寫對Java IO的理解,主要是各種查資料進行彙總,覺得自己對IO理解的差不多了。 直到最近參加面試之後,我感覺自己對IO的理解還是有些偏差,於是重新查閱一些資料,有了一些新的見解。 同步與異步 通過上一篇博客Java IO 深入

原创 Java IO 深入理解

看了一段時間NIO之後,發現自己混淆了非阻塞和異步的概念。爲了理清這些關係,這裏就來詳細瞭解下同步(Synchronous)、異步(ASynchronous)、阻塞(blocking)和非阻塞(non-blocking)這些概念。

原创 Struts2:第一個Struts2應用Hello world

配置struts.xml文件 在struts2框架中使用包來管理Action,包的作用和java中的類包是非常相似的,它主要用於管理一組業務功能相關的action。在實際應用中,我們應該把一組業務功能相關的Action放在同一個包下。 配

原创 高性能網絡服務器編程

下面來解釋下爲什麼Linux AIO 和Java AIO都不使用! 基本的IO編程過程(包括網絡IO和文件IO): 打開文件描述符(windows是handler,java是stream或channel) 多路捕獲(Multiplexe

原创 Struts2:輸入校驗-基於XML配置方式實現

使用基於XML配置方式實現輸入校驗時,Action也需要繼承ActionSupport,並且提供校驗文件,校驗文件和action類放在同一個包下,文件的取名格式爲:ActionClassName-validation.xml,其中Acti

原创 Struts2:自定義攔截器

要自定義攔截器需要實現com.opensymphony.xwork2.interceptor.Interceptor接口: public class PermissionInterceptor implements Interceptor

原创 Struts2:輸入校驗-採用手工編寫代碼實現

在struts2中,我們可以實現對action的所有方法校驗或者對action的制定方法進行校驗。 對於輸入校驗struts2提供了兩種實現方法: 採用手工編寫代碼實現 基於XML配置方式實現 1.採用手工編寫代碼實現 (1)對ac

原创 Spring中Bean及@Bean的理解

Bean在Spring和SpringMVC中無所不在,將這個概念內化很重要,下面分享一下我的想法: @Bean 只能用在方法上 一、Bean是啥 Java面向對象,對象有方法和屬性,那麼就需要對象實例來調用方法和屬性(即實例化); 凡是

原创 Java: Timer啓用後無法停止?如何停止Timer

利用Timer和TimerTask可以實現定時完成某些任務。 但是在運行過程中出現了很奇怪的現象: 所有TimerTask都完成了,按理說線程應該自動退出,但是它卻沒有! 在JDK1.5的文檔Timer類中,有這樣一句話: “對 Ti

原创 309. Best Time to Buy and Sell Stock with Cooldown

題目: Say you have an array for which the i-th element is the price of a given stock on day i. Design an algorithm to fin

原创 Struts2:Action配置中的各項默認值

<package name="itcast" namespace="/test" extends="struts-default"> <action name="helloworld" class="cn.itcast.actio

原创 Struts2:使用通配符定義action

<action name="list_*" class="cn.itcast.action.HelloWorldAction" method="{1}"> <result name="success">/WEB-INF/page/