
Java
文章平均质量分 77
Jintao_Ma
这个作者很懒,什么都没留下…
展开
-
文件操作File
纸上得来终觉浅1.java文件和文件夹的操作public class abs{ public static void main(String[] args) {/*文件操作*/ File myFile = new File("test.txt"); if(!myFile.exists()){ System.out.println("myfile:文件不存在");原创 2016-04-03 11:24:38 · 623 阅读 · 0 评论 -
Java 本地方法
一. 什么是Native Method 简单地讲,一个Native Method就是一个java调用非java代码的接口。一个Native Method是这样一个java的方法:该方法的实现由非java语言实现,比如C。这个特征并非java所特有,很多其它的编程语言都有这一机制,比如在C++中,你可以用extern "C"告知C++编译器去调用一个C的函数。 "A native m转载 2016-05-09 16:26:35 · 442 阅读 · 0 评论 -
Java集合---ConcurrentHashMap原理分析
原文链接:http://www.cnblogs.com/ITtangtang/p/3948786.html 集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程需要同时访问一个中间临界区(Queue),比如常会用缓存作为外部文件的副本(HashMap)。这篇文章主要分析jdk1.5的3种并发集合类型(concurrent,copy转载 2016-06-03 23:25:58 · 328 阅读 · 0 评论 -
再谈类的初始化
再谈类的初始化前面一篇文章“Java权限问题”的最后说到了类的初始化问题:对象的初始化:1)首先初始化类,即执行Static (包括Static成员变量,Static代码块,顺序与书写顺序相同),加载到内存。2)然后初始化对象(包括非Static成员变量,构造代码块,顺序与书写顺序相同)3)构造函数4)最后其中还有静态方法和非静态方法,不存在初始化这原创 2016-06-04 23:29:48 · 503 阅读 · 0 评论 -
Java并发编程:并发容器之CopyOnWriteArrayList
原文链接:http://www.cnblogs.com/dolphin0520/p/3938914.htmlCopy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOnWri转载 2016-06-03 23:39:55 · 316 阅读 · 0 评论 -
Java HashMap(LinkedHashMap)与Hashset(LinkedHashSet)的排序
Java HashMap(LinkedHashMap)与Hashset(LinkedHashSet)的排序为什么要单独说HashMap和HashSet的排序问题?1.首先先总结一下一些基本的数据结构的排序问题,一些之前已经讲过,这里进行一下总结:1)对Array数组排序,不支持插入的时候排序(实际上只有treeMap和TreeSet支持),使用Arrays工具类的sor原创 2016-06-03 20:36:24 · 2680 阅读 · 0 评论 -
再看泛型
再看泛型零 前言在分析Apache common包的时候发现大量的泛型较为复杂的应用,有必要对泛型重新探究一下。一 什么是泛型以及为什么要使用泛型?听过泛泛之谈,这里的泛型就可以理解为泛泛之类型,即保存的类型是不确定的,但是一旦保存却能记住这种类型,从而帮助编译器在编译阶段就发现错误,这样从另一个方面来讲,也保证了不需要使用强转。这里什么是泛型和为什么要用泛型只说大概,因为很多时候原创 2016-12-29 19:59:24 · 527 阅读 · 0 评论 -
java基本知识点
温习下java的基础知识点:1.构造函数:1)每个类都有一个默认的构造函数2)构造函数一旦显示书写,默认的构造函数会失效3)构造函数可以重载package com.roadArchitectWeb.Test;class Test{ public Test(String name){ System.out.println(name.toString()); }原创 2016-03-21 20:41:56 · 631 阅读 · 0 评论 -
抽象类和接口
1. 抽象类1) 抽象类与抽象方法 抽象类中不一定要包含抽象方法:abstract class animal{ public void eat(){ System.out.println("animal.eat()"); }// public abstract void sleep();}包含了抽象方法的类必须声明为抽象类://class省略abstract会原创 2016-03-30 09:25:45 · 895 阅读 · 1 评论 -
多态与泛型
1.多态的理解和使用:多态自我理解就是同种调用的不同结果表现1) 方法的多态性:包括重载和重写(其实重写就是为了下面类之间继承的多态)2)类之间继承的多态重载和重写已经在之前的文章中学习过了,下面是类的多态:class animal{ public void eat(){ System.out.println("animal.eat()"); }}class cat原创 2016-04-01 15:52:10 · 3758 阅读 · 0 评论 -
java基本知识点(二)
java基本知识点(二)1.String字符串String与StringBuffer,StringBuilderpublic class abs{ public static void main(String[] args) { String a = "hello"; /*@1*/ String b = "hello"; /*@2*/ String c = new Str原创 2016-04-02 10:29:12 · 1721 阅读 · 1 评论 -
Java 容器(三) Set
Java 容器(三) Set1.这篇说到Set的用法,它的实现类有:1)HashSet:不重复2)TreeSet:不重复+主动排序3)LinkedHashSet:不重复+保持插入时候的顺序2.下面是具体用法:package roadArchitectWeb.Test;import java.util.Comparator;import java.util.HashS原创 2016-05-05 12:18:17 · 560 阅读 · 0 评论 -
Java 容器(四) Map
Java 容器(四) Map1.Map的使用估计是最常见的了: 1)HashMap:存储的值可以重复,键不能;不能使用Comparator和Comparable接口排序;HashMap最多只允许一条记录的键为null,不允许多条记录的键为null2)TreeMap:存储的值可以重复,键不能;自动排序或手动排序;3)LinkedHashMap:存储的值可以重复,键不能;保持输入的顺序原创 2016-05-05 17:11:00 · 485 阅读 · 0 评论 -
类加载机制(类加载过程和类加载器)
一、为什么要使用类加载器?Java语言里,类加载都是在程序运行期间完成的,这种策略虽然会令类加载时稍微增加一些性能开销,但是会给java应用程序提供高度的灵活性。例如:1.编写一个面向接口的应用程序,可能等到运行时再指定其实现的子类;2.用户可以自定义一个类加载器,让程序在运行时从网络或其他地方加载一个二进制流作为程序代码的一部分;(这个是Android插件化,动态安装更新apk的基础转载 2016-05-09 15:32:34 · 17413 阅读 · 1 评论 -
Java 容器(二) List
1.首先List的实现类有下面几个:1)ArrayList:底层采用数据结构中的数组,长度延长时延长50%;线程不同步2)LinkedList:底层采用数据结构中的链表;线程不同步3)Vector:底层采用数据结构中的数组,长度延长时延长100%;线程同步2.ArrayList:package roadArchitectWeb.Test;import java.util.Ar原创 2016-05-05 09:02:10 · 480 阅读 · 0 评论 -
日期与时间
纸上得来终觉浅1.String与Date与Calendar之间的转换public class time { public static void main(String[] args) {/*Date与String相互转换*/ Date date = new Date(System.currentTimeMillis()); SimpleDateFormat simpleDat原创 2016-04-03 11:43:30 · 507 阅读 · 0 评论 -
Java 内部类
纸上得来终觉浅之前总结了Java的一些类的初始化和其他特性,留些内部类还没有总结,下面就总结和实践下Java的内部类:1.内部类的分类1)静态内部类:由Static修饰(之前在讲类的初始化的时候提到过,一般类名是不可以由Static修饰的,但是有特例,这个就是)2)非静态内部类:成员内部类 (在总结包的访问权原创 2016-05-10 15:18:28 · 925 阅读 · 0 评论 -
Java 克隆
纸上得来终觉浅1.现在遇到了一个对象copy的问题,用Java的克隆可以解决,所以克隆解决的是对象拷贝一份;希望达到更改克隆的那一份的属性时,原来的对象不受影响;2.克隆需要在类上继承一个接口,只不过默认情况下在clone时,只复制基本的数据类型(八个),对于属性是其他类型的情况,如果还想复制一份的话就要给属性所在的类同样继承一个接口,克隆包括下面的几个操作:1)类前加上Cloneab原创 2016-05-09 20:14:03 · 1864 阅读 · 0 评论 -
Java 异常
Java异常基本记住几个规则就可以了,有些规则从来就没注意过:1.关于Java异常 Throwable(所有错误和异常的超类) :error(错误) :exception(异常): 编译时异常 运行时异常2.异常的处理: 1)try-catch语句 2)throw抛出异常 3.关于try catch语句 1)try内声明的变量,类似于局原创 2016-05-10 10:46:34 · 860 阅读 · 0 评论 -
Java final关键字
纸上得来终觉浅Think in java:Final关键字可以修饰数据,方法和类:1)修饰数据:A:修饰基础数据类型: 表示值不可改变B:修饰非基础数据类型:表示句柄不可改变C:修饰自变量:包含上述两种情况,只是所修饰的内容是方法的参数2)修饰方法:A:表示方法不可被重写B:在运行期间可能会提高效率:在需要使用方法的时候直接复制一份代码,以空间换时间。3)修原创 2016-05-03 15:45:16 · 453 阅读 · 0 评论 -
Java IO流
纸上得来终觉浅1.Java IO流分类:按照流向的不同(以程序为参照,流入程序的为输入流):输入流,输出流 根据处理数据的单位不同:字节流,字符流根据角色不同:节点流(直接作用于文件),处理流所有的流都是基于下面的抽象类:2.这篇主要讲节点流(访问文件)和处理流,节点流主要是下面四个:1)FileInputStream 2)FileOutputStream原创 2016-05-07 19:07:17 · 465 阅读 · 0 评论 -
注解&枚举
纸上得来终觉浅注解识别即可,也可以自定注解。 而枚举用法如下(JDK1.5之后的用法, 老的用法没必要去试),也比较简单:package roadArchitectWeb.Test;/*注解和枚举 *关于注解,识别就可以了 * @Override 表示覆盖 * @SuppressWarnings 表示忽略警告 * @Deprecated 表示过时的方法 */enum原创 2016-05-08 16:46:13 · 761 阅读 · 0 评论 -
Java 网络编程
纸上得来终觉浅网络编程涉及的内容很多,它和多线程,I/O是Java的核心,也是Java产生时就很擅长的部分。之前用C和libpcap库做网关上的一个抓包小程序累得要死,光是网卡的选择,绑定和连接就很费劲,实现一个C/S简单的通信连接都很麻烦,主要是可考虑的太多了,现在看到java还有更高级的接口,不需要关注很多东西(现在看来和那些东西死磕真的毫无意义),实现一个简单的通信模拟是在太简单方便了:原创 2016-05-08 21:45:51 · 754 阅读 · 0 评论 -
Java 访问权限问题
纸上得来终觉浅笔记下Java访问权限的问题:1.首先是四种情况: Public ,不加修饰符,Protected,Private;2.下面是修饰的对象:1)修饰类名: 只能是Public和“不加修饰符”,Protected和Private,类要么被本包访问,要么被其他包访问, 不然就没有意义。(有一种例外情况,修饰内部类,以后讲到)2)根据上篇文章,一个类最多可以由一下几个部原创 2016-05-03 11:46:41 · 1092 阅读 · 0 评论 -
Java 由类的初始化所想到的
学习了java类的初始化问题,以及涉及到的This和Static。也思考了一些问题,主要有以下四个点:1......Java 类的初始化顺序,以及在内存中的存储:2......由初始化引出的This关键字和This的另外一种用途:3......由This引出的static关键字和及其详细用法;4......再谈类的初始化,引出static代码块,构造代码块和构造函数和详细用法和执行顺序以及为原创 2016-04-30 17:14:55 · 1053 阅读 · 0 评论 -
Java 构造器与多态
纸上得来终觉浅Think in Java第八章 多态1.实现向上转型的原因是由于动态绑定的存在,就是在运行时根据对象的类型对其进行绑定,编译器不知道对象的类型,但是运行中,能根据对象类型调用正确的方法并调用;2.除了Static和Final(Private方法属于final,和final一样,不能被重写)方法,其他所有方法都是动态绑定;这两种方法无法实现多态(无法实现动态绑定),但是更原创 2016-05-04 09:58:52 · 833 阅读 · 0 评论 -
Java 容器(一) Arrays
纸上得来终觉浅1.Java容器,目的是存储对象,称为:Collection,分类包括List,Set,Queue,Map;每个分类都有几个实现版本;详细如下图所示:除此之外还涉及到Collections和Arrays这两个辅助工具类,以及Comparable和Comparator这两个用于比较的接口。后面分别对它们的使用总结成笔记,这篇文章不讲容器,先讲述数组和操作数组的工具类Ar原创 2016-05-04 17:23:16 · 793 阅读 · 0 评论 -
Java 多线程
纸上得来终觉浅Java的多线程实现和C稍有区别,理解和应用起来更为简单:1.创建多线程两种方式:package roadArchitectWeb.Test;/*实现接口方式创建线程*/class Thr1 implements Runnable{ public void run(){ for (int i = 1; i <= 20; i++) { /*curren原创 2016-05-06 12:58:21 · 565 阅读 · 0 评论