
java基础知识
文章平均质量分 97
luckykapok918
这个作者很懒,什么都没留下…
展开
-
Java 统计运行时间之 Apache Commons-lang3和Spring Core提供的StopWatch分析
前言编码过程中我们经常会希望得到一段代码(一个方法)的执行时间,本文将介绍两种时间监视器(秒表)来让你优雅的、灵活的处理这个问题。Java源生方式这种方式最最简单,最好理解,当然也是最为常用:我们自己书写。例如:我们如果要统计一段代码的执行时间,经常会这么来写: public static void main(String[] args) { long startTime = System.currentTimeMillis(); //获取开始时间 ...转载 2020-05-25 15:15:05 · 1133 阅读 · 0 评论 -
Java 8 Stream的详细功能示例清单介绍
什么是聚合操作在传统的 J2EE 应用中,Java 代码经常不得不依赖于关系型数据库的聚合操作来完成诸如:客户每月平均消费金额 最昂贵的在售商品 本周完成的有效订单(排除了无效的) 取十个数据样本作为首页推荐这类的操作。但在当今这个数据大爆炸的时代,在数据来源多样化、数据海量化的今天,很多时候不得不脱离 RDBMS,或者以底层返回的数据为基础进行更上层的数据统计。而 Java 的集合 API 中,仅仅有极少量的辅助型方法,更多的时候是程序员需要用 Iterator 来遍历集合,完成相关的转载 2020-05-20 11:03:39 · 257 阅读 · 0 评论 -
Java 8 Stream的详细语法介绍
一、概述Stream 是 Java8 中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。使用Stream API 对集合数据进行操作,就类似于使用 SQL 执行的数据库查询。Java 8 中的 Stream 是对集合(Collection)对象功能的增强,它专注于对集合对象进行各种非常便利、高效的聚合操作(aggregate operation),或者大批量数据操作 (bulk data operation)。Stream API 借助于同样新出转载 2020-05-20 10:46:04 · 1126 阅读 · 0 评论 -
Java中 CopyOnWriteArrayList 的使用
在很多的应用场景中,读操作的可能会远远大于写操作。对于这些场景我们希望是读操作尽可能地快,而写操作慢一些也没有太大的关系。由于读操作根本不会修改原有的数据,因此对于每一次的读取都进行加锁是一种资源的浪费。根据读写锁的思想,读锁与读锁之间不冲突。但是读操作会受到写操作的阻碍,当写操作发生时,读就必须等待。否则可能读到不一致的数据。同时,如果读操作正在进行,程序也不能进行写入。为了将读取的性能发挥...转载 2020-04-23 17:06:36 · 338 阅读 · 0 评论 -
Lombok介绍、使用方法和总结
1 Lombok背景介绍官方介绍如下:Project Lombok makes java a spicier language by adding 'handlers' that know how to build and compile simple, boilerplate-free, not-quite-java code.大致意思是Lombok通过增加一些“处理程序”,可以让...转载 2019-10-14 11:38:27 · 216 阅读 · 0 评论 -
Java基础——成员变量、局部变量和静态变量的区别
要想区分这哥仨,首先,我们得知道它们分别是什么。先从成员变量下刀。成员变量 我们来研究一个事物: 属性:外在特征;例如人的身高,体重 行为:能够做什么;例如人有说话,打球等行为。 而在Java语言中,最基本的单位是类,类就是用来体现事物的。 用类class来描转载 2015-08-21 17:43:13 · 516 阅读 · 0 评论 -
JSP中文乱码问题终极解决方案
在介绍方法之前我们首先应该清楚具体的问题有哪些,笔者在本博客当中论述的JSP中文乱码问题有如下几个方面:页面乱码、参数乱码、表单乱码、源文件乱码。下面来逐一解决其中的乱码问题。一、JSP页面中文乱码在JSP页面中,中文显示乱码有两种情况:一种是HTML中的中文乱码,另一种是在JSP中动态输出的中文乱码。先看一个JSP程序:[java] view plaincopypri转载 2015-12-25 10:05:37 · 366 阅读 · 0 评论 -
Java生成缩略图开源项目Thumbnailator
Thumbnailator 是一个为Java界面更流畅的缩略图生成库。从API提供现有的图像文件和图像对象的缩略图中简化了缩略过程,两三行代码就能够从现有图片生成缩略图,且允许微调缩略图生成,同时保持了需要写入到最低限度的代码量。同时还支持根据一个目录批量生成缩略图。 http://code.google.com/p/thumbnailator/ 版本:thumbnailator-转载 2016-08-30 18:48:44 · 676 阅读 · 0 评论 -
java 类型信息 instanceof 和 isInstance区别
[java] view plain copyclass A{ } class B extends A { } class C extends B { } public class tt { /** * @param转载 2016-09-06 11:24:44 · 2719 阅读 · 0 评论 -
CentOS下安装jdk及配置
CentOS下的jdk7安装配置原创 2015-06-04 20:54:37 · 585 阅读 · 0 评论 -
JAVA环境变量JAVA_HOME、CLASSPATH、PATH配置说明
首先确定一个基础概念: current directory(当前目录):当前在用的目录就是当前目录。比如说当你打开NOTEPAD,并处于运行状态时候,当前目录就是c:/windows;如果你用cmd命令打开命令行窗口,当前目录就是c:/windows/system32;如果你在用java这条指令,当前目录就是JAVA下的BIN目录所在的路径,因为java.exe在bin里面。在jav原创 2014-07-05 16:22:27 · 15801 阅读 · 0 评论 -
java基本数据类型及其默认内存占用
基本数据类型 程序中最核心的就是一系列的数据,或者叫程序状态,计算机为了方便的管理数据,就为数据设定了一组类型,这样在为数据分配内存以及操作数据时都比较方便,这就是数据类型的由来。其实现实生活中也存在各种数据类型,例如数字型,字符型等,数字型又可以划分为整数型和小数型,只是没有很可以的划分罢了。 在数据类型中,最常用也是最基础的数据类型,被称作基本数据类型。原创 2014-05-05 13:33:27 · 1623 阅读 · 0 评论 -
Java对象排序的3种实现方法
利用Collections工具类的sort方法实现排序/** * Java对象排序的3种实现方式 * @author zhangwenzhang * */public class TestObjectSort { /** * @param args */ public static void main(String[] arg原创 2012-12-10 15:18:12 · 5156 阅读 · 0 评论 -
JAVA编程经验
JDK和JRE 大家肯定在安装JDK的时候会有选择是否安装单独的jre,一般都会一起安装,我也建议大家这样做。因为这样更能帮助大家弄清楚它们的区别: Jre 是java runtime environment, 是java程序的运行环境。既然是运行,当然要包含jvm,也就是大家熟悉的虚拟机啦, 还有所有java类库的class文件,都在lib目录下打包成了jar。大家可以自己验证。至于在windo原创 2012-12-10 15:17:36 · 409 阅读 · 0 评论 -
java异常处理机制
本文来自:曹胜欢博客专栏。转载请注明出处:http://blog.youkuaiyun.com/csh624366188 异常处理是程序设计中一个非常重要的方面,也是程序设计的一大难点,从C开始,你也许已经知道如何用if...else...来控制异常了,也许是自发的,然而这种控制异常痛苦,同一个异常或者错误如果多个地方出现,那么你每个地方都要做相同处理,感觉相当的麻烦! Java原创 2012-12-10 15:17:22 · 404 阅读 · 0 评论 -
Java OCR tesseract 图像智能字符识别技术 Java代码实现
公司有需求啊,所以就得研究哈,最近公司需要读验证码,于是就研究起了图像识别,应该就是传说中的(OCR:光学字符识别OCR),下面把今天的收获整理一个给大家做个分享。本人程序用的tesseract,官方地址:https://code.google.com/p/tesseract-ocr/,不为别的,谁让它支持我们的天朝的文字呢~哈下载好程序后解压:大概可以看到这样一个转载 2017-01-03 14:40:21 · 1148 阅读 · 0 评论 -
className.class.getResourceAsStream()与ClassLoader.getSystemResourceAsStream() 的区别
className.class.getResourceAsStream : 一: 要加载的文件和.class文件在同一目录下,例如:com.x.y 下有类Test.class ,同时有资源文件config.properties那么,应该有如下代码://前面没有“/”代表当前类的目录InputStream is1 = Test.class.getResourceA转载 2016-12-30 15:42:59 · 697 阅读 · 0 评论 -
Log4j的AsyncAppender能否提升性能?什么场景用比较好?
近日在写多线程方面的东西,需要对多线程进行日志监控就重新翻出了log4j,看到了log4j下居然还有一个AsyncAppender,异步记日志?觉得挺不错,网上搜了一下也有一些讨论,JavaEye上也有很多讨论。但是这个AsyncAppender到底能否提升日志性能呢?我们还是先看看log4j本身文档里的性能测试说明吧,详细测试数据见如下URL:http://www.ingrid.org/jaja转载 2017-08-08 14:53:39 · 3721 阅读 · 0 评论 -
java中不常见的关键字:strictfp,transient
1.strictfp, 即 strict float point (精确浮点)。 strictfp 关键字可应用于类、接口或方法。使用 strictfp 关键字声明一个方法时,该方法中所有的float和double表达式都严格遵守FP-strict的限制,符合IEEE-754规范。当对一个类或接口使用 strictfp 关键字时,该类中的所有代码,包括嵌套类型中的初始设定值和代码,都将严格地转载 2017-01-06 10:51:54 · 4583 阅读 · 0 评论 -
java中for方法执行的正确顺序
ssss:for(?;,?;,?){ break ssss; // continue;}三个表达式中:第一个?是初始化语句:一般是给一个变量赋初始值,只所有循环之前运行一次,以后不运行。第二个?是布尔表达:判断运行的条件,条件为真就循环,为假就结束。第三个?是普通语句:一般是递增或递减的语句,例如i++等,在当次循环后执行。原创 2016-01-21 11:30:59 · 488 阅读 · 0 评论 -
Java对象创建之new关键字和newinstance()方法
new和newinstance()区别 在初始化一个类,生成一个实例的时候,newInstance()方法和new关键字除了一个是方法,一个是关键字外,最主要有什么区别?它们的区别在于创建对象的方式不一样,前者是使用类加载机制,后者是创建一个新类。那么为什么会有两种创建对象方式?这主要考虑到软件的可伸缩、可扩展和可重用等软件设计思想。 Java中工厂模式经常使用newInstan原创 2015-12-05 16:23:55 · 13677 阅读 · 0 评论 -
volatile关键字的用法
我们知道,在Java中设置变量值的操作,除了long和double类型的变量外都是原子操作,也就是说,对于变量值的简单读写操作没有必要进行同步。这在JVM 1.2之前,Java的内存模型实现总是从主存读取变量,是不需要进行特别的注意的。而随着JVM的成熟和优化,现在在多线程环境下volatile关键字的使用变得非常重要。在当前的Java内存模型下,线程可以把变量保存在本地内存(比如机器的寄存器)中原创 2012-12-10 15:18:17 · 422 阅读 · 0 评论 -
java中Collection与Collections的区别
Collection是接口,Collections是工具类 1. Collection是集合类的一个顶级接口,其直接继承接口有List与Set 而Collections则是集合类的一个工具类/帮助类,其中提供了一系列静态方法,用于对集合中元素进行排序、搜索以及线程安全等各种操作。 1) 排序(Sort)使用sort方法可以根据元素的自然顺序 对指定列表按升序进行排序。列表中的所有元素都原创 2012-12-10 15:18:15 · 447 阅读 · 0 评论 -
【Java】maven工程使用iText生成PDF文件
iText介绍 iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。 项目要使用iText,必须引入jar包。才能使用,maven依赖如下:1 2 com.itextpdf3 itextpdf4转载 2017-06-12 11:05:50 · 17751 阅读 · 1 评论 -
StringTokenizer 的 用法(2007-09-20 23:49:33| 分类: java 技术)
属于:java.util包。 1、构造函数。1. StringTokenizer(String str) :构造一个用来解析str的StringTokenizer对象。java默认的分隔符是“空格”、“制表符(‘\t’)”、“换行符(‘\n’)”、“回车符(‘\r’)”。 2. StringTokenizer(String str, String delim) :构造一个用来解析str的Strin原创 2012-12-10 15:14:40 · 552 阅读 · 0 评论 -
java版本升级异常Unsupported major.minor version 52.0处理
一、错误现象:当改变了jdk版本时,在编译Java时,会遇到Unsupported major.minor version错误。 错误信息如下 :Unsupported major.minor version 52.0 (我在jdk1.7 升级1.8切换时就遇到了这个错误)Unsupported major.minor version 51.0 Unsupp原创 2017-05-21 19:29:14 · 4552 阅读 · 0 评论 -
Java字符串format-用户号补齐格式化应用
应用场景在实际生产中,我们经常遇到这样的情况,就是类似生成用户号的标准化字符串。比如,生成一个以1开头,中间为0,后面递增的11位数字:10000000001、10000000002、10000000003……生成这样的用户号的好处是格式统一,而且能够很清楚的看出此用户号的含义。比如以1开头的为用户号、以2开头的为企业号、以3开头的为商户号等等。生成用户号后面的顺序数字有很转载 2017-05-07 14:01:23 · 565 阅读 · 0 评论 -
Java多线程基础知识
多线程是java应用程序的一个特点,掌握java的多线程也是作为一java程序员必备的知识。多线程指的是在单个程序中可以同时运行多个同的线程执行不同的任务.线程是程序内的顺序控制流,只能使用分配给序的资源和环境。还记得刚开始学习的时候总是和进程分不清,总是对这两个名词所迷惑。 下面就首先对这两个名词区分来作为本篇博客的开始: 一、线程与进程的区别 多个进程的内部数据和状态都是完全独立原创 2012-12-10 15:17:20 · 503 阅读 · 0 评论 -
缓存技术概论
缓存是当今各种软件或者硬件系统中不可缺少的技术之一,所以对每个程序员来说都显得异常重要,对ahuaxuan来说亦是如此.如果说用dfa实现文字过滤是从理论到实践,那么本文便是从实践中总结出得理论. 在讨论缓存功能之前,我们首先来了解一下缓存这个东西本身.ahuaxuan根据自己的经验把缓存问题细分为4类小问题. 1缓存为什么要存在? 2缓存可以存在于什么地方? 3缓存有哪些属性? 4缓存介质? 搞原创 2012-12-10 15:15:45 · 343 阅读 · 0 评论 -
System.load 和 System.loadLibrary详解(2010-07-26 14:07:02| 分类: java 技术)
1.它们都可以用来装载库文件,不论是JNI库文件还是非JNI库文件。在任何本地方法被调用之前必须先用这个两个方法之一把相应的JNI库文件装载。2.System.load 参数为库文件的绝对路径,可以是任意路径。例如你可以这样载入一个windows平台下JNI库文件:System.load("C:\\Documents and Settings\\TestJNI.dll");。3. System.l原创 2012-12-10 15:15:12 · 967 阅读 · 0 评论 -
jText 生成PDF介绍(2008-06-24 17:13:08| 分类: java 技术)
一.准备工作 首先需要加载 itext-1.1.4.jar和iTextAsian.jar两个jar包,其中iTextAsian.jar用于中日韩文字的显示问题. 二.主要类 com.lowagie.text.Paragraph —— 这个类表示一个缩进的段落。 com.lowagie.text.Chapter —— 这个类表示 PDF 文档中的章节。使用 Paragraph原创 2012-12-10 15:14:48 · 627 阅读 · 0 评论 -
java编码规范 (转)
Java code standard1. 介绍/说明1.1 声明本文档内容描述寰信通JAVA编码规范,凡是在寰信通开发的JAVA程序必须按照此文档规定。1.2 为什么要有编码规范编码规范对于开发人员来说是非常重要的,有以下几个原因:? 一个软件的生命周期中,80%的花费在于维护? 几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护原创 2012-12-10 15:15:29 · 381 阅读 · 0 评论 -
Jar命令行打包(2009-06-09 20:59:45| 分类: java 技术)
1. JAR文件包 JAR文件就是Java Archive File,顾名思意,它的应用是与Java息息相关的,是Java的一种文档格式。JAR文件非常类似ZIP文件。准确的说,它就是ZIP文件,所以叫它文件包。JAR文件与ZIP文件唯一的区别就是在JAR文件的内容中,包含了一个META-INF/MANIFEST.MF文件,这个文件是在生成JAR文件的时候自动创建的。举个例子,如果我们具有原创 2012-12-10 15:15:10 · 468 阅读 · 0 评论 -
JFreeChart中文API( 2009-05-15 15:14:11| 分类: java 技术)
JFreeChart中文API 近来研究JFreeChart,收藏一些东西~~~ JFreeChart类:void setAntiAlias(boolean flag) 字体模糊边界void setBackgroundImage(Image image) 背景图片void setBackgroundImageAlignment(int alignment) 背景图片对齐方式(参原创 2012-12-10 15:15:08 · 386 阅读 · 0 评论 -
filter用法详细介绍(2009-03-19 15:16:41| 分类: java 技术)
servlet API中最重要的一个功能就是能够为servlet和JSP页面定义过滤器。过滤器提供了某些早期服务器所支持的非标准“servlet链接”的一种功能强大且标准的替代品。 过滤器是一个程序,原创 2012-12-10 15:15:05 · 350 阅读 · 0 评论 -
java中filter的用法(2009-03-18 16:55:38| 分类: java 技术)
filter过滤器主要使用于前台向后台传递数据是的过滤操作。程度很简单就不说明了,直接给几个已经写好的代码: 一、使浏览器不缓存页面的过滤器 Java代码 import javax.servlet.*;import javax.servlet.http.HttpServletResponse;import java.io.IOException; /** * 用于的使 Browser原创 2012-12-10 15:15:03 · 353 阅读 · 0 评论 -
JavaMail中Session.getDefaultInstance的应用( 2008-08-20 14:51:30| 分类: java 技术)
近日,我在修改bug的过程中,发现一特别的现象,在邮件发送功能上竟然出现了修改帐号和密码后再发送邮件就报帐号不匹配的问题. 仔细的查核相关代码,发现原来的开发者其实功能相当简单,连最简单的mail格式查核都没做,并且执行邮件发送程序后只给个不痛不痒的提示,连发送成功,失败都不知道.虽然如此,现在轮到我负责,也只有改了. Jsp端相当简单: String[] receiver = {原创 2012-12-10 15:15:01 · 492 阅读 · 0 评论 -
Java Properties 类读取配置文件(2008-07-17 11:30:08| 分类: java 技术)
在我们平时写程序的时候,有些参数是经常改变的,而这种改变不是我们预知的。比如说我们开发 了一个操作数据库的模块,在开发的时候我们连接本地的数据库那么 IP ,数据库名称,表名称,数据库主机等信息是我们本地的,要使得这个操作数据的模块具有通用性,那么以上信息就不能写死在程序里。通常我们的做法是用配置文 件来解决。 各种语言都有自己所支持的配置文件类型。比如 Python ,他支持 .ini原创 2012-12-10 15:14:57 · 370 阅读 · 0 评论 -
iText的详细介绍(2) (2008-06-24 17:25:10| 分类: java 技术)
Image对象 如果你学习过API,你可能已经注意到可以通过几种构造函数来创建图片,本手册中,我们将仅仅告诉你最简单的解决方案,如访问通过文件名或URL确定的图片生成的Image对象。 public static Image getInstance(Uri url) public static Image getInstance(string filename) Image是一个抽象类,故原创 2012-12-10 15:14:53 · 697 阅读 · 0 评论 -
iText的详细介绍(1)(2008-06-24 17:19:53| 分类: java 技术)
第一章 创建一个Document 利用iText五步创建一个PDF文件:helloword。 第一步,创建一个 iTextSharp.text.Document对象的实例: Document document = new Document(); 第二步,为该Document创建一个Writer实例: PdfWriter.getInstance(document, new FileStre原创 2012-12-10 15:14:51 · 1699 阅读 · 0 评论