- 浏览: 972064 次
- 性别:
- 来自: 重庆
最新评论
-
Carvendy许:
16/11/18 16:21:17 ERROR SparkDe ...
spark 笔记1 -- spark程序连接 -
谁说长得帅就不爷们:
什么情况下会有 p!=t ?
源码分析-ConcurrentLinkedQueue -
di1984HIT:
spring +ehcache 持久化数据,重启恢复 -
lc464297691:
给个我实现的代码,需要自己写一个类继承之~
public ab ...
JAVA数据库连接池实现 -
lc464297691:
100%发生死锁! if (isValid(conn)) ...
JAVA数据库连接池实现
文章列表
/**
* 插入排序 复杂度:N^2
* 原理:默认第一个元素为起始位置
从第二个元素开始向前比较,如果前一个元素小,则不移动位置,否则交换
一直重复比较,直到不再交换
* 比如:有a,b,c,d,e,f,g 士兵,然后a 站开始,让b 和a 比较,b>a 不变,b<a 交换
同理让c 和 b 比较,再和a 比较
* @author @Ran
*
*/
public class Insertion extends AbstractSort<Object>{
public & ...
/**
* 冒泡算法 复杂度:N^2
* 原理:相邻两个元素比较,大的一个后移
* 比如:站一排的士兵,从左第一个开始跟右边的比较,高就交换位置,然后左的第二个又与第三个比 较,类推 比如:水里面的气泡,大的肯定是浮水最快的 (见图)
*
* @author @Ran
*/
public class Bubble extends AbstractSort<Object> {
public <T extends Comparable<? super T>> T[] sort(T[] t) {
for (int ...
最近复习了下,基本算法,发现会写,但是在应用上还是不好,也就是说不知道在什么地方用什么武功最合适! 然后想写一个工具类,可以针对常用的东西进行排序,然后计算它们的效率问题:
1.首先我定义了一个接口:
/**
* 排序接口
* @author @Ran
*
*/
public interface Sort {
// 基本排序方法
public <T extends Comparable<? super T>> T[] sort(T[] t);
// 循环的次数
public long getCount();
// 操 ...
一、介绍
ArrayList 简单的说就是一个存放元素的集合,也是一个数组,只是提供了大量方便我们操作的方法, 比数组的优势就是不用我们手动维护了,相信大家用得比较多了,还是看代码吧!
二、源码介绍
2.1 类 ...
前面说了一下spring 代理,说的是JDK 的代理,这种代理方式只能通过接口代理,cglib 可以通过类代理,下面是代码:
// 承接上面的,假设我们要为上学这个业务,添加额外的功能,这里直接实用类
// 目标类
public class ServiceI ...
LinkedHashMap 源码介绍
一、介绍:
LinkedHashMap 和hashMap 功能类似,都是维护的键值对集合,连遍历 以及方法都类似,唯一的区别在于
hashMap 里面的元素是根据hash值来决定存放位置的,是无序的,而LinkedHashMap 维护的是一个按顺序存放的双向链表,是有序的。
所谓的双向链表其实是链表的一种。链表:相当于元素 A->B->C ,也就是我可以通过A 找到B ,从而找到C,可以单向移动。而双向链表:A<->B<->C ,也就是说我可以从B 找到 A 和 C,可以双向移动。 ...
一、HashMap介绍:
上面一篇介绍了hashTable,这里HashMap的作用就不多啰嗦了。HashMap 实现的功能和hashTable 差不多,具体实现和功能我们从源码进行分析。
二、源码分析:
2.1 类实现:
public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable{...}
这里我们可以看到继承了 AbstractMap<K,V&g ...
一、介绍
Hashtable 是早期实现的一个哈希存储方式的类,也就是键值对(key-value)的存放方式。实际上市键值对 和 链表的组合,相对同步安全的。
特点:
1.是key-value 方式存放的,并且是无序存放的
2.线程安全的,性能较低
3.key 不允许重复,否者会覆盖数据
4.key 不能为null,否者会空指针异常,
二、源码解析
public class Hashtable<K,V> extends Di ...
Stack 介绍:
其实Stack 还真没啥好介绍的,主要的知道一点:(LIFO)后进先出 就行了。这东西是线性表(感觉是数据按直线方式存放)一种。直接看源码吧,很简单。
public
class Stack<E> extends Vector<E> {
public Stack() {
}
public E push(E item) {
addElement(item);
return item;
}
public synchronized E p ...
一.介绍
Vector 本质是一个数组,当然他具有数组的通过下标访问等特性,同时这玩意儿继承了 AbstractList 。当然他具有了集合的通用功能,同时他实现了 List,RandomAccess,Cloneable ,Sertializable 接口。
这里大概提一下RandomAccess 和 Cloneable 。
1.1
感谢:http://blog.csdn.net/qiushyfm/article/details/4464512
加密算法有很多种:这里只大约列举几例:
1:消息摘要:(数字指纹):既对一个任意长度的一个数据块进行计算,产生一个唯一指纹。MD5/SHA1发送给其他人你的信息和摘要 ...
WebService 相信很多人都用过,没用过肯定也听过。这里依然用通俗的语言大概介绍:
一、WebService 是什么?
它是一种远程访问的技术,是跨平台的,跨语言的,可用xml将各个系统信息进行交流的一直技术。
1.1 WebService 远程访问,是通过http等协议实现的
1.2 跨平台,是服务器是用JAVA 写,JAVA 在JVM 执行,JVM 是跨平台的
1.3 跨语言,各个语言之间信息传输是通过xml 形式,各个语言都识别xml 的格式标准
二、实现过程
这里实现要提到另一种协议:SOAP(htt ...
观察者模式,老生常谈的问题了,相信大家都有所了解,这里用通俗的语言简单介绍一下!
概念:
顾名思义,"观察者" 存在,必然存在被观察者。JAVA 里面我们统称为对象。简单的说:比如
1.你参加高考,肯定会有监考老师,那么老师就是观察者,你就是被观察者。
2.当然观察者可以不只一个,可以存在多个观察者,同理被观察者也可以是多个,也就是多个老师观察多个学生。
3.老师肯定会观察你的考试是否存在zuobi行为,一旦发现任何zuobi行为,有的老师没收你的试卷,
有的老师可能去上报,也就是说观察者会根据你的行为采取不同的措施,来共同处理你z ...
oracle 存储过程(procedure):
一、介绍
存储过程,简单的认为就是SQL + 一些简单逻辑 的综合体。
这里大概记录一下优点:
1.复杂业务(同时对多张表进行CRUD操作),我们如果执行多条SQL,可能会有多个连接。过程可以放在一个事务里面,时间快
2.程序处理的业务,有可能会出现无法预判的BUG ,而过程只要数据没错,就不容易出错,安全性高
3.利用数据内置的操作,数据与数据的交互会更加快捷。
4.创建的时候就已经编译了,传入SQL执行,有些会执行一次编译一次,执行效率就高了。
5.可以重复使用,并行开发,分布测试 ...
今天群里问了一个面试题,这里记录一下,欢迎指点,提出更优方案:
题目:
输入一个数值,求出这个数值所包含的相邻数的和等于这个数值的全部数,并且全部输出 例:输入数 15
输出:15=1+2+3+4+5
15=4+5+6
15=7+8 求思路
public static void countNum( int num){
int rs = 0;
for(int i=1,j=1;i<=(num/2)+1;i++){
if(rs<num){
rs += i;
}
if(rs & ...