自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 node.js-包管理工具

生产环境和开发环境:开发环境一般是指程序员专门用来写代码的环境, 一般是指程序员的电脑.环境一般是指项目代码正式运行的环境, 一般是指正式的服务器电脑, 生产环境的项目一般每一个客户都能访问.我们可以在安装时, 设置选项来区分依赖的类型, 一般分成两类,生产依赖:npm i -s 包名: -s是默认的选项, 包的信息将保存在packaga.json中的dependencies属性开发环境:npm i -D 包名: 意味着, 包的信息将会保存在package.json的devDependencci

2023-05-01 14:23:03 573 1

原创 node.js-概述

是一个app, 可以运行js的代码的一个程序使用一套命令来操作js文件.并不是一种编程语言.准确的说, node.js是一个js代码的运行环境, 可以使的js代码脱离浏览器运行, 实现在操作系统上运行js的代码的目的.基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。

2023-05-01 02:34:59 1169

原创 使用mybatis的映射文件操作存储过程

注意:如果只为STATEMENT,那么sql就是直接进行的字符串拼接,这样如果为字符串需要加上引号,如果为PREPARED,是使用的参数替换,也就是索引占位符,我们的#会转换为?2、PREPARED:预处理,参数,进行预编译,获取数据:#—–PreparedStatement:默认。1、STATEMENT:直接操作sql,不进行预编译,获取数据:$—Statement。: 是将sql语句的结束符号先替换成$$的意思,因为sql是遇到。其中如果在文件中,取值不同,那么获取参数的方式也不相同。

2023-03-12 23:44:37 545

原创 redis学习总结

五种:五种怎么来的?是根据业务需求来定义的。数据类型指的是value,key永远是字符串。

2022-10-25 09:21:35 239

原创 购物单问题

但是和01背包不同的是,商品被分成了主件和附件,并且,附件是当可以买主件时,才能购买,所以很明显,附件的存在是为了作为主件的某一种情况,当可以购买主件时,也就是j>=priceOfLeader时, j-priceOfLeader能否再买附件,如果可以买,是不买的满意度大还是买的满意度大,是买一件还是两件,只能买一件的话,是买附件一还是附件2.很明显这里要使用动态规划的思想来解决,由于每种商品只能买一次,所以本质上还是01背包问题.题意在这里不多赘述,只说重点.

2022-10-25 09:05:30 180

原创 计价器跳4的问题

