自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

笨鸟先飞

我曾七次鄙视自己的灵魂

  • 博客(114)
  • 资源 (2)
  • 收藏
  • 关注

原创 写博客的目的

我写博客的主要目的是1、 给自己制定一些计划2、学习的课后巩固可能会让你们失望了:我写博客首先服务自己,再者是其他人。因为我还没有到达编程大师那种程度,我只是个java小白而已。就不误人子弟了。...

2020-02-28 11:31:58 454

原创 编译原理 文法的句柄,短语,直接短语

记录一道题

2020-09-23 16:47:36 2287

原创 数组模拟栈

package com.atguigu.queue;import java.util.Scanner;public class CircleArrayQueueDemo { public static void main(String[] args) { //测试一把 System.out.println("测试数组模拟环形队列的案例~~~"); // 创建一个环形队列 CircleArray queue = new C.

2020-09-20 15:48:05 179

原创 使用数组模拟环形队列

主要还是(rear + maxSize - front) %maxSizepackage com.atguigu.queue;import java.util.Scanner;public class CircleArrayQueueDemo { public static void main(String[] args) { //测试一把 System.out.println("测试数组模拟环形队列的案例~~~"); // 创建一个.

2020-09-20 15:33:48 201

原创 队列的使用

//// Source code recreated from a .class file by IntelliJ IDEA// (powered by Fernflower decompiler)//package com.atguigu.queue;//使用数组模拟队列-编写一个ArrayQueue类class ArrayQueue { int maxSize; //表示数组的最大容量 int front; // 队列头 int rear; // 队列尾 .

2020-09-20 11:13:08 129

原创 从尾到头打印单链表【百度,要求方式1:反向遍历。方式2:Stack栈】

//可以利用栈这个数据结构,将各个节点压入到栈中,然后利用栈的先进后出的特点,就实现了逆序打印的效果 public static void reversePrint(HeroNode head) { if(head.next == null) { return;//空链表,不能打印 } //创建要给一个栈,将各个节点压入栈 Stack<HeroNode> stack = new Stack&...

2020-09-18 19:45:09 145

原创 单链表的反转【腾讯面试题】

class HeroNode { public int no; public String name; public String nickname; public HeroNode next; public HeroNode(int no, String name, String nickname) { this.no = no; this.name = name; this.nickname = nicknam..

2020-09-18 10:02:15 160

原创 两道单链表的面试题

第一道1)求单链表中有效节点的个数2)查找单链表中的倒数第k个结点 /** * 获取单链表的节点的个数(如果是带头结点的链表,需求不统计头节点) * * @param head head 链表的头节点 * @return 返回的就是有效节点的个数 */ public static int getLength(HeroNode head) { if (head.next == null) { ret

2020-09-17 20:57:38 82

原创 约瑟夫环问题

建立男孩表//// Source code recreated from a .class file by IntelliJ IDEA// (powered by Fernflower decompiler)//package com.atguigu.linkedlist;class Boy { private int no; private Boy next; public Boy(int no) { this.no = no; }...

2020-09-17 16:36:22 121

原创 尚硅谷数据结构与算法---稀疏数组

链接09集的代码public class SparseArray001 { public static void main(String[] args) { int[][] chessArr1 = new int[11][11]; chessArr1[1][2] = 1; chessArr1[2][3] = 2; chessArr1[4][5] = 3; System.out.println("-------

2020-09-01 19:15:07 264

原创 Oracle 创建表时设置多个值

对于视图也是一样的操作。1、使用decode()函数2、使用case when then end3、自己写一个函数。

2020-07-14 16:40:46 242

原创 2. Add Two Numbers

2. Add Two Numberspublic ListNode addTwoNumbers(ListNode l1, ListNode l2) { ListNode dummyHead = new ListNode(0); ListNode p = l1, q = l2, curr = dummyHead; int carry = 0; while (p !=...

2020-03-22 21:37:46 140

原创 java并发编程 笔记十四

volatile 原理volatile 的底层实现原理是内存屏障,Memory Barrier(Memory Fence)对 volatile 变量的写指令后会加入写屏障对 volatile 变量的读指令前会加入读屏障1. 如何保证可见性写屏障(sfence)保证在该屏障之前的,对共享变量的改动,都同步到主存当中public void actor2(I_Result r) {...

2020-03-21 10:54:26 128

原创 java并发编程 笔记十三

终止模式之两阶段终止模式在一个线程 T1 中如何“优雅”终止线程 T2?这里的【优雅】指的是给 T2 一个料理后事的机会。1. 错误思路使用线程对象的 stop() 方法停止线程stop 方法会真正杀死线程,如果这时线程锁住了共享资源,那么当它被杀死后就再也没有机会释放锁,其它线程将永远无法获取锁使用 System.exit(int) 方法停止线程目的仅是停止一个线程,但这种...

2020-03-21 10:37:34 236

原创 java并发编程 笔记十二

Java 内存模型JMM 即 Java Memory Model,它定义了主存、工作内存抽象概念,底层对应着 CPU 寄存器、缓存、硬件内存、CPU 指令优化等。JMM 体现在以下几个方面原子性 - 保证指令不会受到线程上下文切换的影响可见性 - 保证指令不会受 cpu 缓存的影响有序性 - 保证指令不会受 cpu 指令并行优化的影响可见性退不出的循环先来看一个现象,main...

2020-03-21 10:34:46 238

原创 java并发编程 笔记十一

同步模式之顺序控制1. 固定运行顺序比如,必须先 2 后 1 打印1.1 wait notify 版 // 用来同步的对象 static Object obj = new Object(); // t2 运行标记, 代表 t2 是否执行过 static boolean t2runed = false; public static void main(...

2020-03-19 22:32:14 171

原创 java并发编程 笔记十

ReentrantLock相对于 synchronized 它具备如下特点可中断可以设置超时时间可以设置为公平锁支持多个条件变量与 synchronized 一样,都支持可重入基本语法// 获取锁reentrantLock.lock(); try { // 临界区 } finally { // 释放锁 ...

2020-03-19 22:24:10 99

原创 java并发编程 笔记九

重新理解线程状态转换假设有线程 Thread t情况 1 NEW --> RUNNABLE当调用 t.start() 方法时,由 NEW --> RUNNABLE情况 2 RUNNABLE <--> WAITINGt 线程用 synchronized(obj) 获取了对象锁后调用 obj.wait() 方法时,t 线程从 RUNNABLE --> WA...

2020-03-19 22:15:23 156

原创 java并发编程 笔记八

Park & Unpark基本使用它们是 LockSupport 类中的方法// 暂停当前线程LockSupport.park();// 恢复某个线程的运行LockSupport.unpark(暂停线程对象)特点与 Object 的 wait & notify 相比wait,notify 和 notifyAll 必须配合 Object Monitor 一起使用...

2020-03-19 21:59:54 513

原创 java并发编程 笔记七

同步模式之保护性暂停1. 定义即 Guarded Suspension,用在一个线程等待另一个线程的执行结果要点有一个结果需要从一个线程传递到另一个线程,让他们关联同一个 GuardedObject如果有结果不断从一个线程到另一个线程那么可以使用消息队列(见生产者/消费者)JDK 中,join 的实现、Future 的实现,采用的就是此模式因为要等待另一方的结果,因此归类到同步模式...

2020-03-19 20:40:23 118

原创 1 Two Sum

题目地址: 1. Two Sum参照里面第三种解法我产生了一个疑惑:为啥要把complement当成key?一般键值对的话,complement应该是value,而i才是key才对。public int[] twoSum(int[] nums, int target) { Map<Integer, Integer> map = new HashMap<>()...

2020-03-14 22:33:35 116

原创 设计模式笔记十二 模板模式

豆浆制作问题编写制作豆浆的程序,说明如下:制作豆浆的流程 选材—>添加配料—>浸泡—>放到豆浆机打碎通过添加不同的配料,可以制作出不同口味的豆浆选材、浸泡和放到豆浆机打碎这几个步骤对于制作每种口味的豆浆都是一样的请使用 模板方法模式 完成 (说明:因为模板方法模式,比较简单,很容易就想到这个方案,因此就直接使用, 不再使用传统的方案来引出模板方法模式 )模板方...

2020-03-13 15:14:16 178

原创 设计模式笔记十一 代理模式

代理模式(Proxy)代理模式的基本介绍代理模式:为一个对象提供一个替身,以控制对这个对象的访问。即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。被代理的对象可以是远程对象、创建开销大的对象或需要安全控制的对象代理模式有不同的形式, 主要有三种 静态代理、动态代理 (JDK 代理、接口代理)和 Cglib 代理 (可以...

2020-03-13 09:43:04 107

原创 设计模式笔记十 享元模式

展示网站项目需求小型的外包项目,给客户 A 做一个产品展示网站,客户 A 的朋友感觉效果不错,也希望做这样的产品展示网站,但是要求都有些不同:有客户要求以新闻的形式发布有客户人要求以博客的形式发布有客户希望以微信公众号的形式发布传统方案解决网站展现项目直接复制粘贴一份,然后根据客户不同要求,进行定制修改给每个网站租用一个空间方案设计示意图传统方案解决网站展现项目-问题分...

2020-03-11 19:41:41 103

原创 设计模式笔记九 外观模式

影院管理项目组建一个家庭影院:DVD 播放器、投影仪、自动屏幕、环绕立体声、爆米花机,要求完成使用家庭影院的功能,其过程为: 直接用遥控器:统筹各设备开关开爆米花机放 下 屏 幕 开 投 影 仪 开音响开 DVD,选 dvd去拿爆米花调 暗 灯 光 播放观影结束后,关闭各种设备传统方式解决影院管理传统方式解决影院管理问题分析在 ClientTest 的 main 方法中,创建...

2020-03-11 19:30:38 108

原创 设计模式笔记八 组合模式

学校院系展示需求看一个学校院系展示需求编写程序展示一个学校院系结构:需求是这样,要在一个页面中展示出学校的院系组成,一个学校有多个学院,一个学院有多个系。传统方案解决学校院系展示存在的问题分析将学院看做是学校的子类,系是学院的子类,这样实际上是站在组织大小来进行分层次的实际上我们的要求是 :在一个页面中展示出学校的院系组成,一个学校有多个学院,一个学院有多个系, 因此这种方案,不能...

2020-03-10 22:02:09 104

转载 刑侦大队对涉及六个嫌疑人的一桩疑案的分析,编一程序,将作案人找出来

某地刑侦大队对涉及六个嫌疑人的一桩疑案进行分析:(1)A、B至少有一人作案;(2)A、E、F三人中至少有两人参与作案;(3)A、D不可能是同案犯;(4)B、C或同时作案,或与本案无关;(5)C、D中有且仅有一人作案;(6)如果D没有参与作案,则E也不可能参与作案。采用蛮力法设计算法将作案人找出来。|| 表示先运算符号左边的东西,然后判断是否为true,是true就停下来直接输出不会再运行后面的东...

2020-03-10 11:06:39 4652

转载 设计模式笔记七 装饰者模式

星巴克咖啡订单项目(咖啡馆):咖啡种类/单品咖啡:Espresso(意大利浓咖啡)、ShortBlack、LongBlack(美式咖啡)、Decaf(无因咖啡)调料:Milk、Soy(豆浆)、Chocolate要求在扩展新的咖啡种类时,具有良好的扩展性、改动方便、维护方便使用 OO 的来计算不同种类咖啡的费用: 客户可以点单品咖啡,也可以单品咖啡+调料组合。方案 1-解决星巴克咖啡...

2020-03-09 17:12:01 109

原创 设计模式笔记六 桥接模式

手机操作问题现在对不同手机类型的不同品牌实现操作编程(比如:开机、关机、上网,打电话等),如图:传统方案解决手机操作问题传统方法对应的类图传统方案解决手机操作问题分析扩展性问题(类爆炸),如果我们再增加手机的样式(旋转式),就需要增加各个品牌手机的类,同样如果我们增加一个手机品牌,也要在各个手机样式类下增加。违反了单一职责原则,当我们增加手机样式时,要同时增加所有品牌的手机,这样...

2020-03-09 15:39:17 128

原创 设计模式笔记四 适配器模式

基本介绍适配器模式(Adapter Pattern)将某个类的接口转换成客户端期望的另一个接口表示,主的目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协同工作。其别名为包装器(Wrapper)适配器模式属于结构型模式主要分为三类:类适配器模式、对象适配器模式、接口适配器模式工作原理适配器模式:将一个类的接口转换成另一种接口.让原本接口不兼容的类可以兼容从用户的角度看不到...

2020-03-09 15:17:08 191

原创 设计模式笔记五 建造者模式

盖房项目需求需要建房子:这一过程为打桩、砌墙、封顶房子有各种各样的,比如普通房,高楼,别墅,各种房子的过程虽然一样,但是要求不要相同的.请编写程序,完成需求.传统方式的问题分析优点是比较好理解,简单易操作。设计的程序结构,过于简单,没有设计缓存层对象,程序的扩展和维护不好. 也就是说,这种设计方案,把产品(即:房子) 和 创建产品的过程(即:建房子流程) 封装在一起,耦合...

2020-03-04 12:53:31 124

原创 设计模式笔记四 原型模式

原型模式-基本介绍基本介绍原型模式(Prototype 模式)是指:用原型实例指定创建对象的种类,并且通过拷贝这些原型,创建新的对象原型模式是一种创建型设计模式,允许一个对象再创建另外一个可定制的对象,无需知道如何创建的细节工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建,即 对象.clone()形象的理解:孙大圣拔出猴...

2020-03-03 21:34:53 91

原创 设计模式笔记三 抽象工厂模式

看一个披萨的项目:要便于披萨种类的扩展,要便于维护披萨的种类很多(比如 GreekPizz、CheesePizz 等)披萨的制作有 prepare,bake, cut, box完成披萨店订购功能。使用传统的方式来完成思路分析(类图)传统的方式的优缺点优点是比较好理解,简单易操作。缺点是违反了设计模式的 ocp 原则,即对扩展开放,对修改关闭。即当我们给类增加新功能的时候...

2020-03-02 17:18:04 135

原创 UML 类图

UML基本介绍UML——Unified modeling language UML(统一建模语言),是一种用于软件系统分析和设计的语言工具,它用于帮助软件开发人员进行思考和记录思路的结果UML本身是一套符号的规定,就像数学符号和化学符号一样,这些符号用于描述软件模型中的各个元素和他们之间的关系,比如类、接口、实现、泛化、依赖、组合、聚合等:使用UML来建模,常用的工具有 RationalR...

2020-03-01 16:52:23 190

原创 依赖倒转原则

依赖倒转原则为设计模式七大原则中的一个。基本介绍依赖倒转原则(Dependence Inversion Principle)是指:高层模块不应该依赖低层模块,二者都应该依赖其抽象抽象不应该依赖细节,细节应该依赖抽象依赖倒转(倒置)的中心思想是面向接口编程依赖倒转原则是基于这样的设计理念:相对于细节的多变性,抽象的东西要稳定的多。以抽象为基础搭建的架构比以细节为基础的架构...

2020-02-29 13:17:05 360

原创 java并发编程 笔记六

Monitor 概念Java 对象头以 32 位虚拟机为例普通对象数组对象其中 Mark Word 结构为Monitor 结构如下刚开始 Monitor 中 Owner 为 null当 Thread-2 执行 synchronized(obj) 就会将 Monitor 的所有者 Owner 置为 Thread-2,Monitor中只能有一个 Owner在 T...

2020-02-28 21:15:19 183

原创 设计模式 笔记一

设计模式的目的编写软件过程中,程序员面临着来自 耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性 等多方面的挑战,设计模式是为了让程序(软件),具有更好代码重用性 (即:相同功能的代码,不用多次编写)可读性 (即:编程规范性, 便于其他程序员的阅读和理解)可扩展性 (即:当需要增加新的功能时,非常的方便,称为可维护)可靠性 (即:当我们增加新的功能后,对原来的功能没有影响)使程...

2020-02-28 11:38:53 196

原创 java并发编程 笔记五

变量的线程安全分析成员变量和静态变量是否线程安全?如果它们没有共享,则线程安全如果它们被共享了,根据它们的状态是否能够改变,又分两种情况如果只有读操作,则线程安全如果有读写操作,则这段代码是临界区,需要考虑线程安全局部变量是否线程安全?局部变量是线程安全的但局部变量引用的对象则未必如果该对象没有逃离方法的作用访问,它是线程安全的如果该对象逃离方法的作用范围,需要考...

2020-02-27 21:31:56 219

原创 java并发编程 笔记二

Java 线程方法一,直接使用 Thread// 创建线程对象Thread t = new Thread() { public void run() { // 要执行的任务 }};// 启动线程t.start();方法二,使用 Runnable 配合 Thread把【线程】和【任务】(要执行的代码)分开Thread 代表线程Runnable 可运行的任务(线程要执...

2020-02-27 20:14:48 184 2

原创 java并发编程 笔记四

阻塞式的解决方案synchronized语法:synchronized(对象) // 线程1, 线程2(blocked){ 临界区}解决static int counter = 0;static final Object room = new Object();public static void main(String[] args) throws InterruptedE...

2020-02-27 14:37:40 225

小学生数学考试自动系统java大作业.zip

以下功能全部实现 小学生数学考试自动系统 1、采用图形用户界面,界面标题为“广州市X小学数学考试自动系统”,主要功能为:自动生成50道数学题,每题为随机生成的3个100以内整数的加减混合运算,每道题为2分,共100分,考试时间为90分钟。 2、系统基本功能要求: 1)开始界面上需要填写姓名、专业、和班级信息; 2)点击开始考试按钮后,自动生成50道数学题,计时开始; 3)考试计时功能,在界面上显示考试花费时间,90分钟后自动交卷; 4)交卷功能按钮:点击该按钮提前交卷或90分钟时间后自动交卷,均弹出对话框,并显示统计后的考试得分; 5)试卷显示部分采用卡式布局管理器(CardLayout),每页显示5道题,共25页,通过“首页”、“上一页”、“下一页”和“尾页”四个按钮控制翻页功能,其他功能部分可自行合理布局; 6)每道题100以内的整数随机生成,加法和减法也是随机,但3个数的混合运算结果不能为负数; 7)考试的成绩累加写入“成绩.txt”文件,格式为“姓名 年级 班级 成绩”,如:“张三 **年级 *班 98”。 3、扩展功能要求: 增加考试平均分按钮,实现对进行过考试的人员平均分统计,即对文件“成绩.txt”进行平均分统计可额外加分10-20分。

2019-08-22

班费收支管理系统

C语言大作业——班费收支管理系统,使用了链表。 这是我自己做的,没有使用文件操作。 有文档解释!!!!有文档解释!!!!有文档解释!!!! (1) 录入班费信息 (2) 浏览所有班费信息 (3) 查询班费信息(可以按照班费编码、时间范围、经办人、收入还是支出进行查询) (4) 修改班费信息 (5) 删除班费信息

2019-03-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除