暂无个人介绍
1.完全二叉树 完全二叉树由于其结构上的特点,通常采用顺序存储方式存储。一棵有n个结点的完全二叉树的所有结点从1到n编号,就得到结点的一个线性系列。 如下图:完全二叉树除最下面一层外,各层都被结点充满了,每一层结点的个数恰好是上一层结点个数的2倍,因此通过一个结点的编号就可以推知它的双亲结点及左,右孩子结点的编号: ① 当 2i ≤ n 时,结点 i 的左孩子是 2i,否则结
《JAVA与模式》之观察者模式 在阎宏博士的《JAVA与模式》一书中开头是这样描述观察者(Observer)模式的: 观察者模式是对象的行为模式,又叫发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。 观察者模式定义了一种一对多的依赖关系,让多个观察者对
锁提供了两种主要特性:互斥(mutual exclusion) 和可见性(visibility)。互斥即一次只允许一个线程持有某个特定的锁,因此可使用该特性实现对共享数据的协调访问协议,这样,一次就只有一个线程能够使用该共享数据。可见性要更加复杂一些,它必须确保释放锁之前对共享数据做出的更改对于随后获得该锁的另一个线程是可见的 —— 如果没有同步机制提供的这种可见性保证,线程看到的共享变量可能
上几张图 常量池(constant pool)指的是在编译期被确定,并被保存在已编译的.class文件中的一些数据。它包括了关于类、方法、接口等中的常量,也包括字符串常量。 String.intern(): 存在于.class文件中的常量池,在运行期被JVM装载,并且可以扩充。String的intern()方法就是扩充常量池的一个方法;当一个String实例str调用inte
在WINDOWS中,程序员想让系统DLL调用自己编写的一个方法,于是利用DLL当中回调函数(CALLBACK)的接口来编写程序,使它调用,这个就称为回调。 在Java里面,我们使用接口来实现回调。 所谓的回调,就是程序员A写了一段程序(程序a),其中预留有回调函数接口,并封装好了该程序。程序员B要让a调用自己的程序b中的一个方法,于是,他通过a中的接口回调自己b中的方法
控制反转一般分为两种类型,依赖注入(Dependency Injection,简称DI)和依赖查找(Dependency Lookup)。依赖注入应用比较广泛。 控制反转(IOC)模式(又称DI:Dependency Injection)就是Inversion of Control,控制反转。在Java开发中,IoC意 味着将你设计好的类交给系统(一般是容器)去控制,而不是在你的类内部控制。这
library(randomForest) data(iris) set.seed(100) ind<-sample(2,nrow(iris),replace=TRUE,prob=c(0.7,0.3))#对数据分成两部分,70%训练数据,30%检测数据/ traindata<-iris[ind==1,] testdata<- iris[ind==2,] iris.rf=
前提安装好mysql数据库以及centos系统自带的Apache服务器 1.准备所需的依赖包 sudo yum install httpd mod_ssl mysql-server mysql php-mysql gcc perl* mod_perl-devel 2.下载并配置Bugzilla wget http://ftp.mozilla.org/pub/mozilla.org/webto
一、head ,get,post请求方式主要区别 head只要求服务器返回HTTP响应消息的头字段 首先是"GET方式提交的数据最多只能是1024字节",因为GET是通过URL提交数据,那么GET可提交的数据量就跟URL的长度有直接关系 了。而实际上,URL不存在参数上限的问题,HTTP协议规范没有对URL长度进行限制。这个限制是特定的浏览器及服务器对它的限制。IE对URL长度的 限制是20
Java代码初始化顺序: 1.由 static 关键字修饰的(如:类变量(静态变量)、静态代码块)将在类被初始化创建实例对象之前被初始化,而且是按顺序从上到下依次被执行。静态(类变量、静态代码块)属于类本身,不依赖于类的实例。 2.没有 static 关键字修饰的(如:实例变量(非静态变量)、非静态代码块)初始化实际上是会被提取到类的构造器中被执行的,但是会比类构造器中的代码
Hibernate生命周期会经历三种不同的状态: 1.Transient(瞬态):实体对象在内存是自由存在的,即与数据库中的数据没有任何关系.换句话说就是:该实体从未与任何持久化上下文关联过,它没有持久化标识.例如: //创建一个Transient对象 User user=new User(); user.setName("username"); user.set
使用到的工具: 1.dex2jar 它可以把apk里面的dex文件转换成jar文件 2.jd-gui 它可以把jar文件或class文件反编译成java文件 3.apktool 它可以拿到apk里面的资源文件 大家也可以到百度网盘下载我已打包好的APK反编译工具包 链接:http://pan.baidu.com/s/1c00cAM8 密码:sp43 1.获取代码文件 首先解压APK
一、hook简单介绍 为了方便管理员控制提交的过程 ,Subversion提供了hook机制。当特定的 事件发生时,相应的 hook会被调用,hook其实就相当于特定事件的处理函数。每个hook会得到与它所处理的事件相关的参数,根据 hook的返回值,Subversion会决定是否继续当前的提交过程 要实际安装一个可用的钩子,你需要在 repos/hooks目录下安装一些与钩子
一、准备工作:配置固定IP 命令行下输入ipconfig /all,记下ip ,submask ,gateway 和dns,再在相应网卡的tcp/ip协议里输入就行了。 二、建立版本库(Repository) svnadmin create F:\svn\ 你会看到该目录下新建了一堆文件和文件夹。 删除版本库的做法是:直接到Repository目录下删除相应的版本库文件夹 三、启动SV
服务器端VISUALSVN SERVER 3.3.1 下载地址 https://www.visualsvn.com/server/download/ 客户端TortoiseSVN 1.8.13下载地址: https://www.visualsvn.com/visualsvn/download/tortoisesvn/ 1.安装服务器端程序 选择服务器和管理界面都安装 选择安装路
相关博文; http://blog.sina.com.cn/s/blog_61e4a9dd0101j3l9.html 将配置文件夹下的tomcat-users.xml文件内容 替换为位下面的配置 <?xml version='1.0' encoding='utf-8'?> <tomcat-users> <role rolename="tomca
原文链接: http://www.cnblogs.com/pepcod/archive/2013/02/11/2937403.html android生命周期(详细总结) http://blog.csdn.net/ican87/article/details/21874447 andridod的四大组件(详细总结) http://blog.csdn.net/ican87/article
一、定义 无状态服务(stateless service)对单次请求的处理,不依赖其他请求,也就是说,处理一次请求所需的全部信息,要么都包含在这个请求里,要么可以从外部获取到(比如说数据库),服务器本身不存储任何信息 有状态服务(stateful service)则相反,它会在自身保存一些数据,先后的请求是有关联的 二、优劣 有状态服务常常用于实现事务(并不是唯一办法,下文有另外的方案)。举一
java compiler level does not match the version of the installed java project facet错误的解决 因工作的关系,Eclipse开发的Java项目拷来拷去,有时候会报一个很奇怪的错误。明明源码一模一样,为什么项目复制到另一台机器上,就会报“java compiler level does not match the v
maven 构建项目时,可能会引用到一些公司的其他项目。或引用的jar 包在maven 主仓库加载不到。 这时我们可以将我们需要的jar 包安装到本地仓库中。方法如下。 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-su
真正解决了服务器重启客户端无法连接的bug android端修改XmppManager这个类 package org.androidpn.client; import java.util.ArrayList; import java.util.List; import java.util.UUID; import java.util.concurrent.Future; import org
Host * is not allowed to connect to this MySQL server 登录命令:mysql -uroot -proot select user,host,password from mysql.user;
格式定义: <context-param> <param-name>contextConfigLocation</param-name> <param-value>contextConfigLocationValue></param-value> </context-param> <c
在项目中总会遇到一些关于加载的优先级问题,近期也同样遇到过类似的,所以自己查找资料总结了下,下面有些是转载其他人的,毕竟人家写的不错,自己也就不重复造轮子了,只是略加点了自己的修饰。 首先可以肯定的是,加载顺序与它们在 web.xml 文件中的先后顺序无关。即不会因为 filter 写在 listener 的前面而会先加载 filter。最终得出的结论是:listener -&
看上去,workspace 类似于VS里的解决方案,而working set则像VS里的解决方案文件夹,是个逻辑概念。 VS里的解决方案是个文件,而eclipse里的workspace,则是一个真实存在的文件夹。 另外,VS里的解决方案文件夹,隶属于解决方案;但在eclipse里,workspace 和 working set 是两个不同的视图。 当workspace项目很多的时候,可以建立w
项目中引入andriod supoort库实现向下兼容 android api向来是高版本兼容低版本,如api-8(android2.2)必会兼容api-4(android 1.6)但是反之则不会,你使用2.2的平台版本build了一个apk,若想能在1.6上运行,则需要做向下兼容。android support是google官方的向下兼容包。 具体引入兼容包步骤 方法1:右击项目→选择A
今天调试andriod程序时,启动不起来后来看了logcat日志, 05-19 02:45:32.910: E/AndroidRuntime(2206): java.lang.NoClassDefFoundError: org.androidpn.client.PersistentConnectionListener 报了这个错误,网上寻求解决方案发现原来是ADT版本的问题 高版本的ADT只
Intel HAXM (Hardware Accelerated Execution Manager) 使用基于 Intel(R) Virtualization Technology (VT) 的硬件加速, 因此需要 CPU 支持 VT , 而且仅限于 Intel CPU, 与 AMD CPU 无缘, Intel HAXM 的描述如下: 使用 Intel VT 技术; 为 Android x
下载安装包并解压,cd到apache-tomcat-7.0.62\bin目录下 执行 service.bat install命令安装windows服务 命令行输入services.msc就可看到安装的tomcat服务 service remove tomcat7 移除服务,移除后单击tomcat7w.exe报错指定的服务未安装 startup 启动服务器 shutdown 关闭服务
新建一个visual C ++ ->win32项目 点击生成->配置管理器新建一个64位debug位平台 hello.cpp程序代码如下: #include "stdafx.h" #include "jni.h" #include "com_magc_jni_HelloWorld.h" JNIEXPORT void JNICALL Java_com_magc_jni_H
1.何为JNI? JNI是JAVA标准平台中的一个重要功能,它弥补了JAVA的与平台无关这一重大优点的不足,在JAVA实现跨平台的同时,也能与其它语言(如C、C++)的动态库进行交互,给其它语言发挥优势的机会。有了JAVA标准平台的支持,使JNI模式更加易于实现和使用 这里不再赘述,附上别人总结的图: 原图链接:http://www.cnblogs.com/mandroid/archive/
当我们使用adb命令操作手机的时候经常会报错 这个错误一般是adb的端口(5037)被占用,造成adb server无法启动,解决问题的思路就是查看是哪个程序占用了adb调试端口,然后结束掉它就行。 查找哪个进程占用了5037端口 netstat -aon|findstr "5037" 2.结束对应进程 可以看到PID为12500的程序占用了5037端口,打开任务管理
1、设置android手机为USB调试模式 打开手机里面的开发者选项->USB调试 2、通过eclipse上真机测试 没用真机时,用eclipse开发android程序都是点run,然后选择模拟器的。安装好手机的usb驱动后,还是点run,程序就会神奇的在真机上运行了,效果与在模拟器中的一样,而且速度比用模拟器块很多。 如果还是在模拟器上运行,右键->run as->
初学者非常容易混淆eclipse.ini文件的作用,这个文件 是 eclipse 软件的 配置文件,配置了eclipse 启动,eclipse是用Java写的,只不过用的IBM自己的SWT (Standard Widget Toolkit是一个开源的GUI编程框架,与AWT/Swing有相似的用处而已),这里设置的最小内存和最大内存是留给启动eclipse程序的那个虚拟机使用的
VisualVM 是一款免费的\集成了多个JDK 命令行工具的可视化工具,它能为您提供强大的分析能力,对 Java 应用程序做性能分析和调优。这些功能包括生成和分析海量数据、跟踪内存泄漏、监控垃圾回收器、执行内存和 CPU 分析,同时它还支持在 MBeans 上进行浏览和操作。 在内存分析上,Java VisualVM的最大好处是可通过安装Visual GC插件来分析GC(Gabage Col
概念 1、时间复杂度 (1)时间频度 一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就可以了。并且一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。一个算法中的语句执行次数称为语句频度或时间频度, 记为T(n)。
下面说说JAVA API 提供的这些类的功能和他们之间有什么样的联系。 1.HBaseConfiguration 关系:org.apache.hadoop.hbase.HBaseConfiguration 作用:通过此类可以对HBase进行配置 用法实例: Configuration config = HBaseConfiguration.create(); 说明: HBaseConf
网上类似的例子很多. 1.一个很懒的方法 2、文本编辑器中正则表达式替换 (一)一种情况是行号后带. 输入^[0-9]+[.] 或者输入 ([0-9][0-9])/.|[0-9]/. (二)第二种情况是行号数字后带空格,用ultraEdit的替换功能。正则表达式 %[ 1-9][0-9] 。注意:[ 1-9]中[后有空格,[0-9]后也有空格 三、vs环境中支持块选,使用al
进入快捷键设置界面: 这个功能名叫:Toggle Block Selection 默认快捷键是:Alt + Shift + A 按下快捷键,鼠标即变成十字形状,同时字体变小,就可以选择BLOCK了; 操作完成后再按下快捷键,退出块选模式。 Ctrl+1 快速修复 当eclipse编辑器在你编辑代码阶段,能检测到编辑时异常(错误)会在错误代码行前面出现一个红色的叉叉,这时按
1 问题描述和原因分析 从cloudera manager界面进入Oozie的web界面的时候出现下面的错误 原因是oozie的/var/lib/oozie目录里缺少EXT的包 点击Documentation链接里quickstart给出了解决方案 其中特别需要注意的一点是Ext包必须是2.2版本的,高了或低了都不行 因为tomcat服务器目录下的软链接ext-2.2是指向/var/l
1.dependencyManagement 应用场景 Maven 使用dependencyManagement 元素来提供了一种管理依赖版本号的方式,通常会在一个组织或者项目的最顶层的POM中看到dependencyManagement 元素,在pom.xml 中使用dependencyManagement 元素能让所有子项目中引用一个依赖而不用显式的列出版本号。Maven
首先去Apache的官网下载hbase1.0.1的源码包 由于源码包是用maven管理,需要安装maven 1.安装MAVEN 下载安装包 解压文件,Maven需要JDK的支持,配置JAVA_HOME和Path环境变量, 命令行输入 mvn -version,如下图所示表示安装成功 2.配置本地仓库路径 打开...\apache-maven-3.3.3\conf目录下的settin
library(RColorBrewer) display.brewer.all() #显示所有可用颜色 显示其中一组颜色中的7种颜色 brewer.pal(7,"YlOrRd") [1] "#FFFFB2" "#FED976" "#FEB24C" "#FD8D3C" [5] "#FC4E2A" "#E31A1C" "#B10026" display.brewer.pal(7,"YlOr
首先载入颜色扩展包RColorBrewer,具体使用方法可参见下面两篇文章http://book.2cto.com/201408/45552.html,http://tianxingzhe.blog.51cto.com/3390077/1641199 library(RColorBrewer) 本文以hadoop集群wordcount程序的输出结果为数据源 数据的整理代码如下 x=re
* 垃圾回收器 * 1. Serial Garbage Collector * * 2. Parallel Garbage Collector(默认垃圾回收器) * * 3. CMS Garbage Collector * -XX:+UseConcMarkSweepGC 开启CMS垃圾回收器 * -X
查看僵死进程 ps -A -o stat,ppid,pid,cmd | grep -e '^[Zz]' linux 前一个命令的结果作为后面命令的参数 1-----使用xargs jps |grep AllContentDeltaSync|awk '{print $1}'|xargs jstack -l 2----使用``jstack -l `jps |grep AllCon
jQuery默认使用"$"操作符,prototype等其他框架也是是使用"$",于是,如果jQuery在其他库之后引入,那么jQuery将获得"$"使用权。 这样的情况也很容易理解,毕竟JS是从上到下流式执行的。同样的道理,如果在其他使用"$"的库之前引入jQuery,那么jQuery将不会占用"$"。 如果想使jQuery让出"$",只需要使用下面的语句: jQuery.noC
<script type='text/javascript' src='../scripts/lib/require.js' data-main='../scripts/main.js'></script> 首页index.html只需要引入requireJs库文件,并且指明入口函数main.js(data-main),它一般用来对requirejs进行配置,
ctrl +g 快速定位到行 相当于eclipse ctrl +l ctrl +r 快速定位到方法 ctrl +shift + f 查找结果单独一个页 ctrl +alt + a qq下颜色和截图快捷键
一个常见的误解是以为session在有客户端访问时就被创建 然而事实是直到某server端程序调用 HttpServletRequest.getSession(true)这样的语句时才被创建。 注意!!!!!!!! 如果JSP没有显示的使用 <%@ page session="false"%> 关闭session 则JSP文件在编译成Servlet时将会自动加上这样