自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Kaiwii的专栏

System.out.println(“我是金融IT菜鸟");

  • 博客(39)
  • 资源 (14)
  • 收藏
  • 关注

转载 从劫匪的行动来看同步、异步、阻塞、非阻塞

劫匪冲进某花园小别墅,端着AK47,向某衰男甩过去一个袋子:说,快,把现金拿出来给我放进去,这个时候劫匪一直跟着衰男去装钱,看钱装满了他就拿走,此时劫匪是阻塞 的,因为劫匪不能干其他的,得看着这个衰男,免得他搞鬼。想象下,如果劫匪等衰男自己去装钱,在钱装满之前,他自己可以到处翻箱倒柜,找点值钱的首饰黄金之类的,那么这个时候劫匪就是非阻塞 的,因为劫匪并没有阻塞在衰男去装钱这个环节上,劫匪可

2012-09-28 11:33:12 1729 1

转载 int *p1 = new int[10]; int *p2 = new int[10](); 的区别

我的理解是 int *p2 = new int[10]();申请了空间,而且进行了初始化int *p1 = new int[10];只申请空间,没有进行初始化原因:对于一些结构体,我们可以看到()往往表示构造函数,int是基本类型算初始化吧理由:你可以测试输出两种的值你会发现p1的值未知,而p2清零了

2012-09-27 20:22:31 7850

原创 对于一个内存地址是32位、内存页是8KB的系统。0X0005F123这个地址的页号与页内偏移分别是多少

对于一个内存地址是32位、内存页是8KB的系统。0X0005F123这个地址的页号与页内偏移分别是多少?东西很简单,只是年代久远,本科学的东西早就忘光了。阅读完这边参考资料,相信你也能够做出来的!!!!!!!参考资料:http://download.csdn.net/detail/kaiwii/4603957答案:页号是47页,页内偏移量应该是0X00001123

2012-09-27 20:14:07 8487

原创 如果X大于0并小于65536,用移位法计算X乘以255的值?(通过二进制位移实现乘法或者除法)

如果X大于0并小于65536,用移位法计算X乘以255的值?解答:step1:将X作为一个二进制数,左移8位,相当于10进制中乘以256【数学公式为Xstep2:因为题目需要的是乘以255,而不是256.所以,需要减回一个x才行。【step1的结果减去x】注意:因为位移运算的优先级低于加减法,所以,需要使用括号来提高位移的优先级。所以,最终答案为:(x

2012-09-27 20:12:40 4377

转载 有12个球,一个次品,有一个天平,称3次得出哪个是次品,怎样称?

上次去面试微软的实习生,面试的人问了我个问题。有12个球,一个次品,有一个天平,称3次得出哪个是次品,怎样称?当时,我就先犹豫了下。先问了他:次品不知道是轻还是重吗?他告诉我不知道。我就犯嘀咕了。这个怎么办。我一开始想了下,把12个球分成3份。想了一半了,可惜没有想到最后结果,最后只好放弃了。虽然早就有这样的问题了,但是自己孤陋寡闻啊,没有听说过。今天把这个答案给贴出来吧。告诫自己,一定要努力。

2012-09-27 18:10:03 2394

转载 深入浅出Java多线程(1)-方法 join

对于Java开发人员,多线程应该是必须熟练应用的知识点,特别是开发基于Java语言的产品。本文将深入浅出的表述Java多线程的知识点,在后续的系列里将侧重于Java5由Doug Lea教授提供的Concurrent并行包的设计思想以及具体实现与应用。如何才能深入浅出呢,我的理解是带着问题,而不是泛泛的看。所以该系列基本以解决问题为主,当然我也非常希望读者能够提出更好的解决问题的方案以及提出更多

2012-09-27 06:49:14 1177

转载 过桥问题和倒水问题算法

过桥问题和倒水问题都是笔试面试中的热门智力题,不但微软、GOOGLE、百度、腾讯等公司采用,甚至在IQ测试与公务员考试中都能见到。本文不但教你如何快速用手算来解决这两种问题,并且教你如何用程序代码来计算这两种问题。绝对让你大有收获。一.过桥问题在漆黑的夜里,四位旅行者来到了一座狭窄而且没有护栏的桥边。如果不借助手电筒的话,大家是无论如何也不敢过桥去的。不幸的是,四个人一共只带了一只

2012-09-26 09:25:02 3379 3

转载 如何将中缀式转化成前缀式和后缀式(波兰和逆波兰)结合二叉树(适合数据结构方面的理解)

一、表达式与二叉树的关系前缀表达式对应于二叉树的前序遍历;中缀表达式对应于二叉树的中序遍历;后缀表达式对应于二叉树的后序遍历; 二、根据中缀表达式生成二叉树中缀表达式:a + b * (c - d) - e / f中序遍历为:左儿子、右儿子、根节点(Kaiwii改正为:左儿子、根节点、右儿子)按照操作符的优先级,其二叉树生成过程为:

2012-09-26 09:05:15 2928

转载 如何将中缀式转化成前缀式和后缀式(波兰和逆波兰)(适合考试使用的简单办法)

35,15,+,80,70,-,*,20,/               //后缀表达方式(逆波兰) (((35+15)*(80-70))/20)=25           //中缀表达方式 /,*,+,35,15,-,80,70, 20             //前缀表达方式(波兰) 人的思维方式很容易固定~~!正如习惯拉10进制。就对2,3,4,8,16等进制不知

2012-09-26 08:53:53 2492

转载 JVM 启动调优

不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM、GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为复杂的过程,由于各个程序具备不同的特点,如:web和GUI程序就有很大区别(Web可以适当的停顿,但GUI停顿是客户无法接受的),而且由于跑在各个机器上的配置不同

2012-09-26 08:22:20 767

转载 拓扑排序

拓扑排序是对有向无环图的一种排序。表示了顶点按边的方向出现的先后顺序。如果有环,则无法表示两个顶点的先后顺序。在现实生活中,也会有不少应用例子,比如学校课程布置图,要先修完一些基础课,才可以继续修专业课。一个简单的求拓扑排序的算法:首先要找到任意入度为0的一个顶点,删除它及所有相邻的边,再找入度为0的顶点,以此类推,直到删除所有顶点。顶点的删除顺序即为拓扑排序。    很容

2012-09-25 16:42:42 842

转载 解题笔记(37)——Catalan数计算及应用

问题描述:卡塔兰数,是组合数学中一个常出现在各种计数问题中出现的数列。输入一个整数n,计算h(n)。其递归式如下:h(n)= h(0)*h(n-1)+h(1)*h(n-2) + ... + h(n-1)h(0) (其中n>=2,h(0) = h(1) = 1)    该递推关系的解为:h(n)=C(2n,n)/(n+1) (n=1,2,3,...)        思路:直接根据递归式,

2012-09-25 16:22:24 939

转载 Java中对象的串行化(Serialization)和transient关键字

Kaiwii总结之:持久化(将对象保存到永久介质中)是目的串行化(使得对象的非static字段能够通过流的方式进行传输)是手段:(因为将内容写到永久介质中的其中一个手段就是流操作)transient是补充:因为一旦某个类实现了串行化接口的化,那么所有的字段都会进行流处理;但是某些字段只能是临时的,或者不希望进行串行化的化,就可以通过这个关键字的声明使得其字段不串行化!!!!!!!!

2012-09-25 15:15:42 1004

转载 linux中fork()函数详解(原创!!实例讲解)

一、fork入门知识     一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。    一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来

2012-09-24 09:53:00 1156

原创 快速排序Java实现

第一、算法原理针对数组中的一个数(这个数叫做pivot),将这个数组划分成两个部分:左边的每个元素都比pivot小;右边的每个元素都比pivot大。然后,再分别在左右两个部分递归地进行这种划分的操作。如此说比较笼统,在这个大方向上实际上是隐含着两个重要的地方:1、如何确定pivot2、如何划分至于如何确定pivot这点先默认认为是取数组中的第一个元素,在下文将会针对取pivot

2012-09-20 18:55:15 1418

转载 java java.util.ConcurrentModificationException 原因以及解决方案

原文:http://blog.csdn.net/traceofsun/article/details/5820925用iterator遍历集合时要注意的地方:不可以对iterator相关的地方做添加或删除操作。下面用List为例来说明为什么会报 ConcurrentModificationException  这个异常,其它集合类似可以自己思考。 [

2012-09-20 14:22:25 1118

转载 实现Queue接口的ArrayDeque类

Queue接口public abstract boolean add(E paramE); public abstract boolean offer(E paramE); public abstract E remove(); public abstract E poll(); Queue接口提供了以上几个方法。看了ArrayDeque类的源码。有以下几点

2012-09-19 15:04:06 8653

转载 java中使用队列:java.util.Queue

注意:这个只是一个接口而已 在java5中新增加了java.util.Queue接口,用以支持队列的常见操作。该接口扩展了java.util.Collection接口。Queue使用时要尽量避免Collection的add()和remove()方法,而是要使用offer()来加入元素,使用poll()来获取并移出元素。它们的优点是通过返回值可以判断成功与否,add()和remove()

2012-09-19 14:44:34 1013

转载 Thread原理+实例说明

Kaiwii 读书笔记+实践总结:1、ThreadLocal与同步都是解决多线程中的冲突问题的。但是,两者的解决思路不太一样。同步,是每个线程一起共享这个资源;而ThreadLocal,使得每个线程只是各自获得这个资源的副本,所以,某个线程对这个资源作修改只是在这个线程中有效,对其他线程的这个资源是没有影响的。2、每个线程获得资源,都是在initialValue() 中初始化的,其他线

2012-09-18 16:11:29 2756

转载 集合之HashSet/TreeSet原理

Set集合 1.HashSet  只去重复, 没有顺序  HashSet的add方法会调用hashCode和equals, 所以存储在HashSet中的对象需要重写这两个方法. 2.TreeSet  去重复, 并且可以按照某种顺序排序  TreeSet的add方法会将对象转为Comparable, 然后调用compareTo方法, 所以存储在TreeSet中

2012-09-18 09:06:19 4713 1

转载 java学习笔记:集合框架之TreeSet

|--------TreeSet 数据结构是二叉树,比较方式很优秀,遍历的速度很快。TreeSet可以对集合中的元素进行排序:一、让元素自身具有比较性: 实现Comparable接口,并且覆盖里面的compareTo方法。通过teturn 0判断元素是否相同,来保证数据的唯一性。[java] view plaincopyprint?cla

2012-09-17 14:45:18 935

转载 Java中关于可变长参数的那些事[参数中使用省略号的情况]

可变长参数: 底层就是一个数组,只能出现在方法的形参里,不能定义1)可变长参数的方法只有在必须的时候才会调用,如果有确切匹配的不可变参数的方法,会优先选择不可变参数的方法;2)如果两个方法都是可变长参数,都能匹配时,会编译通不过;编译器不知道调用哪个;3)一个方法只能有一个可变长参数,并且这个可变长参数必须是该方法的最后一个参数;例子:main 方法就是