出租车司机解释说他不喜欢数字4,所以改装了计费表,任何数字位置遇到数字4就直接跳过,其余功能都正常(23->25,399->500(400、401、402、……程序员小明打了一辆出租车去上班。出于职业敏感,他注意到这辆出租车的计费表有点问题,总是偏大。你能根据计费表的数字,计算出实际的数字吗?

2022-10-24 22:53:26 358

原创 List中删除元素的6种方法比较--前两种就是坑,因为size指针前移。

List,list,删除时候要注意

2022-10-08 22:19:29 1386

原创 AES、RSA、DH加密解密

来吧快乐

2022-10-02 14:50:21 840

原创 java和数据库之间的关系,看这一篇就足够~~~

大全

2022-09-09 17:53:09 2829

原创 maven的进阶学习

分模块开发中maven起着关键的作用

2022-09-01 02:57:52 906 2

原创 模块化的概念

学习目标:1.模块化的好处2.能够知道Common.js规定了哪些内容3.能够说出Node.js中模块的三大分类各自是什么4.能够使用npm管理包5.能够了解什么是规范化的包结构6.能够了解什么是模块的加载机制模块化的基本概念什么是模块化编程领域的模块化, 就是遵守固定的规则, 把一个大文件拆分成独立的并互相依赖的多个小模块, 好处就是提高了代码的复用性, 提高了代码的可维护性, 可以实现按需加载.模块化的规范模块化的规范就是对代码进行模块化的拆分与组合时, 需要遵守的哪些规则.比如

2022-05-03 10:33:46 842

原创 时钟案例-基于node.js的文件模块和path模块

const fs = require('fs')const path = require('path')//配置正则表达式//匹配<style></style>标签和<script></script>标签const resStyle = /<style>[\s\S]*<\/style>/ const resScript = /<script>[\s\S]*<\/script>/ //\s表示空字

2022-04-27 14:45:47 215

原创 初学node.js

一. 什么是node.jshtml, 骨架css, 样式js, 交互的行为浏览器中的javascript由几部分组成js核心语法webapi(DOM操作, BOM操作, AJAX操作)思考: 为什么javascript可以在浏览器中被执行.因为有解析引擎思考: 为什么说, javascript可以操作Dom和Bom待执行的js代码调用webAPI, 交给解析引擎, (每个浏览器都内置了操作DOM和BOM的函数)什么是js代码的运行环境浏览器->v8引擎->内置的函数no

2022-04-23 17:52:41 1004

原创 在cento7中安装jdk1.8

先卸载自带的openJDK用到的命令java -version[root@lyd lyd]# java -versionopenjdk version "1.8.0_262"OpenJDK Runtime Environment (build 1.8.0_262-b10)OpenJDK 64-Bit Server VM (build 25.262-b10, mixed mode)rpm -qa|grep java[root@lyd lyd]# rpm -qa|grep javapyth

2022-03-06 21:37:25 212

原创 redis学习

先上官网的一个图初识redis什么是noSQL数据库差异:no-structured:非结构化(没有表,约束)数据之间无关系(主键/外键)无固定语法(SQL)无事务(ACID/base)SQLnoSQL存储方式:磁盘内存扩展性:垂直水平使用场景:数据结构稳定;相关业务对数据安全性和一致性要求较高数据结构不固定,对一致性和安全性要求不高对性能要求高什么是redisnosql数据库的一种;键值类型:redis文档类型:MongoD

2022-03-02 02:46:21 338

原创 nio详解

聊聊niobio叫做同步阻塞的io模型, 数据的读取和写入必须阻塞在一个线程里面, 等待完成, 也就是说, 当连接数不是很高, 例如说, 只有不到1000的连接数的这么一个情况的时候, 这种模型是很不错的, 可以让每一个连接都专注于自己的一个io, 并且编码简单, 更不用去考虑系统的一个过载和限流的问题, 更何况线程池本身就有等待和缓冲的这么一个作用, 连接量不高的情况下是可以兼顾性能和连接量的.但是当我们的连接数一旦大的时候, 传统的bio模型是十分无力的.nio, 叫做同步非阻塞的这么一个io模型

2022-02-28 10:40:34 510

原创 transient详解

瞬态的这个关键字是用作什么的呢?对比static当一个对象要被序列化时,static修饰的变量是不能被序列化的.(静态优先于对象进入到内存中)也就是说,序列化时, 对象的属性的值将抹除, 例如明明是一个年龄为18的对象, 但是序列化之后, 反序列化回来之后, 年龄就会变为0;那么当有些属性即不想是static, 也不想可以被序列化时, 就可以使用这个关键字, transient....

2022-02-24 19:41:03 167

原创 abstract详解

abstract关键字是什么意思abstract:也就是抽象的意思,与之相反的就是具象,在java中抽象表示类不能实例成对象,方法不能有具体业务的方法体。学习抽象可以加深我们对于Java多态环境编程的理解,加深对继承这一编程手段的理解。abstract的用法在类上用抽象表示的类的用法是:(public)abstract class 类名{}在方法上(public/protected) abstract 返回值类型 方法名(参数列表);关系如果一个类中至少有一个抽象方法,那么这个类一定是抽象

2022-02-24 08:40:31 903

原创 i o详解

io介绍Package java.io通过数据流,序列化和文件系统提供系统输入和输出。以内存为基准,数据进内存称之为读,出内存称之为写。原理:Java程序——JVM——OS——OS调用io方法写OutputStream这个抽象类是表示字节输出流的所有类的超类。public abstract class OutputStreamextends Objectimplements Closeable, Flushable已知直接子类:ByteArrayOutputStream , Fil

2022-02-23 16:47:00 295

原创 三个处理字符串的类详解

java文档中Package java.lang提供对Java编程语言设计至关重要的类。String String类代表字符串。StringBuffer 线程安全,可变的字符序列。StringBuilder 一个可变的字符序列。String介绍All Implemented Interfaces:Serializable , CharSequence , Comparable < String >在java中所有使用双引号“”创建的字符串, 都被实现为此类的实例。它们

2022-02-22 12:05:15 347

原创 map详解

map介绍map是一个接口;并且不再是继承自collection接口;也就是说应该将collection和map对应起来,前者是每一个元素只有一个值,可以称之为单列集合,后者是每一个元素都有两个值,应该称之为双列集合。All Known Subinterfaces:Bindings , ConcurrentMap <K,V>, ConcurrentNavigableMap <K,V>, LogicalMessageContext , MessageContext , Nav

2022-02-21 20:03:53 1372

原创 Collections详解

Collections介绍Collections 此类仅由静态方法组合或返回集合。它包含对集合进行操作的多态算法,“包装器”,返回由指定集合支持的新集合.如果提供给它们的集合或类对象为null,则此类的方法都抛出一个NullPointerException 。Collections是一个集合工具类,可以对集合做各种操作。(例如,添加一堆数据,打乱顺序等等等等)方法static boolean addAll(Collection<? super T> c, T… elements

2022-02-21 19:11:32 358

原创 知识加油站-可变参数方法

应用情景当有些业务方法的参数列表的类型是确定的,但是参数的个数是不确定的时候。用法返回值类型 方法名(参数类型 ... 数组名);因为底层的原理就是将参数列表变成一个可变长度的数组,可以是0~任何长度。可以使用增强的for循环遍历数组。...

2022-02-21 17:48:05 50

原创 哈希值和哈希表详解

什么是哈希表jdk1.8之前都是数组加链表jdk1.8之后就不仅可以是数组加链表了,还有数组加红黑树哈希表的特点就是查询速度快那么哈希表是根据什么分组的呢?就是对象的哈希值。什么是哈希值我们以前都知道,sout(对象实例)就是一个十六进制的地址事实上就是重写了toString方法;而哈希值是一个十进制的整数,表示的也是一个地址。它是Object类的一个方法。也就是说,任何对象都可以调用hashcore方法得到自己的哈希值而事实上,hashcore是可以被重写的。字符串对象就重写

2022-02-21 14:56:28 804

原创 set详解

set介绍Set< E> 不包含重复元素的集合。All Superinterfaces:Collection < E>, Iterable < E>public interface Setextends Collection不包含重复元素的集合。没有索引,没有带索引的方法,也不能使用普通的for循环所有已知实现类:AbstractSet , ConcurrentHashMap.KeySetView , ConcurrentSkipListSet ,

2022-02-21 14:27:48 396

原创 Iterator详解

为什么要有迭代器对于集合来说,有的有下标(如ArrayList LinkedList Vector),有的没有下标。那么如果是有下标的集合遍历起来当然简单啦。只需要使用for循环和类似get(intdex)的方法就可以遍历,那么对于没有下标的集合呢?没有下标的集合怎么遍历?迭代器,即Collection集合元素通用的获取方式。取出元素之前判断集合中是否有元素,如果有,就取出来,知道直到取出集合中所有元素。简而言之,迭代器就是遍历Collection集合的。迭代器的实现原理迭代器的实现原理很好理解,

2022-02-20 22:39:31 242

原创 List详解

Java文档上的信息介绍java.utilInterface List参数类型< E > - 此列表中元素的类型All Superinterfaces:Collection , Iterable 所有已知实现类:AbstractList , AbstractSequentialList , ArrayList , AttributeList , CopyOnWriteArrayList , LinkedList , RoleList , RoleUnresolvedList ,

2022-02-20 21:15:34 676

原创 static详解

static是干啥的?静态的,静态有啥用。说白了就是声明一个变量,一个方法是类本身的,是这个类的所有对象所共有的。最重要的是,静态的资源是随着类的加载就被加载。简单小结因为Java 中的静态方法在编译时解析,静态方法不能被重写(方法重写发生在运行时阶段,为了多态)。所以,抽象方法不能是静态的。(抽象的东西的目的就是为了被继承)静态方法不能使用 this 和 super 关键字。(没有必要,this是要找到调用者,super是要找到父类)成员方法可以直接访问其他成员方法和成员变量,成员方法也

2022-02-20 16:42:02 461

原创 Linux学习-进阶指令

指令1:dfdf命令的英文全称即“Disk Free”,顾名思义功能是用于显示系统上可使用的磁盘空间。默认显示单位为KB,选项-h建议使用“df -h”的参数组合,根据磁盘容量自动变换合适的单位,更利于阅读。日常普遍用该命令可以查看磁盘被占用了多少空间、还剩多少空间等信息。指令2: free不带任何选项运行 free 命令会显示系统内存,包括空闲、已用、交换、缓冲、缓存和交换的内存总数。选项-m以mb为单位显示内存使用情况-g以gb为单位显示内存使用情况-s持续显示内存指令3:

2022-02-19 10:54:49 116

原创 jvm是什么

问题一:jvm对于Java程序来说是啥?java的字节码文件运行的地方有这个jvm才是一次编写到处运行的基础正是jvm对里,屏蔽了Java的字节码文件在操作系统上的不同,对外,提供了一样的操作环境。自动内存管理,垃圾回收机制数组下标越界异常检查多态-虚方法表…问题二: jvm在jdk中, 或者说在java开发中处于什么位置?jvm + 基础类库jre + 编译工具jdk + idese + 应用服务器ee问题三: 学习jvm有什么用?理解底层原理中高级Java

2022-02-18 23:47:44 164

原创 Linux学习-基础指令

ls含义:list就是列表,清单。列出指定对象下的所有文件/文件夹.选项-l表示list, 以详细列表的形式进行展示多详细呢?lrwxrwxrwx. 1 root root 7 2月 11 19:11 bin -> usr/bindr-xr-xr-x. 5 root root 4096 2月 11 19:28 bootdrwxr-xr-x. 21 root root 3480 2月 17 20:56 devdrwxr-xr-x. 145 root root

2022-02-17 22:51:53 811

原创 第五章_综合练习

自定义spring框架分析spring核心功能结构确定spring核心功能使用的设计模式功能实现

2022-02-17 20:42:30 154

原创 第四章_行为型模式(11种)

模板方法模式策略模式命令模式职责链模式状态模式观察者模式中介者模式迭代器模式访问者模式备忘录模式解释器模式

2022-02-17 20:40:04 149

原创 第三章_结构型模式(7种)

代理模式适配器模式桥接模式装饰者模式外观模式享元模式组合模式

2022-02-17 20:37:12 153

原创 第二章_创建者模式(5种)

单例模式原型模式工厂方法模式抽象共厂模式建造者模式

2022-02-17 20:35:20 103

原创 第一章_设计模式相关内容介绍

设计模式概述软件设计模式产生背景软件设计模式概念学习设计模式的必要性设计模式分类UML图UML类图软件设计原则开闭原则里氏代换原则依赖倒转原则迪米特法则合成复用原则

2022-02-17 20:33:27 248

原创 聊聊垃圾回收

what is garbage?例如引用计数法python使用。没有引用计数时,该堆空间成为垃圾有毛病如果垃圾之间相互引用,成为一堆垃圾,却没有其他的任何引用,这种方式就找不出来。根可达算法java使用树的搜索算法,从main的变量开始。说白了,就是一个线程(的main方法)最开始创建的那些对象。就是root, 就是根.清除算法Mark-Sweep(标记清除)逻辑简单, 但是有毛病, 碎片化严重Copying(拷贝)复制一份root能搜索到的到另一片内存, 原来这边全不要.

2022-02-16 23:00:08 108

原创 mysql的进阶学习--应用篇--锁

概述全局锁介绍全局锁就是对整个数据库实例加锁, 加锁之后的整个实例就处于只读状态, 后续的DML的写语句, DDL语句, 已经更新操作的事务提交语句都将被阻塞.其典型的使用场景就是做全局的逻辑备份, 对所有的表进行锁定, 从而获取一致性视图, 保证数据的完整性.说白了就是, 备份的数据有了订单信息, 有了订单日志,却没有减少相应的库存.https://www.daquan.cc/play/?170298-0-0.html 四海通过全局锁, 进行数据的备份表级锁行级锁...

2022-02-16 21:56:37 199

原创 mysql的进阶学习--应用篇--视图, 存储过程, 触发器

这三个我们称之为MSQL当中的存储对象, 还有一个叫做存储函数视图视图是一种虚拟存在的表, 视图当中的数据并不是在数据库中实际存在, 而是在实际的表中, 视图只是说, 我们查询到的一个数据的表现形式. 是动态生成的.简而言之, 视图不保存数据, 而是保存了查询的SQL的逻辑, 数据的来源是基本表, 叫基表, 所以我们在创建视图的时候, 的主要的工作就是创建这条查询的SQL语句上.创建create [or replace] view 视图名称[(列名列表)] as select语句 [with [c

2022-02-16 13:14:38 325

原创 mysql的进阶学习--应用篇--其他SQL语句的优化

插入数据时的优化批量插入一次性插入的500到1000条是比较合适的, 不建议一次性插入超过一千条.如果要插入几万条呢?可以将其, 分割为多条SQL语句:建议手动提交事务多条插入语句时, 建议先开启事务, 将多条插入语句作为一个事务提交.建议主键顺序插入比起主键乱序, 性能要好的多.大批量插入数据例如说, 有一个业务要插入上百万, 上千万的数据记录.此时使用insert的性能就太低了, 此时可以使用MySQL数据库提供的load指令进行插入, 操作如下:左侧就是原始的磁盘文件结构,

2022-02-16 11:56:32 532

空空如也

空空如也

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

TA关注的人

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