Java
文章平均质量分 90
刘元涛
活着只为改变世界
展开
-
POI各Jar包的作用
目前POI的最新发布版本是3.10_FINAL.该版本保护的jar包有:Maven artifactIdPrerequisitesJARpoicommons-logging, commons-codec, log4jpoi-version-yyyymmdd.jarpoi-scratchpadpoi转载 2016-07-20 10:55:57 · 3513 阅读 · 1 评论 -
Java语言实现简单FTP软件
作者:欧阳鹏 欢迎转载,与人分享是进步的源泉! 转载请保留原文地址:http://blog.csdn.net/ouyang_peng/article/details/9633781一、FTP协议分析FTP(File Transfer Protocol)就是文件传输协议。通过FTP客户端从远程FTP服务器上拷贝文件到本地计算机称为下载,将本地计算机上的文件复制到远程FTP转载 2016-01-29 20:40:51 · 2572 阅读 · 2 评论 -
JVM的垃圾回收机制详解和调优
原文地址: http://www.matrix.org.cn/resource/article/43/43769_JVM_GC_PDM.html 1.JVM的gc概述 gc即垃圾收集机制是指jvm用于释放那些不再使用的对象所占用的内存。java语言并不要求jvm有gc,也没有规定gc如何工作。不过常用的jvm都有gc,而且大多数gc都使用类似的算法管理内存和执行收集操作。转载 2014-07-26 16:05:27 · 420 阅读 · 0 评论 -
使用Java抓取网页中所有的链接
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;import java.util.ArrayList;import java.util.regex.原创 2016-01-08 10:17:33 · 4227 阅读 · 2 评论 -
JFreeChart数据库接口
业务数据考虑到我们有如下的 MySQL 表 mobile_tbl(mobile_brand VARCHAR(100)NOT NULL,unit_sale INT NO NULL);考虑这个表含有以下记录:手机品牌销售单位IPhone5S20Samsung Grand20转载 2016-01-02 10:06:40 · 1359 阅读 · 0 评论 -
JFreeChart文件接口
业务数据假设我们有一个文件名为mobile.txt,含有一个简单的逗号分隔不同的移动品牌和销售(每天单位)(,):Iphone 5S, 20 Samsung Grand, 20 MOTO G, 40 Nokia Lumia, 10 基于文件图表生成下面是基于文件 mobile.txt 提供的信息来创建转载 2016-01-02 10:06:12 · 533 阅读 · 0 评论 -
JFreeChart时序图
业务数据让我们考虑通过使用标准 Java API 的 Math.random()产生的各种随机数。我们使用这些数字产生一个时间序列图。可以生成用于发生错误的总数在自己的网站给定的时间间隔类似的图表。基于AWT的应用下面是创建由Math.random()产生的数字时间的代码在给定时间内的序列图。import org.原创 2016-01-02 10:05:14 · 840 阅读 · 0 评论 -
JFreeChart气泡图表
考虑不同的人的年龄,体重和工作能力可能不太相同。能力可以视为对该被绘制为图表中的气泡的小时数。WEIGHTAGE 304050607080 104 WORK20 5原创 2016-01-02 10:04:33 · 895 阅读 · 0 评论 -
JFreeChart 3D饼图/条形图
三维/3D图表是那些显示在一个三维格式。可以使用这些图表来提供更好的显示效果和清晰的信息。三维/3D饼图是饼图另外一个不错的3D效果。 3D效果可以通过添加一些额外的代码来实现,它会创建一个饼图3D效果。3D饼图请看下面的例子来描述移动销售三维饼图。以下是不同移动品牌和销售(每天)名单。S.N.手机品牌销量 (天)原创 2016-01-02 10:03:51 · 2563 阅读 · 0 评论 -
JFreeChart XY图
在xy图(散点图)是根据一个数据系列组成的x和y值的列表。每个值对(x,y)是坐标系中的一个点。这里1值确定水平(X)位置,而另一个确定垂直(Y)位置。本章演示了如何使用JFreeChart从一个给定的业务数据创建XY图表。业务数据考虑这种情况,我们要创建一个XY图表所有主要浏览器的一个例子。在这里,不同的性能分数是从不同类型的人们聚集,如下所示:原创 2016-01-02 10:03:11 · 1817 阅读 · 0 评论 -
JFreeChart线型图
业务数据下面的示例绘制折线图显示从1970年开始学校在不同年份开通数量。给定的数据如下:年份学校数量197015198030199060200012020132402014300原创 2016-01-02 10:02:24 · 642 阅读 · 0 评论 -
JFreeChart条形图
条形图使用不同的方位(水平或垂直)条,以显示不同类别的比较。图表中的一个轴(域轴)示出了特定的域进行比较,并在另一个轴(范围轴)表示的离散值。业务数据下面的例子描述了各种汽车用统计柱状图。以下是汽车品牌以及它们的不同特点,我们将展示使用一个条形图的列表:汽车速度用户评价公里数安全性原创 2016-01-02 10:01:43 · 469 阅读 · 0 评论 -
JFreeChart饼图
在饼图中,每个扇区的弧长成正比它代表的数量。本章演示了如何使用JFreeChart 从一个给定的业务数据创建饼图。业务数据下面的例子描述了移动销售饼图。以下是不同移动品牌和销售(每天单位)列表。S.N.手机品牌销售(天)1Iphone 5S202Samsung Gra原创 2016-01-02 10:00:51 · 1025 阅读 · 0 评论 -
HttpClient使用详解
Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性。因此熟练掌握HttpClient是很重要的必修内容,掌握HttpClient后,相信对于Http协议的了解会转载 2016-06-24 12:38:18 · 510 阅读 · 0 评论 -
Java 项目优化实战
1 Visual VM项目中的某一个接口,在某一场景下(数据量大),性能让人难以忍受。那么如何有什么工具可以定位引发性能问题的代码呢?其实有很多,这里我们使用 Visual VM。Visual VM 是一款用来分析 Java 应用的图形工具,能够对 Java 应用程序做性能分析和调优。如果你使用的 java 7 或者 java 8,那么可以直接在 JDK 的 bin 目录找到该工具转载 2016-06-15 10:06:34 · 359 阅读 · 0 评论 -
Java 下的 JSON库性能比较:JSON.simple vs. GSON vs. Jackson vs. JSONP
JSON已经成为当前服务器与WEB应用之间数据传输的公认标准,不过正如许多我们所习以为常的事情一样,你会觉得这是理所当然的便不再深入思考了。我们很少会去想用到的这些JSON库到底有什么不同,但事实上它们的确是不太一样的。因此,我们运行了一个基准测试来对常用的几个JSON库进行了测试,看看在解析不同大小的文件时哪个库的速度是最快的。下面我会把结果分享给大家。 JSON通常用于传输及转载 2016-07-01 14:26:18 · 732 阅读 · 0 评论 -
深入理解java异常处理机制
原文地址:http://www.admin10000.com/document/5853.html1. 引子 try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解。不过,我亲自体验的“教训”告诉我,这个东西可不是想象中的那么简单、听话。不信?那你看看下面的代码,“猜猜”它执行后的结果会是什么?不要往后看答案、也转载 2016-07-02 12:49:23 · 270 阅读 · 0 评论 -
一个Java对象到底占多大内存?
原文地址:http://www.admin10000.com/document/5925.html最近在读《深入理解Java虚拟机》,对Java对象的内存布局有了进一步的认识,于是脑子里自然而然就有一个很普通的问题,就是一个Java对象到底占用多大内存? 在网上搜到了一篇博客讲的非常好:http://yueyemaitian.iteye.com/blog/2033046,里面提供转载 2016-07-02 12:41:53 · 409 阅读 · 0 评论 -
java类的加载机制
1、什么是类的加载类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的Class对象,Class对象封装了类在方法区内的数据结构,并且向Java程序员提供了访问方法区内的数据结构的接口。类加载器并不需要等到某个类被“首次主动使原创 2016-07-13 12:22:40 · 4389 阅读 · 0 评论 -
JVM内存结构
所有的Java开发人员可能会遇到这样的困惑?我该为堆内存设置多大空间呢?OutOfMemoryError的异常到底涉及到运行时数据的哪块区域?该怎么解决呢?其实如果你经常解决服务器性能问题,那么这些问题就会变的非常常见,了解JVM内存也是为了服务器出现性能问题的时候可以快速的了解那块的内存区域出现问题,以便于快速的解决生产故障。 先看一张图,这张图能很清晰的说明JVM内存结构布局。Ja原创 2016-07-13 12:19:26 · 1406 阅读 · 0 评论 -
GC算法 垃圾收集器
概述垃圾收集 Garbage Collection 通常被称为“GC”,它诞生于1960年 MIT 的 Lisp 语言,经过半个多世纪,目前已经十分成熟了。jvm 中,程序计数器、虚拟机栈、本地方法栈都是随线程而生随线程而灭,栈帧随着方法的进入和退出做入栈和出栈操作,实现了自动的内存清理,因此,我们的内存垃圾回收主要集中于 java 堆和方法区中,在程序运行期间,这部分内存的分配和使用都是原创 2016-07-13 12:18:55 · 3893 阅读 · 0 评论 -
Java要把字符串设计成不可变
String是Java中一个不可变的类,他一旦被实例化就无法被修改。不可变类的实例一旦创建,其成员变量的值就不能被修改,不可变类有很多优势。 这些大家都知道,那大家知道为什么JAVA的设计者要把它设计成一个不可变的类嘛, 下面讲给大家进行讲解。字符串池字符串池是方法区中的一部分特殊存储。当一个字符串被被创建的时候,首先会去这个字符串池中查找,如果找到,直接返原创 2016-07-01 16:16:06 · 255 阅读 · 0 评论 -
深入理解 Java 垃圾回收机制
原文地址:http://www.admin10000.com/document/6494.html一、垃圾回收机制的意义 Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。垃圾转载 2016-07-01 15:42:10 · 309 阅读 · 0 评论 -
JVM 优化经验总结
原文地址:http://www.admin10000.com/document/6543.html开始之前 Java 虚拟机有自己完善的硬件架构, 如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 Java 虚拟机上运行的目标代码 (字节码), 就可以在多种平台上不加修改地运行。Java 虚拟机在执转载 2016-07-01 15:33:59 · 1077 阅读 · 0 评论 -
JVM重要知识点整理和学习
原文地址:http://www.admin10000.com/document/6566.htmlJVM是虚拟机,也是一种规范,他遵循着冯·诺依曼体系结构的设计原理。冯·诺依曼体系结构中,指出计算机处理的数据和指令都是二进制数,采用存储程序方式不加区分的存储在同一个存储器里,并且顺序执行,指令由操作码和地址码组成,操作码决定了操作类型和所操作的数的数字类型,地址码则指出地址码和操作数。从d转载 2016-07-01 15:33:00 · 406 阅读 · 0 评论 -
10个经典的 Java main 方法面试题
以下是笔者认为比较经典的关于Java main方法的面试题,与其说是Java面试题,其实也是Java的一些最基础知识问题,分享给大家,如有错误,请指出。 1.不用main方法如何定义一个类? 不行,没有main方法我们不能运行Java类。 在Java 7之前,你可以通过使用静态初始化运行Java类。但是,从Java 7开始就行不通了。 2.main(翻译 2016-07-01 15:31:48 · 247 阅读 · 0 评论 -
35 个 Java 代码性能优化总结
前言 代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候就必须考转载 2016-07-01 15:23:00 · 308 阅读 · 0 评论 -
常用加解密工具类(MD5、SHA、DES、AES、RSA)
解密工具类,实现了常用的加解密类。包括单向加密:MD5、SHA;对称加密:DES、AES;非对称加密:RSA 完整代码见:https://git.oschina.net/bayern.com/SecureUtils.git 同时提供ant打包脚本。 下面展示部分关键代码MD5 单向加密: /** * 返回MD5单向加密后的十六进制字符串转载 2016-07-01 14:36:53 · 1439 阅读 · 0 评论 -
JFreeChart中文API
JFreeChart是JAVA平台上的一个开放的图表绘制类库。它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计。JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt charts)等等多种图表,并且可以产原创 2016-01-02 09:56:10 · 667 阅读 · 0 评论 -
WebMagic-介绍
原文出自:http://webmagic.io/docs/zh 访问经常出错,于是把文档转到自己博客里1.WebMagic概览1.1 WebMagic的设计思想1. 一个框架,一个领域一个好的框架必然凝聚了领域知识。WebMagic的设计参考了业界最优秀的爬虫Scrapy,而实现则应用了HttpClient、Jsoup等Java世界最成熟的工具,目标就是做一个Java语转载 2015-12-15 12:29:01 · 1961 阅读 · 0 评论 -
dom4j读取某个元素的某个属性
一、dom4j介绍dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge上找到它。在IBM developerWorks上面可以找到一篇文章,对主流的Java XML API进行的性能、功能和易用性的评测,do转载 2014-10-19 10:06:37 · 1669 阅读 · 0 评论 -
理解RESTful架构
越来越多的人开始意识到,网站即软件,而且是一种新型的软件。这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点。网站开发,完全可以采用软件开发的模式。但是传统上,软件和网络是两个不同的领域,很少有交集;软件开发主要针对单机环境,网络则主要研究系统之间的通信。互联网的兴起,使得这两个领域开始融合,现在我们必转载 2014-07-16 10:54:02 · 348 阅读 · 0 评论 -
Json与bean互转的例子
第一种:public class JsonToJavaBean { public static void main(String[] args) { String str="{\"student\":[{\"name\":\"leilei\",\"age\":23},{\"name\":\"leilei02\",\"age\":23}]}"; St原创 2014-07-25 11:17:04 · 457 阅读 · 0 评论 -
JSON-lib框架,转换JSON、XML不再困难
原文博客地址:http://www.cnblogs.com/hoojo/archive/2011/04/21/2023805.html转载 2014-07-26 16:48:07 · 413 阅读 · 0 评论 -
RESTful API 设计指南
网络应用程序,分为前端和后端两个部分。当前的发展趋势,就是前端设备层出不穷(手机、平板、桌面电脑、其他专用设备......)。因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信。这导致API构架的流行,甚至出现"API First"的设计思想。RESTful API是目前比较成熟的一套互联网应用程序的API设计理论。我以前写过一篇《理解RESTful架构》,探讨如何理解这个概转载 2014-07-16 10:52:28 · 486 阅读 · 0 评论 -
WebMagic抓取前端Ajax渲染的页面
抓取前端渲染的页面随着AJAX技术不断的普及,以及现在AngularJS这种Single-page application框架的出现,现在js渲染出的页面越来越多。对于爬虫来说,这种页面是比较讨厌的:仅仅提取HTML内容,往往无法拿到有效的信息。那么如何处理这种页面呢?总的来说有两种做法:在抓取阶段,在爬虫中内置一个浏览器内核,执行js渲染页面后,再抓取。这方面对应的工具有Seleni转载 2015-12-15 12:48:19 · 16403 阅读 · 0 评论 -
WebMagic爬新浪博客
列表+详情的基本页面组合我们先从一个最简单的例子入手。这个例子里,我们有一个列表页,这个列表页以分页的形式展现,我们可以遍历这些分页找到所有目标页面。示例介绍这里我们以作者的新浪博客http://blog.sina.com.cn/flashsword20作为例子。在这个例子里,我们要从最终的博客文章页面,抓取博客的标题、内容、日期等信息,也要从列表页抓取博客的链接等信息,从而获取这个博转载 2015-12-15 12:47:41 · 2214 阅读 · 0 评论 -
dom4j解析xml字符串实例
DOM4J 与利用DOM、SAX、JAXP机制来解析xml相比,DOM4J 表现更优秀,具有性能优异、功能强大和极端易用使用的特点,只要懂得DOM基本概念,就可以通过dom4j的api文档来解析xml。dom4j是一套开 源的api。实际项目中,往往选择dom4j来作为解析xml的利器。同时,dom4j的NodeType枚举实现了XML规范中定义的node类型。如此可以原创 2014-10-19 10:11:07 · 629 阅读 · 0 评论 -
jackson快速入门
1. 背景目前维护的产品使用jackson处理json,现整理一下jackson相关资料,希望对初次接触jackson的新手有所帮助。 jackson主页: http://jackson.codehaus.org/ jackson document: http://wiki.fasterxml.com/JacksonJavaDocs JacksonInFi原创 2014-07-25 12:35:03 · 539 阅读 · 0 评论 -
JacksonInFiveMinutes
Inspired by the quality and variety of XML tooling available for the Java platform (StAX, JAXB, etc.), theJackson is a multi-purpose Java library for processingJSON. Jackson aims to be the best po转载 2014-07-25 11:17:43 · 412 阅读 · 0 评论