- 博客(14)
- 问答 (1)
- 收藏
- 关注
原创 mysql数据类型
即便 DATETIME 和 TIMESTAMP 返回相同的格式,它们的工作方式很不同。在 INSERT 或 UPDATE 查询中,TIMESTAMP 自动把自身设置为当前的日期和时间。TIMESTAMP 也接受不同的格式,比如 YYYYMMDDHHMMSS、YYMMDDHHMMSS、YYYYMMDD 或 YYMMDD。通常,整数可以是负数或正数。如果添加 UNSIGNED 属性,那么范围将从 0 开始,而不是某个负数。在 MySQL 中,有三种主要的类型:文本、数字和日期/时间类型。
2024-01-18 21:58:20
1660
原创 数据库三大范式
设R是一个满足第一范式条件的关系模式,X是R的任意属性集,如果X非传递依赖于R的任意一个候选关键字,称R满足第三范式,简记为3NF。非主键字段不能相互依赖。如果关系模式R满足第一范式,并且R得所有非主属性都完全依赖于R的每一个候选关键属性,称R满足第二范式,简记为2NF。有主键,非主键字段完全依赖主键。当关系模式R的所有属性都不能在分解为更基本的数据单位时,称R是满足第一范式的,简记为1NF。
2024-01-16 20:32:00
400
原创 编译原理实验-LL1语法分析器(自动生成First集、Follow集求法)java实现
编译原理实验-LL1语法分析器(自动生成First、Follow)java博主在做实验时,参考众多他人代码,发现bug众多,在[@moni_mm]代码基础上,与伙伴把能看到的BUG都做出修正,同时增添了一个GUI展示。再次我将代码做出讲解。完整代码最下方贴出。(https://blog.csdn.net/moni_mm/article/details/80599843)一、数据结构下文程序运行的问法为:static String[] grammarStr = {"E->TG" ,"G->
2020-10-13 10:25:55
5873
5
原创 用面向对象的思维设计相关类,从而实现直线与直线、直线与圆、直线与矩形的交点。
题目:用面向对象的思维设计相关类,从而实现直线与直线、直线与圆、直线与矩形的交点。菜鸡的C++实现:公式:直线与直线:ax+bx+c=0; 一般公式:X = (c * otherline.b - b* otherline.c) /(b * otherline.a - a * otherline.b);直线与圆:(x-x0)2 +(y-y0)2 =r2 ...
2020-04-14 19:23:58
1881
1
原创 java常见类库学习(1)String、StringBuilder、StringBuffer
一、String(字符串常量)public final class String implements java.io.Serializable, Comparable<String>, CharSequence可以看到String类被final修饰:“String对象一旦被创建就是固定不变的了,对String对象的任何改变都不影响到原对象,相关的任何change操作...
2020-03-06 13:33:24
158
原创 JAVA —Lock锁
java.util.concurrent.locks包下常用的类与接口(lock是jdk 1.5后新增的)(1)Lock和ReadWriteLock是两大锁的根接口,Lock代表实现类是ReentrantLock(可重入锁),ReadWriteLock(读写锁)的代表实现类是ReentrantReadWriteLock。Lock 接口支持那些语义不同(重入、公平等)的锁规则,可以在非阻塞式结...
2020-03-06 13:30:16
201
原创 JAVA线程池
submit()和execute()都是 ExecutorService 的方法,是添加线程到线程池中。 submit()有返回值,返回future。 execute()没有返回值。1、线程池的优势(1)、降低系统资源消耗,通过重用已存在的线程,降低线程创建和销毁造成的消耗;(2)、提高系统响应速度,当有任务到达时,通过复用已存在的线程,无需等待新线程的创建便能立即执行;(3)方便线程并...
2020-03-06 13:24:29
131
原创 java多线程–并发队列(阻塞/非阻塞)
在并发队列上JDK提供了两套实现:一个是以ConcurrentLinkedQueue为代表的高性能队列;一个是以BlockingQueue接口为代表的阻塞队列;无论哪种都继承自Queue。1.阻塞队列阻塞队列与普通队列的区别在于,当队列是空的时,从队列中获取元素的操作将会被阻塞,或者当队列是满时,往队列里添加元素的操作会被阻塞。试图从空的阻塞队列中获取元素的线程将会被阻塞,直到其他的线程...
2020-03-06 13:19:25
380
原创 java线程组
线程组、阻塞队列、线程池、这点只看,确实有点看不下去,博主也是费劲了,额,学会了还不难。真J恶心,不过不都是如此嘛,没有接触过的就会畏难。反正是笨就对了哈哈。一、线程组:可以把线程归属到某一个线程组中,线程组中可以有线程对象,也可以有线程组,组中还可以用线程。这样的组织结构有点类似于树的形式。多线程中,为了方便管理一批线程,我们使用ThreadGroup来表示线程组,通过它对一批线程进行分类...
2020-03-06 13:16:57
234
原创 synchronized 关键字(二)
ynchronized 关键字,它包括两种用法:synchronized 方法和 synchronized 块。**1. synchronized 方法:通过在方法声明中加入 synchronized关键字来声明 synchronized 方法。如: public synchronized void accessVal(int newVal);synchronized 方法控制对类成员...
2020-03-06 13:12:42
124
原创 java synchronized详解(一)
引出:三个线程分别锁定this , obj1 , obj2 三个对象,请运行此代码查看打印结果。class Food { int id; public int getId() { return id; } public void setId(int id) { this.id = id; } } class...
2020-03-06 13:10:20
115
原创 java多线程的运行状态
本文转载了部分 CSDN博主「Hatoandaburedo」的原创文章首先一图概之:当一个线程执行了start方法后,不代表这个线程就会立即被执行,只代表这个线程处于可运行的状态,最终由OS的线程调度来决定哪个可运行状态下的线程被执行。一个线程一次被选中执行是有时间限制的,这个时间段叫做CPU的时间片,当时间片用完但线程还没有结束时,这个线程又会变为可运行状态,等待OS的再次调度;在运行的...
2020-03-06 13:07:27
240
原创 初见JAVA多线程—三种启动/与调度
Tread、Runnable、Callable的几种启动方式示例:Thread启动多线程1、定义Thread类的子类,并重写该类的run()方法,该run()方法的方法体就代表了线程需要完成的任务。因此把run方法称为线程执行体。2、创建Thread子类的实例,即创建了线程对象。3、调用线程对象的start()方法来启动该线程。class MyThread extends Thread{...
2020-03-06 12:08:11
151
原创 线程和进程的区别是什么?
线程和进程的区别是什么?一句概括的总论:进程和线程都是一个时间段的描述,是CPU工作时间段的描述, 不过是颗粒大小不同。在开销方面:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小。所处环境:在操作系统中能同时运行多个进程(程序);而...
2020-03-06 12:00:49
121
空空如也
动态内存的二维数组,随机赋值时行大于列即出错,反之无问题
2019-05-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人