2012-09-16 11:40:39 6591

转载 Java.util.Collections类包的学习

Java.util.Collections类包的学习 1. 描述: 1.1 概述 java.util.Collections类包含很多有用的方法,可以使程序员的工作变得更加容易,但是这些方法通常都没有被充分地利用。Javadoc给出Collections类最完整的描述:“这一个类包含可以操作或返回集合的专用静态类。” 1.2 所含方法 Iterator, ArrayList

2012-09-16 11:26:36 986

原创 ArrayList、Vector、LinkedList区别

关于这三者的区别,很久之前的时候已经懂了。但是,如果要在面试的时候,准确说出来还是有一定难度。特别是,最近几回都是打酱油去裸考的……好吧,现在就自己粗浅的理解,谈谈吧……ArrayList和Vector应该可以归到一类上去。因为,两者底层都是借着一个数组的,所以显然易见,两者通过索引号(也就是说,所谓的数组下标)可以轻易地检索到索引号所指示的元素;但是若然需要增/删、修改元素就会显得十分吃

2012-09-16 11:15:32 1261

转载 java.lang.Comparable 接口 详解

public interface Comparable此接口强行对实现它的每个类的对象进行整体排序。这种排序被称为类的自然排序,类的 compareTo 方法被称为它的自然比较方法。实现此接口的对象列表(和数组)可以通过 Collections.sort(和 Arrays.sort)进行自动排序。实现此接口的对象可以用作有序映射中的键或有序集合中的元素,无需指定比较器。对于类 C

