java
仰望_forward
hi
展开
-
ByteBuffer使用有感
最近在项目中,频繁使用到ByteBuffer,对于其中的一些用法感到迷惑,于是在闲暇的时间,查看了jdk文档,并使用少量的代码测试了对几个方法的使用,分享给大家。1.传输数据在jdk.doc里有说明:此类的每个子类都定义了两种获取 和放置 操作:相对 操作读取或写入一个或多个元素,它从当前位置开始,然后将位置增加所传输的元素数。如果请求的传输超出限制,则相对获取 操作将抛出 ...2013-04-11 09:12:26 · 118 阅读 · 0 评论 -
使用Miglayout布局实例
上个星期使用java swing做一个客户端界面。 对于我来说,做swing界面最难的就是布局了,很多时候不知道使用哪种布局方式。本来想要使用NetBeans的图形化进行布局,但还是觉得不是特别靠谱。在网上搜索了之后,发现有一个开源的布局方式miglayout,在学习了几天之后,觉得感觉很好。下面我把我做的界面和源码贴给大家。共同学习,共同进步。 ...原创 2013-09-16 13:29:56 · 1450 阅读 · 0 评论 -
阻塞与非阻塞,同步与异步
socket阻塞与非阻塞,同步与异步作者:huangguisu 1. 概念理解 在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式:同步: 所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一件事。 例如...原创 2013-09-26 09:40:46 · 121 阅读 · 0 评论 -
三种方式生成对象效率对比
对比不同方式生成对象的效率三种方式生成对象:1.通过反射2.通过Cglib里的FastClass3.直接new在每个循环100000000生成对象后,得到的1结果: 15784 ms2结果: 1574 ms3结果: 717ms多次测试之后,结果没有很大差别,由此可见new的速度是FastClass的两倍,FastClass是反射速度的十倍。 ...原创 2013-10-09 10:07:08 · 380 阅读 · 0 评论 -
Java线程状态转换图
Java线程一共有七个状态,分别是新建,可运行,运行中,睡眠,阻塞,等待,死亡。原创 2014-08-13 13:28:08 · 126 阅读 · 0 评论 -
Java中几个容易忽略的问题
1.数组转换成list 将数组转成成List一般使用Arrays.asList()这个方法。List<String> staticList = Arrays.asList(strArray);查看源代码可以看到,这里生成的List是Arrays的内部静态类,这个List继承了了AbstractList,但有一些方法没有实现。比如add,delete方法。所以这里直接生...原创 2014-08-14 09:24:09 · 172 阅读 · 0 评论 -
Quartz+Spring集群配置(转)
概述 虽然单个Quartz实例能给予你很好的Job调度能力,但它不能满足典型的企业需求,如可伸缩性、高可靠性满足。假如你需要故障转移的能力并能运行日益增多的 Job,Quartz集群势必成为你应用的一部分了。使用 Quartz 的集群能力可以更好的支持你的业务需求,并且即使是其中一台机器在最糟的时间崩溃了也能确保所有的 Job 得到执行。 Quartz 中集群如何工作 一个 Quartz 集群...原创 2014-08-16 10:02:51 · 102 阅读 · 0 评论 -
Apache+Tomcat+JK集群部署
闲来无事,就把公司的项目拿来进行集群的学习,虽然都是网上找的方法,但是仍然浪费我不少精力,不过当最后看到结果出来的时候,还是有一些欣喜。 所使用软件包括:Apache-http-2.2.5mod_jk.sotomcat 7 1.首先对tomcat进行配置配置内容主要是对tomcat下面conf/server.xml进行修改。如果是在同一个机器进行部署,需要将t...原创 2013-10-15 10:21:26 · 151 阅读 · 0 评论 -
关于判断两个对象是否相等的问题
起源面试中面试官问我的一个问题:long l1 = 10Llong l2 = 10L问: l1==l2 是true还是false我毫不犹豫回答true他接着问,为什么?我卡住了,回答不上来。紧接着,Object o1 = new Object() ;Object o2 = new Object() ;问:o1==o2 是true还是false我回答是...原创 2014-04-03 11:16:35 · 109 阅读 · 0 评论 -
怎样对带有不可序列化属性的Java对象进行序列化 (转载)
出于很多原因我们想使用自定义的序列化方法取代Java默认的机制。一个最常见的原因是提高性能,而另一个原因是有时候我们无法使用默认的序列化方法。在这篇文章中,我们具体来讨论怎样通过定制的序列化方法,对一个较大的、带有不可序列化属性的对象进行序列化。下面这段代码定义了一个简单的类。它可以把一个给定的对象序列化到一个指定的文件,或者从相同的文件中把对象反序列化出来。在这片文章中,我将使用这个类进行...原创 2014-04-29 11:41:37 · 846 阅读 · 1 评论 -
Java Swing 滚动条自动到底端
一句话就搞定。(垂直滑动条)ta_frameArea.setCaretPosition(ta_frameArea.getText().length());原创 2013-09-14 17:09:42 · 304 阅读 · 0 评论 -
java swing MigLayout 布局管理
1. MigLayout 初始化的两种方法:MigLayout l = new MigLayout();MigLayout l = new MigLayout("","",""); 主要使用的是以上两种构造函数,第一种无参的就不用介绍了,主要是第二种。 第一个参数可以使用以下语句:wrap + 数字:指定默认在第几个组件后进行换行,如: wrap 2 表示在第二个组件后进行分...原创 2013-09-09 19:42:09 · 289 阅读 · 0 评论 -
使用netbeans写swing程序真不错
一直都想使用Java做一些界面的小程序,可每次都拜倒在那复杂的界面布局上。现在使用netbeans,只需要拖拽,就可以把界面布局完成,极大添加了工作效率。...原创 2013-04-24 19:11:42 · 404 阅读 · 0 评论 -
如何确保某一个文件只允许一个线程打开解决办法
最近在做一个数据存储优化。我们之前的模式是插入一定量的数据通过批处理进行存储,两个条件进行批处理,一个是超过批处理设定的最大个数,一个是超过批处理延迟时间,否则有新的数据就放入缓存中。为了保证数据的完整性,现在要改成,不将数据加入缓存里,而改为存放在本地的.data文件中。在优化的过程中,遇到了一个问题就是:如何确保一个文件只能由一个线程或程序打开?在网上查找了一些解决办法...原创 2013-07-09 11:09:44 · 287 阅读 · 0 评论 -
Lucene第一个实例
闲来无事,学习一下lucene,下面运行一下示例代码。在demo里找到两个java文件,一个是IndexFiles.java,一个是SearchFiles.java.在apache的网站内,是可以看到这两个demo的讲解,我也是看过之后才运行成功。这两个类要先运行IndexFiles.java,然后才运行SearchFiles.java. IndexFiles需要将多份文档建立...原创 2013-07-16 10:01:25 · 71 阅读 · 0 评论 -
Lucene初体验
很不错的一个文章,对于了解lucene很有帮助[url]http://www.cnblogs.com/luxh/archive/2012/06/17/2552792.html[/url]原创 2013-07-16 14:13:00 · 96 阅读 · 0 评论 -
关于HashMap在多线程下的使用
最近在做项目的压力测试,测试的过程中,问题多多呀,基本上都是多线程共享数据引发的问题。 在测试的过程中发现程序运行一段时间,就会出现CPU使用100%的情况,每次程序重启之后,又会恢复原貌。通过程序中的一个超时机制得知,程序会停在某一处代码中,这块代码是从map里获得数据,由于map里有数据放入,也有数据移除,导致从map的get方法会死循环。通过网上了解,HashMap不是线程安全的,...原创 2013-08-02 18:46:41 · 202 阅读 · 0 评论 -
Java NIO系列教程之 Buffer(转)
原文链接 作者:Jakob Jenkov 译者:airu 校对:丁一Java NIO中的Buffer用于和NIO通道进行交互。如你所知,数据是从通道读入缓冲区,从缓冲区写入到通道中的。缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存。这块内存被包装成NIO Buffer对象,并提供了一组方法,用来方便的访问该块内存。下面是NIO Buffer相关的...原创 2014-01-02 15:28:19 · 112 阅读 · 0 评论 -
java并发编程实践笔记
1, 保证线程安全的三种方法 :a, 不要跨线程访问共享变量b, 使共享变量是 final类型的c, 将共享变量的操作加上同步2, 一开始就将类设计成线程安全的 , 比在后期重新修复它 ,更容易 .3, 编写多线程程序 , 首先保证它是正确的 , 其次再考虑性能 .4, 无状态或只读对象永远是线程安全的 .5, 不要将一个共享变量裸露在多线程环境下 (无同步或不可变性保护 )...原创 2014-01-10 15:57:34 · 108 阅读 · 0 评论 -
It is indirectly referenced from required .class file 错误解决方法
今天在导入一个项目时出现It is indirectly referenced from required .class file 的错误,查了一下网,都说是 错误提示: It is indirectly referenced from required .class file 错误的解决原因:你正要使用的类调用了另一个类,而这个类又调用了其他类,这种关系可能会有好多层。而在这个调用...原创 2013-08-30 14:21:31 · 124 阅读 · 0 评论 -
Eclipse里使用javassist实例
这两天比较无聊,随便找点东西进行学习。目标就瞄准了javassist。关于javassist的介绍google一下,这里也不介绍了。 对于某一个类,直接在编译好的.class文件插入一些内容。 比如:package test.param;public class Screen { public void draw(int i , int j){ ...原创 2013-08-30 15:25:07 · 223 阅读 · 0 评论 -
关于Integer比较的小问题
关于Integer比较的小问题 Integer a = 1;Integer b = 1; Integer c = 127;Integer d = 127; Integer e = 128;Integer f = 128; System.out.println(a==b);System.out.println(c==d);System.ou...原创 2014-11-06 09:35:24 · 130 阅读 · 0 评论