自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 Vue3.0+Typescript项目中注册全局自定义组件的方法

Vue3.0+Typescript项目中注册全局自定义组件的方法1. 第一步, 在src/components下面自定义一个目录, 新建.vue开发自己的组件!(以我开发的组件为例!), 结构如下:AreaChooser是自定义组件, index.vue是测试用例组件, index.ts是导入, 注册组件的文件2. 第二步: 在index.ts中编写注册全局组件的方法, 代码如下:import {App} from 'vue'import AreaChooser from "./AreaC

2021-12-14 20:23:30 3950

原创 JDBC学习日记(4):数据库连接池

7:数据库连接池7.1 JDBC数据库连接池的必要性在使用开发基于数据库的web程序时,传统的模式基本是按以下步骤:在主程序(如servlet、beans)中建立数据库连接进行sql操作断开数据库连接这种模式开发,存在的问题:普通的JDBC数据库连接使用 DriverManager 来获取,每次向数据库建立连接的时候都要将 Connection 加载到内存中,再验证用户名和密码(得花费0.05s~1s的时间)。需要数据库连接的时候,就向数据库要求一个,执行完成后再断开连接。这样的

2022-01-18 18:43:16 277

转载 JDBC学习日记(3):PreparedStatement实现CRUD操作

3. PreparedStatement实现CRUD操作3.1 操作和访问数据库数据库连接被用于向数据库服务器发送命令和 SQL 语句,并接受数据库服务器返回的结果。其实一个数据库连接就是一个Socket连接。在 java.sql 包中有 3 个接口分别定义了对数据库的调用的不同方式:Statement:用于执行静态 SQL 语句并返回它所生成结果的对象。PrepatedStatement:SQL 语句被预编译并存储在此对象中,可以使用此对象多次高效地执行该语句。CallableSta

2022-01-18 00:16:04 187

原创 JDBC学习日记(2):获取数据库连接

2. 获取数据库连接2.1 要素一:Driver接口实现类2.1.1 Driver接口介绍java.sql.Driver 接口是所有 JDBC 驱动程序需要实现的接口。这个接口是提供给数据库厂商使用的,不同数据库厂商提供不同的实现。在程序中不需要直接去访问实现了 Driver 接口的类,而是由驱动程序管理器类(java.sql.DriverManager)去调用这些Driver实现。Oracle的驱动:oracle.jdbc.driver.OracleDrivermySql的驱动: c

2022-01-18 00:13:52 183

原创 JDBC学习日记(1):jdbc概述

JDBC概述

2022-01-18 00:10:14 97

转载 MySQL8.0新特性总结

1. MySQL8新特性概述1.1 MySQL8.0 新增特性1. 更简便的NoSQL支持NoSQL泛指非关系型数据库和数据存储。随着互联网平台的规模飞速发展,传统的关系型数据库已经越来越不能满足需求。从5.6版本开始,MySQL就开始支持简单的NoSQL存储功能。MySQL 8对这一功能做了优化,以更灵活的方式实现NoSQL功能,不再依赖模式(schema)。2. 更好的索引在查询中,正确地使用索引可以提高查询的效率。MySQL 8中新增了隐藏索引和降序索引。隐藏索引可以用来测试去掉索引对查询性

2022-01-15 01:26:10 1718 1

原创 Flutter学习(1): Flutter开发环境搭建与真机调试

1. Flutter介绍Flutter是谷歌公司开发的一款开源、免费的移动UI框架,可以让我们快速的在Android和iOS上构建高质量App。它最大的特点就是跨平台、以及高性能Flutter是基于谷歌的dart语言开发的一款跨平台的移动App开发框架。它针对的开发者是全部开发者。它的性能相比RN、Ionic这样的框架要好一些2. 搭建Flutter运行环境2.1 安装配置JDK下载地址: https://www.oracle.com/java/technologies/downloads/

2021-11-30 21:16:17 1940

原创 Flutter学习-dart(10): 操作符重载(与c++极为相似)