2012-09-16 09:36:53 810

转载 Android通过共享用户ID来实现多Activity进程共享

1.同一Apk中的同一包中的Activity调用时进程状况验证 [1]创建Project:    project name: FirstProject    package:com.demo    默认Activity:MainActivity [2]添加一个新的Activity:    name:SecondActivity [3]修改布局。在MainActivity

2012-09-13 15:33:39 983

转载 Android进程与线程基本知识

Android进程与线程基本知识本文介绍Android平台中进程与线程的基本知识。 很早的时候就想介绍一下Android中的进程和线程,但由于其他的事情一直给耽搁了,直到现在才能和大家一起分享下。 1.Android进程基本知识:我们先来了解下Android中的进程基本知识。 当一个程序第一次启动的时候,Android

2012-09-13 11:26:01 798

转载 Android 中Message,MessageQueue,Looper,Handler详解+实例

一、几个关键概念1、MessageQueue:是一种数据结构,见名知义,就是一个消息队列,存放消息的地方。每一个线程最多只可以拥有一个MessageQueue数据结构。创建一个线程的时候,并不会自动创建其MessageQueue。通常使用一个Looper对象对该线程的MessageQueue进行管理。主线程创建时,会创建一个默认的Looper对象,而Looper对象的创建,将自动创

2012-09-13 11:21:30 765

