自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (5)
  • 收藏
  • 关注

原创 java 中的 wait()方法和 sleep()方法的区别

sleep和wait的区别有: 1,这两个方法来自不同的类分别是Thread和Object 2,最主要是sleep方法没有释放锁,而wait方法释放了锁,使得敏感词线程可以使用同步控制块或者方法。 3,wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在 任何地方使用 synchronized(x){ x.no

2015-12-22 20:50:32 903

转载 JNI

JAVA基础之理解JNI原理JNI是JAVA标准平台中的一个重要功能,它弥补了JAVA的与平台无关这一重大优点的不足,在JAVA实现跨平台的同时,也能与其它语言(如C、C++)的动态库进行交互,给其它语言发挥优势的机会。有了JAVA标准平台的支持,使JNI模式更加易于实现和使用。在此总结了下面这个知识图:实例:环境说明:ubuntu 10.4.2 LTS系统程序清单1:

2015-12-21 22:38:19 197

转载 JSTL 核心标签库 使用

JSTL 核心标签库 使用JSTL 核心标签库标签共有13个,功能上分为4类:1.表达式控制标签:out、set、remove、catch2.流程控制标签:if、choose、when、otherwise3.循环标签:forEach、forTokens4.URL操作标签:import、url、redirect使用标签时,一定要在jsp

2015-12-21 19:49:46 196

转载 EL表达式详解

EL表达式详解在 JSP 页面中,使用标签库代替传统的 Java 片段语言来实现页面的显示逻辑已经不是新技术了,然而,由自定义标签很容易造成重复定义和非标准的实现。鉴于此,出现了 JSTL ( JSP Standard Tag Library )。大多数 JSP 页面逻辑提供了实现的 JSTL 技术,该技术本身就是一个标签库。Sun 公司 Java 规范标准的 JSTL 由 a

2015-12-21 19:43:54 195

转载 SQL 模糊查询

SQL 模糊查询在进行数据库查询时,有完整查询和模糊查询之分。一般模糊查询语句如下:SELECT 字段 FROM 表 WHERE 某字段 Like 条件其中关于条件,SQL提供了四种匹配模式:1,% :表示任意0个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示。比如 S

2015-12-21 17:36:09 250

原创 java封装

封装从字面上来理解就是包装的意思,专业点就是信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外接口使之与外部发生联系。系统的其他对象只能通过包裹在数据外面的已经授权的操作来与这个封装的对象进行交流和交互。也就是说用户是无需知道对象内部的细节(当然也无从知道),但可以通过该对象对外的提

2015-12-17 09:44:07 255

转载 java中volatile关键字和synchronized 的对比

java中volatile关键字的含义在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉。Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了 同步块 和 volatile 关键字机制。 synchronized 同步块大家都比较熟悉,通过 synchron

2015-12-17 09:42:48 305

原创 吸血鬼数字(一个4位数字,可以拆分2个2位数数字的乘积,顺序不限。)

首先介绍下吸血鬼数字的特性: 一个4位数字,可以拆分2个2位数数字的乘积,顺序不限。后面是两个0的不算,比如3000=50*60举例: *15*93=1395 21*60=1260 21*87=1827*代码实现import java.util.Arrays;/** * 一个4位数字,可以拆分2个2位数数字的乘积,顺序不限。 * 比如 1395 =15 * 93 */public cl

2015-12-16 21:28:18 826

转载 Java中super的几种用法并与this的区别

子类的构造函数如果要引用super的话,必须把super放在函数的首位. class Base { Base() { System.out.println(“Base”); } }public class Checket extends Base { Checket() { super();//调用父类的构造方法,一定要放在方法的首个语句

2015-12-16 17:44:27 229

原创 链表翻转非递归实现

通过dummy,current两个节点来实现非递归的实现,主要思路就是每次遍历一个节点,让current的节点首先指向之前的dummy节点,然后dummy节点再指向current节点,current节点继续向后遍历。//非递归 public ListNode1 ReverseListZcf(ListNode1 head) { if(head == null) return he

2015-12-16 17:08:03 295

原创 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。

两种办法: 其一:简单的转换成2进制数进行遍历 其二:通过与其差一位的数进行与运算,统计运算次数 原理:如果一个整数不为0,那么这个整数至少有一位是1。如果我们把这个整数减1,那么原来处在整数最右边的1就会变为0,原来在1后面的所有的0都会变成1(如果最右边的1后面还有0的话)。其余所有位将不会受到影响。 举个例子:一个二进制数1100,从右边数起第三位是处于最右边的一个1。减去1后

2015-12-15 22:19:38 1536

原创 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。

绝对最佳答案及分析:public class sumOf1 {public int NumberOf1(int n) {int result = 0;char[] s = Integer.toBinaryString(n).toCharArray();for (int i = 0; i if(s[i] == '1'){result++;}}

2015-12-15 22:17:39 336

转载 斐波那契数列算法分析

背景:假定你有一雄一雌一对刚出生的兔子,它们在长到一个月大小时开始交配,在第二月结束时,雌兔子产下另一对兔子,过了一个月后它们也开始繁殖,如此这般持续下去。每只雌兔在开始繁殖时每月都产下一对兔子,假定没有兔子死亡,在一年后总共会有多少对兔子?在一月底,最初的一对兔子交配,但是还只有1对兔子;在二月底,雌兔产下一对兔子,共有2对兔子;在三月底,最老的雌兔产下第二对兔子,共有3对兔子;在四月底

2015-12-15 21:46:33 332

原创 java获取文件编码实现

在不知道文件是什么编码的时候,怎么办 ?这个文件如果是从服务器中直接通过程序得到的,不知道其编码内容,该如何去得到其内容,让内容不是乱码public static String codeString(String fileName) throws Exception{        BufferedInputStream bin = new BufferedInputStr

2015-12-15 19:15:28 390

原创 基数排序 (Radix Sort)

算法原理 ——————————————————————————————————— 基数排序 (Radix Sort) 是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。 ———— 排序过程:将所有待比较数值(必须是正整数)统一为同样的数位长度,数位较短的数前面补零。然后,从最低位开始,依次进行一次排序;然后从桶中倒出所有数,完成一次排序;依次迭代到高位

2015-12-07 15:56:10 496

原创 计数排序

思路: 首先: 计算出待排序数组中最大值max与最小值min的差距,建立一个桶数组count; 其次: 用count数组的下标i来表示与最小值的差距,count[i]中来存待排序数组中有多少个与最小值的差距 最后: 我们知道count的下标i是表示与最小值的差距,所以说i+min就代表待排序数组中的原始值,count[i]表示统计原数组中与最小值差距为i的数目,所以可以根据这两点将count[

2015-12-01 19:18:56 331

原创 经典排序稳定性、时间空间复杂度分析

首先我们介绍下桶排序,桶排序主要包括计数排序和基数排序 计数排序采用桶排序的思想如下图: 基数排序: 首先根据个位数的大小将一组数放入0-9的桶排序中,然后从0-9号桶倒出所有的数;再次根据十位上的数,放入0-9号桶;直至最后到最高位的数进行放入0-9号桶,最后取出。经典排序算法的空间复杂度: O(1):插入排序、选择排序、冒泡排序、堆排序、希尔排序; O(logN)~O(N):快速排

2015-12-01 15:45:47 320

原创 希尔排序-shellSort java实现

希尔排序的实质就是分组插入排序,如何选取关键字,选取关键字是希尔排序的关键。 其实就是两步: <1>取步长,然后对每一个步长内的数字进行排序 <2>改变步长,重复步骤一 <3>直到步长为1public static int[] shellSort(int[] A,int n){ i

2015-12-01 11:21:13 395

原创 合并区间

合并区间 给定一个区间集合,合并里面重叠的区间,并返回新的不含重叠区间的集合。 例如,输入:[1,5],[6,10],[4,6],[15,20]。输出:[1,10],[15,20]public ArrayList<Interval> merge(ArrayList<Interval> intervals){ArrayList<Interval> res = new ArrayList<In

2015-12-01 09:15:07 428

原创 堆排序-java实现

堆排序主要的过程就是建立大顶堆或者小顶堆,然后调整堆,最后进行堆排序。 ①建堆,建堆是不断调整堆的过程,从len/2处开始调整,一直到第一个节点,此处len是堆中元素的个数。建堆的过程是线性的过程,从len/2到0处一直调用调整堆的过程,相当于o(h1)+o(h2)…+o(hlen/2) 其中h表示节点的深度,len/2表示节点的个数,这是一个求和的过程,结果是线性的O(n)。 ②调整堆:调整堆

2015-12-01 09:09:53 312

Java8.0_API.CHM

Java 8.0 API中文文档,java8.0版本最新官方中文API文档

2015-09-30

图像研究方面的一些标准图库

包括一些图像处理方面的标准图库,用于做实验

2015-06-10

JAVA API官方文档中文版

JAVA开发人员必备是CHM格式的,中文版,就是详细介绍java(j2se平台)系统包,类库的文档JavaTM 2 Platform Standard Edition 6API 规范 本文档是 Java 2 Platform Standard Edition 6.0 的 API 规范。

2015-05-08

java中的各种包

各种java中开发需要的jar包,这里全是集中数据库的

2012-11-06

空空如也

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

TA关注的人

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