
javase
文章平均质量分 84
Keycer
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
偶然看到一个关于swing布局管理器的总结,觉得不错,如下。
FlowLayoutFlowLayout类是最简单的布局管理器。它按照和页面上排列单词的类似方式来安排组件----从左到右,直至没有多余的空间,然后转到下一行。效果:内容面板代码: publicstaticvoid addComponentsToPane(Container pane) {pane.setLayout(new FlowLayout());转载 2012-12-13 17:29:29 · 2984 阅读 · 1 评论 -
java枚举类型enum的使用
java枚举类型enum的使用最近跟同事讨论问题的时候,突然同事提到我们为什么java中定义的常量值不采用enmu枚举类型,而采用public final static 类型来定义呢?以前我们都是采用这种方式定义的,很少采用enum定义,所以也都没有注意过,面对突入起来的问题,还真有点不太清楚为什么有这样的定义。既然不明白就抽时间研究下吧。Java中的枚举类型采用关键字enum来定义,从j转载 2013-12-09 22:44:12 · 895 阅读 · 0 评论 -
java将小写金额转换为大写的工具类
代码:public class Tool { private static final String UNIT = "万千佰拾亿千佰拾万千佰拾元角分"; private static final String DIGIT = "零壹贰叁肆伍陆柒捌玖"; private static final double MAX_VALUE = 9999999999999.99D;转载 2013-11-08 10:01:01 · 10180 阅读 · 0 评论 -
swing中setSize与setPreferredsize的区别
我以前很喜欢borderlayout的布局方式,每次想特别调整每个区域的大小,但是每次将一个panel放入到north或者其他4个区域时,总是达不到想要的效果,刚刚才发现原来setPreferredSize和setSize是有区别的。原因:The short answer is: it's complicated.The slightly longer answer is:转载 2013-11-07 10:32:45 · 1837 阅读 · 0 评论 -
DOM结构简介
DOM结构简介DOM是Document Object Model(文档对象模型)的缩写,HTML DOM则是专门适用与HTML/XHTML的文档对象模型。熟悉软件开发的人员可以将HTML DOM理解为网页的API。它将网页中的各个元素都看作一个个对象,从而使网页中的元素也可以被计算机语言获取或者编辑。 例如Javascript就可以利用HTML DOM动态的修改网页。关于对象引用方转载 2013-11-20 19:36:20 · 5070 阅读 · 0 评论 -
java打印机的一个问题的解决办法
在使用java的打印机功能时遇到的如下问题在Printable接口paint(Graphics g, PageFormat pageFormat, int pageIndex)这个方法中,如果使用drawSting(str, int x, int y)会出现这么一个问题:如果str字符串中全部都是全角字符 或者 全部都是半角字符,则打印出来的效果和设计的一样;如果str字符串中既包含全原创 2013-11-03 13:52:24 · 1328 阅读 · 0 评论 -
java获取一个字符串在屏幕上的尺寸的方法
如下面的例子所示代码:package test3;import java.awt.Color;import java.awt.Font;import java.awt.FontMetrics;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.geom.Rectangle2D;impor原创 2013-11-03 12:59:36 · 5471 阅读 · 0 评论 -
java中组件的paint(Graphics g)与paintComponent(Graphics g)的区别
/---------------资料1---------------/昨晚小许同学把paintComponent方法以一t之差写成painComponent,在花费了大量的人力物力之后才找到这个错误,不得不感慨:粗心才是程序员的噩梦啊!马士兵曰过:“重写方法你给我在API文档中找方法签名!”,小许,你懂了吗?不过小许问的问题倒让我发现了Swing中paint与p转载 2013-11-01 16:33:43 · 19815 阅读 · 1 评论 -
java中几种常见的设计模式
1.单例模式(有的书上说叫单态模式其实都一样)该模式主要目的是使内存中保持1个对象。看下面的例子:package org.sp.singleton;//方法一public class Singleton {//将自身的实例对象设置为一个属性,并加上Static和final修饰符private static final Singleton instance = new Sin转载 2013-10-22 21:22:37 · 1041 阅读 · 0 评论 -
关于java String类的getBytes(String charsetName)和String(byte[] bytes, String charsetName)
首先看官方文档上对这两个方法的解释:String(byte[] bytes,String charsetName) Constructs a new String by decoding the specified array of bytes using the specifiedcharset.------------------------------原创 2013-12-10 15:15:01 · 10924 阅读 · 2 评论 -
一个java的DebugOut类(调试输出类)
DebugOut(调试输出类)的Java应用代码,在其它的程序开发中,也有此类的存在,在Java中用的相对较多,今天带来的这个Java DebugOut处理函数相当简洁,但挺管用,老外那里搞到的,呵呵,还是挺值得借鉴使用的。package com.gootrip.util;public class DebugOut {private static boolean DEBUG = true;转载 2013-12-28 19:57:39 · 3267 阅读 · 0 评论 -
java取出字符串前面数值的方法
public class Test { public static int getIntValue(String str){ if(str==null){ return 0; } String valueSection=str.split("[a-zA-Z]")[0].trim(); if(valueSection.length()==0) { return 0原创 2017-04-18 19:27:08 · 4099 阅读 · 0 评论 -
Java中Synchronized和Lock的使用和区别
转载自:http://blog.youkuaiyun.com/imzoer/article/details/9457639 Lock的锁定是通过代码实现的,而 synchronized 是在 JVM 层面上实现的synchronized在锁定时如果方法块抛出异常,JVM 会自动将锁释放掉,不会因为出了异常没有释放锁造成线程死锁。但是 Lock 的话就享受不到 JVM 带来自动的功能,出现异常时转载 2016-03-02 11:43:42 · 6403 阅读 · 0 评论 -
Java之静态内部类(static class)
转载自:http://blog.sina.com.cn/s/blog_5da93c8f0100wib7.html在一个类中创建另外一个类,叫做成员内部类。这个成员内部类可以静态的(利用static关键字修饰),也可以是非静态的。 一、静态内部类的使用目的。在 定义内部类的时候,在其前面加上一个权限修饰符static。这个内部类就变为了静态内部类。如在进行代码程序测试转载 2016-03-02 11:35:09 · 5189 阅读 · 2 评论 -
java对象的强引用,软引用,弱引用和虚引用
众所周知,java中是JVM负责内存的分配和回收,这是它的优点(使用方便,程序不用再像使用c那样操心内存),但同时也是它的缺点(不够灵活)。为了解决内存操作不灵活这个问题,可以采用软引用等方法。 在JDK1.2以前的版本中,当一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及状态,程序才能使用它。这 就像在日常生活中,从商店购买了某样物品转载 2016-03-02 11:28:26 · 527 阅读 · 0 评论 -
为什么要在JAVA,C++等集合中引入迭代器
迭代模式是访问集合类的通用方法,只要集合类实现了Iterator接口,就可以用迭代的方式来访问集合类内部的数据,Iterator访问方式把对不同集合类的访问逻辑抽象出来,使得不用暴露集合内部的结构而达到循环遍历集合的效果。 例如,如果没有使用Iterator,遍历一个数组的方法是使用索引:for(int i=0; i这种方法的缺点就是事先必须知道集合的数据结构,而且当我换了一种集合的话转载 2015-10-26 18:39:30 · 1289 阅读 · 0 评论 -
java容器的线程安全
同步容器类同步容器类包括Vector和Hashtable(二者是早期JDK的一部分),还包括JDK1.2中添加的一些相似的类。同步容器类实现线程安全的方式是:将状态封闭起来,并对每个公有方法进行同步,使得每次只有一个线程能访问容器状态。这里解释一下所谓“状态”指的就是成员变量,“封装起来”即将它们设不private,但是通过公有的方法外界仍然可以访问修改类的私有成员,所以要用synchro转载 2015-06-10 11:12:58 · 716 阅读 · 0 评论 -
javax.swing.Timer 的用法例程
写某些程序(比如俄罗斯方块)时需要一个定时触发的事件去触发一段程序的执行,此时就要用到Timer。javax.swing.Timer的官方文档是这样解释的public class Timerextends Objectimplements SerializableFires one or more ActionEvents at specified intervals. An原创 2013-12-20 16:29:48 · 12854 阅读 · 0 评论 -
java多线程同步块(synchronized(Object o){})的一个例程
java多线程同步块的一个例程,觉得对于理解同步快很有好处,分享之源代码:class Produer implements Runnable{ Q q; public Produer(Q q){ this.q=q; } public void run(){ int i=0; while(true){ synchronized(q){ if( i==0){原创 2013-12-16 22:14:30 · 2256 阅读 · 0 评论 -
Java的打印机制
JAVA的打印机制Java 自从问世以来在各方面发展迅速,但是一直以来,打印输出是java最弱的方面。事实上,java1.0不支持任何打印功能。Java1.1在 java.awt包里包含了一个叫做PrintJob的类,但是这个类提供的打印功能十分粗糙和不可靠。当java1.2问世,它围绕 PrinterJob设计了一个完整独立的打印机制(叫做java2D printing API),并且在ja转载 2013-10-27 23:48:17 · 13100 阅读 · 0 评论 -
java接口(interface)与抽象类(abstract class)的区别
很久没有看到如此精辟的文章了!作者写得实在太好了!正在学JAVA或者想了解抽象类与接口的朋友,绝对不可错过!本人极力推荐!OOP中接口与抽象类的区别 Java语言接口与继承的本质 深入理解接口和抽象类 OOP中接口与抽象类的区别OOP中的INTERFACE和ABSTRACT CLASS是两个不同的概念我们在使用的时候往往将两个混在一起使用,不做什么区别,大家可能在定义上对转载 2013-09-30 21:08:04 · 6750 阅读 · 3 评论 -
java3d综合实例
package test;import com.sun.j3d.utils.applet.MainFrame;import com.sun.j3d.utils.behaviors.mouse.MouseRotate;import com.sun.j3d.utils.behaviors.mouse.MouseTranslate;import com.sun.j3d.utils.behavi转载 2013-05-02 21:51:24 · 4133 阅读 · 0 评论 -
Qt与Java实现Tcp网络通信,收发简单字符串。
qt与java实现简单的网络通信,java程序位于ip为172.23.33.30的计算机,Qt程序位于ip为172.23.33.16的计算机上。1.java接受Qt发送的字符串。java代码:import java.io.IOException;import java.io.InputStream;import java.net.Socket;import java.net.原创 2013-03-27 20:39:24 · 4503 阅读 · 0 评论 -
java中形参与实参的一点总结
形参出现在函数定义中,在整个函数体内都可以使用, 离开该函数则不能使用。实参出现在主调函数中,进入被调函数后,实参变量也不能使用。 形参和实参的功能是作数据传送。发生函数调用时, 主调函数把实参的值传送给被调函数的形参从而实现主调函数向被调函数的数据传送。 1.形参变量只有在被调用时才分配内存单元,在调用结束时, 即刻释放所分配的内存单元。因此,形参只有在函数内部有效。 函数调用结束原创 2013-04-08 20:39:25 · 20233 阅读 · 2 评论 -
java中float/double浮点数的计算失去精度问题(即小数位数增加的问题)
今天在数值计算时碰到一个问题.程序如下:double a = (3.3-2.4)/0.1;System.out.println(a);你可能认为结果很简单,不就是9嘛,是事实上,结果为:8.999999998,为什么呢?我翻阅了一些资料,终于找出了原因.为什么浮点数会丢失精度? 十进制数的二进制表示可能不够精确浮点数或是双精度浮点数无法精确表示的情况并不少见。浮点转载 2013-04-07 18:09:25 · 2620 阅读 · 0 评论 -
java本地方法调用(JNI)的参考代码----实现将String转换成char*,将char*转换成String.
首先建立Test.java,然后使用javac Test.java编译的到Test.class,然后再使用javah -jni Test得到Test.h,然后建立Test.c并且include “Test.h"并实现相应的本地方法。这些步骤做好之后使用如下命令将Test.c编译成动态链接库: gcc -c Test.c gcc -shared -fPCI -o libtest.原创 2013-03-31 21:30:24 · 1493 阅读 · 0 评论 -
使用java调用C语言的方法,让java获取串口数据并生成一个String对象的代码。
基本步骤和在java中调用C语言方法一样,只列出主要代码。MyTest.javapublic class MyTest{ private native String[] getInfo(); static { System.loadLibrary("MyTest"); } public static void main(String[] arg原创 2013-03-03 21:29:29 · 2964 阅读 · 3 评论 -
linux下实现java的本地方法调用
/*******************MyNative.java**********************/public class MyNative { public void showParms(String s, int i, boolean b) { showParms0(s, i, b); } public int hypotenuse(int a, int b) {转载 2013-03-03 14:29:08 · 1031 阅读 · 0 评论 -
swing组建介绍
swing组件介绍(1)学习swing组件,主要有三个内容一是组件的显示,二是对组件支持的事件进行侦听,三是是自定义组件1.JFrameJFrame是主窗口,它和JDialog,JApplet的地位并列.但是,一个JFrame可以添加JDialog和JApplet进去它的内容面板,而反过来就不行下面来看JFrame的例子 Java代码:package blog.sw转载 2013-01-12 16:50:48 · 1514 阅读 · 0 评论 -
一个java3d程序,作为熟悉3d技术的基础(可以使用鼠标对场景内的3d对象进行操作)
所有源代码如下:/********************StringEle.java**********************/package light3D;import java.awt.Font;import java.awt.geom.QuadCurve2D;import javax.media.j3d.Appearance;import javax.media.j3原创 2013-05-25 09:09:43 · 5544 阅读 · 5 评论 -
ubuntu下安装jre的步骤
今天使用ubuntu的简单安装命令安装java jre的时候遇到了很多问题,于是最后换成了使用离线包来安装jre。具体步骤如下:首先打开http://www.java.com/en/download/linux_manual.jsp?locale=en可以看到如下的链接点击46.0MB那个链接后下载得到得到一个jre-7u25-linux-i586.tar.gz的压缩包使用如下原创 2013-07-07 14:17:56 · 51858 阅读 · 2 评论 -
java中负数的二进制表示
计算机对有符号数(包括浮点数)的表示有三种方法:原码、反码和补码,补码=反码+1。在二进制里,是用0和1来表示正负的,最高位为符号位,最高位为1代表负数,最高位为0代表正数。 以java中8位的byte为例,最大值为:0111 1111,最小值为1000 0001。 那么根据十进制的数字,我们如何转换为二进制呢?对于正数我们直接转换即可,对于负数则有一个过程。原创 2013-09-30 09:38:19 · 4209 阅读 · 3 评论 -
java的算术右移(>>)与逻辑右移(>>>)
运算符“>>”执行算术右移,它使用最高位填充移位后左侧的空位。右移的结果为:每移一位,第一个操作数被2除一次,移动的次数由第二个操作数确定。逻辑右移或叫无符号右移运算符“>>>“只对位进行操作,没有算术含义,它用0填充左侧的空位。算术右移不改变原数的符号,而逻辑右移不能保证这点。移位运算符约简其右侧的操作数,当左侧操作数是int类型时,右侧以32取模;当左侧是long类型时,右侧以64原创 2013-09-30 10:15:13 · 29226 阅读 · 0 评论 -
几种常见排序算法总结(java版)
代码如下:/*************几种常见的排序算法总结***************************/package paixu;public class PaiXu { final int MAX=20; int num[]=new int[MAX]; { System.out.print("生成的随机数组是:"); for(int原创 2013-09-13 12:50:28 · 14256 阅读 · 2 评论 -
Ubuntu 安装JRE7快捷方法
今天在ubuntu上使用原来的sudo apt-get install openjdk-7-jre来安装jre时遇到了如下的错误:E: 软件包 openjdk-7-jre 没有可供安装的候选者然后到网上找到了其他的安装办法,依次使用如下的命令:sudo add-apt-repository ppa:webupd8team/javasudo apt-get updatesud原创 2013-07-06 13:32:52 · 3454 阅读 · 0 评论 -
java二维数组的使用需要注意的地方
如下所示的代码,如果按照C语言来说则第二次输出时只应该是数组的第一行全为零,可是事实上我们却会看到第一行和第二行都为0:代码:public class Test3 { public static void main(String[] args){ int test[][]={{1,2,3}, {4,5,6}, {7,8,原创 2013-06-24 20:05:49 · 5775 阅读 · 1 评论 -
java的for循环中continue和break对参数的影响
以前没有太注意过,今天使用continue进行下一次for循环时无缘无故地出现了错误,最后发现这是因为continue对for循环的相关参数的影响引起的。1.break对for循环参数的影响代码如下:public class Test0 { public static void main(String[] args){ int i=0; for(i=0;i<原创 2013-06-24 16:35:06 · 12517 阅读 · 0 评论 -
java解析xml的几种方式比较
第一种:DOM。DOM的全称是Document Object Model,也即文档对象模型。在应用程序中,基于DOM的XML分析器将一个XML文档转换成一个对象模型的集合(通常称DOM树),应用程序正是通过对这个对象模型的操作,来实现对XML文档数据的操作。通过DOM接口,应用程序可以在任何时候访问XML文档中的任何一部分数据,因此,这种利用DOM接口的机制也被称作随机访问机制。转载 2013-06-21 20:06:54 · 899 阅读 · 0 评论 -
java.net模拟用户登录网页并维持session的方法
有的时候,会需要使用java的程序访问网页,正常的访问网页的程序很多,也没有什么可讲的,在这里主要说明一下如何使用java的访问网页时,需要登录时,如何保持登录的程序。先简单讲解一下原理:实际上网页和服务器是两套应用,客户端访问服务器一次,实际上网页获取后,连接立即就断了,这样的话,说明服务器是不会保持长效连接的,但是在现实情况登录的话,客户端好像一直在保留连接,那么这种情况就和先前模式似转载 2013-06-22 13:50:56 · 7560 阅读 · 0 评论 -
Java AIO方法实现TCP Socket服务器支持多客户端的例子
代码:import java.io.IOException;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.channels.AsynchronousServerSocketChannel;import java.nio.channels.AsynchronousSocketCh...原创 2019-08-20 19:06:44 · 834 阅读 · 0 评论