11 2019 档案
摘要:某电影院目前正在上映贺岁大片(红高粱,少林寺传奇藏经阁),共有100张票,而它有3个售票窗口售票,请设计一个程序模拟该电影院售票。 方式1: 继承Thread类来实现。 public class SellTicket extends Thread{ public SellTicket(String
阅读全文
摘要:多线程程序的引入: 如何实现多线程程序呢? 由于线程是依赖进程而存在的,所以我们应该先创建一个进程出来。 而进程是由系统创建的,所以我们应该去调用系统功能创建一个进程。 Java是不能直接调用系统功能的,所以,我们没有办法直接实现多线程程序。 但是呢?Java可以去调用C/C++写好的程序来实现多线
阅读全文
摘要:1:要想了解多线程,必须先了解线程,而要想了解线程,必须先了解进程,因为线程是依赖于进程而存在。 2:什么是 进程? 通过任务管理器我们就看到了进程的存在。 而通过观察,我们发现只有运行的程序才会出现进程。 进程:就是正在运行的程序。 进程是系统进行资源分配和调用的独立单位。每一个进程都有它自己的内
阅读全文
摘要:先看一个案例: 1.1 厨师主业务接口 1 package com.monkey1024.worker; 2 3 // 厨师主业务接口 4 public interface ICooker { 5 6 // 烹饪 7 String cookeing(); 8 9 } 1.2.程序员主业务接口 1 p
阅读全文
摘要:模板方法模式: 1. 购物 (抽象类) 1 package com.monkey1024.service; 2 3 public abstract class Shopping { 4 5 // 模板方法 6 public void buyGoods() { 7 userLogin(); 8 buy
阅读全文
摘要:1、概述 简单工厂模式 又叫静态工厂方法模式,它定义一个具体的工厂类来负责创建一些类的实例。 如:Dog类对象,不再在程序中使用new Dog()的方式来创建了。而是先定义一个DogFactory类,在该类中有负责创建Dog的代码,且对外提供一个获取Dog实例的静态方法。我们在客户端程序中要使用到D
阅读全文
摘要:1、 概述工厂方法模式中 抽象工厂类负责定义创建对象的接口,具体对象的创建工作由继承抽象工厂的具体类实现。 2、 优缺点 优点 客户端不需要在负责对象的创建,从而明确了各个类的职责; 如果有新的对象增加,只需要增加一个具体的类和具体的工厂类即可, 不影响已有的代码,后期维护容易,增强了系统的扩展性
阅读全文
摘要:1、 概 念 目的:确保类在内存中只有一个对象 该实例必须自动创建,且对外提供 开发中 使用推荐使用 饿汉式 笔试中 考察比较多的是 懒汉式 ,如果没有特殊规定 建议 饿汉式。 原因: 2、代 码 2.1 饿汉式 Student.java package com.monkey1026; public
阅读全文
摘要:软件开发的流程 1、需求设计 / 分析文档; [ 技术大佬 ] 2、 概要设计文档 ; [ 技术大佬 ] 3、 详细设计文档 ; [ 技术大佬 ] 4、 编 码 ; 5、 测 实 ; 6、 安装和调试 ; 7、 维护和升级; 职位的发展: 1、初级软件工程师 (码农,照着类图敲代码) 2、中级软件工
阅读全文
摘要:JavaBean本质上就是一种习惯性的编程风格,并不是绝对的编程规则或者语法要求,通常的习惯如下: (1)要求满足JavaBean规范的类必须放在一个包中。 (2)要求满足JavaBean规范的类必须有无参构造方法。 (3)要求满足JavaBean规范类中的成员变量都是私有的。 (4)要求满足Jav
阅读全文
摘要:一.概述 反射的学习,是便于能更好的理解框架编程。 目前主流的框架技术底层都是反射的机制,如:struts、spring、hibernate等 反射本质上就是一种动态编程的技术,可以在运行阶段动态地创建对象以及动态地调用方法,具体由实参决定。 引出: 若想在写代码的时候,不能确定需要创建Person
阅读全文
摘要:1.写一个父类Dad类 import java.io.IOException; public class Dad { public void show()throws IOException { // Dad类的show()方法,抛出一个 IOException异常 System.out.print
阅读全文
摘要:1.写一个Student学生类,包含 name, id属性 public class Student implements Comparable<Student> { private int id; private String name; public Student() { super(); }
阅读全文
摘要:1.算数异常 java.lang.ArithmeticException public class RuntimeException { public static void main(String[] args) { //发生算数异常 int a = 10; int b = 0; int res=
阅读全文
摘要:看几段代码: import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; // 检测异常 (编译期间产生异常) public class CheckExceptio
阅读全文
摘要:常用方法: long getId( ) - 用于返回当前线程的标识符/编号。 String getName( ) - 用于返回当前线程的名称。 void setName(String name) - 用于修改当前线程的名称。 static Thread currentThread( ) - 用于返回
阅读全文
摘要:1.概述 当多个线程在同一时刻访问同一种共享资源时,可能会造成数据的不一致等问题; 为了避免该问题的发生,就需要对线程之间进行协调和通信,而线程之间的协调和通信就是线程同步机制。 一个多线程的程序 如果是通过Runnable 接口来 实现的,则意味着 类中的属性将被多个线程共享,这样一来也会引发一些
阅读全文
摘要:案例1: 电影院 4个窗口 售卖50张电影票 package com.example02; public class Ticket01 extends Thread { /* 模拟火车站窗口售票场景: 4个窗口发售 某次列车的50张车票 *可以将50张车票 看作是共享资源 *4个窗口,则需要创建4个
阅读全文
摘要:六,代码演示实现客户端与服务器端的简单通信 代码中所使用的 IP号码,必须是本机自己的IP号码 (自行查询:cmd ipconfig/all ) 1.[客户端向服务器端 发送一个整型数据,服务器端进行接收] (1)先写服务器端 import java.io.DataInputStream; impo
阅读全文
摘要:网络编程的基本常识: 目前主流的网络通讯软件:QQ、微信、支付宝、飞信、阿里旺旺.... 七层网络模型: ISO(国际标准委员会组织) 将数据的传递从逻辑上分为 以下 7层: 应用层 、 表示层 、 会话层 、 传输层 、 网络层 、 数据链路层 、 物理层。 当发送数据时,需要按照上述七层进行一层
阅读全文
摘要:二维数组的声明 和 使用 代码: 结果: 声明方式2: 结果: 声明方式3: 结果:
阅读全文
摘要:代码: 结果: 代码: 结果: 数组的拷贝 (即,元素的复制,本质上就是赋值) 结果: 编程实现 数组元素的删除 和 移动 结果:
阅读全文