JAVA基础知识
文章平均质量分 79
langgufu314
这个作者很懒,什么都没留下…
展开
-
Java I/O 操作及优化建议(I/O,NIO,AIO)
I/O:文件和网路流都是同步阻塞方式NIO:同步阻塞方式操作文件,同步非阻塞方式操作网路流AIO:文件和网路流都可异步非阻塞方式操作,也可同步非阻塞方试操作原文出处: IBM - 周明耀Java I/OI/O,即 Input/Output(输入/输出) 的简称。就 I/O 而言,概念上有 5 种模型:blocking I/O,nonblocking I/O,I/O mul...原创 2016-04-06 16:27:54 · 173 阅读 · 0 评论 -
java jdk1.6内置支持的webservice使用示例
webService是一种跨语言的系统间交互标准。在java中使用webservice根据服务器端的服务根据描述生成WSDL文件,并将应用与此WSDL文件一起放入HTTP服务器中,借助服务工具根据WSDL文件生成客户端STUB代码。此代码的作用是将产生的对象请求信息封装成标准的SOAP格式数据,并发送到服务器端,服务器端根据接收到的SOAP格式数据进行转换,并最终通过反射调用响应类的响应方法。...原创 2015-03-27 15:32:03 · 178 阅读 · 0 评论 -
真正的轻量级WebService框架—使用JAX-WS(JWS)发布WebService(转载)
java内集了webservice服务,javax.jws,完全使用自带api。用jdk6.0自带的webservice,就不用载入第三方jar包了,部署方式都是在main方法中使用endpoint.publish来发布的,web服务器都不用。 WebService历来都很受重视,特别是Java阵营,WebService框架和技术层出不穷。知名的XFile(新的如CXF)、Axis1、Ax...原创 2015-03-27 15:27:12 · 206 阅读 · 0 评论 -
Java堆内存的10个要点
当我开始学习 Java 编程时,我不知道什么是堆内存或堆空间,我甚至不知道当对象创建时,它们被放在了哪里。当我开始正式写一些程序后,我会经常遇到 java.lang.outOfMemoryError 的报错,之后我才开始关注什么是堆内存或者说堆空间(heap space)。对大多数程序员都经历过这样的过程,因为学习一种语言是非常容易来的,但是学习基础是非常难的,因为没有什么特定的流程让你学习编...原创 2014-08-21 14:33:40 · 113 阅读 · 0 评论 -
java io性能分析(转载)
摘要:本文大多技术围绕调整磁盘文件 I/O,但是有些内容也同样适合网络 I/O 和窗口输出。第一部分技术讨论底层的I/O问题,然后讨论诸如压缩,格式化和串行化等高级I/O问题。然而这个讨论没有包含应用设计问题,例如搜索算法和数据结构,也没有讨论系统级的问题,例如文件高速缓冲。Java语言采取两种截然不同的磁盘文件结构。一个是基于字节流,另一个是字符序列。在Java 语言中一个字符有...原创 2014-08-20 17:49:23 · 196 阅读 · 0 评论 -
JAVA正则表达式:Pattern类与Matcher类详解
java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。它包括两个类:Pattern和Matcher Pattern 一个Pattern是一个正则表达式经编译后的表现模式。 Matcher 一个Matcher对象是一个状态机器,它依据Pattern对象做为匹配模式对字符串展开匹配检查。 首先一个Pattern实例订制了一个所用语法与PERL的类似的正则表达式...原创 2014-08-20 16:53:53 · 114 阅读 · 0 评论 -
Spring,jdk定时任务的几种实现以及任务线程是串行还是并行执行(转载)
近日项目开发中需要执行一些定时任务,比如需要在每天凌晨时候,分析一次前一天的日志信息,借此机会整理了一下定时任务的几种实现方式,由于项目采用spring框架,所以我都将结合spring框架来介绍。一.分类从实现的技术上来分类,目前主要有三种技术(或者说有三种产品):Java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerT...原创 2014-03-31 17:20:52 · 451 阅读 · 0 评论 -
JAVA进阶----ThreadPoolExecutor机制(转载)
原文地址:http://825635381.iteye.com/blog/2184680ThreadPoolExecutor机制 一、概述 1、ThreadPoolExecutor作为java.util.concurrent包对外提供基础实现,以内部线程池的形式对外提供管理任务执行,线程调度,线程池管理等等服务; 2、Executors方法提供的线程服务,都是通过参数设置来实现不同的线程池机...原创 2015-02-10 16:59:55 · 244 阅读 · 0 评论 -
web应用程序和它之中的线程问题(转载)
原文地址:http://coach.iteye.com/blog/854996Web应用程序中调度器的启动和关闭问题我们知道静态变量是ClassLoader级别的,如果Web应用程序停止,这些静态变量也会从JVM中清除。但是线程则是JVM级别的,如果你在Web 应用中启动一个线程,这个线程的生命周期并不会和Web应用程序保持同步。也就是说,即使你停止了Web应用,这个线程依旧是活跃的...原创 2015-02-09 16:19:50 · 247 阅读 · 0 评论 -
守护线程,用户线程
在Java中有两类线程:User Thread(用户线程)、Daemon Thread(守护线程) Daemon的作用是为其他线程的运行提供便利服务,比如垃圾回收线程就是一个很称职的守护者。User和Daemon两者几乎没有区别,唯一的不同之处就在于虚拟机的离开:如果 User Thread已经全部退出运行了,只剩下Daemon Thread存在了,虚拟机也就退出了。 因为没有了被守护者...原创 2015-02-09 16:15:08 · 180 阅读 · 0 评论 -
Java线程的5个技巧(转)
Java线程有哪些不太为人所知的技巧与用法?萝卜白菜各有所爱。像我就喜欢Java。学无止境,这也是我喜欢它的一个原因。日常工作中你所用到的工具,通常都有些你从来没有了解过的东西,比 方说某个方法或者是一些有趣的用法。比如说线程。没错,就是线程。或者确切说是Thread这个类。当我们在构建高可扩展性系统的时候,通常会面临各种各 样的并发编程的问题,不过我们现在所要讲的可能会略有不同。从本文中你将会...原创 2015-02-09 15:53:18 · 116 阅读 · 0 评论 -
正确理解ThreadLocal(转载)
原文地址:http://www.iteye.com/topic/103804ThreadLocal是在Thread类之外实现的一个功能(java.lang.ThreadLocal), 但它会为每个线程分别存储一份唯一的数据。正如它的名字所说的,它为线程提供了本地存储,也就是说你所创建出来变量对每个线程实例来说都是唯一的。和线程 名,线程优先级类似,你可以自定义出一些属性,就好像它们是存储在...原创 2015-02-09 15:51:26 · 132 阅读 · 0 评论 -
web service实现方式(jax-ws,xfire,axis,cxf)
1.java自带 javax.jws 框架 轻量级框架 即可不开web使用,也可开web使用(JDK 1.6) 2.重量级框架xfire,axis,cxf,都需配合web容器或应用服务器,开启web来使用。 3.待续。。。。...原创 2015-03-27 15:48:09 · 165 阅读 · 0 评论 -
java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp区别和总结(转载)
在web开发中,避免不了对日期的操作,就几种常见的日期操作做个总结(部分参考网络,在此表示感谢):java.util.Date、Java.util.Calendar、java.sql.Date、java.sql.Time、java.sql.Timestamp java.lang.Object ....|__java.util.Date ..........|__java.sql.D...原创 2015-04-15 16:36:11 · 228 阅读 · 0 评论 -
sort、uniq命令对文本进行排序、单一和重复操作
sort是在Linux里非常常用的一个命令,它将文件进行排序,并将排序结果标准输出。sort命令既可以从特定的文件,也可以从stdin中获取输入。sort命令语法sort 选项 参数常用选项-b:忽略每行前面开始处的空格字符;-c:检查文件是否已经按照顺序排序,排序过为真;-d:排序时,处理英文字母、数字和空格字符,以字典顺序排序。忽略其他所有字符;-f:...原创 2016-02-18 11:47:27 · 837 阅读 · 0 评论 -
java.util.concurrent介绍 (转载)
本文转载自:http://www.cnblogs.com/sarafill/archive/2011/05/18/2049461.htmljava.util.concurrent 包含许多线程安全、测试良好、高性能的并发构建块。不客气地说,创建 java.util.concurrent 的目的就是要实现 Collection 框架对数据结构所执行的并发操作。通过提供一组可靠的、高性能并发构...原创 2014-12-11 16:51:41 · 114 阅读 · 0 评论 -
Spring整合JMS(一)——基于ActiveMQ实现(转载)
本文转载自http://haohaoxuexi.iteye.com/blog/18930381.1 JMS简介 JMS的全称是Java Message Service,即Java消息服务。它主要用于在生产者和消费者之间进行消息传递,生产者负责产生消息,而消费者负责接收消息。把它应用到实际的业务需求中的话我们可以在特定的时候利用生产者生成一消息,并进行发送,对应的消...原创 2014-12-02 16:25:16 · 89 阅读 · 0 评论 -
volatile失效,慎重使用volatile关键字
volatile关键字相信了解Java多线程的读者都很清楚它的作用。volatile关键字用于声明简单类型变量,如int、float、boolean等数据类型。如果这些简单数据类型声明为volatile,对它们的操作就会变成原子级别的。但这有一定的限制。例如,下面的例子中的n就不是原子级别的:package mythread; public class JoinThread ...原创 2014-11-26 16:10:56 · 1090 阅读 · 1 评论 -
servlet/filter/listener/interceptor区别与联系(转)
一、概念: 1、servlet:servlet是一种运行服务器端的java应用程序,具有独立于平台和协议的特性,并且可以动态的生成web页面,它工作在客户端请求与服务器响应的中间层。 2、filter:filter是一个可以复用的代码片段,可以用来转换HTTP请求、响应和头信息。Filter不像Servlet,它不能产生一个请求或者响应,它只...原创 2014-11-26 15:34:51 · 255 阅读 · 0 评论 -
Java后台模拟向Servlet发送POST文件上传请求(转载)
在某些情况下,需要用Java applicatioin来模拟form,向服务器(本文以servlet为例)发送http post请求,包括提交表单域中的数据以及上传文件。如果仅仅是传递form中的数据,而不包含上传文件,那是很简单的,比如Java application可以这么写:package com.pat.postrequestemulator;importjava.io.Buf...原创 2014-11-24 11:33:58 · 429 阅读 · 0 评论 -
Java后台模拟生成GET/POST请求servlet(转载)
Servlet是SUN指定的Java服务器端编程规范,用以处理来自客户端的请求,处理并做出响应的一套基础API。Servlet是运行在Servlet容器中的Java小程序,容器运行在服务器端,服务器侦听特定端口的请求,并解析请求地址,将请求对象送给容器中的Servlet来执行,这个原理非常简单,平时我们多以在浏览器中输入URL地址,提交表单方式来实现,现在我们用Java语言来模拟常用的GET和...原创 2014-11-24 11:32:44 · 694 阅读 · 0 评论 -
java获取路径几种途径(J2SE及J2EE中)(转载)
在写java程序时不可避免要获取文件的路径...总结一下,遗漏的随时补上 1.可以在servlet的init方法里 String path = getServletContext().getRealPath("/"); 这将获取web项目的全路径 例如 :E:\eclipseM9\workspace\tree\ tree是我web项目的根目录 2.你也可以随时在任意...原创 2015-06-24 15:15:58 · 211 阅读 · 0 评论 -
Apache Commons IO入门教程
Apache Commons IO是Apache基金会创建并维护的Java函数库。它提供了许多类使得开发者的常见任务变得简单,同时减少重复(boiler-plate)代码,这些代码可能遍布于每个独立的项目中,你却不得不重复的编写。这些类由经验丰富的开发者维护,对各种问题的边界条件考虑周到,并持续修复相关bug。在下面的例子中,我们会向你演示一些不同功能的方法,这些功能都是在org.apach...原创 2015-06-01 17:33:05 · 823 阅读 · 0 评论 -
FileUtils方法大全(转载)
FileUtils获取系统的临时目录路径:getTempDirectoryPath() [java] view plaincopyprint?public static String getTempDirectoryPath() { return System.getProperty("java.io.tmpdir");...原创 2015-06-01 15:46:38 · 388 阅读 · 0 评论 -
Java NIO系列教程--不错,保留(转载)
Java NIO 系列教程原文地址:http://tutorials.jenkov.com/java-nio/index.html作者:Jakob Jenkov 译者:郭蕾 校对:方腾飞Java NIO(New IO)是一个可以替代标准Java IO API的IO API(从Java 1.4开始),Java NIO提供了与标准IO不同的IO工作方式。Java NIO...原创 2015-04-17 15:38:26 · 291 阅读 · 0 评论 -
windows下脚本.bat运行java程序
脚本中最主要的是指定三项内容;第一项:使用的jdk,程序运行环境的支持。第二项:使用的jar包,项目使用到的依赖包。第三项:指定main类,程序入口。---bat文件内容---@echo onset JAVA_HOME=C:\jdk1.5set classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;要引用的包的...原创 2014-08-07 17:49:23 · 2669 阅读 · 0 评论 -
JAVA程序的四种运行方式
1.在 eclipse或myeclipse中运行程序。 2.在命令控制台cmd中输入命令运行程序。先编译类,在运行javac example.class---->java example. 3.将JAVA程序以.bat形式运行。界面.bat在脚本中,你只需要设置CLASSPATH和依赖的jar包的位置(set CLASSPATH=%CLASSPATH%;...原创 2014-08-07 17:47:57 · 3907 阅读 · 0 评论 -
Serializable java序列化
Bean Serializable Interface 的接口让BEAN可以串行化,将其变成一个可保存为以后使用的二进制流。当一个BEAN被系列化到磁盘上或者其他任何地方,其状态被保存起来,其中的属性值也不会改变。在BEAN的规范中,JSP并没有要求BEAN实现Serializable接口。但是,如果您希望自己控制您所创建的组件的serialization进程,或者您想serialize并不是标准...原创 2012-04-13 16:21:21 · 75 阅读 · 0 评论 -
java 异常必须知道的基础东西(转)
1、什么是异常?描述下异常处理流程?异常;程序在执行过程中发生的不正常的情况,是描述出错信息的对象,通过异常处理机制可以增加程序的健壮性和可靠性。异常的处理流程;先执行try中的代码,没有异常执行完try后,继续执行try catch后面的代码,有异常发生,那么终止try后面的代码,转而执行catch中的代码,然后执行try catch后面的代码。2、异常框架的类结构?首先一个父...原创 2012-03-22 18:44:24 · 85 阅读 · 0 评论 -
浅谈java异常[Exception] (转)
一. 异常的定义在《java编程思想》中这样定义 异常:阻止当前方法或作用域继续执行的问题。虽然java中有异常处理机制,但是要明确一点,决不应该用"正常"的态度来看待异常。绝对一点说异常就是某种意义上的错误,就是问题,它可能会导致程序失败。之所以java要提出异常处理机制,就是要告诉开发人员,你的程序出现了不正常的情况,请注意。记得当初学习java的时候,异常总是搞不太清楚,不知道这个异...原创 2012-03-22 18:16:26 · 82 阅读 · 0 评论 -
[Ljava.lang.String
[Ljava.lang.String: [ 表示一维数组,[[ 二维数组…… L 表示是对象类型 。而java.lang.String 这个就是字符串。 System.out.println("数组"+String[].class);System.out.println("字符串"+String.class);输出:数组 [Ljava.lang.String;字符串 java.la...2012-07-19 09:53:16 · 2369 阅读 · 0 评论 -
Java 7:最新特性更新、代码示例及性能测试(转)
进入2010年,Java 7有哪些新的进展?这些新的特性更新对我们有哪些好处?该如何使用?Java 7的性能如何?本文将给你答案。 这里的内容主要包括其最新更新、一些代码实例、跟以前版本的Java进行性能比较需要参考的一些基准、以及什么时候它才会发布等信息。 首先,让我们来看最重要的事情。为了确定JDK 7中有哪些语言方面的微小变化,有关人员建立了一个名叫Project Coin的项...原创 2012-07-03 18:52:57 · 103 阅读 · 0 评论 -
在泛型中得到T.class
在使用Spring的JdbcTemplate实现DAO的时候,经常会用到一个类ParameterizedBeanPropertyRowMapper。它的静态方法newInstance()接受一个Class类型的参数,用于将ResultSet中的属性映射到传入的这个Class类型的Bean对象中,再组成列表返回。如果要想把这个DAO做成泛型的,就必须要知道Class的类型。但是直接写成T.cla...原创 2012-05-03 17:16:10 · 82 阅读 · 0 评论 -
Java5泛型的用法,T.class的获取和为擦拭法
Java 5的泛型语法已经有太多书讲了,这里不再打字贴书。GP一定有用,不然Java和C#不会约好了似的同时开始支持GP。但大家也清楚,GP和Ruby式的动态OO语言属于不同的意识形态,如果是一人一票,我想大部分的平民程序员更热衷动态OO语言的平白自然。但如果不准备跳槽到支持JSR223的动态语言,那还是看看GP吧。胡乱总结泛型的四点作用:第一是泛化,可以拿个T代表任意类型。 但GP是被C++严...原创 2012-05-03 17:15:25 · 93 阅读 · 0 评论 -
Thinking in Java
第二章 一切都是对象1,方法名和参数列表组合在一起,唯一地标示某个方法、2,调用方法的行为通常称为“发送信息给对象”,面向对象程序可以简单地归纳为“向对象发送信息”。 第三章 控制程序流 关系表达式返回值为布尔值,java所有内置数据类型都可使用 ==和!=来比较,布尔值不可使用大于,等于等关系运算符进行比较。 == 和 !=比较的是引用,而非对象的值。equa...原创 2011-09-29 16:45:27 · 100 阅读 · 0 评论 -
类的域(field ,数据成员)是基本类型时的默认值
若某个基本类型字段属于一个类,那么即使不明确(显式)进行初始化,也可以保证它们获得一个默认值。基本类型 默认值Boolean falseChar '\u0000'(null)byte (byte)0short (short)0int 0long 0Lfloat ...原创 2011-09-29 16:03:35 · 433 阅读 · 0 评论 -
Debug---Eclipse断点调试基础
1.进入debug模式(基础知识列表)1、设置断点 2、启动servers端的debug模式 3、运行程序,在后台遇到断点时,进入debug调试状态 ============================= 作用域 功能 快捷键 全局 单步返回 F7 全局 单步跳过 F6 全局 单步跳入 F5 全局 单步跳入选择 Ctrl+F5 全局 调试上次启动 F11 全局 继续 F8 全局 使用过滤器...原创 2011-09-08 11:52:27 · 7747 阅读 · 0 评论 -
getter,setter 直接修改造成的空指针异常
[color=blue][size=medium]如果一个字段的getter和setter方法不是直接产生,而是通过修改其他的getter,setter方法来读写,则action可能接受不到,造成该属性的空指针异常,所以最好直接创建其getter和setter,而不是通过修改已存在的读写方法来读写该字段,否则可能报错。[/size][/color]...原创 2011-08-17 18:11:52 · 609 阅读 · 0 评论 -
JAVA不定参数探秘(转)
JAVA中可以使用不定参数,例如 public void test(String ...args){...} 这里test方法可以传入参数的情况是: 1.不使用参数,如test() 2.使用一个或多个参数,如test("1"); test("1","2"); 3.使用数组 test(new String[]{"1","2"}); 在test方法内部,我们可以像使用数组的访问方式...原创 2012-04-18 15:08:07 · 102 阅读 · 0 评论 -
sting和stringbuffer的区别,转了两篇讲解合在一起,看了就差不多了解了
String:是对象不是原始类型.为不可变对象,一旦被创建,就不能修改它的值.对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去.String 是final类,即不能被继承.StringBuffer:是一个可变对象,当对他进行修改的时候不会像String那样重新建立对象它只能通过构造函数来建立,StringBuffer sb = new StringBuffer()...原创 2012-08-31 17:11:05 · 240 阅读 · 0 评论