转载 Android中与外部进程通信和调用外部程序

当一个程序第一次启动的时候,Android会启动一个LINUX进程和一个主线程。之前我写过两篇关于进程的笔记,请看:http://blog.csdn.net/lincyang/article/details/5897080 和 http://blog.csdn.net/lincyang/article/details/6451813。在Java中执行外部程序,是通过java.lang.Ru

2012-09-12 16:38:05 5822

转载 基于 Android NDK 的学习之旅-----Android.mk 介绍

一个Android.mk file用来向编译系统描述你的源代码。具体来说:该文件是GNU Makefile的一小部分,会被编译系统解析一次或多次。你可以在每一个Android.mk file中定义一个或多个模块,你也可以在几个模块中使用同一个源代码文件。编译系统为你处理许多细节问题。一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪

2012-09-12 10:16:10 1037

转载 ANDROID Bionic C DOCS

Bionic C 库一览:介绍:核心体系:Bionic设计的核心思想是:尽量简单。这意味这这个C库只围绕着内核提供轻量级的包装,我们让它尽量小,不去处理一些细枝末页的事情。 取Bionic这个名字,是因为它由部分BSD和部分linux组成:  它的代码由BSD C库和自定义的linux代码(用于处理线程,进程,信号,和其他事情)混合而

2012-09-11 10:54:37 1815

转载 Spring For Android初体验

Kaiwii注释:关于这篇文章有两点说得不是太好的地方:1、关于Spring的@Configuration讲解得不是太好的,可以参考这篇文章,理解这点:http://www.baeldung.com/2011/10/20/bootstraping-a-web-application-with-spring-3-1-and-java-based-configuration-p

2012-09-07 16:11:25 12615

原创 no_isntall版本的mysql 安装

无心学习太多的数据库知识,本文只是网上杂抄文章的一个归纳而已,用作日后mysql安装只用一、安装过程:1.准备工作  下载mysql的最新免安装版本mysql-noinstall-5.1.53-win32.zip,解压缩到相关目录,如:d:\\ mysql-noinstall-5.1.53-win32。这个就是mysql的根目录了。2.配置  在根目

2012-09-07 11:38:01 1170

转载 在Tomcat和Eclipse进行远程调试的配置

在做远程调试时,在windows系统和非windows系统下的配置,Tomcat中会有所差别,具体如下: 第一步、配置tomcat 一、在windows系统中: 打开%CATALINE_HOME%/bin下的文件catalina.bat,加入下面这行: set CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NON

2012-09-06 11:19:30 971

