
java
文章平均质量分 67
B_H_L
这个作者很懒,什么都没留下…
展开
-
JFinal是一个基于Java的极速Web开发框架
JFinal是一个基于Java的极速Web开发框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。JFinal主要特点:MVC架构,设计精巧,使用简单遵循COC原则,零配置,无xmlActiveRecord支持,使数据库开发极致快速自动加载修改后的java文件,开发过程中无需重启web serverAOP支持,拦截器配置灵活,功能强大P转载 2013-12-09 09:21:21 · 5040 阅读 · 0 评论 -
java.util.logging.Logger使用详解
java.util.logging.Logger不是什么新鲜东西了,1.4就有了,可是因为log4j的存在,这个logger一直沉默着,其实在一些测试性的代码中,jdk自带的logger比log4j更方便。 一、创建Logger对象 static Logger getLogger(String name) 为指定子系统查找或创建一个 logg转载 2013-03-17 10:49:43 · 1005 阅读 · 0 评论 -
Java追加文件内容的三种方法
import java.io.BufferedWriter;import java.io.File;import java.io.FileOutputStream;import java.io.FileWriter;import java.io.IOException;import java.io.OutputStreamWriter;import java.io.RandomAcce转载 2013-03-14 18:56:54 · 1399 阅读 · 0 评论 -
为Eclipse添加Java Decompiler插件
JD-EclipseJD-Eclipse is a plug-in for the Eclipse platform. It allows you to display all the Java sources during your debugging process, even if you do not have them all.JD-Eclipse is free for n转载 2013-03-01 09:22:45 · 6225 阅读 · 0 评论 -
AWT和Swing中的绘画
在图形系统中, 窗口工具包(windowing toolkit)通常提供一个框架以便相对容易地创建一个图形用户接口(GUI),在正确的时间、正确的屏幕位置显示一个正确的图像位。AWT (abstract windowing toolkit,抽象窗口工具包) 和Swing都提供这种框架。但是实现这种框架的APIs对一些开发人员来讲不是很好理解 -- 这就导致一些程序的运行达不到预期的效果。转载 2013-02-28 22:07:05 · 1294 阅读 · 0 评论 -
Java 网页浏览器组件介绍
在使用 Java 开发客户端程序时,有时会需要在界面中使用网页浏览器组件,用来显示一段 HTML 或者一个特定的网址。本文将介绍在界面中使用浏览器组件的四种方法,给出示例的代码,并且分析每种方法的优点与不足,便于 Java 开发者在实际开发过程中根据自己的需要来选择。Swing 是一个用于开发 Java 应用程序图形化用户界面的工具包,它是以抽象窗口工具包(AWT)为基础使跨平台应用程序可转载 2013-02-28 21:54:45 · 974 阅读 · 0 评论 -
自定义java Swing日历选择组件JCalendarChooser
package cn.net.iem.view.mainframe;import java.awt.BorderLayout;import java.awt.FlowLayout;import java.awt.GridBagConstraints;import java.awt.GridBagLayout;import java.awt.GridLayout;import java原创 2013-02-27 21:54:01 · 7428 阅读 · 0 评论 -
介绍JDIC(JDesktop Integration Components)
本文将介绍 JDesktop Integration Components (JDIC),这是一个开源的项目,目的是构建消除本机应用程序和 Java 等价物之间差距的组件。JDIC 单一的 Java API 允许应用程序接进本机操作系统特性,同时保持跨平台支持。它目前提供了本机 Web 浏览器(Internet Explorer 或 Mozilla) 支持、系统托盘支持、文件扩展集成和其他桌面转载 2013-02-28 19:30:36 · 2966 阅读 · 0 评论 -
java.net.ServerSocke让java程序只运行一个实例
问题提出: 一个程序可以在内存里面存在多个运行实例,比如可打开多个Word程序。但是,有时仅需运行的实例只有一个,也就是说,该程序同一时刻在内存里面运行的只有一个实例。这样当这个程序在内存中已经存在一个运行实例而用户又再次运行了该程序的时候,有两种结果,第一种结果是结束目前的运行实例,打开新运行的实例;第二种就是让新运行的实例退出,原有的运行实例继续运行。解决方法1: 因为任何时原创 2012-05-08 15:58:51 · 1560 阅读 · 0 评论 -
SwingWorker
本文示例代码请从这儿下载 正确理解和使用Swing线程模型编程是编写响应灵活的Swing程序的关键。从Java SE 6开始引进的SwingWorker能帮你轻松的编写多线程Swing程序,改善你Swing程序的结构,提高界面响应的灵活性。SDN(Sun developer Network)上有一篇很好的文章:Improve Application Perfor转载 2013-01-19 19:35:20 · 1827 阅读 · 0 评论 -
java Socket判断对方是否已关闭连接
如何判断远端socket是否已经断开连接,如果断开那么需要重新连接。1通过socket类的方法isClosed()、isConnected()、isInputStreamShutdown()、isOutputStreamShutdown()等,这些方法都是本地端的状态,无法判断远端是否已经断开连接。2通过OutputStream发送心跳消息,如果发送失败就表示远端已经断开连接,类似转载 2013-01-16 19:54:32 · 14651 阅读 · 1 评论 -
A Visual Guide to Swing Components (Java Look and Feel)
This page shows Swing components in the Java look and feel. The following page shows the same components in the Windows look and feel.Basic ControlsSimple components that are used primarily to get转载 2013-01-14 12:14:45 · 2175 阅读 · 0 评论 -
NIO操作类型与就绪条件
使用NIO编程时,对NIO就绪选择的理解,是NIO编程的关键。NIO与传统IO的区别是提供了就绪选择的能力,为原来的阻塞的IO提供了非阻塞的能力,从而为我们提供了用少量的线程数量同时为大量的连接通信的可能。 1、操作类型 NIO的就绪选择共涉及4个操作:OP_READ, OP_WRITE, OP_ACCEPT, OP_CONNECT。客户端对应的通道是SocketC转载 2013-01-05 13:31:52 · 792 阅读 · 0 评论 -
NIO与传统IO的区别
传统的socket IO中,需要为每个连接创建一个线程,当并发的连接数量非常巨大时,线程所占用的栈内存和CPU线程切换的开销将非常巨大。使用NIO,不再需要为每个线程创建单独的线程,可以用一个含有限数量线程的线程池,甚至一个线程来为任意数量的连接服务。由于线程数量小于连接数量,所以每个线程进行IO操作时就不能阻塞,如果阻塞的话,有些连接就得不到处理,NIO提供了这种非阻塞的能力。转载 2013-01-05 13:28:29 · 813 阅读 · 0 评论 -
java swt与awt、swing区别
Java语言的声望和它在桌面应用程序(GUI程序)所取得的成就显然极不相符,至今仍然很少能看到非常成功Java桌面程序。虽然有JBuilder,Netbean,JProbe等大型软件作为代表,但这仍不能证明Java的GUI程序是成功的:它们的外观总是和同一操作系统平台下的其它软件显得格格不入。对机器配置的需求也似乎永无止境,这使得它们只能被一些总是拥有当前最高性能PC的程序员们所容忍,或是那些不在转载 2013-03-17 13:55:53 · 1454 阅读 · 0 评论 -
java 利用AudioPlayer循环播放音乐
AudioStream as = null; AudioData ad=null; try { as = new AudioStream(类名.class.getClassLoader().getResourceAsStream("resource/***.wav")); ad = as.getData(); } catch (IOExcept原创 2013-03-15 17:46:24 · 12474 阅读 · 1 评论 -
java JTable排序和过滤(JDK 6.0新功能)
JTable排序 在Java SE 6中除了java.awt被更新外,javax.swing同时也有了很大的改进。在C/S程序中我们会经常使 用到"表"。如我们可以在查询数据库后将查询结果显示在表格中。在Java中显示表格使用的是JTable类。在以前的版本中,JTable只能简单地显 示数据,并没有什么附加的处理功能,而在Java SE 6中的JTable增加了排序和过滤功能。用户可以单击原创 2012-07-22 10:24:35 · 19084 阅读 · 12 评论 -
DB连接池
DB连接池备忘网络编程中提出了将Socket放入池中,让多个线程共享这些插座(Socket)对应的线缆(Conenction)DB连接池就是基于连接池的一个实现。连接池是客户端使用的技术。比如C3P0,DBCP都是应用程序做为客户端通过连接池访问DB 1.连接池的前世:通过JDBC访问DB:一般来说,Java应用程序访问数据库的过程(如图1所示)转载 2013-04-15 19:23:01 · 2951 阅读 · 0 评论 -
java并发编程3:使用JDK并发包(java.util.concurrent)构建程序
java.util.concurrent 概述JDK5.0 以后的版本都引入了高级并发特性,大多数的特性在java.util.concurrent 包中,是专门用于多线并发编程的,充分利用了现代多处理器和多核心系统的功能以编写大规模并发应用程序。主要包含原子量、并发集合、同步器、可重入锁,并对线程池的构造提供了强力的支持。原子量:是定义了支持对单一变量执行原子操作的类。所有类都有get转载 2013-03-23 22:05:58 · 7058 阅读 · 0 评论 -
java并发编程4:原子变量与非阻塞算法
加锁的缺点:(1)挂起和恢复线程会带来很大的开销,并通常伴有冗长的中断;(2)当一个线程正在等待锁时,它不能做任何其他事情。如果一个线程在持有锁的情况下发生了延迟(原因包括页错误、调度延迟,或者I/O),那么其他所有需要该锁的线程都不能前进了;(3)如果阻塞的线程是优先级很高的线程,持有锁的线程优先级较低,那么会造成性能风险,被称为优先级倒置(priority inversion)。即虽然更高的优转载 2013-03-23 20:46:49 · 2000 阅读 · 1 评论 -
java并发编程2:构建线程安全应用程序
线程安全性 调用一个函数(假设该函数是正确的)操作某对象常常会使该对象暂时陷入不可用的状态(通常称为不稳定状态),等到操作完全结束,该对象才会重新回到完全可用的状态。如果其他线程企图访问一个处于不可用状态的对象,该对象将不能正确响应从而产生无法预料的结果,如何避免这种情况发生是线程安全性的核心问题。单线程的程序中是不存在这种问题的,因为在一个线程更新某对象的时候不会有其他线程也去转载 2013-03-20 10:13:55 · 1940 阅读 · 0 评论 -
Java并发编程1:实践基础
进程与线程 进程通常由三部分组成。一部分是程序,一部分数据集合,另一部分被称为进程控制块(ProcessControlBlock,简记PCB),每个进程基本上有自己独立的代码和数据空间,独立的程序计数器等上下文环境,进程切换的开销是比较大的。 进程具备并发性的特点,这种并发性是不同的进程之间反映出来的,不同的进程有不同进程空间,进程之间的切换消耗比较大。那么就考虑转载 2013-03-16 11:19:45 · 1232 阅读 · 0 评论 -
java并发编程5:实现锁无关数据结构
简介: 本文将介绍锁无关数据结构的应用及其相关概念,并在 Java 环境下利用 JDK 1.5 提供的一组类进行锁无关数据结构设计,从而避免基于锁的数据结构可能引发的同步问题,以改善程序的可靠性。介绍通常在一个多线程环境下,我们需要共享某些数据,但为了避免竞争条件引致数据出现不一致的情况,某些代码段需要变成原子操作去执行。这时,我们便需要利用各种同步机制如互斥(Mutex)去为这些代码转载 2013-03-22 09:21:52 · 7015 阅读 · 0 评论 -
Java socket中isClose()和isConnected()
可以引起网络连接关闭的情况有以下4种:1. 直接调用Socket类的close方法。2. 只要Socket类的InputStream和OutputStream有一个关闭,网络连接自动关闭(必须通过调用InputStream和OutputStream的 close方法关闭流,才能使网络可爱接自动关闭)。3. 在程序退出时网络连接自动关闭。4. 将Socket对转载 2013-04-03 11:17:44 · 1783 阅读 · 0 评论 -
根据两点经纬度计算距离
经纬度简介这些经纬线是怎样定出来的呢?地球是在不停地绕地轴旋转(地轴是一根通过地球南北两极和地球中心的假想线),在地球中腰画一个与地轴垂直的大圆圈,使圈上的每一点都和南北两极的距离相等,这个圆圈就叫作“赤道”。在赤道的南北两边,画出许多和赤道平行的圆圈,就是“纬圈”;构成这些圆圈的线段,叫做纬线。我们把赤道定为纬度零度,向南向北各为90度,在赤道以南的叫南纬,在赤道以北的叫转载 2013-03-10 21:35:14 · 74091 阅读 · 7 评论 -
Java synchronized详解
第一篇:使用synchronized在编写一个类时,如果该类中的代码可能运行于多线程环境下,那么就要考虑同步的问题。在Java中内置了语言级的同步原语--synchronized,这也大大简化了Java中多线程同步的使用。我们首先编写一个非常简单的多线程的程序,是模拟银行中的多个线程同时对同一个储蓄账户进行存款、取款操作的。在程序中我们使用了一个简化版本的Account类,转载 2013-03-18 20:44:02 · 884 阅读 · 0 评论 -
eclipse下GB2312转utf-8出错?求解
eclipse默认utf-8,我做一下测试:String utf8="你好";String gbk=null;try {gbk=new String(utf8.getBytes(),"GBK");System.out.println(gbk);System.out.println(new String(gbk.getBytes("GBK"),"utf-8"));//输出你好原创 2013-03-17 20:34:25 · 2116 阅读 · 0 评论 -
java socket通信
1:简介Java语言从一开始就是为了让人们使用互联网而设计的,它为实现程序的相互通信提供了许多有用的抽象应用程序接口(API, Application Programming Interface),这类应用程序接口被称为套接字(sockets)。信息(information)是指由程序创建和解释的字节序列。在计算机网络环境中,这些字节序列被称为分组报文(packets)。一组报文包括了网络转载 2013-03-24 11:50:32 · 27942 阅读 · 7 评论 -
DJNativeSwing跨平台的浏览器、Flash播放器、HTML编辑器和多媒体播放器组件
DJ Native SwingThe DJ Native Swing library allows an easy integration of some native components into Swing applications, and provides some native utilities to enhance Swing's APIs.The key co原创 2013-03-05 14:06:09 · 4727 阅读 · 0 评论 -
如何在网页中调用百度地图API
http://www.cnblogs.com/milkmap/archive/2011/02/22/1960004.html 【百度地图API】建立全国银行位置查询系统(一)——如何创建地图你将在第一章中学会以下知识:如何创建一个网页文件怎样利用百度地图API建立一张2D地图,以及3D地图如何添加对地图进行鼠标和键盘操作的功能-----转载 2012-12-05 18:12:35 · 23524 阅读 · 1 评论 -
poi开源jar包操作excel时读取单元格的标准方法
public static Object getCellValue(HSSFCell cell){ //参数可以包括int rowIndex, int cellnum if(cell == null){ return null; }else if(cell.getCellType() == XSSFCell.CELL_TYPE_BLANK){ //Sys原创 2012-12-04 12:44:42 · 2045 阅读 · 0 评论 -
Jni函数调用大全
Chap1:JNI完全手册... 3Chap2:JNI-百度百科... 11Chap 3:javah命令帮助信息... 16Chap 4:用javah产生一个.h文件... 17Chap5:jni教程(very very good) 19Chap6: JNI传递返回值... 2615.2.2.3 传递字符串... 2815.2.2.4 传递整转载 2012-05-18 19:24:51 · 8413 阅读 · 0 评论 -
Java使用JNI调用C/C++的DLL动态链接库1
IntroductionIn this tutorial, I will try to explain how to call native functions which are written in C or C++ from Java, using JNI.What is JNIJNI is an acronym of Java Native Interface. Using转载 2012-05-17 11:04:45 · 1589 阅读 · 0 评论 -
JNI处理是一个转化数据的过程,难点在于java与本地语言交流时的数据转化
本文通过两个例子来讲解JNI的一个输入/输出应用。首先看一个String的输入输出的例子,下面是java部分的代码 public class Prompt { private native String getLine(String prompt); public static void main(String args[]) { Prompt p = new转载 2012-05-17 20:20:59 · 777 阅读 · 0 评论 -
java获取classpath路径的问题
String path =类名.class.getResource("文件名.后缀").getPath();path = path.substring(1,path.length());得到的结果:D:/Program%20Files/eclipseSDK/eclipse/workspace/TestDll/bin/cn/iem/hl/文件.后缀----------------原创 2012-05-17 11:27:38 · 4553 阅读 · 0 评论 -
java获取classpath路径
ClassLoader提供了两个方法用于从装载的类路径中取得资源: public URL getResource(String name); public InputStream getResourceAsStream(String name); 这里name是资源的类路径,它是相对与“/”根路径下的位置。getResourc转载 2012-05-17 14:52:02 · 978 阅读 · 0 评论 -
Java使用JNI调用C/C++的DLL动态链接库2
使用到的工具包括:Eclipse、VC6.0、cmd、notepadJava使用JNI调用C/C++的DLL动态链接库,例如,我们有Animal类********************************************************package com; public class Animal { public native int getA转载 2012-05-17 11:06:41 · 2183 阅读 · 0 评论 -
java利用开源组件JNative调用dll
因为项目的需求,要在JAVA项目中调用Windows的Dll(动态链接库)文件,之前用Jni调用过C写的Dll文件,比较麻烦,这里不多说,网上也有很多这方面的文档。在网上找到一个开源的组件JNative,使用后感觉比较方便。下截JNative组件jnative.sourceforge.net/ 到这里下载JNative开源项目,我下载的是1.3.2解压JNativ转载 2012-05-17 11:09:15 · 3477 阅读 · 1 评论 -
java.sql.SQLException: Locale not recognized处理
java.sql.SQLException: Locale not recognizedat oracle.jdbc.driver.T4CTTIoauthenticate.setSessionFields(T4CTTIoauthenticate.java:939)at oracle.jdbc.driver.T4CTTIoauthenticate.(T4CTTIoauthenticate.j原创 2012-05-31 16:38:44 · 7026 阅读 · 1 评论 -
swing全局热键及动态加载dll
原文:http://walsece.iteye.com/blog/191169如何在你的java程序中注册系统级热键 注:本文为原创文章,转载时请注明转载地址。所谓系统级热键就是指一组快捷键,不论当前系统焦点在哪个程序中,只要按下该键,程序就能够捕捉该事件并进行相关处理。该功能在应用程序中是非常有用的,比如系统自带的 “win+L转载 2012-05-31 10:37:07 · 2044 阅读 · 0 评论