Java
WEI_69
这个作者很懒,什么都没留下…
展开
-
生产者和消费者模式实现(一)
生产者和消费者模式 生产者 生产数据到队列中,消费者从队列中取出数据并消费 关键字synchronized对数据加锁,用Object原生的wait()和notify()做同步 Java 代码 import java.util.LinkedList; import java.util.Queue; public class ProducerAndConsumer { //队列中最多容纳元素个数 private final int MAX_LEN=10; //可能会产生并发冲突的资原创 2020-12-14 21:18:00 · 248 阅读 · 0 评论 -
适配器模式
适配器模式 定义:将一个类的接口转换为客户希望的另一个接口,Adapter模式使得原本由于接口不兼容二不能一起工作的哪些类可以一起工作。 类图 案例 Player.java package shejimoshi.me.dahua.visitor.Adapter; public abstract class Player { //?? protected String name; Player(String name) { this.name=name原创 2020-10-27 10:42:16 · 185 阅读 · 0 评论 -
Java类加载顺序
Java类加载顺序 我的理解 静态先于非静态 父类先于子类 成员变量–>代码块–>构造方法 -->普通方法 main()方法排在本类中静态最后 package bishi.dada; public class LoadOrder { private static int snum; private int num; static { System.out.println("父类静态成员变量:"+snum); System.ou原创 2020-08-31 14:50:24 · 163 阅读 · 0 评论 -
java反射学习笔记(一)
java反射机制 反射机制是指在运行中,对于任意一个类,都能够知道这个类的所有属性和方法。对于任意一个对象,都能够调用它的任意一个方法和属性。即动态获取信息和动态调用对象方法的功能称为反射机制。 反射机制的作用: 在运行时判断任意一个对象所属的类 在运行时构造一个类的对象 在运行时判断任意一个类所具有的成员变量和方法 在运行时调用任意一个对象的方法,生成动态代理 与反射相关的类: Class:表示类,用于获取类的相关信息 Field:表示成员变量,用于获取实例变量和静态变量等 Method:表示方法,用于获原创 2020-08-24 21:02:53 · 151 阅读 · 0 评论 -
排序算法(Java实现)
排序算法总结 排序 所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。排序算法,就是如何使得记录按照要求排列的方法。是《数据结构与算法》中最基本的算法之一。 排序算法复杂度 稳定性 假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排序算法是稳定的;否则称为不稳定的。 稳定 冒泡、插入、归并和基数。原创 2020-08-15 14:52:02 · 191 阅读 · 0 评论 -
java 反射机制在工厂模式中的应用
工厂模式 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。 反射 https://www.hellojava.com/a/78356.html /* java 反射机制在工程模式中的应用 1 phone 手机接口 2 Iphone 类实现手机接口 3 HuaWei 类实现手机接口 4 Factory 工厂类原创 2020-08-19 20:40:51 · 191 阅读 · 0 评论 -
Java异常处理简单实例
Java异常处理 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。 比如说,你的代码少了一个分号,那么运行出来结果是提示是错误 java.lang.Error;如果你用System.out.println(11/0),那么你是因为你用0做了除数,会抛出 java.lang.ArithmeticException 的异常。 异常发生的原因有很多,通常包含以下几大...原创 2019-05-12 16:56:35 · 4549 阅读 · 1 评论 -
Java多线程简单实例
问题 编写一个Java应用程序,要求有三个进程:student1,student2,teacher,其中线程student1准备“睡”1分钟后再开始上课,线程student2准备“睡”5分钟后再开始上课。Teacher在输出4句“上课”后,“唤醒”了休眠的线程student1;线程student1被“唤醒”后,负责再“唤醒”休眠的线程student2。 代码 package trai...原创 2019-05-12 16:36:02 · 2329 阅读 · 0 评论 -
简单猜数字游戏Java实现
问题 设计一个猜数字游戏,系统随机产生一个100以内的整数,然后由玩家猜测该数字,如果没猜中,系统提示玩家数字过大或过小,玩家根据提示继续猜,如果五次均没有猜中,游戏自动结束。 原理很简单,直接上代码。 Java代码 //自己运行时需修改包名和java文件名 package training7; import java.util.Random; im...原创 2019-05-12 16:18:48 · 3822 阅读 · 0 评论