原创 关于使用common-logging 与log4j 总汇

基础介绍参考这篇博文:http://blog.csdn.net/kaiwii/article/details/7949068实战可以参考这篇博文:http://www.cnblogs.com/eflylab/archive/2007/01/12/618080.html tomcat日志级别调整参考这篇博文:http://blog.csdn.net/kaiwii/articl

2012-09-06 09:09:05 1133

转载 设置Tomcat控制台日志打印的级别

org.apache.catalina.core.ContainerBase.[Catalina].level = INFOorg.apache.catalina.core.ContainerBase.[Catalina].handlers = java.util.logging.ConsoleHandler1.新建logging.properties文件,将以上两句话复制到文件中。

2012-09-06 09:08:05 24677

转载 Log4j与common-logging 介绍

一.Log4j 1.简介 Log4j是Apache的一个开放源代码项目 使用Log4j,我们可以很方便的来记录日志. 从http://www.apache.org/dist/logging/log4j/1.2.14/下载最新的稳定版本2.用法 把log4j-1.2.14.jar丢到lib目录下,使用log4j前需要定义配置文件,也可以不使用,而是在代码中配置log4j环

2012-09-06 09:04:07 1597

转载 Log4j的使用和怎么在spring中集成log4j

log4j简介简单的说log4j就是帮助开发人员进行日志输出管理的API类库。它最重要的特点就可以配置文件灵活的设置日志信息的优先级、日志信息的输出目的地以及日志信息的输出格式。Log4j除了可以记录程序运行日志信息外还有一重要的功能就是用来显示调试信息。程序员经常会遇到脱离java ide环境调试程序的情况,这时大多数人会选择使用System.out.println语句输出某个变

2012-09-05 15:05:27 1267

转载 学习maven的系列教程(正)

基础概念:http://www.mkyong.com/tutorials/maven-tutorials/maven+eclipse安装:http://liukai.iteye.com/blog/972914 eclipse 实战 spring 项目:http://www.cnblogs.com/fangjins/archive/2012/05/06/24854

2012-09-03 10:39:08 1607

维特比算法解决经典隐马尔科夫链问题的思路

https://blog.csdn.net/Kaiwii 中 《牛刀小试利使用Python利用维特比算法解决经典隐马尔科夫链问题》一文对应的维特比算法解决经典隐马尔科夫链问题的思路部分。

2018-07-11

AsyncTask使用实例(ADT工程)

通过一个ProgressBar来介绍AsyncTask使用实例(含有介绍)

2014-03-19

支持ADK开发的Arduino开发IDE(1)

能够支持Android ADK开发的Arduino开发环境。基于Arduino 0023,已经添加该IDE兼容的ADK工具包。能够直接使用的。

2013-05-18

JVM抽象架构​

JVM抽象架构​(描述jvm基本结构):包括几个模块之间的关系,有实例说明!

2012-10-23

十六进制转物理地址

介绍内存管理中,十六进制转物理地址。主要是计算机组成原理中的!

2012-09-27

在SAE平台上使用SSH(struts,spring,hibernate)

演示在新浪开发平台上,使用SSH框架构建网络应用

2012-08-17

android资源管理

介绍android资源管理的好课件!

2012-08-06

跟我一起写 Makefile

跟我一起写 Makefile,经典学习书写Makefile的资料

2012-07-22

jni权威指南中文版

如题所示,这个文档就是sun公司的jni权威指南的中文版,方便初学者快速学习jni知识!

2012-06-30

android源码下载需要使用的repo脚本

android源码下载需要使用的repo脚本

2012-04-10

华南理工大学研究生人工智能期末考试题纲整理文档

华南理工大学研究生人工智能期末考试题纲整理文档

2011-12-16

nutch入门经典翻译1:Introduction to Nutch, Part 1: Crawling

nutch入门经典翻译1:Introduction to Nutch, Part 1: Crawling

2011-08-20

SH(struts2+Hibernate 3)简单实现注册模块

简单使用struts2,Hibernate 3实现注册模块 另外使用token方式防止表单重复提交 使用hbm2ddl.auto,透过pojo产生数据库表

2011-05-02

空空如也

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

TA关注的人

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