随笔分类 - java基础
摘要:外键约束 外键约束(FOREIGN KEY,缩写FK)是用来实现数据库表的参照完整性的。外键约束可以使两张表紧密的结合起来,特别是针对修改或者删除的级联操作时,会保证数据的完整性。 外键是指表中某个字段的值依赖于另一张表中某个字段的值,而被依赖的字段必须具有主键约束或者唯一约束。被依赖的表我们通常称
阅读全文
posted @ 2021-01-08 15:15
巧克力曲奇
摘要:l 数据库表列类型 1.整数类型 整数类型 大小 表数范围(有符号) 表数范围(无符号) 作用 TINYINT 1字节 (-128,127) (0,255) 小整数值 SMALLINT 2字节 (-32768,32767) (0,65535) 大整数值 MEDIUMINT 3字节 (-8388608
阅读全文
posted @ 2021-01-08 12:17
巧克力曲奇
摘要:第一节 线程通信 1.1 线程通信引入 l 应用场景:生产者和消费者问题 假设仓库中只能存放一件产品,生产者将生产出来的产品放入仓库,消费者将仓库中产品取走消费 如果仓库中没有产品,则生产者将产品放入仓库,否则停止生产并等待,直到仓库中的产品被消费者取走为止 如果仓库中放有产品,则消费者可以将产品取
阅读全文
posted @ 2021-01-07 15:26
巧克力曲奇
摘要:4.1 问题的提出 应用场景: 多个用户同时操作一个银行账户。每次取款400元,取款前先检查余额是否足够。如果不够,放弃取款 分析 使用多线程解决 开发一个取款线程类,每个用户对应一个线程对象 因为多个线程共享同一个银行账户,使用Runnable方式解决 思路 创建银行账户类Account 创建取款
阅读全文
posted @ 2021-01-07 14:43
巧克力曲奇
摘要:新生状态: 用new关键字建立一个线程对象后,该线程对象就处于新生状态。 处于新生状态的线程有自己的内存空间,通过调用start进入就绪状态 就绪状态: 处于就绪状态线程具备了运行条件,但还没分配到CPU,处于线程就绪队列,等待系统为其分配CPU 当系统选定一个等待执行的线程后,它就会从就绪状态进入
阅读全文
posted @ 2021-01-07 14:03
巧克力曲奇
摘要:线程定义和创建3:实现Callable接口 JDK1.5后推出了第三种定义线程的方式,实现Callable接口 public class RandomCallable implements Callable<Integer> { @Override public Integer call() thr
阅读全文
posted @ 2021-01-07 13:46
巧克力曲奇
摘要:2.1 线程定义和创建2:实现Runnable接口 【示例2】使用多线程实现龟兔赛跑2 public class TortoiseRunnable implements Runnable { //private int num = 100; /** * 线程体,线程要执行的任务 */ @Overri
阅读全文
posted @ 2021-01-07 13:32
巧克力曲奇
摘要:第一节 进程和线程 1.1 进程和线程 l 程序Program n 程序是一段静态的代码,它是应用程序执行的蓝本 l 进程Process n 进程是指一种正在运行的程序,有自己的地址空间 l 进程的特点 n 动态性 n 并发性 n 独立性 n 并发和并行的区别 u 并行:多个CPU同时执行多个任务
阅读全文
posted @ 2021-01-07 13:27
巧克力曲奇
摘要:序列化和反序列化 什么是序列化和反序列化 序列化 :Serialization 将对象的状态信息转换为可以存储或传输的形式的过程。对象(内存) >字节数组 字节序列(外存、网络) 反序列化:DeSerialization 字节数组 字节序列(外存、网络) >对象(内存) 什么时候需要序列化和反序列化
阅读全文
posted @ 2021-01-07 12:22
巧克力曲奇
摘要:缓冲字符流BufferedReader和BufferedWriter 问题:之前的文件读写都是按照字节、字符或者数组来实现的,对于文本文件而言,能否按照行,一行行读写呢。 提供了BufferedReader和BufferedWriter实现按行读写 package com.bjsxt.ios3; i
阅读全文
posted @ 2021-01-07 10:48
巧克力曲奇
摘要:package com.bjsxt.ios3; import java.io.*; /** *1.只要关闭高层流即可,底层流不用手动关闭;因为高层的关闭方法就是把底层流关闭 * *2.何时将输出缓冲区的内容写入硬盘 * 1.输出缓冲区满,自动写入硬盘(刷新 flush) * 2.close()会先刷
阅读全文
posted @ 2021-01-07 10:42
巧克力曲奇
摘要:Map集合类型 Map 特点:存储的键值对映射关系,根据key可以找到value HashMap 采用Hashtable哈希表存储结构(神奇的结构) 优点:添加速度快 查询速度快 删除速度快 缺点:key无序 LinkedHashMap 采用哈希表存储结构,同时使用链表维护次序 key有序(添加顺序
阅读全文
posted @ 2021-01-06 17:52
巧克力曲奇
摘要:hashtable 也叫散列表 特点:快 很快 神奇的快 结构:结构有多种 最流行、最容易理解:顺序表+链表 主结构:顺序表 每个顺序表的节点在单独引出一个链表 哈希表是如何添加数据的 1.计算哈希 码(调用hashCode(),结果是一个int值,整数的哈希码取自身即可) 2.计算在哈希表中的存储
阅读全文
posted @ 2021-01-06 17:29
巧克力曲奇
摘要:/** * 功能:存储多个学生的分数 * 不变的是什么? *1.运算结果没有变 * 2.执行的功能代码没有变 * * 变化的什么? * 1.底层的结构变了 * ArrayList:数组 * LinkedList:双向链表 * 2.具体的执行过程变化了 list.add(2,99) * ArrayLi
阅读全文
posted @ 2021-01-06 15:19
巧克力曲奇
摘要:public class TestArrayList { public static void main(String[] args) { //1.创建一个ArrayList对象,用来存储多个分数 ArrayList list = new ArrayList(); //2.向ArrayList添加分
阅读全文
posted @ 2021-01-06 15:03
巧克力曲奇
摘要:选择排序的算法 1) 整个数列分成两部分:前面是有序数列,后面是无序数列 2) 初始状态下,整个数列都是无序的,有序数列是空 3) 一共n个数,需要n-1趟循环(一趟都不能少) 4) 每比较完一趟,有序数列数量+1,无序数列数量-1 5) 每趟先假设无序数列的第1个元素(整个数列的第i个元素)是最小
阅读全文
posted @ 2021-01-06 14:25
巧克力曲奇
摘要:第一节 排序 1.1排序概述 排序(sorting)的功能是将一个数据元素的任意序列,重新排列成一个按关键字有序的序列。 内部排序和外部排序 一类是整个排序过程在内存储器中进行,称为内部排序; 另一类是由于待排序元素数量太大,以至于内存储器无法容纳全部数据,排序需要借助外部存储设备才能完成,这类排序
阅读全文
posted @ 2021-01-06 14:14
巧克力曲奇

浙公网安备 33010602011771号