
java
diu_brother
阿里巴巴集团 javacoder
展开
-
使用javamail收发邮件
javamail,邮件转载 2015-09-08 10:07:01 · 513 阅读 · 0 评论 -
java 实现图的宽度优先遍历
与Graph相关的问题主要集中在深度优先搜索和宽度优先搜索。深度优先搜索非常简单,你可以从根节点开始循环整个邻居节点。下面是一个非常简单的宽度优先搜索例子,核心是用队列去存储节点。 代码如下:package sort;//第一步,定义一个GraphNodeclass GraphNode{ int val; Grap原创 2016-03-14 17:18:19 · 1455 阅读 · 3 评论 -
java 爬虫使用Bloom Filter 算法实现Visited表
在生活中,包括在设计计算机软件时,经常要判断一个元素是否在一个集合中,最直接的办法就是将全部元素都存在计算机中,遇到一个新元素,将它与集合中的元素比较即可。一般来讲,计算机中的集合是使用哈希表来存储的。它的好处是快速而准确,缺点是费存储空间。当集合比较小时,这个问题不显著,但当集合非常巨大时,哈希表存储效率低的问题就体现出来了。 一种称为布隆过滤器的数学工具,它只需要哈希表的1/8到1/4的大小就原创 2016-03-13 18:42:29 · 1230 阅读 · 0 评论 -
java实现MD5加密
在java中,java.security.MessageDigest中已经定义了MD5的计算,只需要简单调用即可得到MD5的128位整数,然后将此128位整数转化为16进制即可。直接上代码:package net.csdn.diu_brother;import java.security.MessageDigest;public class MD5 { public static Strin原创 2016-03-13 16:09:18 · 544 阅读 · 0 评论 -
java 多线程实现生产者消费者模型
1、在线程操作中有一个经典的案例程序,即生产者和消费者问题,生产者不断生产,消费者不断取走生产者生产的产品。程序的基本实现如下:package Thread;/** * 信息类 */class Info { private String name = "张三"; private String content = "产品经理"; public String getName原创 2016-03-12 00:27:33 · 1122 阅读 · 0 评论 -
java 实现文件复制demo
1、先说一下java字节流和字符流的区别。 java字节流主要操作byte类型数据,以byte数组为准,主要操作类是OutputStream和InputStream类。所有与字节操作有关的子类都是直接或者间接继承这两个类。 在java程序中一个字符等于两个字节,那么java提供了Reader和Writer两个专门操作字符流的类。 实际上字节流在操作时本身不会用到缓冲区(内存),是文件本原创 2016-03-10 19:26:07 · 732 阅读 · 0 评论 -
java实现观察者模式
本文是针对房价变动的观察者模式实现,使用java写了一个简单的demo,直接上代码package observer;import java.util.Observable;import java.util.Observer;class House extends Observable{ private float price; public House(float price){原创 2016-03-10 17:36:54 · 478 阅读 · 0 评论 -
JAVA的动态代理
JAVA的动态代理 代理模式 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务。 按照代理的创建时期,代理类可以分为两转载 2016-03-10 15:40:19 · 287 阅读 · 0 评论 -
java内存模型
1. 概述 多任务和高并发是衡量一台计算机处理器的能力重要指标之一。一般衡量一个服务器性能的高低好坏,使用每秒事务处理数(Transactions Per Second,TPS)这个指标比较能说明问题,它代表着一秒内服务器平均能响应的请求数,而TPS值与程序的并发能力有着非常密切的关系。在讨论Java内存模型和线程之前,先简单介绍一下硬件的效率与一致性。2.硬件的效率与一致性 由于计算机的转载 2016-03-07 15:49:25 · 395 阅读 · 0 评论 -
java实现二叉树的构建和遍历
手写一个java实现二叉树的算法以及用先序、中序、后序以及层序遍历二叉树的方法package Tree;import java.util.LinkedList;import java.util.Queue;class Node { public int data; public Node left; public Node right; public Node(int原创 2016-03-06 12:26:46 · 466 阅读 · 0 评论 -
java.util.Queue用法
队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。在队列这种数据结构中,最先插入的元素将是最先被删除的元素;反之最后插入的元素将是最后被删除的元素,因此队列又称为“先进先出”(FIFO—first in first out)的线性表。在java5中新增加了jav转载 2016-03-06 12:16:52 · 310 阅读 · 0 评论 -
Arrays.copyof()
在 进阶的数组观念 中,我们谈到了数组复制,您可以使用System.arraycopy()方法来进行数组复制:int[] arr1 = {1, 2, 3, 4, 5}; int[] arr2 = new int[5];System.arraycopy(arr1, 0, arr2, 0, arr1.length);这个方式必须明确自行新建立一个数组对象。在JDK 6中,Arrays 类别 新增了c转载 2016-03-02 16:01:35 · 701 阅读 · 0 评论 -
原码、反码、补码
计算机原码、反码、补码的计算转载 2015-09-25 11:19:24 · 351 阅读 · 0 评论 -
jdk源码阅读——ArrayList 、LinkedList 和 Vector 的区别分析
1、初始化:提供了有参和无参构造方法,有参数的构造方法支持传入初始长度和Collection集合。可以看出ArrayList 是对象数组。有参的构造方法初始化了数组的长度,对象数组默认的初始长度是10;private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {};private static final int DEFAU...原创 2018-05-16 17:30:01 · 326 阅读 · 0 评论