java
文章平均质量分 51
piaopiaopiaopiaopiao
这个作者很懒,什么都没留下…
展开
-
java前台线程和后台线程
一. java中的后台线程: java线程大家都不陌生,可以用继承Thread类或者实现Runable接口来定义一个自己的线程。另外,java线程还可以分为前台线程(也称用户线程或普通线程)和后台线程(Daemon thread),本篇就是要说明这两者的区别和用法。 1. 后台线程会随着主线程(main线程)的结束而结束,但是前台进程则不会(如果main线程先于前台进转载 2014-03-25 22:56:46 · 2912 阅读 · 1 评论 -
五子棋算法探讨
五子棋算法探讨 近来随着计算机的快速发展,各种棋类游戏被纷纷请进了电脑,使得那些喜爱下棋,又常常苦于没有对手的棋迷们能随时过足棋瘾。而且这类软件个个水平颇高,大有与人脑分庭抗礼之势。其中战胜过国际象棋世界冠军-卡斯帕罗夫的“深蓝”便是最具说服力的代表;其它像围棋的“手淡”、象棋的“将族”等也以其优秀的人工智能深受棋迷喜爱;而我们今天将向大家介绍的是五子棋的算法。 当我们与电脑对战转载 2013-12-10 10:35:27 · 741 阅读 · 0 评论 -
java播放音频文件
方法1:package za;import java.applet.Applet;import java.applet.AudioClip;import java.io.File;import java.net.URL;public class Music { public Music() { try { // URL url=new URL("file:\\D:\原创 2013-11-13 22:59:23 · 5248 阅读 · 1 评论 -
“java调试错误”解决方法汇总
警告:java.util.prefs.WindowsPreferences WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5.解决方法:进入注册表:re原创 2013-12-09 16:05:10 · 1831 阅读 · 0 评论 -
eclipse中源代码中文乱码了怎么办
eclipse中编码方式的修改:window -> preferances ->general -> workspacetext file encoding看到没,改成UTF-8就好了,不过这里一改全部都改了,如果经常两个系统切换的话还是UTF-8比较保险。原创 2013-12-01 15:31:28 · 1104 阅读 · 0 评论 -
java事件监听总结
方法一:当有多个事件源时,最好使用这种方式。//使用动作监听实现焦点转移package za;import java.applet.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;public class Text extends Apple原创 2013-11-14 22:17:57 · 907 阅读 · 0 评论 -
关于 Java 常用工具您不知道的 5 件事
很多年前,当我还是高中生的时候,我曾考虑以小说作家作为我的职业追求,我订阅了一本Writer's Digest 杂志。我记得其中有篇专栏文章,是关于 “太小而难以保存的线头”,专栏作者描述厨房储物抽屉中放满了无法分类的玩意儿。这句话我一直铭记在心,它正好用来描述本文的内容,本系列的最后一篇(至少目前是这样)。Java 平台就充满了这样的 “线头” — 有用的命令行工具和库,大多数 Java转载 2013-11-14 13:24:54 · 719 阅读 · 0 评论 -
java定时执行任务小结
方法一:使用Timer和TimerTaskpackage za;import java.util.Timer;import java.util.TimerTask;class Task extends TimerTask{ public void run() { System.out.println("You are my sunshine!"); }}publi原创 2013-11-14 19:45:16 · 980 阅读 · 0 评论 -
java程序图片加载小结
首先要了解JFrame的层次结构。JFrame中的层次分布及相对关系是:最底层是:JRootPane,第二层是:JLayerPane,顶层是:ContentPane,也就是我们常说的内容面板。所以一般我们拖放的控件就是在ContentPane层上。方法一:我们把图片放置在第二层:JLayerPane容器上,然后让最上层的:ContentPane透明,这样就实现了背景的设置。(当然把图片放置原创 2013-11-14 15:03:32 · 1770 阅读 · 0 评论 -
用exe4j将java程序打包成exe格式
因为工作有这方面的需要,之前上网搜过许多关于将java程序转为可执行(exe)程序的网页,但都不尽人意。过了一段时间再搜时发现这个好东西exe4j。亲自试了刀发觉真的很简单和好用。把它记下来方便健忘和大家: 第一、将应用程序导出成一个JAR文件。1、先打包程序成一个jar,在eclipse里面很容易做到,右击程序选择“Export”。2、选择“转载 2013-11-13 21:51:28 · 928 阅读 · 0 评论 -
Java项目打包成Jar文件后图片不显示的问题解决
文章一:出现这种问题的原因大多是因为路径的问题,往往是在项目中运行正常,但是一旦打包成Jar后就不能正常显示了,下面总结一下解决此类问题的方法: 一、通过使用外部资源文件的方式解决把项目打包生成Jar后,再新建一文件夹,把项目中所有使用的图片文件和生成Jar文件放在该目录下,只要代码对图片文件的引用路径正确,如:ImageIcon image=new ImageIcon转载 2013-11-13 20:09:58 · 2781 阅读 · 0 评论 -
教你打包Java程序,jar转exe随处可跑
本文出自One Coder博客,转载请务必注明出处:http://www.coderli.com/archives/runnablejar-to-exe/发现很多人问如何把Jar转成exe程序。可能是想双击运行和随处运行。其实这个并不难,我就简单总结几种方法,供大家参考,关键还是要知其所以然。 Java程序的运行不可能脱离JRE,不管你是Jar包还是exe程序。这点你必转载 2013-11-13 19:19:43 · 1135 阅读 · 0 评论 -
剪切板练习
package aa;import java.awt.*;import java.awt.event.*;import java.awt.datatransfer.*;class Person{ private String name; private int age; public Person(){} public Person(String name , int a原创 2013-11-25 22:45:51 · 810 阅读 · 0 评论 -
java.java.util.Timer与javax.swing.Timer类重复定义
写java程序我们经常完整的导入类库,而不愿单独的导入一个类。比如我们经常这样写:import java.awt.*;这样awt目录所有的类都可可以加载,比一个一个类进行导入要方便。比如要导入:import java.awt.Font;import java.awt.Color;就可以直接写成:import java.awt.*;但是这样做存在“类重复定义的隐患”,如j原创 2013-11-11 13:46:45 · 1602 阅读 · 0 评论 -
Java回顾之网络通信
在这篇文章里,我们主要讨论如何使用Java实现网络通信,包括TCP通信、UDP通信、多播以及NIO。 TCP连接 TCP的基础是Socket,在TCP连接中,我们会使用ServerSocket和Socket,当客户端和服务器建立连接以后,剩下的基本就是对I/O的控制了。 我们先来看一个简单的TCP通信,它分为客户端和服务器端。 客户端代码如下: 1 im转载 2013-12-11 16:08:03 · 582 阅读 · 0 评论 -
我眼中的Java经典书籍
什么叫“经典书籍”呢? 以往我们说,“一流的公司定标准,二流的公司搞技术, 三流的公司做服务,末流的公司卖产品”,其实这话并非全无道理。厌恶M$的人不少,但嘴上骂归骂,底下照样用Windows, 赌咒发誓不用的也未必不想暗地里钻研一下其中的技术,再狠点,干脆只看Linux的字符界面,连X都不用。 然而为啥不见哪位仁兄自己只玩自己弄的OS呢?M$和UNIX家族在OS上显然是具有语言霸转载 2013-12-11 16:46:43 · 1099 阅读 · 0 评论 -
如何重启MySQL服务,正确重启mysql
RedHat Linux (Fedora Core/Cent OS) 1.启动:/etc/init.d/mysqld start2.停止:/etc/init.d/mysqld stop3.重启:/etc/init.d/mysqld restartDebian / Ubuntu Linux 1.启动:/etc/init.d/mysql start2.停止:/etc/init.转载 2013-12-12 20:57:14 · 14938 阅读 · 1 评论 -
Thread中start()和run()的区别
Thread类包含start()和run()方法,它们的区别是什么?本章将对此作出解答。本章内容包括:start() 和 run()的区别说明start() 和 run()的区别示例start() 和 run()相关源码(基于JDK1.7.0_40)start() 和 run()的区别说明start() : 它的作用是启动一个新线程,新线程会执行相应的run()方法转载 2014-03-25 21:51:10 · 1141 阅读 · 0 评论 -
关于equals方法的多态题
[java] view plaincopyimport java.util.ArrayList; import java.util.List; public class Test { private String value = null; public Test(String v) {转载 2014-03-23 18:29:33 · 695 阅读 · 0 评论 -
有return的情况下try catch finally的执行顺序(最有说服力的总结)
结论:1、不管有木有出现异常,finally块中代码都会执行;2、当try和catch中有return时,finally仍然会执行;3、finally是在return后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,管finally中的代码怎么样,返回的值都不会改变,任然是之前保存的值),所以函数返回值是在finally执行前确定的;4、finally转载 2014-03-20 21:39:08 · 536 阅读 · 0 评论 -
类图关系表示
1.类图的表示:类的 UML 表示是一个长方形,垂直地分为三个区,如图 1 所示。顶部区域显示类的名字。中间的区域列出类的属性。底部的区域列出类的操作。在一个类图上画一个类元素时,你必须要有顶端的区域,下面的二个区域是可选择的(当图描述仅仅用于显示分类器间关系的高层细节时,下面的两个区域是不必要的)。描述:顶部区域显示类的名字。中间的区域列出类的属性。底部的区域列出转载 2014-03-21 15:56:47 · 2037 阅读 · 0 评论 -
for循环的语句执行顺序
在一个技术QQ群中,试着做了一道C的题,感觉是考察for循环的执行流程.原题: 在C语言中,下列代码的输出结果是 ( ) (选择一项)void main( ){ int i = 0, j = 10; for(i=0;ij;i++,j--) { if(j==10) { printf("%d转载 2014-03-30 13:24:56 · 1989 阅读 · 0 评论 -
eclipse调试java程序
1、 条件断点断点大家都比较熟悉,在Eclipse Java 编辑区的行头双击就会得到一个断点,代码会运行到此处时停止。条件断点,顾名思义就是一个有一定条件的断点,只有满足了用户设置的条件,代码才会在运行到断点处时停止。在断点处点击鼠标右键,选择最后一个"Breakpoint Properties" 断点的属性界面及各个选项的意思如下图,转载 2014-01-15 21:58:54 · 665 阅读 · 0 评论 -
try()语句,自动资源释放
从 Java 7 build 105 版本开始,Java 7 的编译器和运行环境支持新的 try-with-resources 语句,称为 ARM 块(Automatic Resource Management) ,自动资源管理。新的语句支持包括流以及任何可关闭的资源,例如,一般我们会编写如下代码来释放资源:01private static void转载 2013-12-24 19:17:18 · 876 阅读 · 0 评论 -
java.nio.ByteBuffer中flip、rewind、clear方法的区别
缓冲区的容量 是它所包含的元素的数量。缓冲区的容量不能为负并且不能更改。 缓冲区的限制 是第一个不应该读取或写入的元素的索引。缓冲区的限制不能为负,并且不能大于其容量。 缓冲区的位置 是下一个要读取或写入的元素的索引。缓冲区的位置不能为负,并且不能大于其限制。对缓冲区的读写操作首先要知道缓冲区的下限、上限和当前位置。下面这些变量的值对Buffer类中的某些操作有着至关重要的作用:转载 2013-12-24 21:39:03 · 2972 阅读 · 0 评论 -
java 网络编程
服务器端:package abc;import java.net.*;import java.io.*;import java.util.*;public class MyServer{ //定义保存所有Socket的ArrayList public static ArrayList socketList = new ArrayList<>(); public stat原创 2013-12-23 16:38:52 · 588 阅读 · 0 评论 -
java使用代理服务器获取网页脚本
package bb;import java.io.BufferedInputStream;import java.net.URL;import java.net.URLConnection;public class TestProxyIp { public static void main(String args[]) { //System.getProperties().s原创 2013-12-24 13:26:24 · 1783 阅读 · 0 评论 -
java多线程下载
package abc;import java.io.*;import java.net.*;//定义下载从start到end的内容的线程class DownThread extends Thread{ //定义字节数组(取水的竹筒)的长度 private final int BUFF_LEN = 32; //定义下载的起始点 private long原创 2013-12-23 13:52:26 · 715 阅读 · 0 评论 -
java链接mysql数据库
package aa;import java.sql.Connection;import java.sql.DriverManager;import java.sql.Statement;public class Test { public static final String dbdriver="org.gjt.mm.mysql.Driver"; public static原创 2013-12-21 23:33:34 · 580 阅读 · 0 评论 -
使用JDBC时Class.forName()的作用
使用JDBC时,我们都会很自然得使用下列语句:java 代码Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://127.0.0.1/test?useUnicode=true&characterEncoding=utf-8"; String user = ""; Stri转载 2013-12-21 22:16:00 · 579 阅读 · 0 评论 -
Swing 线程之SwingUtilities.invokeLater()
现在我们要做一个简单的界面。包括一个进度条、一个输入框、开始和停止按钮。需要实现的功能是:当点击开始按钮,则更新进度条,并且在输入框内把完成的百分比输出(这里只做例子,没有真正去做某个工作)。 代码1:[java] view plaincopyimport java.awt.FlowLayout; import java.awt.event转载 2013-12-05 13:24:17 · 798 阅读 · 0 评论 -
windowClosing和windowClosed
Java Swing的窗体和对话框的关闭事件无非就是windowClosing和windowClosed这两个方法,如果要在关闭时进行“是否退出”之类的提示或保存数据等操作时则需要用到这些方法,但到底是该用哪个方法则有一定的讲究。 windowClosing用于窗体关闭时被调用,这个时候窗体还处在运行并显示当中,所以为了方便可以把这个方法称为关闭前调用的方法。值得注意的是当我们按下窗体或转载 2013-11-09 12:45:10 · 2825 阅读 · 0 评论 -
setLayout(null)的意思和JLabel设置背景色
1、主要内容通过Swing编写图形用户界面2、Swing控件编程用Swing编写图形用户界面主要涉及JFrame, JPanel, JButton等等类。其中,JFrame是界面布局的桌子;JPanel是放置控件的幕布,铺在JFrame上将空间分成若干块;JButton等控件添加到JPanel的指定位置中。2.1JFrame相关方法setTitle("")设转载 2013-11-07 18:46:20 · 6611 阅读 · 0 评论 -
使用paint画图应加上super.paint(g)
paint(g)函数会重绘图像,要加上super.paint(g),表示在原来图像的基础上,再画图。如果不加super.paint(g),重绘时,会将原有的绘制清空,再根据paing(g)函数绘制。如下代码:package aa;import java.awt.Color;import java.awt.Dimension;import java.awt.Graphics;imp原创 2013-11-22 09:49:16 · 13095 阅读 · 5 评论 -
java Thread 源码分析
线程是程序的一个执行流程,Java虚拟机允许多个线程同时并发执行。 1. 构造方法 Java代码 public Thread() { init(null, null, "Thread-" + nextThreadNum(), 0); } // target - 任务 public Thread(Runnable targ转载 2013-11-02 15:15:27 · 777 阅读 · 0 评论 -
JDK自带的native2ascii工具完全揭密
背景:在做Java开发的时候,常常会出现一些乱码,或者无法正确识别或读取的文件,比如常见的validator验证用的消息资源(properties)文件就需要进行Unicode重新编码。原因是java默认的编码方式为Unicode,而我们的计算机系统编码常常是GBK等编码。需要将系统的编码转换为java正确识别的编码问题就解决了。 1、native2ascii简介:native转载 2013-11-16 19:14:09 · 715 阅读 · 0 评论 -
中文与Unicode表示转换--java实现
package zb;public class Test { public static void main(String[] args) { String s = "我爱你"; String tt = gbEncoding(s); System.out.println(decodeUnicode(tt)); } public static String gbEncodi转载 2013-11-16 17:07:45 · 792 阅读 · 0 评论 -
java焦点的获取和转移
方法一://使用动作监听实现焦点转移package za;import java.applet.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;public class Text extends Applet implements ActionL原创 2013-11-14 22:09:23 · 9724 阅读 · 0 评论 -
java从键盘输入内容方法小结
方法一:使用System.in和InputStreampackage za;import java.io.InputStream;public class InputTest{ public static void main(String arg[]) throws Exception { InputStream input=System.in; StringBuff原创 2013-11-15 19:15:03 · 1217 阅读 · 0 评论 -
Java中static、final用法小结
一、final1.final变量: 当你在类中定义变量时,在其前面加上final关键字,那便是说,这个变量一旦被赋值便不可改变,这里不可改变的意思对基本类型来说是其值不可变,而对于对象变量来说其引用不可再变。其初始化可以在两个地方,一是其定义代码块中,二是在构造函数中。只能赋一次值,再次赋值会出错。 当函数参数为final类型时,你可以读取使用该参数,但是转载 2013-10-31 21:26:41 · 607 阅读 · 0 评论