自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Django

在全局urls.py中添加login路径。

2023-07-02 22:51:46 623

原创 SQLlite

工作中初识sqlite,记录用法,便于日后工作中使用。

2022-11-21 19:29:40 3727 1

原创 分布式事务

分布式事务1.什么是分布式事务?分布式事务就是要在分布式系统中实现事务,而在分布式系统中分布式事务其实是由多个本地事务组成的。2.分布式事务特性(1)Consistency (一致性):“all nodes see the same data at the same time”,即更新操作成功并返回客户端后,所有节点在同一时间的数据完全一致,这就是分布式的一致性。一致性的问题在并发系统中不可避免,对于客户端来说,一致性指的是并发访问时更新过的数据如何获取的问题。从服务端来看,则是更新如何复制分布到

2021-08-21 15:33:18 265

原创 什么是RBAC

一、RBAC是什么1、RBAC模型概述RBAC模型(Role-Based Access Control:基于角色的访问控制)模型是20世纪90年代研究出来的一种新模型,但其实在20世纪70年代的多用户计算时期,这种思想就已经被提出来,直到20世纪90年代中后期,RBAC才在研究团体中得到一些重视,并先后提出了许多类型的RBAC模型。其中以美国George Mason大学信息安全技术实验室(LIST)提出的RBAC96模型最具有代表,并得到了普遍的公认。RBAC认为权限授权的过程可以抽象地概括为:Who

2021-08-21 14:24:32 59028 3

原创 什么是 CAS

CAS:CAS(Compare And Swap/Set)比较并交换,CAS 算法的过程是这样:它包含 3 个参数CAS(V,E,N)。V 表示要更新的变量(内存值),E 表示预期值(旧的),N 表示新值。当且仅当 V 值等于 E 值时,才会将 V 的值设为 N,如果 V 值和 E 值不同,则说明已经有其他线程做了更新,则当前线程什么都不做。最后,CAS 返回当前 V 的真实值。CAS 操作是抱着乐观的态度进行的(乐观锁),它总是认为自己可以成功完成操作。当多个线程同时使用 CAS 操作一个变量时,只有一

2021-08-09 09:20:46 206

原创 Mysql优化

Mysql优化优化SQL的原则:(1)减少数据访问: 设置合理的字段类型,启用压缩,通过索引访问等减少磁盘IO(2返回更少的数据: 只返回需要的字段和数据分页处理 减少磁盘io及网络io(3)减少交互次数: 批量DML操作,函数存储等减少数据连接次数(4)减少服务器CPU开销: 尽量减少数据库排序操作以及全表查询,减少cpu 内存占用(5)利用更多资源: 使用表分区,可以增加并行操作,更大限度利用cpu资源SQL优化的方向:优化MySQL主要从两个方向:硬件级别(Hardware Level

2021-07-31 14:58:27 177

原创 Redis

Redis什么是RedisRedis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。Redis 通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(Hash)、列表(list)、集合(sets)和有序集合(sorted sets)等类型。Redis的特点(1)Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行

2021-07-26 21:09:00 187 1

原创 JAVA锁机制

1.乐观锁乐观锁是一种乐观思想,即认为读多写少,遇到并发写的可能性低,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,采取在写时先读出当前版本号,然后加锁操作(比较跟上一次的版本号,如果一样则更新),如果失败则要重复读-比较-写的操作。java 中的乐观锁基本都是通过 CAS 操作实现的,CAS 是一种更新的原子操作,比较当前值跟传入值是否一样,一样则更新,否则失败。2.悲观锁悲观锁是就是悲观思想,即认为写多,遇到并发写的可能性高,每次

2021-07-25 21:18:18 694 3

原创 JAVA 四种引用类型

强引用在 Java 中最常见的就是强引用,把一个对象赋给一个引用变量,这个引用变量就是一个强引用。当一个对象被强引用变量引用时,它处于可达状态,它是不可能被垃圾回收机制回收的,即使该对象以后永远都不会被用到 JVM 也不会回收。因此强引用是造成 Java 内存泄漏的主要原因之一。软引用软引用需要用 SoftReference 类来实现,对于只有软引用的对象来说,当系统内存足够时它不会被回收,当系统内存空间不足时它会被回收。软引用通常用在对内存敏感的程序中。弱引用弱引用需要用 WeakReferen

2021-07-25 20:58:18 239 2

原创 十一、实操篇-进程管理

十一、实操篇-进程管理在 LINUX 中,每个执行的程序都称为一个进程。每一个进程都分配一个 ID 号(pid,进程号)。=>windows => linux每个进程都可能以两种方式存在的。前台与后台,所谓前台进程就是用户目前的屏幕上可以进行操作的。后台进程 则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到关机才才结束。显示系统执行的进程ps 命令是用来查看目前系统中,有哪些正在执行,以

2021-07-24 10:36:01 151 1

原创 九、Linux 实操篇-网络配置

Linux 实操篇-网络配置ping 测试主机之间网络连通性基本语法 ping 目的主机 (功能描述:测试当前服务器是否可以连接目的主机)应用实例 测试当前服务器是否可以连接百度 ping www.baidu.com设置主机名和 hosts 映射设置主机名为了方便记忆,可以给 linux 系统设置主机名, 也可以根据需要修改主机名指令 hostname : 查看主机名修改文件在 /etc/hostname 指定修改后,重启生效应用实例: 用户在浏览器输入了 ww

2021-07-24 10:18:17 152 1

原创 MyBatis

MyBatis 简介1.1 MyBatis 历史1)MyBatis 是 Apache 的一个开源项目 iBatis, 2010 年 6 月这个项目由 Apache SoftwareFoundation 迁移到了 Google Code,随着开发团队转投 Google Code 旗下, iBatis3.x正式更名为 MyBatis ,代码于 2013 年 11 月迁移到 Github2)iBatis 一词来源于“internet”和“abatis”的组合,是一个基于 Java 的持久层框架。 iBa

