Java
guoyf123321
程序员一枚!
展开
-
java注解
java中元注解有四个: @Retention @Target @Document @Inherited; @Retention:注解的保留位置 @Retention(RetentionPolicy.SOURCE) //注解仅存在于源码中,在class字节码文件中不包含 @Retention(RetentionPolicy.CLASS)转载 2015-11-12 11:56:17 · 257 阅读 · 0 评论 -
Java设置session超时(失效)的三种方式
1. 在web容器中设置(此处以tomcat为例)在tomcat-5.0.28\conf\web.xml中设置,以下是tomcat 5.0中的默认配置:[html] view plaincopy session-config> session-timeout>30s转载 2015-12-09 17:30:31 · 379 阅读 · 0 评论 -
线程池参数设置
JDK1.5中引入了强大的concurrent包,其中最常用的莫过了线程池的实现ThreadPoolExecutor,它给我们带来了极大的方便,但同时,对于该线程池不恰当的设置也可能使其效率并不能达到预期的效果,甚至仅相当于或低于单线程的效率。ThreadPoolExecutor类可设置的参数主要有:corePoolSize核心线程数,核心线程会一直存活,即使没有任务需要处理。转载 2016-01-12 11:28:25 · 394 阅读 · 0 评论 -
远程通信的几种选择(RPC,Webservice,RMI,JMS的区别)
RPC(Remote Procedure Call Protocol)RPC使用C/S方式,采用http协议,发送请求到服务器,等待服务器返回结果。这个请求包括一个参数集和一个文本集,通常形成“classname.methodname”形式。优点是跨语言跨平台,C端、S端有更大的独立性,缺点是不支持对象,无法在编译器检查错误,只能在运行期检查。Web ServiceWeb Servic原创 2016-02-23 11:32:30 · 310 阅读 · 0 评论 -
10种简单的Java性能优化
你是否正打算优化hashCode()方法?是否想要绕开正则表达式?Lukas Eder介绍了很多简单方便的性能优化小贴士以及扩展程序性能的技巧。最近“全网域(Web Scale)”一词被炒得火热,人们也正在通过扩展他们的应用程序架构来使他们的系统变得更加“全网域”。但是究竟什么是全网域?或者说如何确保全网域?扩展的不同方面全网域被炒作的最多的是扩展负载(Scaling load),比如转载 2016-02-25 11:54:49 · 331 阅读 · 0 评论 -
POI常用
一、 POI简介 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。二、 HSSF概况 HSSF 是Horrible SpreadSheet Format的缩写,通过HSSF,你可以用纯Java代码来读取、写入、修改Excel文件。HSSF 为读转载 2016-05-10 11:14:30 · 358 阅读 · 0 评论 -
java对cookie的操作
java对cookie的操作比较简单,主要介绍下建立cookie和读取cookie,以及如何设定cookie的生命周期和cookie的路径问题。 建立一个无生命周期的cookie,即随着浏览器的关闭即消失的cookie,代码如下1234HttpServletRequest request HttpServletResponse转载 2016-04-21 14:58:43 · 216 阅读 · 0 评论 -
sftp文件上传下载
最近写的一个JAVA实现SFTP的实例:/** Created on 2009-9-14* Copyright 2009 by www.xfok.net. All Rights Reserved**/package net.xfok.ftp;import java.io.File;import java.io.FileInputStream;import原创 2016-08-30 11:07:25 · 527 阅读 · 1 评论 -
JNDI深层解答
JNDI是 Java 命名与目录接口(Java Naming and Directory Interface),在J2EE规范中是重要的规范之一,不少专家认为,没有透彻理解JNDI的意义和作用,就没有真正掌握J2EE特别是EJB的知识。那么,JNDI到底起什么作用?要了解JNDI的作用,我们可以从“如果不用JNDI我们怎样做?用了JNDI后我们又将怎样做?”这个问题来探讨。没有转载 2016-09-07 15:24:29 · 317 阅读 · 0 评论 -
JDK/JAVA 1.5到1.9版本特性对比
update:2017/9/25JDK发展历史: 96年SUN JDK 1.0 class VMWare、Visual 97年JDK 1.1:具有AWT、内部类、JDBC、RMI、反射 98年JDK 1.2:有JIT解析器、精确内存管理、提升GC性能 2000年JDK 1.3:Hotspot发布默认的虚拟机 2002年JDK 1.4:VM退出 2004年JDK ...转载 2018-06-22 11:53:29 · 1032 阅读 · 0 评论 -
关于jar包冲突的N多点
项目中偶尔会出现很多莫名其妙的错误,有时候本地不报错,一打包就报错,有时候本地不报错,测试环境报错、生产环境报错,我先说解决办法的步骤吧 1.根据错误信息确定是哪个jar包有问题。2.比较该jar包和之前版本项目引用的是否一致。3.删除仓库不符合的版本,重新编译是否生效。4.若不生效则查看pom文件中是否与原pom文件一致,若不一致则可能是新加的引用导致冲突。5.若pom文件一致,打包后查看所引用...原创 2018-06-22 15:43:10 · 274 阅读 · 0 评论 -
java打印PDF
public class PrintPdf { public static void main(String[] args) { // System.out.println("Value:"+test()); // 打印pdf的一个方法,首先安装下PDFCreator软件 try { printFile("D:\\2014090...原创 2018-06-20 10:00:47 · 1207 阅读 · 0 评论 -
java GC垃圾回收机制参数配置
JVM配置-server-Xmx1024m-Xms1024m-XX:NewSize=256m-XX:MaxNewSize=256m-XX:PermSize=128m-XX:MaxPermSize=128m-XX:SurvivorRatio=8-XX:+PrintGCDetails-XX:+PrintGCTimeStamps-XX:+UseConcMarkSweepGC-XX:+UseCMSComp...原创 2018-06-20 10:03:09 · 3132 阅读 · 0 评论 -
java类加载
java的类加载机制一 类加载器概述java类的加载是由虚拟机来完成的,虚拟机把描述类的Class文件加载到内存,并对数据进行校验,解析和初始化,最终形成能被java虚拟机直接使用的java类型,这就是虚拟机的类加载机制.JVM中用来完成上述功能的具体实现就是类加载器.类加载器读取.class字节码文件将其转换成java.lang.Class类的一个实例.每个实例用来表示一个java类.通...原创 2018-08-23 17:28:30 · 265 阅读 · 0 评论 -
正则表达式2
java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。它包括两个类:Pattern和Matcher Pattern 一个Pattern是一个正则表达式经编译后的表现模式。 Matcher 一个Matcher对象是一个状态机器,它依据Pattern对象做为匹配模式对字符串展开匹配检查。 首先一个Pattern实例订制了一个所用语法与PERL的类似的正则表达式经编转载 2015-12-09 15:49:19 · 265 阅读 · 0 评论 -
Pattern和Matcher
java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。1.简介: java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。 它包括两个类:Pattern和Matcher 。Pattern: 一个Pattern是一个正则表达式经编译后的表现模式。 Matcher: 一个Matcher对象是一转载 2015-12-09 15:13:50 · 224 阅读 · 0 评论 -
RMI实现例子
Java RMI之HelloWorld篇 Java RMI 指的是远程方法调用 (Remote Method Invocation)。它是一种机制,能够让在某个 Java 虚拟机上的对象调用另一个 Java 虚拟机中的对象上的方法。可以用此方法调用的任何对象必须实现该远程接口。 Java RMI不是什么新技术(在Java1.1的时代都有了),但却是是非常重要的底层技术。大名鼎鼎转载 2016-01-22 11:53:41 · 547 阅读 · 0 评论 -
java中注解的使用与实例 (二)
java中注解的使用与实例 (二)java 注解,从名字上看是注释,解释。但功能却不仅仅是注释那么简单。注解(Annotation) 为我们在代码中添加信息提供了一种形式化的方法,是我们可以在稍后 某个时刻方便地使用这些数据(通过 解析注解 来使用这些数据),常见的作用有以下几种:生成文档。这是最常见的,也是java 最早提供的注解。常用的有@see @param @return 等跟转载 2015-11-12 12:44:56 · 240 阅读 · 0 评论 -
对象锁的解释
最近做的项目中遇到一个问题:明明用了ConcurrentHashMap,可是始终线程不安全除去项目中的业务逻辑,简化后的代码如下:[java] view plaincopypublic class Test40 { public static void main(String[] args) throws InterruptedException {转载 2015-11-17 13:29:03 · 329 阅读 · 0 评论 -
cookie机制和session机制的区别
一、cookie机制和session机制的区别 具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案. 同时我们也看到,才服务器端保持状态的方案在客户端也需要保存一个标识,session 机制可能需要借助于cookie机制来达到保存标识的目的,但实际上还有其他选择 二、会话cookie和持久cookie转载 2015-11-25 17:46:17 · 299 阅读 · 0 评论 -
共同父域下的单点登录
单点登录(Single Sign On),简称为SSO,SSO不仅在企业级开发很常用,在互联网中更是大行其道。随便举几个例子,比如我们登录新浪微博后,再访问新浪首页后,我们发现,已经自动登录了;再比如我们登录CSDN后,可以写博客、逛论坛、下载资源等等。前者是完全跨域的单点登录,下文会讲,后者是共同父域下(www.csdn.net、blog.csdn.net、bbs.csdn.net、passpo转载 2015-12-28 09:56:09 · 253 阅读 · 0 评论 -
几种常用加密算法比较
由于计算机软件的非法复制,通信的泄密、数据安全受到威胁,解密及盗版问题日益严重,甚至引发国际争端,所以在信息安全技术中,加密技术占有不可替代的位置,因此对信息加密技术和加密手段的研究与开发,受到各国计算机界的重视,发展日新月异。现在我们就几种常用的加密算法给大家比较一下。DES加密算法DES加密算法是一种分组密码,以64位为分组对数据加密,它的密钥长度是56位,加密解密用同一算法。转载 2015-12-28 10:34:11 · 318 阅读 · 0 评论 -
通过mark和reset方法重复利用InputStream
在这篇博客中我们已经简单的知道可以通过缓存InputStream来重复利用一个InputStream,但是这种方式的缺点也是明显的,就是要缓存一整个InputStream内存压力可能是比较大的。如果第一次读取InputStream是用来判断文件流类型,文件编码等用的,往往不需要所有的InputStream的数据,或许只需要前n个字节,这样一来,缓存一整个InputStream实际上也是一种浪费。转载 2015-12-13 09:31:46 · 2430 阅读 · 0 评论 -
JMX解释
JMX(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。外文名Java Management Extensions简 称JMX属 性Java管理扩展转载 2015-12-30 16:49:29 · 344 阅读 · 0 评论 -
守护线程的理解
守护线程在没有用户线程可服务时自动离开,在Java中比较特殊的线程是被称为守护(Daemon)线程的低级别线程。这个线程具有最低的优先级,用于为系统中的其它对象和线程提供服务。将一个用户线程设置为守护线程的方式是在线程对象创建之前调用线程对象的setDaemon方法。典型的守护线程例子是JVM中的系统资源自动回收线程,我们所熟悉的Java垃圾回收线程就是一个典型的守护线程,当我们的程序中不再有任何原创 2015-12-30 17:41:24 · 623 阅读 · 0 评论 -
jvm内存区域划分
jvm区域总体分两类,heap区和非heap区。heap区又分:Eden Space(伊甸园)、Survivor Space(幸存者区)、Tenured Gen(老年代-养老区)。 非heap区又分:Code Cache(代码缓存区)、Perm Gen(永久代)、Jvm Stack(java虚拟机栈)、Local Method Statck(本地方法栈)。HotSpot虚拟机GC算法采用分转载 2015-12-30 18:18:59 · 390 阅读 · 0 评论 -
Java线程(篇外篇):阻塞队列BlockingQueue
zhe一段时间我的工作主要是改进公司的调度器,调度器调度线程池执行任务,生产者生产任务,消费者消费任务,那么这时就需要一个任务队列,生产者向队列里插入任务,消费者从队列里提取任务执行,调度器里是通过BlockingQueue实现的队列,随后小查一下,下面看看BlockingQueue的原理及其方法。 BlockingQueue最终会有四种状况,抛出异常、返回特殊值、阻塞、超时,转载 2015-12-31 11:55:39 · 309 阅读 · 0 评论 -
Java的23种设计模式
1、FACTORY?追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如转载 2015-12-17 17:02:15 · 267 阅读 · 0 评论 -
JDK1.5新特性
泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 Java语言引入泛型的好处是安全简单。 在Java SE 1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要原创 2016-01-21 11:58:35 · 194 阅读 · 0 评论 -
Base64的加密与解密
最近在项目中关于客户端文件上传问题,原本我webservice接口这边提供的是byte[]类型,确不知道ios客户端没这类型,只能传用Base64加密后的字符串给我.....因为学习的少,不知道这东东是怎么回事,于是找了很多资料,终于把问题解决了。 Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的详细规范转载 2015-12-20 21:48:58 · 505 阅读 · 0 评论 -
私服上传下载jar包配置
maven私服简介maven默认的仓库是apache的中央仓库,需要什么jar包都是直接从apache中央库里调,nexus私服相当于一个中间服务器,它从apache中央仓库下载资源,公司的局域网内的用户通过setting.xml/pom.xml的配置可以直接引用nexus私服中的资源。如果私服里有的东西,本地项目需要引用则直接下载,没有才从apache中央仓库下载,相当于加快了速度,减小了...原创 2018-08-23 17:30:15 · 881 阅读 · 0 评论