- 博客(23)
- 资源 (41)
- 收藏
- 关注
转载 java socket通信
1:简介Java语言从一开始就是为了让人们使用互联网而设计的,它为实现程序的相互通信提供了许多有用的抽象应用程序接口(API, Application Programming Interface),这类应用程序接口被称为套接字(sockets)。信息(information)是指由程序创建和解释的字节序列。在计算机网络环境中,这些字节序列被称为分组报文(packets)。一组报文包括了网络
2013-03-24 11:50:32 27220 7
转载 java并发编程3:使用JDK并发包(java.util.concurrent)构建程序
java.util.concurrent 概述JDK5.0 以后的版本都引入了高级并发特性,大多数的特性在java.util.concurrent 包中,是专门用于多线并发编程的,充分利用了现代多处理器和多核心系统的功能以编写大规模并发应用程序。主要包含原子量、并发集合、同步器、可重入锁,并对线程池的构造提供了强力的支持。原子量:是定义了支持对单一变量执行原子操作的类。所有类都有get
2013-03-23 22:05:58 6492
转载 java并发编程4:原子变量与非阻塞算法
加锁的缺点:(1)挂起和恢复线程会带来很大的开销,并通常伴有冗长的中断;(2)当一个线程正在等待锁时,它不能做任何其他事情。如果一个线程在持有锁的情况下发生了延迟(原因包括页错误、调度延迟,或者I/O),那么其他所有需要该锁的线程都不能前进了;(3)如果阻塞的线程是优先级很高的线程,持有锁的线程优先级较低,那么会造成性能风险,被称为优先级倒置(priority inversion)。即虽然更高的优
2013-03-23 20:46:49 1937 1
转载 java并发编程5:实现锁无关数据结构
简介: 本文将介绍锁无关数据结构的应用及其相关概念,并在 Java 环境下利用 JDK 1.5 提供的一组类进行锁无关数据结构设计,从而避免基于锁的数据结构可能引发的同步问题,以改善程序的可靠性。介绍通常在一个多线程环境下,我们需要共享某些数据,但为了避免竞争条件引致数据出现不一致的情况,某些代码段需要变成原子操作去执行。这时,我们便需要利用各种同步机制如互斥(Mutex)去为这些代码
2013-03-22 09:21:52 6611
转载 java并发编程2:构建线程安全应用程序
线程安全性 调用一个函数(假设该函数是正确的)操作某对象常常会使该对象暂时陷入不可用的状态(通常称为不稳定状态),等到操作完全结束,该对象才会重新回到完全可用的状态。如果其他线程企图访问一个处于不可用状态的对象,该对象将不能正确响应从而产生无法预料的结果,如何避免这种情况发生是线程安全性的核心问题。单线程的程序中是不存在这种问题的,因为在一个线程更新某对象的时候不会有其他线程也去
2013-03-20 10:13:55 1861
转载 Java synchronized详解
第一篇:使用synchronized在编写一个类时,如果该类中的代码可能运行于多线程环境下,那么就要考虑同步的问题。在Java中内置了语言级的同步原语--synchronized,这也大大简化了Java中多线程同步的使用。我们首先编写一个非常简单的多线程的程序,是模拟银行中的多个线程同时对同一个储蓄账户进行存款、取款操作的。在程序中我们使用了一个简化版本的Account类,
2013-03-18 20:44:02 846
原创 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 2074
转载 java swt与awt、swing区别
Java语言的声望和它在桌面应用程序(GUI程序)所取得的成就显然极不相符,至今仍然很少能看到非常成功Java桌面程序。虽然有JBuilder,Netbean,JProbe等大型软件作为代表,但这仍不能证明Java的GUI程序是成功的:它们的外观总是和同一操作系统平台下的其它软件显得格格不入。对机器配置的需求也似乎永无止境,这使得它们只能被一些总是拥有当前最高性能PC的程序员们所容忍,或是那些不在
2013-03-17 13:55:53 1404
转载 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 949
转载 Java并发编程1:实践基础
进程与线程 进程通常由三部分组成。一部分是程序,一部分数据集合,另一部分被称为进程控制块(ProcessControlBlock,简记PCB),每个进程基本上有自己独立的代码和数据空间,独立的程序计数器等上下文环境,进程切换的开销是比较大的。 进程具备并发性的特点,这种并发性是不同的进程之间反映出来的,不同的进程有不同进程空间,进程之间的切换消耗比较大。那么就考虑
2013-03-16 11:19:45 1192
原创 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 12335 1
转载 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 1371
转载 根据两点经纬度计算距离
经纬度简介这些经纬线是怎样定出来的呢?地球是在不停地绕地轴旋转(地轴是一根通过地球南北两极和地球中心的假想线),在地球中腰画一个与地轴垂直的大圆圈,使圈上的每一点都和南北两极的距离相等,这个圆圈就叫作“赤道”。在赤道的南北两边,画出许多和赤道平行的圆圈,就是“纬圈”;构成这些圆圈的线段,叫做纬线。我们把赤道定为纬度零度,向南向北各为90度,在赤道以南的叫南纬,在赤道以北的叫
2013-03-10 21:35:14 73391 7
转载 MFC中播放声音的方法
声音是多媒体的一个重要组成部分,在应用程序中加入声音可以使界面更友好。在VC++中可以根据不同的应用要求,用不同的方法实现声音的播放。一.播放声音文件的简单方法 在VC++ 中的多媒体动态连接库中提供了一组与音频设备有关的函数。利用这些函数可以方便地播放声音。最简单的播放声音方法就是直接调用VC++中提供的声音播放函数BOOL sndPlaySound ( LPCSTR lpsz
2013-03-09 19:56:25 9734
转载 Oracle 11g安装
一、Oracle 下载注意Oracle分成两个文件,下载完后,将两个文件解压到同一目录下即可。 路径名称中,最好不要出现中文,也不要出现空格等不规则字符。 官方下地址:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html以下两网址来源此官方下载页网。w
2013-03-05 21:19:13 965
转载 oracle全局数据库名、数据库服务名、数据库实例名、ORACLE_SID的区别
一、数据库名什么是数据库名?数据库名就是一个数据库的标识,就像人的身份证号一样。他用参数DB_NAME表示,如果一台机器上装了多全数据库,那么每一个数据库都有一个数据库名。在数据库安装或创建完成之后,参数DB_NAME被写入参数文件之中。格式如下:DB_NAME=myorcl...在创建数据库时就应考虑好数据库名,并且在创建完数据库之后,
2013-03-05 21:15:01 843
原创 Access denied for user 'mysql用户名'@'主机或IP' (using password: YES)'
mysql的权限对localhost的访问没有放开。可以使用如下命令来放开权限(授权):首先计入到mysql的客户端命令行。然后输入:1:你想使用mysql的用户名myuser从任何主机连接到mysql服务器,并使用mypassword作为密码 GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypass
2013-03-05 20:07:32 11224 1
原创 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 4668
转载 大型企业ORACLE数据库RAC应用方案
数据库系统是企业 IT 系统的核心部分,不仅需要数据库服务器具有极强的处理能力,也要求数据库服务器系统具有很高的可靠性,以保证应用系统能够随时访问到数据库中的数据。 一、 应用背景介绍 众所周知,在大型企业中都有一套自己的信息管理平台,企业各种重要的数据就存储在该信息平台后的数据库中,所以数据库系统是企业 IT 系统的核心部分,不仅需要数据库服务器具有极强的处
2013-03-01 19:48:10 821
转载 Oracle网络配置用到的sqlnet.ora,tnsnames.ora,listener.ora文件
listener.ora、tnsnames.ora和sqlnet.ora这3个文件是关系oracle网络配置的3个主要文件,都是放在$ORACLE_HOME\network\admin目录下。其中listener.ora是和数据库服务器端相关,而tnsnames.ora和sqlnet.ora这2个文件不仅仅关系到服务器端,主要的还是和客户端关系紧密。一、客户端设置1.sqlnet.ora
2013-03-01 19:38:45 1264
转载 ORA-12170:TNS:连接超
从错误的信息上看,是肯定是本地的客户端和服务器没有连接好,两个机器的Oracle直接不能通信。1:数据库是否启动,监听器是否启动。2. ping 服务器IP,看是否能通3:检查TNS配置(tnsnames.ora)包括IP、端口这个问题是最基本的,这是连接的基础。这个我建议直接从服务器上拷贝,就不会出错了。我见过的就是因为服务器名后有空格,导致了服务器无法解析。注意,把tn
2013-03-01 18:38:52 4644
转载 如何混排Swing和AWT组件
我们都清楚Swing是模拟的,所谓轻量级(lightweight)组件。而AWT使用本地的,所谓重量级(heavyweight)组件。什么是重量级组件?重量级组件是指每个组件对象对应于一个代表本地组件的native peer。这一点Swing组件和AWT完全不同。Swing中组件除顶级容器类组件如Window、Frame和Applet有自己的native peer外其他都没有对应的native
2013-03-01 09:25:17 1201
转载 为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 6166
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人