04 2021 档案
摘要:UDP聊天实现 循环发送 package com.shushu.net2;import java.io.BufferedReader;import java.io.InputStreamReader;import java.net.DatagramPacket;import java.net.Da
阅读全文
摘要:UDP 发短信:不用连接,需要知道对方的地址! 发送短信 package com.shushu.net1;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;import
阅读全文
摘要:文件上传 服务器 package com.shushu.net;import java.io.*;import java.net.ServerSocket;import java.net.Socket;public class TcpServerDemo02 { public static vo
阅读全文
摘要:TCP 客户端 连接服务器Socket 发送消息 package com.shushu.net;import java.io.IOException;import java.io.OutputStream;import java.net.InetAddress;import java.net.So
阅读全文
摘要:通信协议 协议:约定 网络通信协议:速率,传输码率,代码结构,传输控制 常用协议: TCP 、IP 协议簇(是一组协议) 重要: TCP:用户传输协议 UDP:用户数据报协议 出名的协议: TCP: IP:网络互连协议 TCP UDP对比 TCP: 打电话 连接、稳定 三次握手、四次挥手 最少需要三
阅读全文
摘要:端口 端口表示计算机上的一个程序的进程: 不同的进程有不同的端口号!用来区分软件! 被规定 0~65535 TCP,UDP 端口 ,所以端口数65535 * 2,单个协议,端口不能冲突 端口分类 公有端口 0~1023 HTTP:80 HTTPS:443 FTP:21 SSH:22 Telent:2
阅读全文
摘要:IP ip地址:InetAddress 唯一定位一台网络上计算机 127.0.0.1 本机localhost ip地址分类 ipv4/ipv6 IPV4 127.0.0.1, 4个字节组成。 IPV6 八个字节组成 公网(互联网) 私网(局域网) ABCD类地址 192.168.xx.xx专门给组织
阅读全文
摘要:网络通信的要素 如何实现网络的通信? 通信双方地址: ip 端口号+ 规则:网络通信的协议 参考模型 小结: 网络编程中有两个主要的问题 如何准确的定位到网络上的一台或者多台主机 找到主机之后如何进行通信 网络编程中的要素 IP 和 端口号 网络通信协议
阅读全文
摘要:索引 索引的作用 提高查询速度 确保数据的唯一性 可以加速表和表之间的连接 , 实现表与表之间的参照完整性 使用分组和排序子句进行数据检索时 , 可以显著减少分组和排序的时间 全文检索字段进行搜索优化. 分类 主键索引 (Primary Key) 唯一索引 (Unique) 常规索引 (Index)
阅读全文
摘要:Git项目搭建 创建工作目录与常用指令 工作目录(WorkSpace)一般就是你希望Git帮助你管理的文件夹,可以是你项目的目录,也可以是一个空目录,建议不要有中文。 日常使用只要记住下图6个命令: 本地仓库搭建 创建本地仓库的方法有两种:一种是创建全新的仓库,另一种是克隆远程仓库。 1、创建全新的
阅读全文
摘要:软件下载 打开 [git官网] https://git-scm.com/,下载git对应操作系统的版本。 所有东西下载慢的话就可以去找镜像! 官网下载太慢,我们可以使用淘宝镜像下载:http://npm.taobao.org/mirrors/git-for-windows/ 下载对应的版本即可安装!
阅读全文
摘要:什么是版本控制 版本控制(Revision control)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。 实现跨区域多人协同开发 追踪和记载一个或者多个文件的历史记录 组织和保护你的源代码和文档 统计工作量 并行开发
阅读全文
摘要:数据库连接池 数据库连接--执行完毕--释放 连接--释放 十分浪费系统资源 池化技术:准备一些预先的资源,过来就连接预先准备好的 编写连接池,实现一个接口,DataSource 开源数据源实现(拿来即用) DBCP C3P0 Druid:阿里巴巴 使用了这些数据库连接池之后,我们在项目开发中就不用
阅读全文
摘要:事务 ACID原则 原子性:要么全部完成,要么都不完成 一致性:总数不变 隔离性:多个进程互不干扰 持久性:一旦提交不可逆,持久化到数据库了 隔离性的问题: 脏读:一个事务读取了另一个没有提交的事务 不可重复读:在同一个事务内,重复读取表中的数据,表数据发生了改变 虚读(幻读):在一个事务内,读取到
阅读全文
摘要:PreparedStatement对象 插入 package com.shushu.lesson.utils;import java.sql.*;import java.util.Date;public class InsertStatement { public static void main
阅读全文
摘要:SQL注入 SQL存在漏洞,会被攻击导致数据泄露, package com.shushu.lesson;import com.shushu.lesson.utils.JDBCUtils;import java.sql.Connection;import java.sql.ResultSet;im
阅读全文
摘要:Statement对象 代码实现 1.提取工具类 建一个properties文件 driver=com.mysql.jdbc.Driverurl = jdbc:mysql://localhost:3306/jdbcstudy?useUnicode=true&characterEncoding=utf
阅读全文
摘要:DriverManage //DriverManage.registerDriver(new com.mysql.jdbc.Driver());Class.forName("com.mysql.jdbc.Driver");//固定写法加载驱动Connection connection=Driver
阅读全文
摘要:第一个JDBC程序 1.创建一个数据库 CREATE DATABASE `jdbcStudy` CHARACTER SET utf8 COLLATE utf8_general_ciUSE `jdbcStudy`CREATE TABLE `users`( `id` INT PRIMARY KEY, `
阅读全文
摘要:JDBC 数据库驱动 驱动:声卡、显卡、数据库 我们的程序会通过数据库驱动和数据库打交道 SUN公司为了简化开发人员(对数据库的统一)操作,提供了一个(java操作数据库的)规范,俗称JDBC 这些规范的实现由具体的厂商去做~ 对于开发人员来说,我们只需要掌握JDBC接口的操作
阅读全文
摘要:三大范式 问题 : 为什么需要数据规范化? 不合规范的表设计会导致的问题: 信息重复 更新异常 插入异常 无法正确表示信息 删除异常 丢失有效信息 三大范式 第一范式 (1st NF) 第一范式的目标是确保每列的原子性,如果每列都是不可再分的最小数据单元,则满足第一范式 第二范式(2nd NF) 第
阅读全文
摘要:规范化数据库设计 为什么需要数据库设计 当数据库比较复杂时我们需要设计数据库 糟糕的数据库设计 : 数据冗余,存储空间浪费 数据更新和插入的异常 程序性能差 良好的数据库设计 : 节省数据的存储空间 能够保证数据的完整性 方便进行数据库应用系统的开发 软件项目开发周期中数据库设计 : 需求分析阶段:
阅读全文
摘要:MySQL备份 数据库备份必要性 保证重要数据不丢失 数据转移 MySQL数据库备份方法 mysqldump备份工具 数据库管理工具,如SQLyog 直接拷贝数据库文件和相关配置文件 mysqldump客户端 作用 : 转储数据库 搜集数据库进行备份 将数据转移到另一个SQL服务器,不一定是MySQ
阅读全文
摘要:用户管理 基本命令 -- 刷新权限FLUSH PRIVILEGES-- 增加用户-- CREATE USER 用户名 IDETIFIED BY [字符串密码] CREATE USER shushu IDENTIFIED BY '123456'-- 必须拥有mysql数据库的全局CREATE USE
阅读全文
摘要:事务和索引 什么是事务 事务就是将一组SQL语句放在同一批次内去执行 如果一个SQL语句出错,则该批次内的所有SQL都将被取消执行 MySQL事务处理只支持INNODB和BDB数据表类型 事务的ACID原则 原子性(Atomic) 整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间
阅读全文
摘要:数据库级别的MD5加密(扩展) MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前
阅读全文
摘要:MySQL函数 常用函数(并不常用) -- 数学运算(知道)SELECT ABS(-8) -- 绝对值SELECT CEILING(9.4) -- 向上取整SELECT FLOOR(9.4) -- 向下取整SELECT RAND() -- 返回0~1间的随机数SELECT SIGN(10) -- 判
阅读全文
摘要:子查询 本质:在where语句中嵌套一个查询语句 -- 查询课程为 高等数学-2 且分数不小于80分的学生的学号和姓名-- 方法一:使用连接查询SELECT s.`studentno`,`studentname` FROM `student` sINNER JOIN `result` rON s.`
阅读全文
摘要:分页limit和排序order by 排序 -- 排序:升序 ASC,降序DESC-- 语法:ORDER BY+排序字段+排序方式-- 查询的结果根据,成绩降序 / 升序SELECT s.studentno,studentname,subjectname,StudentResultFROM stud
阅读全文
摘要:自连接(了解) 自己的表和自己的表连接 核心:一张表拆为两张表 -- 创建一个表CREATE TABLE `category` ( `categoryid` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主题id', `pid` INT(10)
阅读全文
摘要:联表查询 JOIN对比 操作符名称描述 INNER JOIN 只返回两个表中联结字段相等的行 LEFT JOIN 返回包括左表中的所有记录和右表中联结字段相等的记录 RIGHT JOIN 返回包括右表中的所有记录和左表中联结字段相等的记录 -- join(连接的表) on(查询条件) 连接查询--
阅读全文
摘要:模糊查询(比较运算符) 运算符语法描述 IS NULL a is null 如果操作符为NULL,结果为真 IS NOT NULL a is not null 如果操作符不为null,结果为真 BETWEEN a between b and c 若a在b和c之间,结果为真 Like a like b
阅读全文
摘要:DOL语言 DOL(Data Query Language 数据查询语言) 查询数据库数据,如SELECT语句 简单的单表查询或多表的复杂查询和嵌套查询 是数据库语言中最核心,最重要的语句 使用频率最高的语句 创建学生表、班级表的代码 - 创建一个school数据库USE `school`;-- 创
阅读全文
摘要:DML语言 数据操作语言 用于操作数据库对象中所包含的数据 包括: INSERT(添加数据语句) UPDATE(更新数据语句) DELETE(删除数据语句) INSERT: -- INSERT INTO 表名[(字段...)] VALUES('值1','值2')INSERT INTO `studen
阅读全文
摘要:MySQL数据管理 外键(了解就好) 方式一、在创建表的时候,增加约束(操作比较麻烦、复杂) CREATE TABLE `grade`( `gradeid` INT(10) NOT NULL AUTO_INCREMENT COMMENT '年级id', `gradename` VARCHAR(50
阅读全文
摘要:修改删除表 -- 修改表名 ALTER TABLE 旧表名 RENAME AS 新表名ALTER TABLE ig RENAME AS ig1-- 增加表的字段ALTER TABLE ig1 ADD adress INT(30)-- 修改表的字段(重命名,修改约束!)-- modify不用来字段
阅读全文
摘要:数据库引擎 INNODB默认使用 MYISAM 早些年使用 MYISAMINNODB 事务支持https://blog.csdn.net/w_linux/article/details/79666086 不支持 支持 数据行锁定 不支持 支持 外键约束 不支持 支持 全文索引 支持 不支持 表空间的
阅读全文
摘要:创建数据库表 --表的名称和字段尽量使用``--字符串使用单引号括起来!--所有语句后面加逗号,最后一个不用加--书写顺序:字段名+类型+(是否为空)+(默认值)+(注释)+.....--AUTO_INCREMENT 自增,COMMENT 注释, NOT NULL 非空,DEFAULT 默认值--
阅读全文
摘要:数据库的字段属性(重点) Unsigned: 无符号的整数 不能声明为负数 zerofill: 0填充的 不足的位数,使用0来填充 自增: 自动在上一条记录的基础上+1(默认) 通常用来设置唯一的主键~index,必须是整数类型 可以自定义设计主键自增的起始值和步长 非空(NULL not null
阅读全文
摘要:数据库的列类型 数值 tinyint 十分小的数据 1个字节 smallint 较小的数据 2个字节 mediumint 中等大小的数据 3个字节 int 标准的整数 4个字节 常用 bigint 较大的数据 8个字节 float 浮点数 4个字节 double 浮点数 8个字节 decimal 字
阅读全文
摘要:操作数据库 操作数据库一>操作数据库中的表一>操作数据库中表的数据 1、创建数据库 [内表示可能需要] CREATE DATABASE [IF NOT EXISTS] ig; 2、删除数据库 DROP DATABASE IF EXISTS westos; 3、使用数据库 USE school;--如
阅读全文
摘要:SQL语句 --所有语句都使用 ; 结尾show databases; --查看所有的数据库use school; --切换数据库: use+数据库名show tables;--查看数据库中所有的表describe student;--显示数据库中所有的表的信息create database
阅读全文
摘要:数据库 数据库(DB,DataBase) 概念:数据仓库,软件,安装在操作系统上,可以存储大量数据 作用:存储数据,管理数据 关系型数据库:(SQL) MySQL,Oracle,Sql Server,DB2,SQLlite 通过表与表之间,行和列之间的关系进行数据的存储,如:学员信息表,考勤表 非关
阅读全文
摘要:线程池 package gaoji;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;//测试线程池public class TestPool { public static void
阅读全文
摘要:package gaoji;//测试生产者消费者问题,信号灯法public class TestPC2 { public static void main(String[] args) { TV tv = new TV(); new Player(tv).start(); new Watcher(t
阅读全文
摘要:线程协作 wait():表示线程一直等待,直到其他线程通知,与sleep不同,会释放锁 wait(long timeout):指定等待的毫秒数 notify():唤醒一个处于等待状态的线程 notifyAll():唤醒同一个对象上所有调用wait()方法的线程,优先级别高的线程优先调度 packag
阅读全文
摘要:锁(lock) package gaoji;import java.util.concurrent.locks.ReentrantLock;public class TestLock { public static void main(String[] args) { TestLock2 te
阅读全文
摘要:死锁 互斥条件:一个资源每次只能被一个进程使用 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放 不剥夺条件:进程已获得的资源,在未使用完之前,不能强行剥夺 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系 package thread;//死锁:多个线程相互相抱着对方
阅读全文
摘要:package syn;import java.util.concurrent.CopyOnWriteArrayList;//测试JUC安全类型的集合public class TestJUC { public static void main(String[] args) throws Interr
阅读全文
摘要:锁 synchronized默认的锁this(用在方法修饰符后面) 如果要锁其他的内容要用synchronized块 锁的对象是变化的量 package syn;//数组import java.util.ArrayList;public class UnsafeList { public stat
阅读全文
摘要:线程同步 并发:多个线程访问一个对象 形成条件:队列+锁(synchronized)
阅读全文
摘要:守护线程 分为:用户线程和守护线程 虚拟机必须确保用户线程执行完毕,不用等待守护线程执行完毕 package Sleep;//测试守护线程//上帝守护你public class TestDaemon{ public static void main(String[] args) { God god
阅读全文
摘要:优先级 线程的优先级用数字表示,范围从1~10 Thread.MIN_PRIORITY = 1; Thread.MAX_PRIORITY = 10; Thread.NORM_PRIORITY = 5; 使用以下方式改变或获取优先级 getPriority() / setPriority(int XX
阅读全文
摘要:package Sleep;//观察测试线程的状态/* 1.new完后新生 2.就绪 3.运行-->结束 3.运行-->阻塞-->结束 */public class TestState { public static void main(String[] args) throws Interrupt
阅读全文
摘要:package Sleep;public class TestJoin implements Runnable{ @Override public void run() { for (int i = 0; i < 100; i++) { System.out.println("线程vip来了"+i)
阅读全文
摘要:package Sleep;//测试礼让线程//礼让不一定成功,看CPU心情public class TestYied { public static void main(String[] args) { MyYield myYield = new MyYield(); new Thread(myY
阅读全文
摘要:每个对象都有一把锁,sleep不会释放锁package Sleep;import java.text.SimpleDateFormat;import java.util.Date;public class TestSleep { public static void main(String[] ar
阅读全文
摘要:package state;//测试stop/* 1、建议线程正常停止-->利用次数,不建议死循环 2、建议使用标志位-->设置一个标志位 3、不要使用stop或者destroy等过时或者JDK不建议使用的方法 */public class TestStop implements Runnable{
阅读全文
摘要:package Lambda;public class Demo03 { public static void main(String[] args) { Ilove love = (int a)->{ System.out.println("I love you-->"+a); }; //简化1:
阅读全文
摘要:package Lambda;/*推导lambda表达式 */public class Demo01 { //3.静态内部类 static class Like2 implements ILike{ @Override public void lambda() { System.out.printl
阅读全文
摘要:package StackProxy;//静态代理模式总结://真是对象和代理对象都要实现同一个接口//代理对象必须要代理真实角色//好处: //代理对象可以做好多真是对象做不了的事情 //真是对象专注做自己的事情public class Demo01 { public static void ma
阅读全文
摘要:package www.shushu.demo02;import org.apache.commons.io.FileUtils;import java.io.File;import java.io.IOException;import java.net.URL;import java.util.c
阅读全文
摘要:package www.shushu.Thread;//模拟龟兔赛跑public class Race implements Runnable{ private static String winner; @Override public void run() { for (int i = 0; i
阅读全文
摘要:package www.shushu.Thread;//多个线程同时操作同一个对象//买火车票的例子//发现问题:多个线程操作同一个资源的情况下,线程不安全,数据紊乱public class TestThread4 implements Runnable{ private int ticket =
阅读全文
摘要:package www.shushu.Thread;//创建线程方式2:实现runnable接口,重写run方法,执行线程需要丢入runnable接口实现类,调用start方法public class TestThread3 implements Runnable{ @Override public
阅读全文
摘要:继承Thread类 子类继承Thread类具备多线程能力 启动线程:子类对象.start() 不建议使用:避免OOP单继承局限性 实现Runnable接口 实现接口Runnable具有多线程能力 启动线程:传入目标对象+Thread对象.start() 推荐使用:避免单继承局限性,灵活方便,方便同一
阅读全文
摘要:网图下载 package www.shushu.Thread;import org.apache.commons.io.FileUtils;import java.io.File;import java.io.IOException;import java.net.URL;public cla
阅读全文
摘要:Thread类 自定义线程类继承Thread类 重写run()方法,编写线程执行体 创建线程对象,调用start()方法启动线程 总结:线程开启不一定立即执行,由cpu调度执行。 package www.shushu.Thread; //创建线程方式一:继承Thread类,重写run()方法,调用
阅读全文
摘要:多线程 线程就是独立的执行路径 在程序运行时,即使没有自己创建线程,后台也会有多个线程,如:主线程,gc线程(垃圾回收) main()称之为主线程,为系统的入口,用于执行整个程序; 在一个进程中,如果开辟了多个线程,线程的运行由调度器安排调度,调度器是与操作系统紧密相关的,先后顺序是不能人为干预的
阅读全文
摘要:无监督学习 输入数据没有被标记,也没有确定的结果。样本数据类别未知,需要根据样本间的相似性对样本集进行分类(聚类,clustering)试图使类内差距最小化,类间差距最大化。通俗点将就是实际应用中,不少情况下无法预先知道样本的标签,也就是说没有训练样本对应的类别,因而只能从原先没有样本标签的样本集开
阅读全文

浙公网安备 33010602011771号