2021-07-22 14:06:53 179 1

原创 八、定时任务调度

八、定时任务调度1.crontab 进行 定时任务的设置任务调度:是指系统在某个时间执行的特定的命令或程序。 任务调度分类:1.系统工作:有些重要的工作必须周而复始地执行基本语法crontab -e 编辑 crontab 的定时任务crontab -l 查询 crontab 任务crontab -r 删除所有的 crontab 任务快速入门设置任务调度文件:/etc/crontab 设置个人任务调度。执行 crontab –e 命令。 接着输入任务到调

2021-06-23 10:38:22 152

原创 七、 组管理和权限管理

七、 组管理和权限管理在 linux 中的每个用户必须属于一个组,不能独立于组外。在 linux 中每个文件 有所有者、所在组、其它组的概念。1 查看文件的所有者指令:ls –ahl2 修改文件所有者指令:chown 用户名 文件名3组的创建基本指令 groupadd 组名当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组(默认)。4 查看文件/目录所在组基本指令 ls –ahl5修改文件/目录所在的组基本指令 chgrp 组名 文件名6 改变用户所在组user

2021-06-06 09:09:43 94

原创 六、实用指令

六、实用指令1.运行级别0 :关机1 :单用户【找回丢失密码】2:多用户状态没有网络服务3:多用户状态有网络服务4:系统未使用保留给用户5:图形界面6:系统重启2.找回root密码3.帮助指令基本语法:man [命令或配置文件](功能描述:获得帮助信息)4.help 指令基本语法:help 命令 (功能描述:获得 shell 内置命令的帮助信息)5.文件目录类指令5.1.pwd指令基本语法 :pwd (功能描述:显示当前工作目录的绝对路径)5.2 ls指令ls 指令 基本

2021-06-05 15:32:16 925 1

原创 五、用户管理

五、用户管理Linux 系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个 账号,然后以这个账号的身份进入系统1.添加用户1.1基本语法 useradd 用户名 2.指定修改密码2.1基本语法 passwd 用户名 3.删除用户3.1基本语法 userdel 用户名 4.查询用户指令信息4.1基本语法 id 用户名 5.切换用户5.1基本语法su - 切换用户名从权限高的用户切换到权限

2021-06-04 14:55:46 93

原创 四、开机、重启和用户登录注销

