JAVA
文章平均质量分 81
feixiaku
这个作者很懒,什么都没留下…
展开
-
Java7中的文件和目录管理----Path类
转载于:http://blog.csdn.net/beijiguangyong/article/details/8831053Path类在JDK7帮助文档中的解释是定位一个文件或者指明一个路径。说白了就是可以代表一个带有路径的文件定位也可以表示一个路径。其实用起来还是很简单的如下代码所示[java] view plaincopyprint?转载 2013-04-24 10:37:09 · 582 阅读 · 0 评论 -
JAVA设计模式之单例模式
概念: java中单例模式是一种常见的设计模式,单例模式分三种:懒汉式单例、饿汉式单例、登记式单例三种。 单例模式有一下特点: 1、单例类只能有一个实例。 2、单例类必须自己自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、转载 2014-08-13 13:06:46 · 463 阅读 · 0 评论 -
消除SDK更新时的“https://dl-ssl.google.com refused”异常
SDK更新时的“https://dl-ssl.google.com refused”错误Download interrupted: hostname in certificate didn't match: != Download interrupted: Connection to https://dl-ssl.google.com refusedDone. Nothing转载 2014-08-26 21:55:15 · 546 阅读 · 0 评论 -
Java enum的用法详解
用法一:常量在JDK1.5 之前,我们定义常量都是: public static fianl.... 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。public enum Color { RED, GREEN, BLANK, YELLOW } 用法二:switchJDK1.6之前的switch语句只支持int,转载 2014-08-12 09:48:52 · 417 阅读 · 0 评论 -
大小端、网络字节序问题
总结:1、80X86使用小端法,网络字节序使用大端法。 2、二进制的网络编程中,传送数据,最好以unsigned char, unsigned short, unsigned int 来处理, unsigned short ,unsigned short 以网络字节序处理后再拷贝到发送的buffer里 3、结构体前要指定转载 2014-08-25 11:22:36 · 444 阅读 · 0 评论 -
Java并发性和多线程介绍目录
Java并发性和多线程介绍多线程的优点多线程的代价如何创建并运行java线程竞态条件与临界区线程安全与共享资源线程安全及不可变性JAVA同步块线程通信死锁避免死锁饥饿和公平嵌套管程锁死Slipped ConditionsJava中的锁Java中的读/写锁重入锁死信号量阻塞队列线程池剖析同步器(全文完)如果您喜欢此文请点赞,分享,评论。http://ifeve.com/java-conc转载 2014-08-24 09:56:24 · 427 阅读 · 0 评论 -
Java创建线程安全的方法
首先来看一个问题:下面这个方法是线程安全的吗?如何才能让这个方法变成线程安全的?1public class MyCount {2 private static int counter = 0;3 4转载 2014-08-24 09:55:50 · 551 阅读 · 0 评论 -
【整理】HashMap的原理及遍历
【遍历方法一】[java] view plaincopyfor(Map.Entry entry : hashmap.entrySet()){ System.out.println("Key="+entry.getKey()+"---->value="+entry.getValue().toString()) } 【遍历方法二:用keySet遍历】转载 2014-08-11 09:56:05 · 556 阅读 · 0 评论 -
java枚举类型enum的使用
java 枚举类型enum 的使用最近跟同事讨论问题的时候,突然同事提到我们为什么java 中定义的常量值不采用enmu 枚举类型,而采用public final static 类型来定义呢?以前我们都是采用这种方式定义的,很少采用enum 定义,所以也都没有注意过,面对突入起来的问题,还真有点不太清楚为什么有这样的定义。既然不明白就抽时间研究下吧。Java 中的枚举类型采用关键字enum转载 2014-08-10 23:53:01 · 365 阅读 · 0 评论 -
java UDP Socket
一. UDP协议定义UDP协议的全称是用户数据报,在网络中它与TCP协议一样用于处理数据包。在OSI模型中,在第四层——传输层,处于IP协议的上一层。UDP有不提供数据报分组、组装和不能对数据包的排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。二. 使用UDP的原因它不属于连接型协议,因而具有资源消耗小,处理速度快的优点,所以通常音频、视频和普通数据在传送时使转载 2014-08-15 16:16:54 · 389 阅读 · 0 评论 -
java udp 广播
udp 是一种网络通信协议,不需要客户端和服务器端建立连接即可进行通讯功能。相对于Tcp协议它有着tcp用很多优点,例如广播功能。udp的广播功能可以指定特定网段进行广播内容,而无需知道接收者是谁,只有接受者在广播范围内即可接收广播内容。其实基于这个功能可以实现一个局域网群聊室的功能。udp广播发送有两种形式,方式一:通过DatagramSocket实现方式二:通过MulticastS转载 2014-09-02 15:38:00 · 475 阅读 · 0 评论 -
AVA编写的使用Socket模拟Http的GET操作
JAVA编写的使用Socket模拟Http的GET操作,看后就很容易理解Web浏览器的原理了。[java] view plaincopyimport java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader;转载 2015-08-13 23:54:37 · 570 阅读 · 0 评论 -
Android JNI(实现自己的JNI_OnLoad函数)
实现JNI中本地函数注册可以两种方式: (1)采用默认的本地函数注册流程。 (2)自己重写JNI_OnLoad()函数。(本文介绍)(Android中采用这种) Java端代码:package com.jni;public class JavaHello { public static native String hello(); static { // load转载 2015-04-15 21:42:32 · 428 阅读 · 0 评论 -
Android中Context
Context字面意思上下文,位于framework package的android.content.Context中,其实该类为LONG型,类似Win32中的Handle句柄,很多方法需要通过 Context才能识别调用者的实例,比如说Toast的第一个参数就是Context,一般在Activity中我们直接用this代替,代表调用者的 实例为Activity,而到了一个button的onClic转载 2015-04-18 21:50:37 · 345 阅读 · 0 评论 -
在Java中调用Python
在执行之前都需要把python对应的包加载进去,这个是必须的。 1.在java类中直接执行python语句[java] view plaincopyimport javax.script.*; import org.python.util.PythonInterpreter; import java.i转载 2014-09-25 12:02:20 · 596 阅读 · 0 评论 -
Java初级优化
1. 对于明确不需要派生的类,添加final修饰符,此时该类的所有方法都是final的。Java编译器会寻找机会内联(inline)所有的final方法。(能使性能提升50%)2. 尽量重用对象,避免生成过多的对象。对于String的连接,用StringBuffer代替。3. 尽量少用全局变量如static等(heap中创建,慢),多用局部变量(Stack中创建,快)。4. 不要重复初转载 2014-09-04 13:11:38 · 407 阅读 · 0 评论 -
Java网络编程从入门到精通(11):使用NetworkInterface类获得网络接口信息
从JDK1.4开始,Java提供了一个NetworkInterface类。这个类可以得到本机所有的物理网络接口和虚拟机等软件利用本机的物理网络接口创建的逻辑网络接口的信息。一、创建NetworkInterface对象的两个静态方法NetworkInerface类和InetAddress一样,也没有public的构造方法。因此,必须通过它的两个静态方法来创建NetworkInterf转载 2014-09-03 23:11:37 · 636 阅读 · 0 评论 -
Java抓取网页数据(原网页+Javascript返回数据)
转载请注明出处!原文链接:http://blog.csdn.net/zgyulongfei/article/details/7909006有时候由于种种原因,我们需要采集某个网站的数据,但由于不同网站对数据的显示方式略有不同!本文就用Java给大家演示如何抓取网站的数据:(1)抓取原网页数据;(2)抓取网页Javascript返回的数据。一、抓取原网页。转载 2014-09-24 23:54:32 · 668 阅读 · 0 评论 -
java中内部类的访问调用
从Java1.1开始引入了内部类以来,它就引起了人们的激烈争论。其实任何优秀的语言特性用得不好就是滥用,内部类用得不好就会导致代码像迷宫一样,导致出现毫无重用的综合征。1、内部类分为成员内部类、静态嵌套类、方法内部类、匿名内部类。几种内部类的共性:A、内部类仍然是一个独立的类,在编译之后会内部类会被编译成独立的.class文件,但是前面冠以外部类的类命和$符号。B、内部类不能用转载 2014-09-26 23:27:29 · 816 阅读 · 0 评论 -
Linux + Eclipse 配置交叉编译环境
最精在研究u-boot,之前用的编译方法是在windows下用vs进行就该,然后用虚拟机里的ubuntu进行编译,中间使用共享文件夹。后来觉得太麻烦了,干脆直接在linux下进行修改和编译,因此安装了Eclipse for c/c++ developer。下面介绍两种交叉编译环境搭建的方法: 一.使用工程中自带的Makefile。 1.选择New->Project,而不是Import转载 2014-09-18 12:26:31 · 4136 阅读 · 0 评论 -
Java高级优化技术
Java高级优化技术 常用的:1.优化循环。通过重新组织重复的子表达式来提高循环体的运行性能。2减少使用对象的数量来提高运行性能。3.缩减网络传输数据来缩短等待时间。 其他:1.采用对象池技术,提高对象的利用效率。性能的损耗主要源于创建和释放对象,因此要避免对象的创建和释放。采用对象池技术,预先定义一个对象池,预先创建一组待使用的对象:Enemy[5]转载 2014-09-04 13:15:34 · 389 阅读 · 0 评论 -
使用 Eclipse 平台进行调试
调试是程序员无法回避的工作。调试方法有许多种,但归根结底,就是找到引发错误的代码。举例来说,在 Linux 应用程序中,分段故障被认为是最常见的错误之一。当程序尝试访问未分配给它的内存并因为分段违例而终止时,将产生这种错误。要修正这种错误,您需要找到引发该行为的那行代码。一旦找到有问题的代码行,这对于知道引发错误的上下文及其相关的值、变量和方法也是有所帮助的。使用调试器将使查找这些信息变得相当简单转载 2014-07-30 13:28:36 · 551 阅读 · 0 评论 -
java事件处理机制(自定义事件)
java中的事件机制的参与者有3种角色:1.event object:事件状态对象,用于listener的相应的方法之中,作为参数,一般存在与listerner的方法之中2.event source:具体的事件源,比如说,你点击一个button,那么button就是event source,要想使button对某些事件进行响应,你就需要注册特定的listener。3.event lis转载 2014-07-29 16:20:01 · 482 阅读 · 0 评论 -
Java读取文件大全
1、按字节读取文件内容2、按字符读取文件内容3、按行读取文件内容4、随机读取文件内容public class ReadFromFile { /** * 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。 */ public static void readFileByBytes(String fileName) {转载 2014-07-30 13:24:40 · 453 阅读 · 0 评论 -
java中byte, int的转换
最近在做些与编解码相关的事情,又遇到了byte和int的转换,看着那些关于反码、补码的说明依旧头疼,还是记下些实用的方法吧。int -> byte可以直接使用强制类型转换: byte b = (byte) aInt;这个操作是直接截取int中最低一个字节,如果int大于255,则值就会变得面目全非了。对于通过InputStream.read()获取的int,可采用这个方法将值还原。转载 2014-07-30 13:15:29 · 428 阅读 · 0 评论 -
Java的Integer与int互转
int转Integer Java代码 int i = 0; Integer wrapperi = new Integer(i); Integer转int Java代码 Integer wrapperi = new Integer(0); int i = wrapperi.intValue();转载 2014-08-03 12:52:02 · 615 阅读 · 0 评论 -
eclipse常用快捷键
1. 【ALT+/】此快捷键为用户编辑的好帮手,能为用户提供内容的辅助,不要为记不全方法和属性名称犯愁,当记不全类、方法和属性的名字时,多体验一下【ALT+/】快捷键带来的好处吧。 2. 【Ctrl+O】 显示类中方法和属性的大纲,能快速定位类的方法和属性,在查找Bug时非常有用。3. 【Ctrl+/】 快速添加注释,能为光标所在行或所选定行快速添加注释或取消注释,在调试的时候可能总会需要转载 2014-07-29 13:08:36 · 430 阅读 · 0 评论 -
输入url,后台都做了哪些工作
1、你在浏览器中输入某个URL我们从这里开始:图 12、浏览器查找该域名对应的IP地址图 2第一步是找出所访问域名对应的IP地址,按以下顺序循环查找DNS记录:◆浏览器缓存 - 浏览器会缓存DNS记录一段时间,有趣的是,操作系统不会告诉浏览器每条DNS记录的存活时间,浏览器按照固定的周期进行缓存(每种浏览器的保留时间从2-30分钟长度转载 2013-05-19 15:23:59 · 833 阅读 · 0 评论 -
Java学习之Iterator(迭代器)的一般用法 (转)
迭代器(Iterator) 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构。迭代器通常被称为“轻量级”对象,因为创建它的代价小。 Java中的Iterator功能比较简单,并且只能单向移动: (1) 使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它返转载 2013-04-27 10:54:45 · 517 阅读 · 0 评论 -
JAVA获取MAC地址的方法
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; /** * 获取MAC地址 * @author sunlightcs * */ public class GetMacAddress {转载 2014-08-06 13:04:15 · 1934 阅读 · 0 评论 -
java udp 广播
udp 是一种网络通信协议,不需要客户端和服务器端建立连接即可进行通讯功能。相对于Tcp协议它有着tcp用很多优点,例如广播功能。udp的广播功能可以指定特定网段进行广播内容,而无需知道接收者是谁,只有接受者在广播范围内即可接收广播内容。其实基于这个功能可以实现一个局域网群聊室的功能。udp广播发送有两种形式,方式一:通过DatagramSocket实现方式二:通过Mult转载 2014-08-06 00:00:50 · 620 阅读 · 0 评论 -
UDP收/发广播包过程
UDP收/发广播包过程 如果网络中两个主机上的应用程序要相互通信,其一要知道彼此的IP,其二要知道程序可监听的端口。因为同一主机上的程序使用网络是通过端口号来区分的。UDP Socket的使用过程:1. 初始化网络库2. 创建SOCK_DGRAM类型的Socket。3. 绑定套接字。4. 发送、接收数据。5. 销毁套接字。6. 释放网络库。 广播数据包的转载 2014-09-04 15:05:11 · 1862 阅读 · 0 评论 -
java垃圾回收算法
(1)引用计数法这是最经典和最古老的一种,它的工作原理是为每个对象配备一个计数器,只有这个对象被引用了,引用计数器就加1,当引用失效时,计数器减一,只要计数器为0,意味着不再被使用,于是该对象就可以被回收了。优点:实现简单;缺点:无法处理循环引用情况。即有应该被回收的垃圾对象A、B,他们互相引用,除此之外无其他引用,然而他们计数器值不是0,因此无法回收,从而造成内存泄漏。转载 2014-08-06 22:41:05 · 454 阅读 · 0 评论 -
Java Socket通信及心跳包
最近android项目中有需要用到Socket与服务器连接的项目,自己之前没有使用过Socket套接字这种方案,所以对Socket通信机制就是个也很有限,领导在会议上讲Socket通讯呢就是客户端和服务器端先进行一次握手,双方同意后就可以进行数据传送。我心里最反感别人说这句话如果是大学老师第一次给我们讲Socket概念的话,这话我乐意听。对这有开发经验的程序员竟然还这么跟我介绍Socket,我要的转载 2014-07-31 20:23:13 · 961 阅读 · 0 评论 -
多线程(认识多线程、线程的常用操作方法)
认识多线程进程与线程:进程是程序的一次动态执行过程,它经历了从代码加载、到执行完毕的一个完整过程,这个过程也是进程本身从产生、发展到最终消亡的过程。多线程是实现并发机制的一种有效手段。进程和线程一样,都是实现并发的一个基本单位。Java的多线程实现,有一下两种方式:·继承Thread类·实现Runnable接口Thread类Thread类转载 2014-08-06 23:13:47 · 475 阅读 · 0 评论 -
Java回调函数的理解
所谓回调,就是客户程序C调用服务程序S中的某个函数A,然后S又在某个时候反过来调用C中的某个函数B,对于C来说,这个B便叫做回调函数。例如Win32下的窗口过程函数就是一个典型的回调函数。一般说来,C不会自己调用B,C提供B的目的就是让S来调用它,而且是C不得不提供。由于S并不知道C提供的B姓甚名谁,所以S会约定B的接口规范(函数原型),然后由C提前通过S的一个函数R告诉S自己将要使用B函数,这个转载 2014-08-01 01:09:31 · 370 阅读 · 0 评论 -
算法笔记之堆排序
一、对堆排序的相关了解1、堆排序的运行时间是 O(nlogn) ;2、定义:堆heap是一棵具有以下属性的二叉树——(1)它是一棵完全二叉树;(2)每个结点大于或等于它的任意一个孩子。 备注:完全二叉树的定义——除了最后一层没填满以及最后一层的叶子都是偏左放置的,其他层都是满的二叉树! 3、二叉堆有两种转载 2014-08-06 22:40:11 · 346 阅读 · 0 评论 -
Java线程池的调用
有两个途径可以实现线程池,一个途径是自己实现,另一个途径是使用系统自带的ExecutorService类来实现。一、首先是自己来实现,主要的知识点是线程的唤醒和休眠,直接上代码:先定义一个抽象任务,包含Run方法,具体的任务执行必须继承该类。[java] view plaincopypublic abstract转载 2014-08-06 22:36:20 · 484 阅读 · 0 评论 -
JAVA线程池例子
用途及用法 网络请求通常有两种形式:第一种,请求不是很频繁,而且每次连接后会保持相当一段时间来读数据或者写数据,最后断开,如文件下载,网络流媒体等。另一种形式是请求频繁,但是连接上以后读/写很少量的数据就断开连接。考虑到服务的并发问题,如果每个请求来到以后服务都为它启动一个线程,那么这对服务的资源可能会造成很大的浪费,特别是第二种情况。因为通常情况下,创建线程是需要一定的耗时的,设转载 2014-08-06 16:52:11 · 517 阅读 · 0 评论 -
JAVA编写的一个简单的Socket实现的HTTP响应服务器
JAVA编写的一个简单的Socket实现的HTTP响应服务器,看后就很容易理解Web服务器的原理了。[java] view plaincopypackage test.io; import java.net.*; import java.io.*; /** * 一个简单的Socket实现的HTTP响应服转载 2015-08-13 23:55:31 · 656 阅读 · 0 评论