java编程
文章平均质量分 71
danney945
这个作者很懒,什么都没留下…
展开
-
JMX使用
1.JMX含义最近做一个日常,写一个JMX。个人觉得JMX好神奇,写一个配置文件+一个带JmxClass注解的类+若干个带JmxMethod注解的方法,JMX就会自动提供一个WEB页面供我进行配置与管理,JMX(Java Management Extensions)是一个为应用程序植入管理功能的框架。2.使用2.1 配置文件jmx-mbean.xml具体内容如下xml ve原创 2013-07-08 17:39:58 · 1052 阅读 · 0 评论 -
解决failed to create java Virtual Machine问题
找到eclipse目录下的eclipse.ini,可以看到如下内容:-startupplugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar–launcher.libraryplugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.0.v20100503-produc原创 2013-08-14 16:17:19 · 682 阅读 · 0 评论 -
一个因中断导致的死锁分析
最近在一次压测过程中暴露出notify client的一个死锁问题,发生死锁的场景是消息的可靠异步发送,具体过程是:(生产者)消息发送线程拿到队列锁,当队列未满的时候写入消息,释放锁,当队列满的时候,释放锁,等待队列空条件。(消费者)刷盘线程拿到队列锁,当队列有数据的时候,取数据清空队列,释放锁,再把取出来的消息数据刷盘持久化;没数据的时候,释放锁,等待队列非空条件。这是一个典型的多生转载 2013-11-04 10:05:51 · 1263 阅读 · 0 评论 -
eclipse常用方法
以前都是用.net的,现在用eclipse,还不习惯,写代码效率比较低,经过两个多月的使用,也熟悉了一些常用技巧,写出来分享下。1.Eclipse的基本配置项设置1.1字符编码由于Linux下,文件保存默认的字符编码是UTF-8,而国际交易技术部统一要求使用GBK字符集编码来保存代码源文件。为了避免别人打开你的含有中文字符的文件时不会出现乱码,首先要保证自己保存文件时,使用了GBK原创 2013-07-19 16:57:41 · 3626 阅读 · 1 评论 -
LinkedHashMap和HashMap的比较使用
由于现在项目中用到了LinkedHashMap,并不是太熟悉就到网上搜了一下。import java.util.HashMap;import java.util.Iterator;import java.util.LinkedHashMap;import java.util.Map;public class TestLinke转载 2013-12-04 22:58:25 · 454 阅读 · 0 评论 -
java.lang.NoClassDefFoundError与java.lang.ClassNotFoundException
java.lang.NoClassDefFoundError 和 java.lang.ClassNotFoundException 都是 Java 语言定义的标准异常。从异常类的名称看似乎都跟类的定义找不到有关,但是还是有些差异。我们先来看一下 java 规范中对这两个异常的说明: java.lang.NoClassDefFoundError:Thrown if the Java Vi转载 2014-01-19 15:05:55 · 738 阅读 · 0 评论 -
总结java方法(函数)传值和传引用的问题
java方法中传值和传引用的问题是个基本问题,但是也有很多人一时弄不清。(一)基本数据类型:传值,方法不会改变实参的值。public class TestFun {public static void testInt(int i){ i=5; } public static void main(String[] args) { int a=0 ;转载 2014-01-19 15:28:02 · 602 阅读 · 0 评论 -
JAVA中施用JSONObject对象必备jar
JAVA中使用JSONObject对象必备jarJSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互。本文将快速讲解 JSON 格式,并通过代码示例演示如何分别在客户端和服务器端进行 JSON 格式数据的处理。Json必需的包commons-httpclient-3.1.jarcomm转载 2014-01-20 10:57:59 · 592 阅读 · 0 评论 -
Java获取请求客户端的真实IP地址
在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。如果使用了反向代理软件,将http://192.168.1.110:2046/ 的URL反向代理为http://www.xxx.com/ 的URL时,用request.getRemo转载 2014-03-18 13:36:26 · 428 阅读 · 0 评论 -
java中的几个O(实体类)的区别
经常会接触到VO,DO,DTO的概念,本文从领域建模中的实体划分和项目中的实际应用情况两个角度,对这几个概念进行简析。得出的主要结论是:在项目应用中,VO对应于页面上需要显示的数据(表单),DO对应于数据库中存储的数据(数据表),DTO对应于除二者之外需要进行传递的数据。一、实体类百度百科中对于实体类的定义如下:实体类的主要职责是存储和管理系统内部的信息,它也可以有行为,甚至很复杂转载 2014-04-03 16:33:35 · 4718 阅读 · 0 评论 -
eclipse svn 忽略 target目录 and so on (zz)
这个build失败的解决方案就是不要把你项目的 target目录放在src repository 里面,还有 .project 和.classpath 最好也别放到src repository 里。具体的做法就是在新建项目的时候,在第一次commit 到 SVN 之前,先在项目的根目录设置一个 SVN 属性(我在eclipse 3.3 中,SVN插件是subclipse 1.4.0):转载 2014-10-30 11:57:18 · 381 阅读 · 0 评论 -
java中static变量和方法的总结
java中static变量和方法的总结java中一切皆是对象一个类中对象的定义一般都是分一下的两步来进行的:1/ A a; //定义了一个类A的引用2/ a=new A("10","2563"); //真正地建立了对象a,也就是a指向了内存中一块连续的区域 也就是说通转载 2014-12-03 23:01:11 · 511 阅读 · 0 评论 -
java中的static
1.staic修饰方法、Fieldstatic修饰的方法、Field属于类本身而不属于实例。用static修饰的方法和Field,既可以通过类来调用,也可以通过实例来调用。没有static修饰的普通方法只能通过实例来调用。static修饰的方法中不能使用this引用,static修饰的方法不能访问不使用static原创 2014-12-03 23:05:42 · 381 阅读 · 0 评论 -
学习迭代器Iterator
1.迭代器迭代器(Iterator) 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构。迭代器通常被称为“轻量级”对象,因为创建它的代价小。 Java中的Iterator功能比较简单,并且只能单向移动: (1) 使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方转载 2013-07-26 16:04:16 · 509 阅读 · 0 评论 -
JSON学习
1.json的定义json(JavaScript Object Notation) 是一种轻量级的数据交换格式,能够在服务器之间交换数据。在json出现之前,通用的数据交换语言是XML,但是XML的生成与解析比较麻烦。json的规格非常简单,规定如下:(1)并列的数据之间用逗号(",")分隔(2)映射用冒号(“:”)(3)并列数据的集合(数组)用方括号(“[]”)表示(4)映射原创 2013-07-25 22:43:47 · 517 阅读 · 0 评论 -
我对Annotation的理解
1.Annotation的定义Annotation是代码里的特殊标记,这些标记可以在编译、类加载、运行时被读取,并经行相关的处理。2.Annotation的原理Annotation是一个接口,程序可以通过反射来获取指定程序元素的Annotation对象,然后通过Annotation对象来取得注释里的元数据。java.lang.reflect.AnnotatedElement接口提供了查原创 2013-07-14 22:15:40 · 697 阅读 · 0 评论 -
java的反射
今天看了下java的反射机制,看后,恍然间对spring、annotation的工作机制有了进一步的了解。反射用在java上指的是我们可以运行时加载、探知、使用编译期间完全未知的classes,就是说,java程序可以加载一个运行时才得知名称的class,获得其完整的结构,并生成对象实例,读取改变fields,或调用其methods。 谈到反射,要涉及到java.lang.clas原创 2013-07-14 21:31:05 · 676 阅读 · 0 评论 -
创建线程类的两种方法对比
创建线程有两种方法1.继承Thread类创建线程类步骤(1)定义Thread类的子类,并重写run()方法(2)创建Thread子类的实例(3)调用start()方法启动线程例子:public class myThread extends Thread(){ private int i; //重写run方法 public voi原创 2013-07-15 11:33:15 · 1987 阅读 · 0 评论 -
结合java编程讲述下线程的生命周期
线程的生命周期包括新建、就绪、运行、阻塞和死亡5种状态,那么结合编程,这5种状态是怎么存在的呢1.新建当程序使用new关键字创建一个线程后,该线程就处于新建状态,此时,与其他java对象一样,仅有java虚拟机为其分配内存,初始化成员变量。2.就绪当线程对象调用start()方法后,线程就处于就绪状态,java虚拟机为其创建方法调用栈与程序计数器,关于该线程何时执行,取决于JVM里原创 2013-07-15 11:48:07 · 645 阅读 · 0 评论 -
java线程编程常用方法
1.join让线程等待一个线程完成的方法。实例:JoinThrea jt =new JoinThread("被join的线程");jt.start();jt.join();使用join方法后,只有jt线程执行完后,才能执行其他的线程。2.后台线程setDaemon(true)在后台运行,为其他线程提供服务。JVM的垃圾回收线程就是典型的后台线程。前台线程都死原创 2013-07-15 12:06:32 · 535 阅读 · 0 评论 -
java异常总结
1.java异常分类java异常分为两大类:checked异常与unchecked异常,其中unchecked异常又叫运行时异常(1)unchecked异常即RuntimeException(运行时异常),不需要try……catch……或throws机制去处理的异常(2)checked异常除了RuntimeException,其他继承自java.lang.Exception的异原创 2013-07-15 17:25:15 · 624 阅读 · 0 评论 -
java里面的内存
Person p = new Person();//Person类中有name、age两个成员变量这段代码创建了一个p变量,一个Person对量。Person对象包含两个Field,而Field是需要内存来存储的,因此,当创建Person对象时,必然需要有对应的内存来存储Person对象的Field。Person对象位于堆内存中,P作为引用变量,位于栈内存中。两者关系如下:原创 2013-07-16 14:51:08 · 522 阅读 · 0 评论 -
java中的成员变量与局部变量
1.定义成员变量值的是在类范围里定义的变量,局部变量值的是在方法里定义的变量。具体分类如下1.2成员变量有关成员变量的说明可以参考本人的另一篇博客《java中的static》中的“staic修饰Field”,这里不再说明。只需知道成员变量存放在堆内存中。1.2局部变量定义局部变量后,必须经过初始化才能使用,这是因为定义局部变量后,系统并未为这个局部变量分配内存空间,直到等到原创 2013-07-17 11:44:54 · 602 阅读 · 0 评论 -
java中一些关键字说明
1.访问限制符共有四种,按优先级从左到右分别是访问权限如下 privatedefaultprotectedpublic同一个类中 同一个包中 子类中 全局范围原创 2013-07-17 14:35:38 · 665 阅读 · 0 评论 -
java中的this与super
this关键字总是指向调用该方法的对象。下面举例子说明一下this的作用1.不使用this的例子public class Dog { public void jump(){ System.out.println("正在执行jump方法"); } public void run(){ Dog d =原创 2013-07-16 15:34:20 · 463 阅读 · 0 评论 -
学习java程序加载
1.程序加载的含义程序加载,就是将类文件中的一行行代码放到内存当中,只是放到,并不去执行。2.什么时候会加载(1)new一个对象时(2)使用类中的静态成员3.加载顺序与在内存中存放位置举例子来说下。在main函数中有下面语句:Person p=new Person("zhangsan",20);(1)在栈内存中,开辟main函数空间,建立main函数的变量p(2)加原创 2013-07-04 15:23:44 · 470 阅读 · 0 评论 -
我对进程、线程、异步、同步的理解
1. 进程和线程的区别我的理解进程是一个正在执行的程序,正如我们在任务管理器中看到的一样,如图1-1,一个记事本、一个word文档、一个打开的网页就是一个进程,线程我们在这里看不到的。不过在eclipse中的debug窗口可以看到Thread。我是这样看待进程与线程的,一个进程来做一系列事情,我分为S1~S4,在没有线程前,进程需要依次做S1、S2、S3、S4,引入线程后,我们可以让线程T原创 2013-07-05 15:13:31 · 816 阅读 · 0 评论 -
怎么样在svn根目录添加一个工程
问题:我们测试组有个svn地址专门放测试代码的,我新建了个测试工程,也要把代码放到里面,比如代码都放在这里http://svn.alibaba-inc.com/repos/ali_yun/qa/ali_security/product-test/keycenter/ 我需要把这里的代码都co出来,然后把我的工程放里面,再commit?这样太麻烦了,要下很多代码下来,有没有别的办法。当然是有原创 2016-01-07 12:05:40 · 3306 阅读 · 0 评论