- 博客(70)
- 资源 (127)
- 收藏
- 关注
原创 编译原理语法分析之文法的相关概念
语言和文法 语言的三个基本要素:语法语义,语用语言和文法——用文法描述语言文法能清晰地描述程序设计语言的语法构成,易于理解文法能自动地构造有效的语法分析器,检查源程序是否符合语言规定的语法形式文法定义可以了解程序设计语言的结构,有利于将源程序转化为目标代码,以及检查出语法错误。基于文法实现的语言易于扩展。
2015-03-29 21:09:50 1657
原创 GOF23设计模式之抽象工厂模式的实现
package com.bjsxt.cn.abstractFactory;public interface Engine { void run(); void start();}class LuxuryEngine implements Engine { @Override public void run() { System.out.pr
2015-03-29 19:25:17 573
原创 GOF23设计模式之工厂方法模式的实现
package com.bjsxt.cn.factorymethod;public class Audi implements Car { @Override public void run() { System.out.println("奥迪在跑"); } }package com.bjsxt.cn.factorymethod;
2015-03-29 19:22:38 656 1
原创 GOF23设计模式之简单工厂的实现
package com.bjsxt.cn.simplefactory;public interface Car { void run();}package com.bjsxt.cn.simplefactory;public class Audi implements Car{ @Override public void run() {
2015-03-29 19:18:14 612
原创 不使用工厂模式的代码实现
package com.bjsxt.cn.nofactory;public class Audi implements Car{ @Override public void run() { System.out.println("奥迪在跑"); }}package com.bjsxt.cn.nofactory;
2015-03-29 11:22:04 641
原创 GOF23之工厂模式理解
工厂模式工厂模式 实现了创建者和调用者的分离 详细分离:简单工厂模式工厂方法模式抽象工厂模式面向对象设计的基本原则 OCP(开闭原则,Open-ClosedPrinciple):一个软件的尸体应对扩展开放,对修改关闭 DIP(依赖倒转原则
2015-03-29 11:20:34 663
原创 设计模式GOF23之单例模式效率测试与反射和反序列化问题的解决
package com.bjsxt.cn.singleton;import java.io.ObjectStreamException;import java.io.Serializable;/** * 2015年3月26日22:14:22 * 懒汉式单例模式 * 该懒汉式的特点是: * 1, 构造器私有 * 2, 私有静态属性,类型为该类的对象
2015-03-26 22:43:11 774
原创 设计模式GOF23之单例模式实现
package com.bjsxt.cn.singleton;/** * 饿汉式创建单例模型 * 饿汉式单例模型的特点: * 1, 私有的该类对象静态属性 * 2, 私有的构造器 * 3, 公共的静态方法访问静态属性(因此需要时静态的环境) * @author wanna * */public class SingletonDemo1 { //饿汉
2015-03-26 22:41:10 658
原创 设计模式GOF23之单例模式理解
设计模式: 将设计者的思维融入大家的学习和工作中创建者模式: 单例模式,工厂模式,抽象工厂模式,建造者模式,原型模式结构型模式: 适配器模式,桥接模式,装饰模式,组合模式,外观模式,享元模式,代理模式行为模式: 模板方法模式,命令模式,迭代器模式,观察者模式,中介者模式,备忘
2015-03-26 22:37:21 745
原创 面向对象方法学之COM组件
软件复用的关键因素 前提:必须有可以复用的对象;所复用的对象必须是有用的;服用者需要知道如何去使用被复用的对象COM组建标准的目标: 易于动态组装(复用和集成) 组件的实现与语言无关,对使用者(客户)透明。约束松 可以以二进制的形式发布组件的升级不影响驶入继续使用它的老客户组件可以透明地在网络上
2015-03-25 20:44:03 815
原创 计算机图形学与图像处理图形学的研究内容
计算机图形学与图像处理图形学的研究内容 计算机图形学的定义:指用计算机产生对象图形的输出的技术。更确切的说,计算机图形学是研究通过见算计将数据转化为图形,并在专门显示设备上显示的原理。方法和技术的科学。 IEEE定义:Computer Graphics is the art or science of producing graphical images with the aid o
2015-03-23 17:18:57 2590
原创 编译原理词法分析之NFA与自动机的最小化
非确定有限自动机的定义:非确定有限自动机是一NFA是一个五元组(∑, S, S0, f, Z),其中∑是一个有穷字母表,它的每个元素称为一个输入字符S是状态集合S0是初始状态的集合,是非确定有限自动机的初始状态集合f:是一个从S X (∑∪{e})到S的子集的映射,S×(å∪{e})→2sZÍS 是一个终止状态集合。又称为接收状态集合
2015-03-23 10:26:37 5131 2
原创 java语言GUI编程之Key键盘事件总结与GUI章节概略
/* 时间:2015年3月22日17:08:30 测试键盘事件:KeyEvent,理解这个类是关键 相关的接口或者类有: KeyListener, KeyAdapter, KeyEvent, KeyListener 用于接收键盘事件(击键)的侦听器接口。旨在处理键盘事件的类要么实现此接口(及其包含的所有方法),要么扩展抽象 KeyAdapter 类(仅重写
2015-03-23 10:17:51 1244
原创 java语言编程GUI之Window事件经典总结
/* 时间:2015年3月22日15:56:45 目的:测试窗口事件 提示:细细体味窗口事件和鼠标事件的处理的对比。两者差别不大。理解适配的使用。内部类的使用。 //这是格式, addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { Sys
2015-03-23 10:08:25 1156 1
原创 java语言GUI编程之Anoymous匿名类2
import java.awt.*;import java.awt.event.*;public class TestAnoymous2 { Frame f = new Frame("测试匿名类"); TextField tf = new TextField(10); Button b1 = new Button("Start"); private int i =
2015-03-22 11:07:43 673
原创 java语言GUI编程之Anoymous匿名类
import java.awt.*;import java.awt.event.*;public class TestAnoymous { Frame f = new Frame("测试匿名类"); TextField tf = new TextField(30); public TestAnoymous() { f.add(new Label("请按住鼠标
2015-03-22 10:49:24 838
原创 java语言GUI编程之Graphics2
import java.awt.*;public class AWTDrawing2 { private Frame f = new Frame("AWTDrawing2"); private SubPanel sp = new SubPanel(); public void launchFrame() { f.setSize(300, 300);
2015-03-22 10:32:30 566
原创 java语言GUI编程之Graphics1
/* 测试AWTDrawing 在java.awt.Component类中定义的方法getGraphics() 该方法声明如下: public Graphics getGraphics() 为组件创建一个图形上下文。如果组件当前是不可显示的,则此方法返回 null。 Graphics类是一个抽象类,继承自Object, drawARC方法声明如下:
2015-03-22 10:18:08 1027
原创 java语言编程IO流之PrintStream打印流3
/* 时间:2015年3月10日20:59:21 测试日志文件的简单实用 使用标准输入System.in */import java.io.*;import java.util.*;public class TestPrintStream3 { public static void main(String[] args) { String
2015-03-21 22:39:37 526
原创 java语言编程IO流之PrintStream打印流2
/* 时间:2015年3月10日20:29:02 测试PrintStream 使用了命令行参数。 BufferedReader(Reader in) 创建一个使用默认大小输入缓冲区的缓冲字符 输入流。 BufferedReader(Reader in, int sz) 创建一个使用指定大小输入缓冲区的缓冲字符 输入流。 B
2015-03-21 22:38:51 535
原创 java语言编程IO流之PrintStream打印流1
/* 时间:2015年3月10日20:11:19 目的:测试打印流PrintStream PrintWriter 两个都属于输出流,分别针对字符和字节 两个类的输出操作不会抛出异常,用户通过检查异常的错误状态获取错误信息。 */import java.io.*;public class TestPrintStream1 { public static v
2015-03-21 22:37:43 709
原创 java语言编程IO流之对象序列化和ObjectInputStream与ObjectOutputStream
import java.io.*;public class TestObjectStream { public static void main(String[] args) { T t = new T(); t.name = "jay chou"; FileOutputStream fos = null; ObjectOutputStream oos =
2015-03-21 22:35:53 603
原创 java语言编程IO流之DataInputStream与DataOutputStream
/* 时间:2015年3月10日16:58:18 测试DataOutputStream和DataOutputStream DataInputStream和DataOutputStream分别继承自InputStream和OutputStream,它们是处理流,相应的需要套接在InputStream和OutputStream类型的节点流上 //输入流 ByteArrayIn
2015-03-21 22:33:11 737
原创 java语言IO流之BufferedOutputStream
import java.io.*;public class TestBufferedOutputStream { public static void main(String[] args) { try { BufferedWriter bw = new BufferedWriter(new FileWriter("D:\\java\\dat.txt")); Buff
2015-03-21 22:29:59 594
原创 java语言IO流之BufferedInputStream
/* 测试BufferedInputStream类 时间:2015年3月10日10:11:37 BufferedInputStream类覆盖了基类InputStream的mark方法 public void mark(int readlimit); 在输入流中的当前位置上作标记。reset方法的后续调用将刺溜重新定位在最后标记的位置上,以便后续读取操作读取相同的字节 pub
2015-03-21 22:29:27 1110
原创 java语言编程之FileWriter
/* 时间:2015年3月10日09:18:21 测试FileWiter的使用 在FileWriter中传入路径字符串的时候,可以自动的创建不存在的文件,但是无法创建目录,所以为了测试,我们手动的在d盘根目录下创建bak文件夹 在程序跑出的结果中,我们可以看到,英文字符,数学符号,汉字字符,日文字符,等等,结果中出现问号,则并不能说明我们的机子上没有这种语言,而是 因为ultr
2015-03-21 22:27:32 12549
原创 java语言IO流之FileReader
/* 时间:2015年3月10日09:07:17 测试FileReader的使用 用于向程序中写入数据。 常用方法: int read() throws IOException; int read(char[] cbuf) throws IOException; 读取length个字符,并存储到一个数组buffer,如果读取前已经输入流的末尾,返回-1 in
2015-03-21 22:26:04 551
原创 java语言IO流之FileOutputStream
/* 时间:2015年3月9日17:52:40 文件的复制,就算是文件中有中文,也没有关系。*/import java.io.*;public class TestFileOutputStream { public static void main(String[] args) { int b = 0; FileInputStream in = nu
2015-03-21 22:24:55 578
原创 java语言IO之FileInput
/* 时间:2015年3月9日17:22:12 测试文件输入流 结果分析:中文出现乱码,是因为中文在java中占据两个字符,而java使用unicode,即UTF-16,中文的一半强制转换为字符,会出现?*/import java.io.*;public class TestFileInputStream { public static void main(St
2015-03-21 22:21:20 592
原创 java语言GUI编程之paint
/* 时间:2015年3月21日22:06:05 目的:测试paint函数 paint函数声明如下: public void paint(Graphics g) 应该绘制组件的内容时调用此方法;例如首次显示组件或者组件已损坏并需要修复时。Graphics 参数中的剪贴区矩形设置为需要绘制的区域。重写此方法的 Component 子类不需要调用 super.paint(g)。
2015-03-21 22:14:55 1575
原创 java语言GUI编程之鼠标适配器总结2
/* 2015年3月21日21:35:47 程序目的:这是窗体画圈的泛型版。使用泛型的好处 装入集合的类型都被当作Object对待,从而失去了自己的实际类型。 从集合中取出时往往需要转型,效率低,容易产生错误。 解决办法: 在定义集合的同时定义集合中的对象的类型 优点: 增强程序的可读性和稳定性。 注意查看本博文的附
2015-03-21 22:00:09 746
原创 java语言GUI编程之鼠标适配器总结
/* 时间:2015年3月21日21:02:11 程序目的:使用适配器MouseAdapter来在窗体中点击生成红色圆圈 在这里我们总结一下鼠标事件适配器的 类MouseAdapter 继承自Object 接收鼠标事件的抽象适配器类。此类中的方法为空,此类存在的目的是方便创建侦听器 对象。 鼠标事件使用户能够跟踪鼠标何时被按下,释放,单击,移动,拖动,何时进入一个
2015-03-21 21:15:41 2102 1
原创 java语言gui编程之内部类和鼠标事件经典2之两个问题的解决
/* 时间:2015年3月21日20:06:23 程序目的:对于上一个程序中出现的两个问题 注: TestMouseMotion.java使用了未经检查或不安全的操作。 注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。 和 需要完整的罗列MouseMotionListener中所有方法, 该程序做出调整。 加入泛型之后,不需要强制
2015-03-21 20:12:09 617
原创 java语言gui编程之内部类和鼠标事件经典2
/* 时间:2015年3月21日19:30:25 目的:使用鼠标的事件来画图。 首先看这个程序的结构中,在主函数main中调用了构造函数创建MyFrame类的对象 在MyFrame类中,声明了成员变量ArrayList类型,points 构造方法中创建了带有title名称的窗体,初始化成员变量points,增加鼠标移动事件监听器 布局设置为空,设置位置和大小,设置可见
2015-03-21 19:39:05 785
原创 java语言gui编程之内部类和鼠标事件经典1
/* 时间:2015年3月21日09:53:44 程序目的:理解内部类的作用和鼠标事件的处理 源文件的名称:TestInner.java 要点: 1, 内部类的性质和用法 2, 将内部类定义为普通内部类的好处-----内部类可以直接访问外层类的属性和方法 3, 可以更清楚的组织逻辑,防止不应该被其他类访问的类进行访问 何时使用: 该类不允许或
2015-03-21 10:01:19 1213
原创 java语言GUI编程之TextField持有对方引用2
/* 时间:2015年3月21日09:14:06 目的:还是理解程序中欲访问其他类成员的方法策略问题。 Label类对象是一个可在容器中放置文本的组件。一个标签只显示一行只读文本。 文本可由程序更改,但是用户不能直接对其进行编辑。 构造方法如下: Label();//构造一个空标签 Label(String text);//使用指定
2015-03-21 09:21:30 694
原创 java语言GUI编程之TextField持有对方引用
/* 时间:2015年3月21日08:54:56 测试目的:理解持有对方引用的方便性 Frame窗体创建的方法有两种,一种是直接使用Frame类,另一种是继承Frame类 自定义窗体类的实现。 程序理解:从MyListener类的方法中访问TextFieldMath类的成员变量的方法。 一是使用构造方法把三个成员变量全部传给MyListener的构造方法,这样就可以
2015-03-21 09:00:10 823
原创 java语言编程之TextField总结
/* 时间:2015年3月18日21:26:04 目的:测试TextField事件监听 持有对方引用。 内部类可以非常方便的访问包装类。 内部类默认拥有外部类对象的引用。 TextField对象可能发生Action(光标在文本框内敲回车)。与该事件对应的事件是java.awt.event.ActionEvent 用来处理ActionEvent事件是实现了jav
2015-03-18 21:33:52 19155
原创 java语言GUI编程之TextField中setEchoChar方法的使用
/* 时间:2015年3月18日20:52:47 目的:测试setEchoChar方法的使用,理解事件处理机制 public void setEchoChar(char c);//设置回显字符*/import java.awt.*;import java.awt.event.*;public class TestFieldEchoCharActionEve
2015-03-18 20:56:26 4976
原创 编译原理之DFA的实现,使用双重switch
/* 时间:2015年3月18日20:27:41 目的:DFA的实现,通过双重switch语句实现DFA 条件:因为本程序中使用了输入输出流,需要在E:/data.txt,建立该文件, 其中的内容为: 1 2 3 4 5 6 7 8 9 15*/import java.io.*;import ja
2015-03-18 20:34:17 2594
论文阅读 Containerisation for High Performance Computing Systems
2024-04-12
03-25 周一 论文阅读 Train Large, Then Compress: Rethinking Model S
2024-03-25
Postman自动化测试.zip
2021-04-24
多线程多线程.zip
2020-11-07
多线程多线程.xmind
2020-11-07
word多级目录设置.zip
2020-07-11
优秀格式文档规范.docx
2020-07-11
克鲁斯卡尔算法.zip
2020-07-04
数据结构之普利姆算法思想和实践
2020-06-26
数据结构之图的表示、深度优先和广度优先遍历.zip
2020-06-21
Ubuntu使用active-backup模式进行网口绑定.zip
2020-05-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人