学习
文章平均质量分 66
Yokna
此人很懒,啥都不想写。
展开
-
Mysql引擎MyIsam与InnoDB
Mysql引擎MyIsam与InnoDB存储引擎是第一个表存储、组织数据的一个方式,不同的引擎存储数据的方式不一样。查看表的引擎show create table + 表名mysql> show create table user;+-------+-------------------------------------------------------------------------------------------------------------------------原创 2021-08-18 21:17:54 · 116 阅读 · 0 评论 -
mysql事务及事务隔离级别实践
mysql事务事务是指一个完整的业务逻辑。A向B转账时,A-100;B+100,这是一个完整的业务逻辑,是最小的工作单元,要么同时成功,要么同时失败,不可再分,如此才能保证正确性。只有DML语句才有事务概念,其他的与事务无关insert\delete\update涉及到数据的增删改,数据的安全就需要考虑,就需要使用事务。事务实现机制InnoDB提供了一组用来记录事务性活动的日志文件。事务开启了:insertinsertdeletedelete事务结束了;在事务的执行过程中,每一条原创 2021-08-15 21:56:03 · 146 阅读 · 0 评论 -
Mysql基础
Mysql基础基本操作导入sql文件在进入到mysql数据库中后,使用命令source + sql文件的路径;就可以将sql文件导入到数据库中。查看数据库表结构desc + 表名查看版本号select version();查看当前使用的数据库select database();终止一条命令\cDQL简单查询select loc from dept;select deptno,dname from dpet;查询表中所有字段1.select * from de原创 2021-08-15 15:38:46 · 94 阅读 · 0 评论 -
TCP可靠数据传输原理
TCP可靠数据传输原理传输的可靠概念数据在传输过程中,不错位,不丢包,不乱序。信道的不可靠特性由于数据在传输过程中,可能存在丢包、可能存在路由缓存溢出等现象,导致数据出现丢包等不确定现象,这样就决定了可靠传输协议的复杂 性。如何处理传输中的位错位假设现在有一个信道,在传输过程中可能会产生位错误,那么接收方就需要做两件事:一是辨别数据是否正确,二是如何从错误中恢复过来。首先解决第一个问题: 利用校验和检测位错误!什么是校验和:https://blog.csdn.net/qq_349024原创 2021-06-27 22:46:50 · 867 阅读 · 0 评论 -
一张图分析浏览器输入URL后会发生什么
一张图分析浏览器输入URL后会发生什么原创 2021-06-26 10:53:42 · 128 阅读 · 0 评论 -
springboot注解表格
SpringBoot中常见注解以及作用(下次忘记了方便来这找)注解意义用法@SpringBootApplication声明让springboot进行必要的自动配置,相当于@Configration,@EnableAutoConfiguration,@ComponentScan三个配置合在一起@Configuration相当于传统的xml配置文件,如果有些第三方库需要用到xml文件,建议仍然通过@Configuration作为项目的配置主类,可以理解为手动配置@Enabl原创 2021-06-25 22:14:12 · 172 阅读 · 0 评论 -
Socket+TCP粘包现象以及解决方案
Socket+TCP粘包现象以及解决方案粘包现象 tcp在传输过程中为了保证效率,会在连接建立以后,将传往同一地址的包合并在一起,同时发送过去(Nagle算法)。因为接收方不知道消息之间的界限,不知道一次性提取多少字节的数据所造成的。 具体过程如下: 假设现在有三个100b的数据分三次要发,调用socket的策略是每次可以发1024b,这时,根据nagle算法的优化原则,会将三个数据打成一个包一起发给server,假如server没有对应的策略去处理的话,就会出现三个数据在一个包中显现出原创 2021-06-23 16:30:17 · 1149 阅读 · 2 评论 -
java中文件按行写入
java中文件按行写入,每次写在文件最后一行,而不是覆盖。需要在定义FileOutputStream定义时加一个true,表示示每次写文件时新内容附加在原来的内容后面,不而不是覆盖。//将每次计算的结果写入到文件最后一行,而不是覆盖 File file = new File("result.txt"); try(BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStrea原创 2021-06-19 09:25:15 · 7184 阅读 · 0 评论 -
基于flask的五子棋小游戏
基于flask的五子棋小游戏前言 首先说明一下,本人方向是java后端,只因老师布置了一个作业,要用flask来做一个五子棋,没办法被逼上梁山,程序不太美观,但是应付作业还是够了的。 废话不多说,下面开锤! 首先整个程序是一个web应用,前端html+css+javaScript(有用到jquery)(基本都是现学的,所以程序很多注释也很丑),后端用的flask框架。准备工作 **1.**python环境、安装flask **2.**导入需要用到的包pip install fl原创 2021-05-23 16:23:17 · 8289 阅读 · 8 评论 -
JavaScript 语法笔记
JS前端笔记1.如何在JS中创建数组,以及数组常见方法//创建数组:const numbers = new Array(1,2,3,4,5);//js中一个数组可以存放的不同类型的语言const fruits = ['apples','oranges',10,true];fruits.push('mango');fruits.unshift('strawberries');fruits.pop();Array.isArray(fruits);fruits.indexOf(原创 2021-05-20 10:39:53 · 118 阅读 · 0 评论 -
Integer.valueOf()与Integer.getInteger()源码分析
Integer.valueOf()与Integer.getInteger()源码分析Integer.valueOf():static IntegervalueOf(int i) 返回一个 Integer指定的 int值的 Integer实例。static IntegervalueOf(String s) 返回一个 Integer对象,保存指定的值为 String 。static IntegervalueOf(String s, int radix) 返回一原创 2021-05-17 14:20:40 · 367 阅读 · 0 评论 -
Token验证
Token验证学妹最近写项目,卡在了token认证上面,正好之前写过类似的,就乘此契机整理一份。整个模块主要完成token认证、授权以及使用redis进行缓存。很多内容都在代码里面的注释中,本文主要讲细节实现,在食用之前,请务必要对token验证流程有一个大致的印象。话不多说,下面开锤!pom.xml配置如下<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0原创 2021-04-19 15:42:51 · 406 阅读 · 1 评论 -
java泛型擦除
java泛型擦除前文介绍 java中的泛型实际上是伪泛型,因为在编译过程中,所有的泛型信息都会被擦除,这里涉及到一个概念——类型擦除(java的泛型基本上是在编译器生成字节码时,使用泛型的时候加上类型参数,整个过程就是类型的擦除)。泛型可以理解为将数据类型作为参数的一种手段。通过例子来理解泛型擦除介绍到这里,我们开始整活。如何在一个list中存一个Integer 一个 String呢?我们使用反射机制,可以实现。import java.lang.reflect.InvocationTargetE原创 2021-04-10 20:12:20 · 440 阅读 · 3 评论 -
动态规划之爬楼梯问题
动态规划爬楼梯问题题目是这样婶的,说一个人上楼梯,一次可以上一层,也可以上两层,问上n层的台阶有多少种上法。正常人来说,上楼梯要不就是一步一层,要不就是一步两层,或者一下一层一下两层,那会有人1433223这种上楼梯方法,搁那国服元歌呢?言归正传,这个问题很显然从正面推是不好推的,每一次出脚都有两种可能,那么我们不妨从反面来推。当我们已经在第n层时,无论怎么走,都可以回到第一层,这样我们就可以知道,第n层回退的情况有两种,一种是回退到n-1,还可以回退到n-2。这样我们就很容易推出一下方程: F(原创 2021-04-08 20:56:19 · 512 阅读 · 2 评论 -
java面试错题集积累
面试刷题笔记最优二叉树(哈夫曼树)哈夫曼树的定义:是一种带权路径长度最短的二叉树,也称为最优二叉树。带权路径长度达到最小,就是最优二叉树由权值为9,5,2,7的四个叶子节点构造一棵最优二叉树,该树的带权路径长度为:44构建哈夫曼树的算法: 1.叶子结点先从小到大排序 2.选取最小的两个节点作为最深的叶子节点 3.计算两叶子节点的和 4.将和加入到排序中去 4.重复上面的操作 5.直至最后一个叶子结点排完题目1.牛客网,货拉拉此题答案有争议,已提交答案有误,有原创 2021-04-08 12:06:03 · 323 阅读 · 0 评论 -
代理模式与动、静态代理
代理模式与动、静态代理 最近正在纠结考研还是找工作,数学与数据结构都不想学,烦心之下,学点jvav冷静一下,本篇博文主要是讲代理模式以及java中如何用反射机制实现动态代理,大部分瞎比分析都在代码注释里面哈!代理模式的概念:Proxy Pattern,是23种经典模式种的一种。在调用方与被调用方中间增加一层代理对象,从而实现调用方与被调用方之间的解耦。为目标对象提供一个代理,这个代理可以控制对目标对象的访问,外界不用直接访问目标对象,而是访问代理对象,代理对象再调用目标对象。且代理对象中可以添原创 2021-03-29 21:26:55 · 178 阅读 · 2 评论 -
HTTP协议
HTTP协议HTTP的一次数据包括:数据行头部信息数据实体http请求数据头如下(此处是截取的一个HTTPS协议的请求数据,对照着书上的http请求数据来参看的):GET /favicon.ico HTTP/1.1请求方法 /URI HTTP/版本号Host: www.baidu.com用于指定资源所在的主机号和端口号Connection: keep-alivePragma: no-cacheCache-Control: no-cacheUser-Agent: Mozil原创 2021-03-02 11:11:51 · 471 阅读 · 1 评论 -
Java多线程创建、启动、信息共享问题
Java多线程创建、启动、信息共享问题java多线程的创建、启动java为多线程创建提供两种方案: 一:继承Thread类 二:实现Runnable接口。说明:由于Thread类实现了Runnable接口,故而继承Thread类,本质上也是实现Runnable接口不同:在启动方式上不一样,继承Thread类后,线程只需要调用start方法即可,实现Runnable接口需要借助Thread类进行包装后才能调用start方法。下面看代码public class Thread2 impleme原创 2021-01-31 23:24:19 · 89 阅读 · 0 评论 -
Java处理JSON、图片文件、xml
Java处理JSONJSON(JavaScript Object Notation):JS对象标识法。是一种轻量级的数据交换格式,类似于xml,更小,更快,更容易解析。接下来看一看json格式的数据长什么样:{ "scores":[60,70,80], "name":"Tom", "age":20}//一对大括号括起来,用k-v对形式表示数据,每个数据之间用“,”隔开,最后一个数据后不用加“,”。JSON数据在java里可以与java bean数据交互,下面看一个dem原创 2021-01-29 22:40:20 · 379 阅读 · 0 评论 -
java字符操作及正则表达式
Java正则表达式+字符串操作有诗云:手持两把锟斤拷,口中疾呼烫烫烫。脚踏千朵屯屯屯,笑看万物锘锘锘。上回咱们说到java中String以及其常用方法,今天咱们聊一聊字符串相关的其他知识。字符乱码文件读取需要注意,在编码格式上要保持一致,否则会出现乱码现象。(按照什么格式写入的数据,就应该按照什么格式读取)import java.io.*;import java.nio.charset.Charset;import java.util.Set;import java.util.Sorte原创 2021-01-28 23:56:04 · 245 阅读 · 0 评论 -
java数据结构
java数据结构数组是一个存放多个数据的容器数据是同一种类型所有的数据是线性规则排序可以通过位置索引来快速定位访问数据需要明确容器的长度int[] a = new int[5]{};JCF(java collection framework)容器:能够存放数据的空间结构容器框架:有一些容器,并且在这些容器上有算法实现,提高数据存储效率,避免程序员的重复劳动。主要分为三大类:列表List、散列集合Set 以及映射MapJCF的集合接口是Collectioncollection下的方法原创 2021-01-23 23:45:52 · 179 阅读 · 0 评论 -
java常用类
java常用类数字相关类Short: 16位 2字节 有符号的以二进制补码表示的整数(32768)Int :32位(范围:10位数 开头是2)Long: 64位Float :32位Double:64位(float和double都不能表示很精确的数字)BigInteger :无限长的整数BigDecimal:无限长的小数(bigdecimal做除法时,需要注意截断,防止出现无限循环小数)BigDecimal num1 = new BigDecimal("10");BigDecimal nu原创 2021-01-23 17:51:14 · 133 阅读 · 0 评论 -
常量池
常量池:相同的值只储存一份,节省内存,共享访问保存在编译期间就已经确定的数据是一块特殊的内存设置有常量池的基本类型的包装类:boolean、byte、short、integer、long、character基本类型包装类没有设置常量池的:float、doubleInteger n1 = 127;Integer n2 = 127;System.out.pringln(n1 == n2);//输出trueInteger n3 = 128;Integer n4 = 128;System原创 2021-01-23 15:04:32 · 370 阅读 · 0 评论 -
数据库复习
Oracle数据库复习练习题实验一:创建数据环境用户及权限1、创建用户utest,密码为utest1。create user utest identified by utest1;identified by后接密码 如果创建用户失败 请在用户名前+c##(oracle12)2、为utest用户赋予connect权和dba权。grant connect,dba to utest;dba:拥有dba权限的用户可以创建数据库结构,可以创建授权用户 *resource: 拥有resource原创 2021-01-02 23:12:27 · 1074 阅读 · 0 评论 -
Mycat数据库中间这一篇博文就够了
Mycat数据库中间件问题1:java程序与数据库紧耦合,一旦数据库挂掉,整个程序就不能正常运行为了解决这些问题,在Cobar的基础上开发了mycat)]读写分离双主双从数据分片多数据源整合mycat的读写分离是建立在两个及以上的数据库上实现的,那么两个数据库中的数据就要保持一致,这就要求我们熟知mysql是怎样实现主从复制的,以及如何保证数据的可靠性。准备工作1.安装虚拟机CentOs7 因为mycat是运行在linux环境下的,所以我们要去安装linux环境。 这里选原创 2020-11-24 13:19:24 · 368 阅读 · 0 评论 -
JAVA学习笔记 day8 画笔
JAVA学习笔记 day81.画笔package paint;import java.awt.*;public class TestPaint { public static void main(String[] args) { // TODO Auto-generated method stub new MyPaint().loadFrame(); }}class MyPaint extends Frame{ public void loadFrame() {原创 2020-05-18 00:17:07 · 205 阅读 · 0 评论 -
JAVA学习笔记 day7 组合和内部类实践
JAVA学习笔记 day71.组合在OOP编程种,组合优先级大于继承。class A extends B{ //继承}class C { public D d; //组合}2.学了这么久JAVA,终于会写计算器了package caculater;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;public class Mai原创 2020-05-16 23:31:30 · 220 阅读 · 0 评论 -
JAVA学习笔记 day6 事件监听
JAVA学习笔记 day61.监听package listener;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;public class ActionEvenDemo { public static void ma原创 2020-05-16 23:30:21 · 189 阅读 · 0 评论 -
JAVA学习笔记 day5 GUI 布局
JAVA学习笔记 day51.了解GUI首先先了解组件:Frameframe下几种方法可以设置frame的属性: Frame frame = new Frame("标题"); setBackground(color); setBounds(x, y, w, h); setVisible(true); setResizable(true);这样就基本可以显示出一个框架。对Frame 进行封装:public class MyFrame extends Frame{static int原创 2020-05-14 00:08:15 · 229 阅读 · 0 评论 -
JAVA学习笔记 day4 封装继承多态
JAVA学习笔记 day41.面向对象以类的方式组织代码,以对象的组织(封装)数据。static方法和类一起加载2.构造器一个类即使什么都不写,它也会存在一个构造方法。构造方法: 必须跟类的名字相同,必须没有返回类型作用: 实例化初始值 使用new 关键字创建新对象,本质是在调用构造器注意:一旦定义了有参构造,默认的无参构造就没有了。3.封装高内聚,低耦合。属性私有,privite通过get方法获取,set方法设置值封装的用法: 1.可以保护数据,提高程序的安原创 2020-05-13 00:54:06 · 221 阅读 · 0 评论 -
JAVA学习笔记 day3 数组初始化 增强for循环
day31.String.equals判断字符串是否相等,区别于“==”:== 的作用: 基本类型:比较值是否相等 引用类型:比较内存地址值是否相等equals 的作用: 引用类型:默认情况下,比较 **内存地址值**是否相等。可以按照需求逻辑,重写对象的equals方法。2.switch与C语言的格式一样switch (变量){ case 值1: 语句1; break; case 值2: 语句2; break; default: 语句3;//原创 2020-05-11 23:55:44 · 293 阅读 · 0 评论 -
JAVA学习笔记 day2 面试部分细节
day21.字符对象对象池与字符的比较String sa = new String("hello");String sb = new String("hello");String sc = "hello";String sd = "hello";System.out.println(sa==sb);System.out.println(sc==sd);在这两个例子中,分别输出F和T,因为在new一个String对象时,会产生一个新对象,同时分配的系统内存是不一样的,也就是说,这个比较的不原创 2020-05-11 09:02:12 · 137 阅读 · 0 评论 -
JAVA学习笔记 day1 流
day1 流1.InputStream 类read()方法逐个字节以二进制的原始方式读入数据Public int read();读入一个字节 -1表示无Public int read(byte b[]);返回读入的字节数Public int read(byte[] b ,int off,int len);从哪开始一共读多少。2.OutputStream 类write()方法功能是将字节写入流Public void write(int b);//将参数B 的低位字节写入到流中Publi原创 2020-05-10 23:08:50 · 244 阅读 · 0 评论