JAVA
文章平均质量分 76
Fernando的十年
大数据,信息检索,云计算,在读研究生。
展开
-
Collections.sort 用法 比较器comparator
import java.util.Comparator;public class SortList implements Comparator{//比较器public int compare(Object o1,Object o2){NewsValueContainer nvc1 = (NewsValueContainer)o1;NewsValueContain原创 2014-07-18 16:55:03 · 1260 阅读 · 0 评论 -
Java Transient 关键字
Java的serialization提供了一种持久化对象实例的机制。当持久化对象时,可能有一个特殊的对象数据成员,我们不想 用serialization机制来保存它。为了在一个特定对象的一个域上关闭serialization,可以在这个域前加上关键字transient。 transient是Java语言的关键字,用来表示一个域不是该对象串行化的一部分。当一个对象被串行化的时候,原创 2015-06-23 10:34:28 · 335 阅读 · 0 评论 -
Java单例模式几种写法
/** * * @author Fernando * 饿汉式单例 */public class Singleton { private static Singleton ins = new Singleton(); private Singleton(){} public static Singleton getInstance(){ ret原创 2015-05-29 12:19:55 · 410 阅读 · 0 评论 -
Java 反射机制
java反射机制原创 2015-06-05 09:25:10 · 1422 阅读 · 0 评论 -
Java习惯用法(上)
参考自:ImportNew。实现equals()class Person { String name; int birthYear; byte[] raw; public boolean equals(Object obj) { if (!obj instanceof Person) return false; Person othe原创 2015-05-24 09:33:34 · 518 阅读 · 0 评论 -
Java 类型安全的异构容器
参考自:importNew我们的想法是用key自身的class 类型作为key。因为Class 是参数化的类型,它可以确保我们使Context方法是类型安全的,而无需诉诸于一个未经检查的强制转换为T。这种形式的一个Class 对象称之为类型令牌(type token)。public class Context { private final Map, Object> values原创 2015-05-25 09:12:57 · 1817 阅读 · 0 评论 -
可扩展 Web 架构与分布式系统
开放源代码已经成为一些大型网站的基本原则。而在这些网站成长的过程中,一些优秀的实践经验和规则也出现在他们的结构中。本文旨在介绍一些在大型网站结构设计的过程中需要注意的关键问题以及实现目标的基础工作。本文侧重于介绍网络系统,尽管一些准则在其他分布式系统中也是适用的。1.1. web分布式系统的设计原则搭建和运营一个可伸缩的web站点或者应用程序意味着什么?在原始层面上转载 2016-02-06 09:57:47 · 978 阅读 · 0 评论 -
Java NIO:浅析I/O模型
也许很多朋友在学习NIO的时候都会感觉有点吃力,对里面的很多概念都感觉不是那么明朗。在进入Java NIO编程之前,我们今天先来讨论一些比较基础的知识:I/O模型。下面本文先从同步和异步的概念 说起,然后接着阐述了阻塞和非阻塞的区别,接着介绍了阻塞IO和非阻塞IO的区别,然后介绍了同步IO和异步IO的区别,接下来介绍了5种IO模型,最后介绍了两种和高性能IO设计相关的设计模式(Reactor和Pr转载 2016-02-04 10:55:40 · 329 阅读 · 0 评论 -
kafka入门:简介、使用场景、设计原理、主要配置及集群搭建(转)
一、入门 1、简介 Kafka is a distributed,partitioned,replicated commit logservice。它提供了类似于JMS的特性,但是在设计实现上完全不同,此外它并不是JMS规范的实现。kafka对消息保存时根据Topic进行归类,发送消息者成为Producer,消息接受者成为Consumer,此外kafka集群有多个kafka实例转载 2016-03-09 11:45:40 · 352 阅读 · 0 评论 -
Hibernate 一级缓存 二级缓存 1+N问题 查询缓存
在本篇随笔里将会分析一下hibernate的缓存机制,包括一级缓存(session级别)、二级缓存(sessionFactory级别)以及查询缓存,当然还要讨论下我们的N+1的问题。随笔虽长,但我相信看完的朋友绝对能对hibernate的 N+1问题以及缓存有更深的了解。一、N+1问题首先我们来探讨一下N+1的问题,我们先通过一个例子来看一下,什么是N+1问题:li原创 2016-09-09 11:50:58 · 1419 阅读 · 0 评论 -
分布式Unique ID的生成方法一览
来源:江南白衣链接:calvin1978.blogcn.com/articles/uuid.html分布式的Unique ID的用途如此广泛,从业务对象Id到日志的TraceId,本文总结了林林总总的各种生成算法。1. 发号器我接触的最早的Unique ID,就是Oracle的自增ID。特点是准连续的自增数字,为什原创 2016-11-09 22:15:02 · 553 阅读 · 0 评论 -
关于 Java 对象序列化您不知道的 5 件事
原文出处: IBM-Ted Neward转自:ImportNewJava 序列化简介Java 对象序列化是 JDK 1.1 中引入的一组开创性特性之一,用于作为一种将 Java 对象的状态转换为字节数组,以便存储或传输的机制,以后,仍可以将字节数组转换回 Java 对象原有的状态。实际上,序列化的思想是 “冻结” 对象状态,传输对象状态(写到磁盘、通过网络传输等等)转载 2015-06-23 10:08:29 · 494 阅读 · 0 评论 -
更好的Java
本文由 ImportNew - paddx 翻译自 Better Java。欢迎加入翻译小组。转载请见文末要求。Java是最流行的语言之一,但是似乎没人喜欢使用它。好吧,Java仅仅是一种“还好”的编程语言。自从Java 8的面世,我决定编辑一个关于Java的列表,包括库、最佳实践以及工具让我们能更好的使用Java。 这篇文章在Github上,你可以自由的添加你所使用到的一转载 2015-06-23 11:00:56 · 492 阅读 · 0 评论 -
java中CyclicBarrier的简单用法
CyclicBarrier 和 CountDownLatch 都可以用来让一组线程等待其它线程。与 CyclicBarrier 不同的是,CountdownLatch 不能重新使用。1 public class TestCyclicBarrier { 2 3 private static final int THREAD_NUM = 5; 4 5 p原创 2015-05-29 10:17:25 · 589 阅读 · 0 评论 -
动态检测出口IP,精确到市级
import java.io.IOException;import org.jsoup.Connection;import org.jsoup.Jsoup;public class IpCheck {public String getPublicIP1() {StringBuffer res = new StringBuffer("");final String siteA原创 2014-07-18 16:27:46 · 917 阅读 · 0 评论 -
phantomjs 根据url 将所对应的网页存为图片格式
var page = require('webpage').create();page.open('http://www.sina.com', function(success){ if(success==='success'){ console.log('success'); page.render('qiyi.png'); p转载 2014-07-18 16:42:43 · 1111 阅读 · 0 评论 -
域名的匹配,即测试两个网站的url是不是层次匹配的,
public class DNSStringMatching {public static boolean DNSStrMatch(String dns,String url){boolean flag = false ;String tmpdns = dns.trim();//去空格String tmpstr="";String tmpurl = url.trim();原创 2014-07-18 16:51:34 · 695 阅读 · 0 评论 -
java 实现根据url,将url对应的网页存为一张完整的图片,不是截图,也就是图片是整个网页的内容
public class ImplementsCmd { public static void implcmd(String cmd){//在java中调用执行cmd命令 Process p; System.out.println(cmd); try { p = Runtime.getRuntime().exec(cmd); } catch (IOException原创 2014-07-20 14:31:12 · 7564 阅读 · 5 评论 -
Java 大家一起看看继承创建的适配器类。
public interface Generator { T next();}//生成器public class Fibonacci implements Generator{ private int count = 0; private int fib(int n){ if(n<2) return 1; return fib(n-1) + fib(n-2); } pu原创 2014-07-23 15:20:40 · 731 阅读 · 0 评论 -
装饰性花园,计算不同花园入口的每个入口人数以及所有人数,多线程设计思想,静态域
package iie.cas.test14;import java.util.ArrayList;import java.util.List;import java.util.Random;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import原创 2014-08-14 11:01:56 · 790 阅读 · 0 评论 -
prefixTreeEspan 频繁子树模式挖掘 A pattern growth 算法实现 mining embedded subtrees.
直接说这算法的作用吧,上图的右边就是左边图的 ES(Embedded Subtree),相对应的ABC-1D-1-1E-1-1就是上图左边的Pre-Order-String,也是这个算法输入的数据格式,中间我们用空格隔开(A B C -1 D -1 -1 E -1 -1),-1就是表示回走。这算法主要是用来挖掘频繁子树,也就是将一个树里的所有频繁子树找出来。原理就不说了,大家可以自原创 2014-11-21 16:14:26 · 2603 阅读 · 3 评论 -
Myeclipse 基于JAX-WS 的 WebService 服务端和客户端的搭建
唉,不得不吐槽下,自己绕了一个弯,走了点弯路!具体操作步骤:1、新建一个web工程(WEBSERVICE),这个名字你们可以自己定义。2、创建java文件(Server),也就是所要提供的函数,要带实现功能。3、右键src,选择new — Other,然后选择WebService4、记得看下面的选项,next5、java class 是你java文件也就是在上面提到原创 2014-12-04 19:28:16 · 2068 阅读 · 0 评论 -
Process 的 waitFor() 造成的阻塞
我们在调用Process的waitFor()时经常会遇到明明Process已经结束了,但是waitFor()还是阻塞在那里,那是因为Process的inputStream缓存造成的,我们现在另外再起一个线程,来监控我们的Process,实时清空缓存就可以解决这个问题了。 class WatchThread extends Thread { Process原创 2014-12-07 18:03:26 · 2009 阅读 · 0 评论 -
利用tomcat服务器配置https双向认证、https单向认证-ssl、tls
关键字:利用tomcat服务器配置https双向认证、https单向认证-ssl、tls 首先推荐另一篇不错的文章:http://lixor.iteye.com/blog/1532655 很多朋友、同事问过一个问题,https/ssl怎么做,干什么用的等,今天写出来供大家参考,希望对大家有所帮助. 背景讲述: 1.单向认证,就是传输的数据加密过了,但是不会校验客户端的来源 2.原创 2017-02-21 09:07:21 · 453 阅读 · 0 评论