Java并发

    继续阅读
MXlwq's avatar
MXlwq 10月 27, 2016
 | 

Java中接口的作用

接口通俗解释比如说你放假出去旅游,玩了一上午,很饿,突然看到前面有个店铺,上面挂着KFC,然后你就知道今天中饭有着落了。KFC就是接口,我们看到了这个接口,就知道这个店会卖炸鸡腿汉堡(实现接口)。那么为什么我们要去定义一个接口呢,这个店可以直接卖炸鸡腿啊(直接写实现方法),是的,这个店可以直接卖炸鸡腿,但没有挂KFC的招牌,我们就不能直接简单粗暴的冲进去叫服务员给两个炸鸡腿了。要么,我们就要进去问,你这里卖不卖炸鸡腿啊,卖不卖汉堡啊(这就是反射)。很显然,这样一家家的问实在是非常麻烦(反射性能很差)。要么,我们就要记住,南大红门路15号卖炸鸡,西城区宣武门东大街24号越卖炸鸡(硬编码),很显然这样我们要记住的很多很多东西(代码量剧增),而且,如果有新的店卖炸鸡腿,我们也不可能知道(不利于扩展)。     继续阅读
MXlwq's avatar
MXlwq 10月 13, 2016
 | 

Java单例设计模式

20160607更新 分类懒汉式12345678910//所谓“懒汉式”是在你真正用到的时候才去建这个单例对象:public class Single{ private Single(){};//构造函数私有化,防止其他类创建对象 private static Single s = null; public static Single getInstance(){//对外提供一个获取对象的方法 if(s == null) s = new Single(); //懒汉式做法 return s; }} 饿汉式12345678//所谓“饿汉式”是在不管你用的用不上,一开始就建立这个单例对象:比如:有个单例对象public class Single{ private Single(){}; private static Single s = new Single(); //建立对象 public static Single getInstance(){ return s;//直接返回单例对象 }}     继续阅读
MXlwq's avatar
MXlwq 6月 07, 2016
 | 

Javac与JIT编译

转载地址 编译过程不论是物理机还是虚拟机,大部分的程序代码从开始编译到最终转化成物理机的目标代码或虚拟机能执行的指令集之前,都会按照如下图所示的各个步骤进行:     继续阅读
MXlwq's avatar
MXlwq 5月 25, 2016
 | 

设计模式(Java)_3

上一篇:设计模式(Java)_2 行为型模式Chain of Responsibility ( 责任链模式 )Command ( 命令模式 )Interpreter ( 解释器模式 )Iterator ( 迭代器模式 )Mediator ( 中介者模式 )Memento ( 备忘录模式 )Observer ( 观察者模式 )State ( 状态模式 )Strategy ( 策略模式 )TemplateMethod ( 模板方法 )Visitor ( 访问者模式 )     继续阅读
MXlwq's avatar
MXlwq 5月 20, 2016
 | 

设计模式(Java)_2

上一篇:设计模式(Java)_1下一篇:设计模式(Java)_3 结构型模式Adapter ( 适配器模式 )Bridge ( 桥接模式 )Composite ( 组合模式 )Decorator ( 装饰模式 )Facade ( 外观模式 )Flyweight ( 享元模式 )Proxy ( 代理模式 )     继续阅读
MXlwq's avatar
MXlwq 5月 20, 2016
 | 

设计模式(Java)_1

20160725更新下一篇:设计模式(Java)_2 设计模式Design Patterns 可复用面向对象软件的基础 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。 什么是设计模式 设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。代码规范 首先是要注意注释文档的格式,注释文档将用来生成HTML格式的代码报告,所以注释文档必须书写在类、域、构造函数、方法、定义之前。 注释文档由两部分组成——描述、块标记。描述部分用来书写类的作用或者相关信息,块标记部分必 注释的种类:文件头注释、构造函数注释、域注释、方法注释和定义注释。文件头注释需要注明该文件的创建时间、文件名、命名空间信息。构造函数注释采用描述部分注明构造函数的作用。方法注释采用描述部分注明方法的功能,块标记注明方法的参数、返回值、异常等信息。     继续阅读
MXlwq's avatar
MXlwq 5月 19, 2016
 | 

Java多线程

20160505修改部分代码20160506添加进程同步 继承Thread类123456789101112131415161718192021class Thread1 extends Thread { public void run() { int ticket = 5; while (ticket > 0) System.out.println(Thread.currentThread().getName() + "剩余" + (ticket--)); }}public class Main { public static void main(String[] args) { Thread1 mTh1 = new Thread1(); Thread1 mTh2 = new Thread1(); mTh1.start(); mTh2.start(); }} 运行结果:Thread-1剩余5Thread-1剩余4Thread-1剩余3Thread-1剩余2Thread-0剩余5Thread-1剩余1Thread-0剩余4Thread-0剩余3Thread-0剩余2 Thread-0剩余1一个继承了Thread的类的实例对象,无论调用多少次start方法,结果都只有一个线程在运行     继续阅读
MXlwq's avatar
MXlwq 5月 01, 2016
 | 

Java I/O操作

Java的IO类操作主要包括如下几类 字节操作流:OutputStream、InputStream字符操作流:Reader、Writer对象序列化:serializable 字节/字符操作流 字节输出流OutputStream 字节输入流InputStream 字符输出流Write 字符输入流Reader 字节流和字符流的区别(重点)字节流没有缓冲区,是直接输出的,而字符流是输出到缓冲区的。因此在输出时,字节流不调用colse()方法时,信息已经输出了,而字符流只有在调用close()方法关闭缓冲区时,信息才输出。要想字符流在未关闭时输出信息,则需要手动调用flush()方法。 转换流:在IO中还存在一类是转换流,将字节流转换为字符流,同时可以将字符流转化为字节流。 12OutputStreamWriter(OutStream out);//将字节流以字符流输出。InputStreamReader(InputStream in);//将字节流以字符流输入。 打印流 PrintStream在操作中要求输出信息时,可以采用PrintStream进行输出,它包括PrintWrite和PrintReader     继续阅读
MXlwq's avatar
MXlwq 4月 21, 2016
 | 

排序算法(Java)

0707添加桶排序 桶排序参考链接 排序分类内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存(并不是不需要内存),则称为外排序。 时间复杂度     继续阅读
MXlwq's avatar
MXlwq 4月 19, 2016
 |