
Java
文章平均质量分 65
小地盘
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java邮箱自动发送邮件
Android开发中,当忘记密码需要找回密码的时候,很多情况都是向注册邮箱自动发送注册登录密码,自己写的一个自动发送邮件的java类,亲测可用。直接贴代码:public class SendMail { static int port = 25;//端口号 static String server = "smtp.163.com";// 邮件服务器mail.cpip.net.cn原创 2014-11-13 17:32:21 · 2669 阅读 · 2 评论 -
Java多线程及线程状态转换
Java实现多线程的方法有两种,一是继承Thread类、二是实现Runnable接口。一、继承Thread类public class ThreadTest extends Thread { @Override public void run() { System.out.println("this thread name is:"+Thread.cu原创 2015-03-10 15:53:08 · 2615 阅读 · 0 评论 -
国外程序员整理的Java资源大全
构建这里搜集了用来构建应用程序的工具。Apache Maven:Maven使用声明进行构建并进行依赖管理,偏向于使用约定而不是配置进行构建。Maven优于Apache Ant。后者采用了一种过程化的方式进行配置,所以维护起来相当困难。Gradle:Gradle采用增量构建。Gradle通过Groovy编程而不是传统的XML声明进行配置。Gradle可以很好地配合Maven进行依转载 2015-05-14 20:59:43 · 792 阅读 · 0 评论 -
Java中String类方法说明
一、构造函数1.String(byte[ ]bytes):通过byte数组构造字符串对象。2.String(char[ ]value):通过char数组构造字符串对象。3.String(Stingoriginal):构造一个original的副本。即:拷贝一个original。4.String(StringBufferbuffer):通过StringBuffer数组构造字符原创 2015-05-21 15:55:52 · 1075 阅读 · 0 评论 -
Java TCP网络编程 简单实例
先启动 Server 端,进入一个死循环以便一直监听某端口是否有连接请求。然后运行 Client 端,客户端发出连接请求,服务端监听到这次请求后向客户端发回接受消息,连接建立,启动一个线程去处理这次请求,然后继续死循环监听其他请求。客户端输入字符串后按回车键,向服务器发送数据。服务器读取数据后回复客户端数据。这次请求处理完毕,启动的线程消亡。如果客户端接收到 “OK” 之外的返回数据,会再次发送连接原创 2015-06-02 22:17:47 · 1059 阅读 · 0 评论 -
Java 获取子网掩码
import java.util.*;import java.net.*;public class SubnetMask { public static void main(String[] args) { InetAddress ip = null; NetworkInterface ni = null; try {原创 2015-06-03 21:49:57 · 5966 阅读 · 2 评论 -
Java UDP网络编程 简单实例
服务端代码/** *UDPClient *@author Winty wintys@gmail.com *@version 2008-12-15 */import java.io.*;import java.net.*;class UDPClient{ public static void main(String[] args)throws IOException{原创 2015-06-02 21:50:47 · 1436 阅读 · 0 评论 -
Java 获取计算机参数[IPvsMAC]
import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.net.InetAddress;import java.net.NetworkInterface;import java.util.ArrayList;import java.util.原创 2015-06-03 18:12:13 · 950 阅读 · 0 评论 -
Java 实现一个链表
public class MyList { static class Node {// 节点类 Object data; Node next; public Node(Object data) {// 构造方法,为data赋值 this.data = data; this.next = null;原创 2015-06-04 17:48:18 · 1095 阅读 · 0 评论 -
Java自带的线程池ThreadPoolExecutor
一、线程池引入 Java的线程池是Java5.0以后的新功能,它让开发者更易开发高效的多线程程序,也让多线程程序的性能大大提高。Java提供的关于线程池的API是基于原有线程API的,只是用另外一种方式来使用Java的多线程变成功能。 简单来说,线程池就是一个或者多个线程的集合。一般而言,线程池有一下几个部分。完成任务的一个或者多个线程用于调度管理的管理线程要求执行的任务队列那么为什原创 2015-06-04 22:43:31 · 1054 阅读 · 0 评论 -
Java 传值和传引用
在Java中是传值还是传引用?其实不管Java参数的类型是什么,一律都是传递参数的副本。如果Java是传值,那么传递的是值的副本,如果Java是传引用,那么传递的是引用的副本。 在Java中,变量分为以下两类: 基本类型变量(int,long,double,float,byte,boolean,char),传值的副本对象型类型,传引用的副本。其实就是复制指向地址的指针。(在c++中,当参数原创 2015-06-09 15:00:41 · 1046 阅读 · 0 评论 -
Java IO之PushbackInputStream类
PushbackInputStream存在的意义就是允许我试探性的读取数据流,如果不是我们想要的则返还回去,之所以能够这样,因为其内部维护了一个pushback buffer缓冲区。构造函数可以指定返回的字节个数。 缓存的新应用之一就是回推(pushback)的实现。回推用于输入流,以允许读取字节,然后再将它们返回(回推)到流中。PushbackInputStream类实现了这一思想,提供了一原创 2015-06-13 17:58:09 · 1743 阅读 · 0 评论 -
Java中读写锁ReadWriteLock
Java里面真正意义的锁并不多,其实真正的实现Lock接口的类就三个,ReentrantLock和ReentrantReadWriteLock的两个内部类(ReentrantReadWriteLock实现了ReadWriteLock接口,并没有实现Lock接口,是其内部类ReadLock和WriteLock实现了Lock的接口),其他都是通过我们前面说的一些工具类实现了线程的阻塞。 前原创 2015-07-01 09:50:46 · 1020 阅读 · 0 评论 -
深入理解Java的接口和抽象类
对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中的接口和抽象类。下面是本文的目录大纲: 一.抽象类 二.接口 三.抽象类和接口的区别 若有不正之处,请多多谅解并欢迎批评指正,不甚感激。 请尊转载 2015-08-31 11:36:39 · 705 阅读 · 0 评论 -
java并发容器分析
一、简介 JDK5中添加了新的concurrent包,其中包含了很多并发容器,这些容器针对多线程环境进行了优化,大大提高了容器类在并发环境下的执行效率。 CopyOnWriteArrayList类是一个线程安全的List接口的实现,在该类的内部进行元素的写操作时,底层的数组将被完整的复制,这对于读操作远远多于写操作的应用非常适合。在CopyOnWriteArrayList上进行操作时,读转载 2015-08-31 09:38:37 · 628 阅读 · 0 评论 -
java中的==、equals和hashCode区别
java中==、equals()、hashCode()都和对象的比较有关。关于== ==是容易理解的。java设计java就是要比较两个对象是不是同一个对象。 对于引用变量而言,比较的时候两个引用变量引用的是不是同一个对象,即比较的是两个引用中存储的对象地址是不是一样的。 对于基本数据类型而言,比较的就是两个数据是不是相等,没什么歧义。 由于对于原创 2015-03-12 14:47:08 · 1232 阅读 · 0 评论 -
java中public/private/protected区别
Java中的访问控制权限 :可见/访问性在同一类中同一包中不同包中 同一包子类中 不同包子类中 public yes yes yes yes yes protected yes yes no yes yes package yes yes no yes no原创 2015-03-10 19:44:44 · 865 阅读 · 0 评论 -
深入理解 Java内存区域
本文引用自:深入理解Java虚拟机的第2章内容 Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。 概述: 对于从事C和C++程序开发的开发人员来说,在内存管理领域,他们既是拥有最高权力的皇帝,又是从事最基础工作的劳动人民—既拥有每一个对象的“所有权”,又担负着每一个对象生命开始到终结的维护责任。 对于Java转载 2014-11-09 18:23:00 · 705 阅读 · 0 评论 -
Java中的垃圾收集算法
Java虚拟机的内存区域中,程序计数器、虚拟机栈和本地方法栈三个区域是线程私有的,随线程生而生,随线程灭而灭;栈中的栈帧随着方法的进入和退出而进行入栈和出栈操作,每个栈帧中分配多少内存基本上是在类结构确定下来时就已知的,因此这三个区域的内存分配和回收都具有确定性,在这几个区域内就不需要过多的考虑回收的问题,因为方法结束或者线程结束时,内存自然就跟随回收了。而Java堆和方法区则不一样,所以垃圾回收原创 2014-11-09 21:46:20 · 1614 阅读 · 0 评论 -
Java中的内存区域
本系列为《深入理解Java虚拟机 》(周志明著)读书笔记。Java程序员一般都知道JVM中存在栈和堆的,并简单了解对象是在堆上分配的,这点从C/C++转过Java的程序员很容易想到。但Java由于其自身的特性,还有一些其他的内存区域,如下图所示:程序计数器程序计数器占用的内存空间不大,里面记录了各线程当前字节码的行号。JVM的多线程是通过轮流执行CPU时间的方式实现,因此在一个转载 2014-11-09 22:49:13 · 738 阅读 · 0 评论 -
Java中的事件监听注册
Java中的事件监听是整个Java消息传递的基础和关键。牵涉到两类对象:事件发生者和事件监听者。事件发生者是事件的起源,它可以是一个按钮,编辑框等。事件监听者就是事件的接受者,如果要想接收某个事件,它必须对该事件的发生者说一声:嗨,哥们,有事吱一声。这个过程相当与在事件发生者那儿注册了一下。当事件发生者真的有事件发生时,就会对所有对该事件注册的所有监听者送一份参考消息说:有内幕,有内幕!!事件监听原创 2014-11-09 17:43:38 · 4190 阅读 · 0 评论 -
Java 输入输出流In/Out
BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream("infilename")));不管你从磁盘读,从网络读,或者从键盘读,读到内存,就是InputStream。写文件BufferedWriter out = new BufferedWriter(new OutputStr转载 2014-11-27 10:11:45 · 1535 阅读 · 0 评论 -
Java字节流与字符流的区别
java的IO流分两种流 字节流 Stream 字符流 Reader/Writer 他们都是抽象类,所以不能直接new。Stream主要操作byte流,而Reader/Writer用来操作字符流。读取文本文件时一般用后者。java的一个字符(char)是16bit的,一个BYTE是8bit的 Stream是写入一串8bit的数据的。 Reader/Write原创 2014-11-27 09:26:18 · 1006 阅读 · 0 评论 -
String,StringBuffer与StringBuilder的区别
String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常原创 2014-11-24 17:01:58 · 605 阅读 · 0 评论 -
Java中JDK的命令行工具
读 《深入理解Java虚拟机——周志明 著》第4章的学习笔记。 给一个系统定位问题的时候,知识、经验是关键基础,数据是依据,工具是运用知识处理数据的手段。这里的数据包括:运行日志、异常堆栈、GC日志、线程快照(threaddump/javacore文件)、堆转储快照(heapdump/hprof文件)等。经常使用适当的虚拟机监控和分析的工具可以加快我们分析数据和定位解决问原创 2014-12-06 15:49:51 · 1333 阅读 · 0 评论 -
JSON的组成和解析
Google translate API是使用JSON数据格式的。而douban API是使用XML数据格式的。过程中不禁感慨,xml真是不大适合存储数据,占用资源多不说,解析起来也很麻烦。现在越来越多的api开始使用json作为数据载体,还是有它的道理的。facebook最新的的graph api也是使用json作为数据载体。 相比之下json就简单多了。关于json的介绍可以参考转载 2014-12-06 21:47:54 · 739 阅读 · 0 评论 -
Java中JDK,JRE,JVM的区别
Sun官方所定义的Java技术体系包括以下几个组成部分:——Java程序设计语言——各种硬件平台上的Java虚拟机——Class文件格式——Java API类库——来自商业机构和开源社区的第三方Java类库 JDK : JavaDevelopment ToolKit(Java开发工具包) JDK是整个JAVA的核心,原创 2014-12-06 20:36:47 · 774 阅读 · 0 评论 -
Eclipse快捷键
Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行交互位置(同上)Alt+← 前一个编辑的页面Alt+→ 下一个编辑的页面(当然是针对原创 2014-12-06 21:01:19 · 607 阅读 · 2 评论 -
Eclipse集成开发环境搭建之Java、Python
这里就以Eclipse为例,说明Java集成开发环境的搭建。第一步,下载安装JDK,配置环境变量,这里就不多重复了。需要提到的是,JDK、Eclipse要同为Windows 32位或Windows 64位,这里选择的均为64位;第二步,下载Eclipse。到Eclipse下载页面http://www.eclipse.org/downloads/选择合适的版本,这里选择的是Eclip原创 2015-01-04 11:40:01 · 1588 阅读 · 0 评论 -
JAVA中堆和栈的区别
栈与堆都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 Java的堆是一个运行时数据区,类的对象从中分配空间。这些对象通过new、newarray、anewarray和multianewarray等指令建立,它们不需要程序代码来显式的释放。堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,因为它是在转载 2015-01-05 17:09:55 · 664 阅读 · 0 评论 -
Java Collection
在 Java2中,有一套设计优良的接口和类组成了Java集合框架Collection,使程序员操作成批的数据或对象元素极为方便。这些接口和类有很多对抽象数据类型操作的API,而这是我们常用的且在数据结构中熟知的。例如Map,Set,List等。并且Java用面向对象的设计对这些数据结构和算法进行了封装,这就极大的减化了程序员编程时的负担。程序员也可以以这个集合框架为基础,定义更高级别的数据抽象,比转载 2015-03-17 09:52:23 · 487 阅读 · 0 评论 -
Java:Map与HashMap,Hashtable,HashSet比较
HashMap和Hashtable两个类都实现了Map接口,二者保存K-V对(key-value对);HashSet则实现了Set接口,性质类似于集合。HashTable和HashMap区别第一,继承的父类不同。Hashtable继承自Dictionary类,而HashMap继承自AbstractMap类。但二者都实现了Map接口。 public class Hashta转载 2015-03-17 10:02:50 · 740 阅读 · 0 评论 -
Java并发容器并发集合
BlockingQueue接口定义了一种阻塞的FIFO queue,每一个BlockingQueue都有一个容量,让容量满时往BlockingQueue中添加数据时会造成阻塞,当容量为空时取元素操作会阻塞。 适用阻塞队列的好处:多线程操作共同的队列时不需要额外的同步,另外就是队列会自动平衡负载,即那边(生产与消费两边)处理快了就会被阻塞掉,从而减少两边的处理速度差距。 一、 Ar原创 2015-09-04 23:23:17 · 1242 阅读 · 0 评论