下载地址:http://pan.baidu.com/s/1i4pMZ9z 密码:v9ra 算法分析与设计Java版,是一套实用型算法课程。通过本课程的学习,学员可以掌握以下技术点:线性结构与顺序表、单向链表、循环链表、栈的基本概念、链式堆栈、中缀表达式、队列、链式队列、串、MyString、Brute-Force算法、MySet类实现、矩阵类、递归算法、哈夫曼树、希尔排序、HashTable算法等内容。第一讲、算法基本概述、抽象数据类型第二讲、算法的设计目标、时间复杂度...
问题(1)TreeSet真的是使用TreeMap来存储元素的吗?(2)TreeSet是有序的吗?(3)TreeSet和LinkedHashSet有何不同?简介TreeSet底层是采用TreeMap实现的一种Set,所以它是有序的,同样也是非线程安全的。源码分析经过前面我们学习HashSet和LinkedHashSet,基本上已经掌握了Set实现的套路了。所以,也不废话了,直接上源码:package java.util;// TreeSet实现了NavigableSet接口,所以它是有序的
public class TreeSet<E> extends...
java八大经典算法:冒泡、选择、快速、插入、希尔、堆、归并、基数1.算法实现类package com.algorithm;/*** * @Title: BubbleSort.java* @Copyright: Copyright (c) 2005* @Description: <br>* <br>* JAVA六大经典算法<br>* 冒泡、选择、快速、插入、希尔、堆* @Created on 2015年6月29日 下午12:48:14* @author yangkai*/
public class AlgorithmClassic {/*** 冒泡排序* * @return*/public static i...
问题:错误原因: 由于liunx 分配的客户端连接端口用尽,无法建立socket连接所致,虽然socket正常关闭,但是端口不是立即释放,而是处于 TIME_WAIT 状态,默认等待60s后释放。查看liunx支持的客户端连接端口范围,也就是 28232 个端口。 cat /proc/sys/net/ipv4/ip_local_port_range32768 - 61000解决方法:1. 调低端口释放后的等待时间,默认为60s,修改为15~30s。echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout2. 修改 tcp/ip 协议...
开发中多次碰到了tolist方法阻塞住的问题。一直为了赶进度,避开使用该操作符号。直到有一天发现flatmap中的 observable.from()也会阻塞。排查原因才发现是 onComplete()方法没有调用的原因。根据rxjava的链式调用原理,有从下到上一步步传递回调函数,在从上到下逐步执行的过程。而该过程中有的步骤执行需要等待oncomplete调用。 Rxjava 执行阻塞的原因分析 tolist() observable.from()等。原文:http://www.cnblogs.com/ep...
一 参考博文java中无符号类型的解决方案二 java中的无符号数和有符号数三 数字类型转换中的符号处理四 Java中byte转换int时与0xff进行与运算的原因原文:https://www.cnblogs.com/houzheng/p/12259759.html
一,官方描述 一个基于连接节点的无界线程安全队列。这个队列的顺序是先进先出。队列头部的元素是留在队列中时间最长的,队列尾部的元素是留在队列中时间最短的。新元素被插入到元素的尾部,队列从队列的头部检索元素。当许多线程共享访问同一个集合时,这个类是不二选择。这个队列不允许有null元素。 这个实现基于一种被描述为简单,快速,实用的非阻塞和阻塞公布队列算法而提供的一种有效的空闲等待算法。 注意,不像大...
JAVAScript 有三部分构成,ECMAScript,DOM和BOM,根据浏览器的不同,具体的表现形式也不尽相同。我们今天来谈一谈DOM和BOM这俩者之间的差异。用百科上的来说:1. DOM是 W3C 的标准; [所有浏览器公共遵守的标准]2. BOM 是 各个浏览器厂商根据 DOM在各自浏览器上的实现;[表现为不同浏览器定义有差别,实现方式不同]3. window 是 BOM 对象,而非 js 对象;DOM(文档对象模型)是 HTML 和 XML 的应用程序接口(API)。BOM 主要处理浏览...
Java NIO原理图文分析及代码实现 前言: 最近在分析hadoop的RPC(Remote Procedure Call Protocol ,远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。可以参考:http://baike.baidu.com/view/32726.htm )机制时,发现hadoop的RPC机制的实现主要用到了两个技术:动态代理(动态代理可以参考博客:http://weixiaolu.iteye.com/blog/1477774 )和java NIO。为了能够正确地分析hadoop的...
几个要点LinkedList的底层数据结构是双向链表;LinkedList继承于AbstractSequentialList的双向链表,实现List接口,因此也可以对其进行队列操作,它也实现了Deque接口,所以LinkedList也可当做双端队列使用;LinkedList是非同步的;和 ArrayList 一样,LinkedList 也支持空值和重复值;LinkedList 存储元素的节点需要额外的空间存储前驱和后继的引用;LinkedList 在链表头部和尾部插入效率比较高,但在指定位置进行插入时,效率一般...
IO是当今Web面临的主要问题之一,可以说,大部分web应用的瓶颈都是IO的瓶颈。Java的IO类是java.io.它包含有80多个类,分为4大部分:基于字节操作: InputStream,OutputStream基于字符操作: Writer 和Reader基于磁盘操作: File基于网络操作: Socket 一、基于字符的IO操作不管是网络传输还是磁盘,最小的存储单元都是字节,而不是字符,那为什么还有字符的处理呢?这是因为我们程序中操作的单位一般都是字符,而不是字节,而将字符...
今天在程序中出现一个bugger ,调试了好久,最后才发现,原来是这个问题。做了一个实验:alert(parseInt("01")),当这个里面的值为01====》07时都是正常的,但是在"08","09"就会返回0(这种现象出现在ie内核的浏览器中,如360浏览器就会出现这种错误)(谷歌,火狐不受影响)。查阅资料得知着这种现象原因:大神的解释:01--07自然没有问题,但是09,08都是不合格的八进制形式,所以被按照0处理了。为了解决这个问题,可以利用parseInt函...
单例模式定义
单例模式(Singleton),也叫单子模式,是一种常用的软件设计模式。在应用这个模式时,单例对象的类必须保证只有一个实例存在。单例模式的作用许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为方便管理,也使系统资源占用率大大降低,也可以提高公共资源载入速度。应用场景比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取,然后服务进...
一、应用程序直接获取数据库连接的缺点 用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长。假设网站一天10万访问量,数据库服务器就需要创建10万次连接,极大的浪费数据库的资源,并且极易造成数据库服务器内存溢出、拓机。如下图所示:二、使用数据库连接池优化程序性能2.1、数据库连接池的基本概念 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序...
相信我们在面试Java的时候总会有一些公司要做笔试题目的,而Java类的加载和对象创建流程的知识点也是常见的题目之一。接下来通过实例详细的分析一下:package com.test;public class Parent { int a = 10; static int b =11; //静态代码块 static { System.out.println("parent静态代码块:b=" + b); b++; } //代码块 { System.out.println("Parent代码块:a=" + a); System.out...