JAVA
文章平均质量分 63
慕希颜
这个作者很懒,什么都没留下…
展开
-
Java实现多线程同步
当多个线程操作共享数据时,另一个线程不能同时操作该共享数据,否则结果将会出错。例如:银行在各账户间转移账目,个账户数据就是共享资源对象。为了确保某一时刻只有一个线程在操作共享数据,可使用关键字Synchronized为共享数据加锁,即只有一个线程能取到加锁对象的钥匙,对加锁对象进行操作,当该线程操作完毕后,其他线程才能操作该对象,从而实现对共享资源的保护。 不带参数的wait()方法将原创 2013-04-22 18:36:56 · 535 阅读 · 0 评论 -
Eclipse报错:ERROR: JDWP Unable to get JNI 1.2 environment, jvm->GetEnv() return code = -2
今天在实验室调程序遇上Eclipse报这样的错误: ERROR: JDWP Unable to get JNI 1.2 environment, jvm->GetEnv() return code = -2JDWP exit error AGENT_ERROR_NO_JNI_ENV(183): [../../../src/share/back/util.c:820] 这种情况我肯定不是第一个人遇原创 2013-04-22 18:39:47 · 741 阅读 · 0 评论 -
Java有包名的类不能引用默认包中的类?用反射机制解决!
加入有一个类不加package名就属于默认包,如果有一个类有包名那么如何引用那个默认包里的类呢?各种import都不行,Eclipse也无法自动引入。 其实,从 J2SE 1.4 开始,Java 编译器不再支持 import 进未命包名的类、接口。 详见 J2SE 1.4 与 J2SE 1.3 兼容性文档,第 8 点第二部分: http://java.sun.com/javase/原创 2013-04-22 18:40:10 · 1439 阅读 · 0 评论 -
java.util.regex.PatternSyntaxException
在处理字符串用到String.replaceAll()这个方法的时候出现了这个异常。。。Exception in thread "main" java.util.regex.PatternSyntaxException: Dangling metacharacter '*' near index 0 *^ at java.util.regex.Pattern.error(Pattern.java:原创 2013-04-22 18:40:16 · 6071 阅读 · 1 评论 -
java Jcombox添加到JToolBar中设置Jcombox的大小
唉,这个东西,搞了半天,最后发现就三句话就能搞定,伤不起…… Dimension d = box.getPreferredSize(); box.setMaximumSize(d); bar.add(box);原创 2013-04-22 18:40:50 · 1362 阅读 · 0 评论 -
java 实现日历选择器
首先引用com.qt.datapicker.DatePicker;包实现如下:package Date;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import原创 2013-04-22 18:41:09 · 1660 阅读 · 1 评论 -
获取JPasswordField组件中的密码
在JTextField中有一个方法getText(),可以返回组件中输入的字符串,但是对于JPasswordField类,getText()方法已经不适用了,执意使用的话,获取的也是一串乱码,同时,Eclipse会提示这是一个过时的方法。与此类似的是,JPasswordField 类提供了另外一个方法是getPassword(),但是这个方法的返回值是char类型,不可用。如果要获得JPasswo原创 2013-04-22 18:41:17 · 5685 阅读 · 2 评论 -
Eclipse快捷键 10个最有用的快捷键
Eclipse中10个最有用的快捷键组合 一个Eclipse骨灰级开发者总结了他认为最有用但又不太为人所知的快捷键组合。通过这些组合可以更加容易的浏览源代码,使得整体的开发效率和质量得到提升。 1. ctrl+shift+r:打开资源 这可能是所有快捷键组合中最省时间的了。这组快捷键可以让你打开你的工作区中任何一个文件,而你只需要按下文件名或mask名中的前几个字母,比如applic*原创 2013-04-22 18:41:19 · 478 阅读 · 0 评论 -
Java Swing JTable Demo
最近要写一个界面用来展示从网上抓下来的论文列表,所以用到Jtable,这里用一个demo来演示一下。 类层次结构图:java.lang.Object--java.awt.Component--java.awt.Container--javax.swing.JComponent--javax.swing.JTabel在使用JTable以前,我们先看一下它的构造函数有哪些, 以及应该如何使用:JTab原创 2013-04-22 18:41:38 · 1415 阅读 · 2 评论 -
JAVA 线程池探索之路
J2SE 5.0增加了新的类库并发集java.util.concurrent来让程序员在写多线程的程序时能够更灵活、更从容。 线程池的基本思想还是一种对象池的思想,开辟一块内存空间,里面存放了众多(未死亡)的线程,池中线程执行调度由池管理器来处理。当有线程任务时,从池中取一个,执行完成后线程对象归池,这样可以避免反复创建线程对象所带来的性能开销,节省了系统的资源。线程池的作用: 线程池作用原创 2013-04-22 18:41:40 · 665 阅读 · 0 评论 -
将JAVA 中的enum类型与数据和方法关联起来
创建枚举类型要使用enum关键字,隐含了所创建的类型都是java.lang.Enum类的子类,它是抽象类。其中,枚举类型符合通用模式 Class Enum>,而 E 表示枚举类型的名称。枚举类型的每一个值都将映射到 protected Enum(String name, int ordinal) 构造函数中,在这里,每个值的名称都被转换成一个字符串,并且序数设置表示了此设置被创建的顺序。publi原创 2013-04-22 18:41:42 · 1556 阅读 · 0 评论 -
Jlist 使用方法
这里主要写一下工程中遇到的问题,关于Jlist的基本用法可以去差API文档解决。 一、Jlist添加滚动条DefaultListModel model1 = new DefaultListModel();model1.addElement("点击选中");JList list1 = new JList(model1);// 列表显示20行,超过20行后显示滚动条list1.setVisibleRo原创 2013-04-22 18:40:44 · 1310 阅读 · 0 评论 -
JAVA 泛型的好处
java 泛型是java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 可以在集合框架(Collection framework)中看到泛型的动机。例如,Map 类允许您向一个 Map 添加任意类的对象,即使最常见的情况是在给定映射(map)中保存某个特定类型(原创 2013-04-22 18:40:35 · 586 阅读 · 0 评论 -
JAVA HashMap、TreeMap根据value值排序
之前写过一篇TreeMap自定义排序的博客,不过那个是根据key的排序,如果想要根据value的值排序可以这样写: HashMap map = new HashMap(); map.put("aaa", 3); map.put("bbb", 2); map.put("ccc", 5); map.put("ddd", 1); ArrayList> list = new ArrayList原创 2013-04-22 18:39:51 · 1032 阅读 · 0 评论 -
java MySql 数据类型对照表
类型名称显示长度数据库类型JAVA类型JDBC类型索引(int)描述VARCHARL+NVARCHARjava.lang.String12CHARNCHARjava.lang.String1BLOBL+NBLOBjava.lang.byte[]-4TEXT65535VARCHARjava.lang.String-1INTEGER4INTEGER UNSIGNEDjava.lang.Long4TIN原创 2013-04-22 18:39:55 · 507 阅读 · 0 评论 -
JAVA 点击按钮展开一个新的Jpanel
问题不太容易用语言来描述,先直接上图吧: 点击按钮之前: 点击按钮之后: 那么如何实现这种功能呢?首先在图一中的主JFrame中添加一个JScrollPane,在点击按钮后new一个新的Jpanel,然后让原来的JScrollPane在这个新的Jpanel上 创建一个视口(如果有必要)并设置其视图。即调用setViewportView(Component view)方法。public vo原创 2013-04-22 18:40:42 · 5424 阅读 · 0 评论 -
消除闪屏的双缓冲技术在AWT和Swing中的实现
一、闪屏的原因: 在用java绘图或者添加图片的时候会出现闪屏的现象,而绘图和添加图片都是要在原来的画布上重画得到的,因此闪屏也跟重画有一定的关系。正是这种先用背景色覆盖组件再重绘图像的方式导致了闪烁。即使时间很短,如果重绘的面积较大的话花去的时间也是比较可观的,这个时间甚至可以大到足以让闪烁严重到让人无法忍受的地步。另外,用paint(Graphics g)函数在屏幕上直接绘图的时候,由于原创 2013-04-22 18:41:15 · 1231 阅读 · 0 评论 -
java中的equals()方法和hashCode()方法详解
想起暑假的时候写的那个工程一开始就囧在这个地方,今天把它拿出来好好整理一下。 equals()和hashCode()方法是用来同一类做比较用的,尤其是在容器里如set存放同一类对象时用来判断放入的对象是否重复。 这里我们首先要明白一个问题: equals()相等的两个对象,hashcode()一定相等,equals()不相等的两个对象,却并不能证原创 2013-04-22 18:37:13 · 439 阅读 · 0 评论 -
Java中抽象类与接口的区别
由于抽象类和接口这两种机制的存在,才赋予了Java强大的 面向对象能力。 从语法定义层面看abstract class 和 interface 在abstract class方式中,Demo可以有自己的数据成员,也可以有非 abstract的成员方法,而在interface方式的实现中,Demo只能够有静态的不能被修改的数据成员(也就是必须是static final 的,不过在interf原创 2013-04-22 18:39:24 · 450 阅读 · 0 评论 -
java连接Mysql数据库
最近真是各种忙,各种烦,因为,到期末了,你懂得。。。写聊天室的时候要用到数据库存储用户信息,就写了一个小的Demo在这里贴一下吧,这里用的数据库是Mysql。import java.sql.*;import java.util.*;public class Mysql { private Connection conn; private Statement state; private Resu原创 2013-04-22 18:39:34 · 621 阅读 · 0 评论 -
java JTextArea添加滚动条及弹出窗口阻塞主程序
JTextArea添加滚动条的方法如下: JTextArea jf = new JTextArea(); jf.setEditable(false);//设置不可编辑 jf.setLineWrap(true);//设置自动换行,否则不会出现滚动条 JScrollPane scroll = new JScrollPane(jf); scroll.setBound原创 2013-04-22 18:39:49 · 984 阅读 · 0 评论 -
java dom4j 读写XML配置文件
import org.dom4j.*;import org.dom4j.io.*;import java.io.*;import java.util.Iterator;public class RW { //写XML文件 public void Writer() throws IOException { Document doc = DocumentHelper.createDocument()原创 2013-04-22 18:39:53 · 637 阅读 · 0 评论 -
java判断标点符号问题
方法一: 写正则表达式Pattern patPunc = Pattern .compile("[`~!@#$^&*()=|{}':;',\\[\\]. 如果要判断字符串最后一个字符是否为标点符号则可以在最后加上$符号:Pattern patPunc = Pattern .compile("[`~!@#$^&*()=|{}':;',\\[\\].方法二:str = str.rep原创 2013-04-22 18:40:02 · 3147 阅读 · 0 评论 -
java程序中,如何安全的结束一个正在运行的线程?
如何停止java的线程一直是一个开发多线程程序常遇到的一个问题。在Java的多线程编程中,java.lang.Thread类型包含了一些列的方法start(), stop(), stop(Throwable) and suspend(), destroy() and resume()。通过这些方法,我们可以对线程进行方便的操作,但是这些方法中,只有start()方法得到了保留。在JDK帮助文档原创 2013-05-16 21:22:30 · 1955 阅读 · 1 评论