JAVA
架构师之路
太原科技大学
展开
-
java jdbc 调用存储过程方法
java jdbc 调用存储过程方法一:无返回值的存储过程存储过程为:CREATE OR REPLACE PROCEDURE TESTA(PARA1 IN VARCHAR2,PARA2 IN VARCHAR2) ASBEGIN INSERT INTO HYQ.B_ID (I_ID,I_NAME) VALUES (PARA1, PARA2);END TES原创 2012-12-05 11:51:10 · 732 阅读 · 0 评论 -
log4j.properties配置详解
log4j.properties配置详解Log4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。1. 配置文件Log4J配置文件的基本格式如下: #配置根Loggerlog4j.rootLogger = [ l原创 2012-12-05 11:58:01 · 612 阅读 · 0 评论 -
JDK动态代理
注意在使用JDK提供的动态代理要求我们的目标对象必须实现接口。我们可以通过调用java.lang.reflect.Proxy的静态方法 public static Object newProxyInstance(ClassLoader loader,Class[] interfaces,InvocationHandler h)loader是类装载器interfaces是原创 2012-12-04 18:58:46 · 554 阅读 · 0 评论 -
如何阅读Java源码 阅读java的真实体会
刚才在论坛不经意间,看到有关源码阅读的帖子。回想自己前几年,阅读源码那种兴奋和成就感(1),不禁又有一种激动。源码阅读,我觉得最核心有三点:技术基础+强烈的求知欲+耐心。说到技术基础,我打个比方吧,如果你从来没有学过Java,或是任何一门编程语言如C++,一开始去啃《Core Java》,你是很难从中吸收到营养的,特别是《深入Java虚拟机》这类书,别人觉得好,未必适合现在的你。虽转载 2012-12-05 13:07:10 · 1328 阅读 · 0 评论 -
JAVA反射深入理解
Reflection是Java 程序开发语言的特征之一,它允许运行中的 Java 程序对自身进行检查,或者说"自审",并能直接操作程序的内部属性。例如,使用它能获得 Java 类中各成员的名称并显示出来。 Java 的这一能力在实际应用中也许用得不是很多,但是在其它的程序设计语言中根本就不存在这一特性。例如,Pascal、C 或者 C++ 中就没有办法在程序中获得函数定义相关的信息。Jav原创 2012-12-04 19:31:28 · 774 阅读 · 0 评论 -
Java RMI与RPC,JMS的比较
Java RMI与RPC,JMS的比较 远程对象方法调用并不是新概念,远程过程调用 (RPC) 已经使用很多年了。远程过程调用被设计为在应用程序间通信的平台中立的方式,它不理会操作系统之间以及语言之间的差异。即 RPC 支持多种语言,而 RMI 只支持 Java 写的应用程序。 [1]另外 RMI 调用远程对象方法,允许方法返回 Java 对象以及基本数据类型。而 RPC原创 2012-12-05 13:06:11 · 7427 阅读 · 0 评论 -
JVM启动参数大全
JVM启动参数大全jdk1.4.2 JVM官方地址:http://java.sun.com/j2se/1.4.2/docs/guide/vm/index.html标准和非标注参数(for windows):http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/java.html非stable参数:http://java.sun.c原创 2012-12-05 13:09:54 · 983 阅读 · 0 评论 -
JAVA路径问题大全
JAVA 取得当前目录的路径/Servlet/class/文件路径/web路径/url地址在写java程序时不可避免要获取文件的路径...总结一下,遗漏的随时补上1.可以在servlet的init方法里String path = getServletContext().getRealPath("/");这将获取web项目的全路径例如 :E:\eclipseM原创 2012-12-05 13:14:40 · 815 阅读 · 0 评论 -
jstack和线程dump分析
jstack和线程dump分析 博客分类:java多线程Java网络应用threadJVM一:jstack jstack命令的语法格式: jstack 。可以用jps查看java进程id。这里要注意的是:1. 不同的 JAVA虚机的线程 DUMP的创建方法和文件格式是不一样的,不同的 JVM版本, dump信息也有差别。本文中,只以 SUN的 hotspo原创 2012-12-06 13:58:39 · 5154 阅读 · 0 评论 -
同步与异步
同步与异步 以前经常被同步和异步的区别搞混,上网查的话,上面的答案五花八门,但是自己还算是总结了一下。 我们先介绍同步,何谓同步,抛开任何技术型相关的东西,同步就是步骤的一致性,这种步骤的一致性在不同的技术中又有不同的解释,我们一一介绍,在现有的B/S架构中,就是采用了同步的方式进行的,注意我们这里只说B/S架构采用同步方式而不是说HTTP协议采用同步方式,因为http原创 2012-12-07 14:14:46 · 978 阅读 · 1 评论 -
可运行的jar包 打包过程
1、导出类型2、打jar包名,取消压缩复选框3、4、选择Main方法所在类5、找到依赖jar路径,例如本demo的ClassPath路径为:I:\deploy\DataExtractor\lib6、运行jar包:java -Djava.ext.dirs=I:\deploy\DataExtractor\lib -jar DataExtractor.jar,其中加粗原创 2012-12-07 10:57:00 · 818 阅读 · 0 评论 -
线程池和数据库连接池的原理
线程池的原理: 来看一下线程池究竟是怎么一回事?其实线程池的原理很简单,类似于操作系统中的缓冲区的概念,它的流程如下:先启动若干数量的线程,并让这些线程都处于睡眠状态,当客户端有一个新请求时,就会唤醒线程池中的某一个睡眠线程,让它来处理客户端的这个请求,当处理完这个请求后,线程又处于睡眠状态。可能你也许会问:为什么要搞得这么麻烦,如果每当客户端有新的请求时,我就创建一个原创 2012-12-14 15:40:24 · 1913 阅读 · 0 评论 -
HttpSession与Hibernate中Session的区别
HttpSession与Hibernate中Session的区别一、javax.servlet.http.HttpSession是一个抽象接口它的产生:J2EE的Web程序在运行的时候,会给每一个新的访问者建立一个HttpSession,这个Session是用户身份的唯一表示。注意,是容器(Tomcat,Resin)自动创建的。用途:存放这个用户的一些经常被用到的信息,原创 2012-12-14 14:31:13 · 660 阅读 · 0 评论 -
关于程序的入口在哪???
1. java项目的入口是main方法,运行main方法时就启动了javaw.exe进程,它是虚拟机进程,同时产生2个线程,一个守护线程和一个main主线程。 守护线程也叫精灵线程, 当程序只剩下 守护线程的时候 程序就会退出。 守护线程的作用 类似在后台静默执行 , 比如JVM的垃圾回收机制, 这个就是一个 守护线程。 而非守护线程则不会。 main方法结束后,守护线程就原创 2012-12-14 15:27:26 · 1200 阅读 · 0 评论 -
数据库连接池之超时总结 .
大家都觉得使用连接池可以使连接更好的控制,于是乎简单的配置了一下连接池就行了,只要能连接到数据库就觉得什么都ok了.其实不然,如果不正确的配置一 下连接池,那将得不偿失!原因是:连接池的确会减少每次连接数据库对系统带来的开销,因为连接池中会存在一些可用的连接,程序使用的时候直接来这里取就行 了,连接池中的连接一般情况下是不会被关闭的,这点就是问题的所在!这么多的没关闭连接会直接耗掉数据库所能提供的原创 2012-12-17 12:00:41 · 7005 阅读 · 0 评论 -
数据库驱动程序是什么?
数据库JDBC驱动程序是什么? 驱动:英文名为“Device Driver”,全称为“设备驱动程序”是一种可以使计算机和设备通信的特殊程序,可以 说相当于硬件的接口,操作系统只有通过这个接口,才能控制硬件设备的工作,假如某设备的驱动程序未能正确安装,便不能正常工作。 因此,驱动程序被誉为“硬件的灵魂”、“硬件和系统之间的桥梁”。 但是数据库本身原创 2012-12-17 14:30:25 · 6534 阅读 · 0 评论 -
SDK、JDK、JRE 和JVM 之间的关系
SDK(Software Develop Kit,软件开发工具包),用于帮助开发人员的提高工作效率。各种不同类型的软件开发,都可以有自己的SDK。Windows有Windows SDK,DirectX 有 DirectX 9 SDK,.NET开发也有Microsoft .NET Framework SDK。JAVA开发也不含糊,也有自己的Java SDK。 Java SDK最早叫Java S原创 2012-12-21 12:49:05 · 1827 阅读 · 0 评论 -
Spring配置文件标签报错:The prefix "XXX" for element "XXX:XXX" is not bound. .
The prefix "context" for element "context:annotation-config" is not bound.这种情况是因为没有申明该标签,然后就使用了。解决方发是,在配置文件头部加入相应的信息即可( 即xmlns:context="http://www.springframework.org/schema/context")。 这种情况是因为没有原创 2012-12-12 12:27:38 · 14084 阅读 · 1 评论 -
thread dump
笔记:top jstack -l 进程号 > /home/logs/aaa.txt原创 2012-12-17 17:42:18 · 593 阅读 · 0 评论 -
ssh所需要的jar包
struts2 commons-logging-1.0.4.jar 主要用于日志处理 freemarker-2.3.8.jar 模板相关操作需要包 ognl-2.6.11.jar ognl表达示所需包, xwork-2.0.7.jar xwork核心包 struts2-core-2.0.14.jar struts2核心包 struts2-spring-plugin-2.0.原创 2012-12-12 14:12:27 · 1527 阅读 · 1 评论 -
SSH框架应用中常用Jar包用途介绍
commons-logging-1.0.4.jar Struts2加入了就不需要导入 log4j-1.2.15.jar Hibernate加入了就不需要导入 Jar文件:红色的为一定没有问题的jar包操作数据库的jarmysql-connector-java-5.0.8-bin.jarstruts2原创 2012-12-12 14:15:38 · 1920 阅读 · 0 评论 -
xfire实现webservice时的权限控制 .
XFire是codeHaus组织提供的一个开源框架,它构建了POJO和SOA之间的桥梁,主要特性就是支持将POJO通过非常简单的方式发布成Web服务,这种处理方式不仅充分发挥了POJO的作用,简化了Java应用转化为Web服务的步骤和过程,也直接降低了SOA的实现难度,用过xfire的朋友一定会这样的感触,对于xfire的基本配置及调用方式已经很多的相关文章,这里主要对xfire的权限管理的实现做原创 2012-12-06 10:39:05 · 1427 阅读 · 1 评论 -
java的HashCode方法
有许多人学了很长时间的Java,但一直不明白hashCode方法的作用, 我来解释一下吧。首先,想要明白hashCode的作用,你必须要先知道Java中的集合。 总的来说,Java中的集合(Collection)有两类,一类是List,再有一类是Set。 你知道它们的区别吗?前者集合内的元素是有序的,元素可以重复;后者元素无序,但元素不可重复。 那么这里就有一个比较严重的问题了原创 2013-01-19 15:47:46 · 846 阅读 · 0 评论 -
JAVA写文件到FTP的几种方法
1.使用URL:URL url = new URL( " ftp://javaa:javaa@172.168.2.222:21/test/javaa.txt " );PrintWriter pw = new PrintWriter(url.openConnection().getOutputStream());pw.write( " this is a test " );p原创 2013-01-21 11:29:47 · 12763 阅读 · 1 评论 -
RandomAccess接口的使用
引子:RandomAccess在类Collections的shuffle()方法中的使用:(jdk源码如下)Java代码 "font-size: small;">/** * Randomly permute the specified list using the specified source of * randomness. A原创 2013-03-04 18:47:56 · 12623 阅读 · 1 评论 -
Iterator和ListIterator的不同使用方法
我们在使用List,Set的时候,为了实现对其数据的遍历,我们经常使用到了Iterator(跌代器)。使用跌代器,你不需要干涉其遍历的过程,只需要每次取出一个你想要的数据进行处理就可以了。 但是在使用的时候也是有不同的。List和Set都有iterator()来取得其迭代器。对List来说,你也可以通过listIterator()取得其迭代器,两种迭代器在有些时候是不能通用的,Iterat原创 2013-03-04 16:27:31 · 1095 阅读 · 0 评论 -
Java String对象的经典问题(new String())
先来看一个例子,代码如下: Java代码 public class Test { public static void main(String[] args) { String str = "abc"; String str1 = "abc"; String str2 = new Stri原创 2013-03-05 13:00:12 · 1416 阅读 · 0 评论 -
char与byte的区别
很多初学者肯会对char和byte这两种数据类型有所疑惑,相互混淆,今天特地查了好多资料,对byte和char两种数据类型进行了总结和比较,先将结果与大家分享: byte 是字节数据类型 ,是有符号型的,占1 个字节;大小范围为-128—127 。char 是字符数据类型 ,是无符号型的,占2字节(Unicode码 );大小范围 是0—65535 ;char是一个16原创 2013-03-06 14:01:34 · 1881 阅读 · 0 评论 -
String的compareTo()方法返回值
以前以为compareTo()比较的是ASCII码总和的大小,原来不是。compareTo(),它是先比较对应字符的大小(ASCII码顺序),如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的 差值,如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至比较的字符或被比较的字符有一方 全比较完,这时就比较字符的长度. 例:原创 2013-03-06 16:36:54 · 1017 阅读 · 0 评论 -
run( ) 与 start( )
看一下下面的代码: class Father implements Runnable{ private String name; private int times; Father(String name,int times) { this.name = name; thi原创 2013-03-07 18:43:27 · 698 阅读 · 0 评论 -
Java访问权限修饰符
1、Class类的访问权限: public:可以供所有的类访问。 默认:默认可以称为friendly但是,java语言中是没有friendly这个修饰符的,这样称呼应该是来源于c++。默认的访问权限是包级访问权限。 即如果写了一个类没有写访问权限修饰符,那么就是默认的访问权限,同一个包下的类都可以访问到,即使可以实例化该类 (当然如果这个类不具有实例化的能力原创 2013-03-08 10:59:22 · 2330 阅读 · 0 评论 -
JVM调优
不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM、GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为复杂的过程,由于各个程序具备不同的特点,如:web和GUI程序就有很大区别(Web可以适当的停顿,但GUI停顿是客户无法接受的),而且由于跑在各个机器上的配置不同原创 2013-02-22 19:52:04 · 990 阅读 · 0 评论 -
Java性能调优笔记
Java性能调优笔记调优步骤:衡量系统现状、设定调优目标、寻找性能瓶颈、性能调优、衡量是否到达目标(如果未到达目标,需重新寻找性能瓶颈)、性能调优结束。寻找性能瓶颈性能瓶颈的表象:资源消耗过多、外部处理系统的性能不足、资源消耗不多但程序的响应速度却仍达不到要求。资源消耗:CPU、文件IO、网络IO、内存。外部处理系统的性能不足:所调用的其他系统提供的功能或数据库原创 2013-02-22 19:54:31 · 2031 阅读 · 0 评论 -
对synchronized(this)的一些理解
一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。二、然而,当一个线程访问object的一个synchronized(this)同步代码块时,另一个线程仍然可以访问该object中的非synchronized(this)同步代码块。原创 2013-03-08 18:50:55 · 899 阅读 · 0 评论 -
理解HTTP session原理及应用
一、术语session在我的经验里,session这个词被滥用的程度大概仅次于transaction,更加有趣的是transaction与session在某些语境下的含义是相同的。 session,中文经常翻译为会话,其本来的含义是指有始有终的一系列动作/消息,比如打电话时从拿起电话拨号到挂断电话这中间的一系列过程可以称之为一个session。有时候我们可以看到这样的话“在一个浏览器会原创 2013-03-08 18:54:16 · 867 阅读 · 0 评论 -
jstat 查看GC
jstat 1. jstat -gc pid 可以显示gc的信息,查看gc的次数,及时间。 其中最后五项,分别是young gc的次数,young gc的时间,full gc的次数,full gc的时间,gc的总时间。 2.jstat -gccapacity pid原创 2013-02-25 11:46:29 · 3627 阅读 · 0 评论 -
触发Full GC执行的情况
除直接调用System.gc外,触发Full GC执行的情况有如下四种。1. 旧生代空间不足旧生代空间只有在新生代对象转入及创建为大对象、大数组时才会出现不足的现象,当执行Full GC后空间仍然不足,则抛出如下错误:java.lang.OutOfMemoryError: Java heap space 为避免以上两种状况引起的Full GC,调优时应尽量做到让原创 2013-02-25 13:48:33 · 1682 阅读 · 1 评论 -
java中HashMap详解
HashMap 和 HashSet 是 Java Collection Framework 的两个重要成员,其中 HashMap 是 Map 接口的常用实现类,HashSet 是 Set 接口的常用实现类。虽然 HashMap 和 HashSet 实现的接口规范不同,但它们底层的 Hash 存储机制完全一样,甚至 HashSet 本身就采用 HashMap 来实现的。 通过 HashMap原创 2013-02-25 18:06:42 · 724 阅读 · 0 评论 -
多线程调用与中断过程研究
一直以来,对多线程的理解都仅限书本知识,没有仔细研究过,这次做了个实验,对多线程有了一定的了解。下面是实验代码与结果。public class MyRunTest implements Runnable { private int ticket=5;//类的成员变量放在栈里面,因为只new了一个对象,所以三个线程共同操作这个变量。 @Override public void原创 2013-03-08 14:41:13 · 1084 阅读 · 0 评论 -
Java静态代码块(static block)调用陷阱小记
Java 中的static代码块并不一定会被调用。设两个含静态方法和静态块的两个类(父类Base 子类Extend)static块要写在public类里,所以两个类要写在单独的两个.java文件里//父类public class Base { public static String who = "Mr. Base"; Base(){原创 2013-03-08 18:52:05 · 3332 阅读 · 0 评论