1. 什么是运算符重载运算符重载(英语:operator overloading)是多态的一种;运算符重载通常只是一种语法糖,这种语法对语言的功能没有影响,但是更方便程序员使用。让程序更加简洁,有更高的可读性2. 使用场景当比较两个对象的大小时假设此时有两个商品, 需要比较大小, 规则是按照价格进行比较;当不使用操作符重载时, 写出的代码可能是这样:if(good1.price < p2.price) { //小于}有了操作符重载之后:bool opera

2021-11-30 16:12:47 2051

原创 Flutter学习-dart(9):自定义库 系统库 第三方库

1. Dart库分类自定义的库 :import 'lib/xxx.dart';系统内置库:import 'dart:math';import 'dart:io';import 'dart:convert';Pub包管理系统中的库https://pub.dev/packageshttps://pub.flutter-io.cn/packageshttps://pub.dartlang.org/flutter/Pub包说明:需要在自己想项目根目录新建一个p

2021-11-29 23:34:13 802

原创 Flutter学习-dart(8):mixin和泛型

1. mixinsmixins的中文意思是混入,就是在类中混入其他功能在Dart中可以使用mixins实现类似多继承的功能1.2 mixin使用说明随着Dart版本一直在变,这里讲的是Dart2.x中使用mixins的条件作为mixins的类只能继承自Object,不能继承其他类作为mixins的类不能有构造函数一个类可以mixins多个mixins类;mixins绝不是继承,也不是接口,而是一种全新的特性class A { String info = "this is A";

2021-11-29 22:57:17 529

原创 Flutter学习-dart(7):继承与多态

1. Dart中的类的继承子类使用extends关键词来继承父类子类会继承父类里面可见的属性和方法 但是不会继承构造函数子类能复写父类的方法 getter和setter1.2. super关键词给父类构造函数传参class Person { String name; num age; Person(this.name,this.age); void printInfo() { print("${this.name}---${this.age}"); }}

2021-11-29 22:30:08 1243

原创 Flutter学习-dart(6):dart类和对象

1. 面向对象编程(OOP)的三个基本特征Dart所有的东西都是对象,所有的对象都继承自Object类Dart是一门使用类和单继承的面向对象语言,所有的对象都是类的实例,并且所有的类都是Object的子类1.1 封装封装是对象和类概念的主要特性。封装,把客观事物封装成抽象的类,并且把自己的部分属性和方法提供给其他对象调用, 而一部分属性和方法则隐藏1.2 继承面向对象编程 (OOP) 语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的功能,并在无需重新编写原来的类

2021-11-29 21:46:40 1382

原创 Flutter学习-dart(5):dart函数

1. dart函数声明和使用1.1 函数分类内置函数自定义函数1.2 定义函数//自定义方法的基本格式:返回类型 方法名称(参数1,参数2,...){ 方法体 return 返回值;}2. 参数定义2.1 定义一个方法 求1到这个数的所有数的和 int sumNum(int n){ var sum=0; for(var i=1;i<=n;i++) { sum+=i; } return sum;

2021-11-29 21:02:06 280

原创 Flutter学习-dart(4):dart常用数据结构

1. List1.1 常见属性length 长度reversed 翻转isEmpty 是否为空isNotEmpty 是否不为空1.2 常用方法add(item) 增加addAll(List list) 拼接数组indexOf(item) 查找 传入具体值; indexOf查找数据 查找不到返回-1 查找到返回索引值remove(item) 删除 传入具体值removeAt(

2021-11-29 18:47:26 576

原创 Flutter学习-dart(3):运算符 条件 类型转换

1. Dart运算符1.1 算数运算符+ - * / ~/ (取整) %(取余)1.2 关系运算符== != > < >= <=1.3 逻辑运算符! && ||1.4 赋值运算符基础赋值运算符 = ??=复合赋值运算符 += -= *= /= %= ~/=(b??=23; 表示如果b为空的话把 23赋值给b)2. 条件表达式if elseswitch case三目运算符??运算符 (a ?? 10: 如果a为空,则取

2021-11-29 17:53:09 541

原创 Flutter学习-dart(2):dart基础语法

1. Dart 变量dart是一个强大的脚本类语言,可以不预先定义变量类型 ,自动会类型推导dart中定义变量可以通过var关键字可以通过类型来申明变量var 后就不要写类型,写了类型不要var,两者都写var a int = 5; 报错var str='this is var';String str='this is var';int str=123;2. Dart 常量( final 和 const修饰符 )const值不变 一开始就得赋值;final 可以开始不赋值,

2021-11-28 23:42:13 295

原创 Flutter学习-dart(1):dart开发环境搭建

1. dart简介Dart是由谷歌开发的计算机编程语言,它可以被用于web、服务器、移动应用和物联网等领域的开发;Dart诞生于2011年,号称要取代JavaScript。但是过去的几年中一直不温不火。直到Flutter的出现现在被人们重新重视;要学Flutter的话我们必须首先得会Dart官网:https://dart.dev/2. dart环境搭建安装dart-sdk: 官方文档:https://dart.dev/get-dart:windows(推荐): http://www.

2021-11-28 23:13:19 481

原创 Express源码分析

Express源码分析1. 引入并调用express()时发生了什么?使用const express = require("express")时, 默认会去寻找express模块下面的index.js文件在index.js中, 我们发现:module.exports = require('./lib/express');即引用了lib目录下面的express.js 文件在express.js中, 首行: exports = module.exports = createApplicati

2021-10-27 01:38:24 571

原创 JavaScript常用设计模式总结+代码实现

1. 观察者模式设计模式思路:变化的数据作为被观察者, 受改数据影响的元素/对象作为被观察者<!DOCTYPE html><html lang="en" xmlns="http://www.w3.org/1999/html"><head> <meta charset="UTF-8"> <title>观察者模式</title> <style> .container {

2021-09-19 23:01:12 177

原创 ES6+JQuery实现瀑布流效果

瀑布流1. 定位后确定浏览器显示区域内,一行能放多少列图片盒子。获取页面的宽度获取图片盒子的宽度获取页面的宽度获取图片盒子的宽度显示的列数=页面宽度/图片盒子宽度column = pageWidth / itemWidth2. 确定列数之后,排列第一行下面还有很多图片盒子,我们先要排列第1行,所以在for循环里就要判断一下,当i(所有图片盒子的索引)<column(显示列数)的时候,说明在第1行;知道在第1行之后,动态设置每个图片盒子的left值就能排好第1

2021-08-27 23:08:18 316

原创 JavaScript- 消息订阅发布模式探究

JavaScript- 消息订阅发布模式探究1. 消息订阅发布模式在实际项目开发中的应用React项目中, 非父子(兄弟)组件间的通信Vue的响应式原理: 采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调2. 什么是消息订阅-发布模式打个比方,比如小红和小明想阅读一份报纸, 但是却懒得每次到书报摊去买报纸; 因此他们选择了订阅该期刊, 当每个月有新期刊发布

2021-08-26 23:33:10 213 2

原创 使用Navicat连接Oracle数据库教程

使用Navicat连接Oracle数据库教程前提条件:虚拟机centos7服务器下,已经安装好oracle11g数据库用xmanager工具连接到安装oracle11g的centos7服务器上切换到数据库用户oracle,命令:su -oracle (这一步非常重要,不然启动oracle会出现权限不足的错误!)使oracle用户配置文件立即生效,命令:source /home/oracle/.bash_profle,启动监听,命令:lsnrctl start登录SQLplus

2021-06-02 21:50:01 6862

原创 二叉排序树原理探究(Java实现)

二叉排序树(BST)section1 : 二叉排序树的简介1.1 什么是二叉排序树二叉排序树(Binary Sort Tree),又称二叉查找树(Binary Search Tree),亦称二叉搜索树。是数据结构中的一类。在一般情况下,查询效率比链表结构要高1.2 二叉排序树的定义一棵空树,或者是具有下列性质的二叉树:若左子树不空,则左子树上所有结点的值均小于它的根结点的值若右子树不空,则右子树上所有结点的值均大于它的根结点的值左、右子树也分别为二叉排序树没有键值相等的结点2. 二叉

2021-05-31 12:54:17 127

原创 数据结构之--链表(C语言实现),极力推荐!!

数组结构之----- 链表1. 链表基本概念1.1 什么是链表链表是一种常用的数据结构,它通过指针将一些列数据结点,连接成一个数据链。相对于数组,链表具有更好的动态性(非顺序存储)。数据域用来存储数据,指针域用于建立与下一个结点的联系。建立链表时无需预先知道数据总量的,可以随机的分配空间,可以高效的在链表中的任意位置实时插入或删除数据。链表的开销,主要是访问顺序性和组织链的空间损失1.2 数组和链表的区别数组:一次性分配一块连续的存储区域。随机访问元素效率高需要分配一块连续的存

2020-12-28 15:57:30 1297

原创 C语言的文件IO操作,非常详细!!

文件操作1. 文件概述1.1 磁盘文件指一组相关数据的有序集合,通常存储在外部介质(如磁盘)上,使用时才调入内存;磁盘文件的分类:从用户或者操作系统使用的角度(逻辑上)把文件分为:文本文件:基于字符编码的文件基于字符编码,常见编码有ASCII、UNICODE等;一般可以使用文本编辑器直接打开;数5678的以ASCII存储形式(ASCII码)为:00110101 00110110 00110111 00111000二进制文件:基于值编码的文件基于值编码,自己根据具体应用,指定

2020-12-07 09:32:11 5551 2

原创 C语言中结构体详解

C语言中结构体详解1.1 结构体的相关概念结构体: 将多个相同或不同类型的数据存在一块连续的内存空间说明:结构体和数组一样,同属于符合类型的数据;结构体和数组的区别:数组用于保存相同类型的数据,而结构体通常用于描述一个具体事务的属性,保存若干个不同/相同类型的数据;C语言的结构体和C++/Java/Python中的class类似;1.2 结构体变量的定义和初始化结构体定义方法:struct tag { member-list member-list memb

2020-12-02 14:38:32 2109

原创 C语言的指针(个人理解)

C语言的指针指针1. 内存1.1 内存的作用暂存放CPU中的运算数据暂存与硬盘等外部存储器交换的数据1.2 物理存储器和存储地址空间物理存储器:实际存在的具体存储器芯片主板上装插的内存条显示卡上的显示RAM芯片各种适配卡上的RAM芯片和ROM芯片存储地址空间:对存储器编码的范围编码:对每个物理存储单元(一个字节)分配一个号码寻址:可以根据分配的号码找到相应的存储单元,完成数据的读写1.3 内存地址将内存抽象成一个很大的一维字符数组编码就是对内存的每一个

2020-12-01 08:57:11 402

空空如也

空空如也

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

TA关注的人

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