- 博客(16)
- 收藏
- 关注
原创 Java代码测试大端小端
Java果真强大,神马功能的函数都能找到,测试大端小端只需一句话: if(ByteOrder.nativeOrder()==ByteOrder.BIG_ENDIAN) System.out.println("big endian"); else System.out.println("little endian");ByteOrder属于java.nio.ByteOrder
2015-09-18 15:21:39 3615
原创 Java多线程---main与子线程 start与run
假设有个PureThread,继承了Thread,定义如下:public class PureThread extends Thread { public void run() { System. out .println(Thread.currentThread().getName()+ ” r1” ); } }我们现在来写个测试类测试: 测试1: p
2015-09-16 11:30:27 732
原创 AVL实现平衡二叉树
前提:默认树中不会有相同的值出现 实现了平衡二叉树基本的插入、删除、修改。考虑的情况可能不那么完整,欢迎给予建议~整体代码如下:import java.util.LinkedList;class TreeNode{ int value; TreeNode(int value){ this.value=value; } TreeNode left;
2015-09-06 11:15:25 352
原创 Java-构造器
关于Java的构造器,有以下几点:1 用构造器保证初始化: 初始化和清理是非常重要的问题,许多错误都是程序员忘记了初始化。因此,如果程序员不知道如何初始化和何时初始化或者每个人都有自己的初始化方法,则会带来很大的麻烦。 所以我们可以为编写的每个类都定义一个初始化方法Initialize(),该方法会在使用变量前提醒你要先初始化。但每个用户都必须记得自己去调用此方法。于是,Java提供构造器,
2015-07-21 21:24:48 380
原创 Java IO之Reader/Writer
Reader和Writer: Java 1.1对基本的I/O进行了修改,增加了Reader/Writer,但它们并不是用来替代InputStream和OutputStream的。InputStream/OutputStream面向字节,而Reader/Writer兼容Unicode且面向字符。适配器: 有的时候我们必须把来自于“字节”层次结构中的类和来自“字符”层次结构中的类结合起来使用。为了实
2015-07-06 20:21:27 921
原创 Decorator 装饰器模式
作用:动态的给对象增加额外的功能。这比通过生成子类的方式更为灵活。因为:1)有的时候,我们希望给某个对象而不是一个类增加功能。2)虽然继承机制也是增加功能的一种有效途径。但这种方式是静态的,无法控制增加的方式和时机。别名:也叫包装器(Wrapper)。解释:装饰器,顾名思义就是在某个对象的外面添加一些装饰的东西。我们把被装饰的对象称为组件,将该组件嵌入到另一个对象中,由这个对象添加功能。我们称这个嵌
2015-07-05 17:57:19 364
原创 设计模式
设计模式可分为结构型模式和行为模式。结构型模式:这种模式涉及到如何组合类和对象以获得更大的结构。采用继承机制来组合接口或实现。一个简单的例子就是采用多重继承方法将两个以上的类组合成一个类,该类包含了所有父类的性质。这种模式有助于多个独立开发的类协同工作。结构型模式有:Adapter(适配器)、Bridge(桥接)、Composite(组成)、Decorator(装饰)、Facade(外观)、Flyw
2015-07-05 10:55:41 351
原创 Java IO 之 FilterInputStream/FilterOutputStream
前面两篇介绍了许多输入输出类,但可以看出每个类的功能都比较单一。若想将各种功能组合使用,就需要装饰器模式。FilterInputStream和FilterOutputStream也是由InputStream和OutputStream派生而来,这也是装饰器模式的要求(装饰器必须具有和它所装饰的对象相同的接口)。Java 1.6中被Filter类装饰的有:BufferedInputStream/Buff
2015-07-03 17:07:45 1259
原创 Java之I/O(2-OutputStream类及其子类)
OutputStream与InputStream一样,都是抽象类,是输出字节流的所有类的超类。它的作用是接收输出字节并将这些字节输送到某个接收的地方。根据输出字节的目的地的不同可以将OutputStream的子类分为以下几种:OutputStream子类 解释ByteArrayOutputStream 该类实现了一个输出流,其数据被写入由byte数组充当的缓冲区,
2015-06-27 15:30:34 4745
原创 Java之I/O(1-InputStream类及其子类)
Java的I/O总是会被经常用到,每次用的时候总感觉有点不知所措,因为package java.io里有太多的类可以使用了,所以,抽出一些时间弄清楚Java I/O的发展史很有必要。只要弄清楚了这些类的来龙去脉,用的时候才会得心应手。在JDK API 1.6的版本里,java.io包下一共有12个接口,52个类(异常先不考虑),下面我们逐一分析。InputStream和OutputStream类:I
2015-06-26 17:05:46 6240
原创 Java 比较String对象的方法
Java中有许多比较String的方法,弄清楚每个方法的使用方式与效果对我们编写代码有益。public class TestString { private String myself="abc"; public int compare1(String s){ return myself.compareTo(s); } public int comp
2015-06-20 18:47:08 698
原创 Java之怪脾气String-1
学习Java的人因为有了String省了不少事,但也在使用的过程中遇到了很多意想不到的情况。1 String类是字符串常量类,String对象是不可改变的。在代码中我们看起来好像改变了String对象,其实都是创建了一个新的对象。通常来说,如果String对象内容没变,返回的仍然是指向原先对象的引用;如果String对象内容发生了改变,返回的则是一个新的String对象的引用。public clas
2015-06-19 16:30:35 639
原创 LeetCode ContainsDuplicate
题目:判断数据中是否有两个数相同且两个数的下标差不超过K,若有,返回True,否则返回False。 来源:ProblemLink思路1:暴力遍历 遍历数组,对于数组的每个数都朝后遍历K个,时间复杂度为O(Kn)。思路2:使用HashMap 使用HashMap维护一个大小为K的窗口,首先将数组前K个数放入窗口中,判断是否有相同,若有,则结果为True。若没有,则向后滑动窗口,即移除窗口最前面一个
2015-06-14 19:54:51 546
原创 LeetCode RectangleArea
问题来源 RectangleArea 问题简介:求平面直角坐标系中两个矩形共同覆盖的面积。 重点:求面积简单,稍微复杂的是需要考虑两个矩形的位置关系。根据矩形内包含另一矩形顶点个数分类: 1 矩形A包含在矩形B中(矩形A四个顶点都在矩形B中) 2 不可能出现矩形A有三个顶点在矩形B的情况 3 矩形A有两个顶点包含在矩形B中(右上角和右下角;左下角和右下角;左上角和右上角;左上角和右下角
2015-06-13 11:35:43 369
原创 Java中的final
Java中的final英语阅读中,final常被译为”最终的”。在Java中,另一种解释更合乎语境:”不能更改的”。即,被final修饰了的都是不能再改的。final可以修饰数据、方法和类。final修饰数据1 final修饰基本数据类型,定义时必须赋值。如:private final int value=9;public void change(){ value=10; //Erro
2015-06-12 19:32:08 352
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人