四、开机、重启和用户登录注销1.基本指令shutdown –h now 立该进行关机shudown -h 1 “hello, 1 分钟后会关机了”shutdown –r now 现在重新启动计算机halt 关机,作用和上面一样.reboot 现在重新启动计算机sync 把内存的数据同步到磁盘.2.注意点不管是重启系统还是关闭系统,首先要运行 sync 命令,把内存中的数据写到磁盘中目前的 shutdown/reboot/halt 等命令均已经在关机前进

2021-06-04 14:52:13 141

原创 三、vi和vim编辑器

四、vi和vim编辑器1.vi 和 vim 的基本介绍Linux 系统会内置 vi 文本编辑器Vim 具有程序编辑的能力,可以看做是 Vi 的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。 代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。2.vi 和 vim 常用的三种模式正常模式 以 vim 打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可以使用『上下左右』按键来 移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容, 也可

2021-06-01 19:14:04 177 2

原创 二、Linux的目录结构

二、Linux的目录结构1.基本介绍linux 的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下再创建其他的 目录深刻理解 linux 树状文件目录是非常重要的记住一句经典的话:在 Linux 世界里,一切皆文件(!!)2.具体的目录结构/bin [常用] (/usr/bin 、 /usr/local/bin) 是 Binary 的缩写, 这个目录存放着最经常使用的命令/sbin (/usr/sbin 、 /usr/local/sb

2021-05-31 16:51:23 563

原创 一、Linux的概述

一、Linux的概述linux 是一个开源、免费的操作系统,其稳定性、安全性、处理多并发已经得到业界的认可,目前很多企业级的项目(c/c++/php/python/java/go)都会部署到 Linux/unix 系统上。常见的操作系统(windows、IOS、Android、MacOS, Linux, Unix)Linux 吉祥物Linux的历史Linux最初是由芬兰赫尔辛基大学学生Linus Torvalds由于自己不满意教学中使用的MINIX操作系统, 所以在1990年底由于个人爱好设计出

2021-05-31 16:50:27 125 1

原创 EL表达式和JSTL

EL表达式和JSTLEL表达式EL表达式全称:Expression Language,即表达式语言EL表达式作用:代替JSP页面中表达式脚本进行数据的输出EL表达式比JSP的表达式脚本简洁很多EL表达式的格式是:${表达式} ,注:EL表达式写在jsp页面中,表达式一般是域对象的key运算符:算数运算符: + - * /(div) %(mod)比较运算符: > < >= <= == !=逻辑运算符: &&(and) ||(or) !(not)

2021-04-25 14:04:24 154 1

原创 JSP

JSP概念:Java Server Pages: java服务器端页面可以理解为:一个特殊的页面,其中既可以指定定义html标签,又可以定义java代码用于简化书写!!!原理JSP本质上就是一个ServletJSP的脚本:JSP定义Java代码的方式(1)<% 代码 %>:定义的java代码,在service方法中。service方法中可以定义什么,该脚本中就可以定义什么。(2)<%! 代码 %>:定义的java代码,在jsp转换后的java类

2021-04-23 20:24:35 146 3

原创 MVC三层架构

MVC三层架构什么是MVC:model view Controller 模型、视图、控制器用户直接访问控制层,控制层就可以直接操作数据库servlet--CRUD-->数据库弊端:程序十分臃肿,不利于维护Servlet的代码中:处理请求、响应、视图跳转、处理JDBC、处理业务代码、处理逻辑代码 架构:没有什么是加一层解决不了的!程序员|JDBC|Mysql 、Oracle 、SQLServerMVC三层架构model:业务处理:业务逻辑(Service)数

2021-04-22 14:57:44 1042 4

原创 Filter和Listener

Filter和ListenerFilter概念:生活中的过滤器:净水器,空气净化器,土匪、web中的过滤器:当访问服务器的资源时,过滤器可以将请求拦截下来,完成一些特殊的功能。过滤器的作用:一般用于完成通用的操作。如:登录验证、统一编码处理、敏感字符过滤…快速入门:步骤:定义一个类,实现接口Filter复写方法配置拦截路径web.xml注解配置文件:<?xml version="1.0" encoding="UTF-8"?>&lt

2021-04-21 11:52:21 111

原创 Cookie和Session

Cookie和Session会话技术:会话:一次会话中包含多次请求和响应。一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止功能:在一次会话的范围内的多次请求间,共享数据方式:客户端会话技术:Cookie服务器端会话技术:SessionCookie概念:客户端会话技术,将数据保存到客户端快速入门:使用步骤:创建Cookie对象,绑定数据new Cookie(String name, String value)发送Cookie对象

2021-04-20 12:36:27 90

原创 ServletContext

ServletContext对象:1. 概念:代表整个web应用,可以和程序的容器(服务器)来通信2. 获取: 1. 通过request对象获取 request.getServletContext(); 2. 通过HttpServlet获取 this.getServletContext();3. 功能: 1. 获取MIME类型: * MIME类型:在互联网通信过程中定义的一种文件数据类型 * 格式: 大类型/小类型 text/html image/jpeg * 获取

2021-04-20 12:34:20 59

原创 Response对象

Response对象功能:设置响应消息1. 设置响应行 1. 格式:HTTP/1.1 200 ok 2. 设置状态码:setStatus(int sc) 2. 设置响应头:setHeader(String name, String value) 3. 设置响应体: * 使用步骤: 1. 获取输出流 * 字符输出流:PrintWriter getWriter() * 字节输出流:ServletOutputStream getOutputStream() 2

2021-04-19 11:25:52 95

原创 Request

Request1. request对象和response对象的原理request和response对象是由服务器创建的。我们来使用它们request对象是来获取请求消息,response对象是来设置响应消息2. request对象继承体系结构: ServletRequest – 接口| 继承HttpServletRequest – 接口| 实现org.apache.catalina.connector.RequestFacade 类(tomcat)3. request功能:获取请求

2021-04-18 17:23:33 74

原创 HTTP

什么是HTTPHyper Text Transfer Protocol (超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP之上。文本:html,字符串超文本:图片,音乐,视频定位,地图。。。。80HTTPS:安全的443特点:1. 基于TCP/IP的高级协议2. 默认端口号:803. 基于请求/响应模型的:一次请求对应一次响应4. 无状态的:每次请求之间相互独立,不能交互数据两个时代HTTP/1.0:客户端可以与web服务器连接后,只能获得一个web资源,断

2021-04-17 23:07:53 72

原创 web服务器

ASP微软:国内最早流行的在HTML中嵌入了VB的脚本,ASP+COM在ASP开发中,基本一个页面都有几千行的业务代码,页面极其混乱维护成本高!C#PHPPHP开发速度很快,功能很强大,跨平台,代码简单无法承载大量的访问(局限性)JSP/Servlet:B/S:浏览和服务器C/S:客户端和服务器sun公司主推的B/S架构基于java语言的(所有的大公司,或者一些开源的组件,都是用java写的)可以承载三高问题带来的影响语法类似于ASPTomcatTomcat是

2021-04-16 12:55:47 261

原创 web

web开发:web,网页的意思,www.baidu.com静态webhtml,css提供给所有人看的数据始终不会发生变换!动态web淘宝,几乎是所有的网站提供给所有人看的数据始终会发生变化,每个人在不同的时间,不同的地点看的信息各不相同技术栈:Servlet/JSP ,ASP,PHP在Java中,动态web资源开发的技术统称为Javawebweb应该程序web应用程序:可以提供浏览器访问的程序:a.html、b.html、多个web资源,这些web资源可以被外界所访

2021-04-15 16:47:58 68

原创 排序算法

排序算法1.直接排序算法直接对数组进行排序(1)算法步骤将数组的元素挨个从第一个与后面所有的元素比较大小找到最小的,然后在比较第二个,直至遍历完整个数组(2)代码实现 import java.util.Arrays; public class 直接排序 { public static void main(String[] args) { int[] array = {1,4,8,3,69,26,14,36,7,9}; directSort(arra

2021-04-14 15:47:59 591

原创 HTML

web概念概述JavaWeb:* 使用Java语言开发基于互联网的项目软件架构:C/S: Client/Server 客户端/服务器端在用户本地有一个客户端程序,在远程有一个服务器端程序如:QQ,迅雷…优点:用户体验好缺点:开发、安装,部署,维护 麻烦B/S: Browser/Server 浏览器/服务器端只需要一个浏览器,用户通过不同的网址(URL),客户访问不同的服务器端程序优点:开发、安装,部署,维护 简单缺点:如果应用过大,用户的体验

2021-04-14 11:34:39 84

原创 XML

XML1. 概念:Extensible Markup Language 可扩展标记语言可扩展:标签都是自定义的。 功能存储数据配置文件在网络中传输xml与html的区别xml标签都是自定义的,html标签是预定义。xml的语法严格,html语法松散xml是存储数据的,html是展示数据2. 语法:基本语法:xml文档的后缀名 .xmlxml第一行必须定义为文档声明xml文档中有且仅有一个根标签属性值必须使用引号(单双都可)引起来标签必须正确关闭

2021-04-12 21:40:25 88

原创 数据库连接池

数据库连接池概念:其实就是一个容器(集合),存放数据库连接的容器。当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归还给容器。好处:节约资源用户访问高效实现:标准接口:DataSource javax.sql包下的方法:获取连接:getConnection()归还连接:Connection.close()。如果连接对象Connection是从连接池中获取的,那么调用Connecti

2021-04-07 14:58:44 154

原创 50.最长公共前缀

50.最长公共前缀题目描述编写一个函数来查找字符串数组中的最长公共前缀。输入["abca","abc","abca","abc","abcc"]返回值"abc"分析1.首先对String数组进行判空处理,为了达到代码的健壮性2.对String数组进行排序3.遍历首尾的字符串,若有不相等的,跳出循环。4.截取前面公共的字符串,即就是最长公共字符串前缀代码实现 import java.util.*; public class Solution { publ

2021-04-01 21:12:43 275 1

原创 JDBC

什么是JDBC?概念:Java DataBase Connectivity Java 数据库连接, Java语言操作数据库。JDBC本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。JDBC快速入门:* 步骤: 1. 注册驱动 2. 获取数据库连接对象 Connection 3. 定义sql 4. 获取执行sql语句的对象 State

2021-03-31 17:06:54 3120 4

原创 49.在转动的有序数组中寻找目标值

49.在转动的有序数组中寻找目标值题目描述给出一个转动过的有序数组,你事先不知道该数组转动了多少(例如,0 1 2 4 5 6 7可能变为4 5 6 7 0 1 2).在数组中搜索给出的目标值,如果能在数组中找到,返回它的索引,否则返回-1。假设数组中不存在重复项。输入[3,2,1],1返回值2分析1.无论该数组转动多少次,我们都可以通过遍历来获取得到他的下标值2.将目标值与遍历的数组中的元素值比较即可,如果相等就返回该元素是下标,如果遍历完成后,还是没有找到与目标值相等的,那么

2021-03-31 10:35:23 1011

原创 48.反转数字

48.反转数字题目描述将给出的32位整数x翻转。例1:x=123,返回321例2:x=-123,返回-321你有注意到翻转后的整数可能溢出吗?因为给出的是32位整数,则其数值范围为−2^{31}, 2^{31} − 1。翻转可能会导致溢出,如果反转后的结果会溢出就返回 0。输入-123返回值-321分析1.要反转数字,首先需要获取到每一位的数字,然后才可以进行反转2.那么就先获取到最后一位数字,对输入的数字取余即可获取到最后一位数字3.然后给他加在新的结果上,因为是反转嘛,所以

2021-03-30 16:15:25 1612 2

原创 网络编程

网络编程1.软件结构C/S结构 :全称为Client/Server结构,是指客户端和服务器结构。常见程序有QQ、迅雷等软件。B/S结构:全称为Browser/Server结构,是指浏览器和服务器结构。常见浏览器有谷歌、火狐等2.网络通信协议网络通信协议:通过计算机网络可以使多台计算机实现连接,位于同一个网络中的计算机在进行连接和通信时需要遵守一定的规则,这就好比在道路中行驶的汽车一定要遵守交通规则一样。在计算机网络中,这些连接和通信的规则被称为网络通信协议,它对数据的传输格式、传输速率、传

2021-03-29 10:20:02 175

空空如也

空空如也

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

TA关注的人

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