自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 资源 (1)
  • 收藏
  • 关注

原创 网文传送门

你认为IDEA中对你帮助最大的一款插件是什么? - 知乎

2024-02-15 02:40:01 95

原创 常用工具类方法

【代码】常用工具类方法。

2024-02-01 02:51:11 172 1

原创 项目构建

当settings.xml中定义了一个与pom.xml中有相同id的profile且为激活状态时,该profile会覆盖pom.xml中的profile。-- 版本条件还可指定范围,如[1.4,1.7)表示1.4、1.5和1.6满足,[1.4,1.7]表示1.4、1.5、1.6和1.7满足 -->-- 多个mirror的mirrorOf不能相同,即每个远程仓库都只能有一个mirror与它关联 -->-- 用于定义远程仓库的,当该profile是激活状态的时候,这里面定义的远程仓库将作为当前。

2023-08-23 11:57:35 125

原创 虚拟机 & Docker

Docker实质上是在运行的Linux中制造一个隔离的文件系统,因此它的执行效率几乎等同于所部署的Linux主机。克隆或复制CentOS虚拟机后,VMWare为了避免网卡冲突又重新为新的CentOS虚拟机虚拟出来了一个网卡eth1,这就是为什么 ifconfig 时没有 eth0 了,虽然 VMWare 为新的 CentOS 虚拟机虚拟了一个新的网卡 eth1,但它并没有更改 /etc/sysconfig /network-scripts/ifcfg-eth0 的信息,因此错误就出现了。

2023-08-23 11:56:13 111

原创 IDE编辑器

File-->Settings-->搜索javadoc-->找到左边的Inspections-->找到右边的javadoc下面的Declaration has problems in Javadoc references-->再右边的severity的等级修改为Warning。File -> Settings -> Editor -> File encodings --> 所有下拉选选UTF-8,Transparent native-to-ascii conversion打钩。

2023-08-23 11:54:10 128

原创 Web安全

HTTPS要使客户端与服务器端的通信过程得到安全保证,必须使用的对称加密算法,但是协商对称加密算法的过程,需要使用非对称加密算法来保证安全,然而直接使用非对称加密的过程本身也不安全,会有中间人篡改公钥的可能性,所以客户端与服务器不直接使用公钥,而是使用数字证书签发机构颁发的证书来保证非对称加密过程本身的安全。在用户登录了存在xss漏洞的网站后,攻击者引诱用户点击恶意链接,该链接含有恶意脚本,该恶意脚本提交到受害网站后反射回用户浏览器,然后向恶意网站发送受害用户的cookie信息。

2023-08-23 11:53:00 83

原创 设计模式(Design Pattern)

(Singleton) 单例模式(Singleton Pattern):是指确保一个类在任何情况下都绝对只有一个实例。单例模式可减少内存开销。 饿汉单例模式(无法做到延迟加载) 懒汉单例模式(注意使用双重校验锁解决线程安全问题和性能问题) public class HungrySingleton { /**定义单例属性(私有静态) */private static final HungrySingleton HUNGRY_S

2023-08-23 11:52:10 43

原创 Git & SVN

无参显示哈希、作者及日期、说明(等同无参)显示哈希、作者及日期、说明显示哈希、作者、说明显示哈希、作者、提交者、说明显示哈希、作者及日期、提交者及日期、说明显示哈希、说明于一行--oneline显示简短哈希、说明于一行-p额外显示内容差异--stat额外显示各文件的和汇总的行数变化额外显示汇总的行数变化显示修改的文件清单额外显示新增、修改、删除的文件清单--graph额外显示分支合并图。

2023-08-23 11:49:36 205

原创 Nginx

worker用来处理基本的网络事件,worker之间是平等的,他们共同竞争来处理来自客户端的请求。如果不设置动静分离,默认会通过Nginx的反向代理去找Tomcat对应的资源,现在我们在根目录下创建一个/data/www/文件夹,里边放上静态资源,比如一个html页面,在8080的那台Tomcat的webapps下也创建一个www目录,同样是放一个静态资源,当输入这个静态资源的请求时,访问到的是/data/www中的数据。keepalived是主动向nginx发送请求,如果有响应,那么则nginx可用。

2023-08-23 11:45:23 109

原创 消息队列

常用消息队列 消息模型 JMS规范(Java Message Service) AMQP模型 MQTT模型 目的地 队列(queue):点对点(一对一) 主题(topic):发布/订阅(一对多) 队列(queues) 信箱(exchanges) 绑定(bingdings) 原理

2023-08-23 11:44:42 230

原创 Zookeeper

监听机制保证 ZooKeeper 保存的任何的数据的任何改变都能快速的响应到监听了该节点的应用程序。(1)完成Leader选举后,在正式开始工作之前(接收事务请求,然后提出新的Proposal), Leader服务器会首先确认事务日志中的所有的Proposal是否已经被集群中过半的服务器Commit。Zookeeper是一个基于观察者模式设计的分布式服务管理框架:它负者存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper就通知对应的观察者。

2023-08-23 11:43:27 84

原创 Redis

Redis sorted set的使用场景与set类似,区别是set不是自动有序的,而sorted set可以通过用户额外提供一个优先级(score)的参数来为成员排序,并且是插入有序的,即自动排序。Redis set对外提供的功能与list类似是一个列表的功能,特殊之处在于set是可以自动排重的,当你需要存储一个列表数据,又不希望出现重复数据时,set是一个很好的选择,并且set提供了判断某个成员是否在一个set集合内的重要接口,这个也是list所不能提供的。

2023-08-22 22:47:58 47 1

原创 其他

本文将采用用户ID:接口名:请求参数进行请求参数的MD5摘要,同时考虑到请求时间参数的干扰性(同一个请求,除了请求参数都相同可以认为为同一次请求),排除请求时间参数进行摘要,可以在短时间内保证唯一的请求编号。建立一个去重表,当客户端请求的时候,将请求信息存入去重表进行判断。客户端调用业务端的请求的时候需要携带token,由服务端进行校验,校验成功,则允许执行业务,不成功则表示重复操作,直接返回给客户端。本文将采用自定义注解,同时采用切面AOP的方式,最大化的减少代码的侵入,同时保证了方法的易用性。

2023-08-22 22:47:07 34

原创 ★★★电商项目开发实战★★★

管理控制台-》右上角账号-》AccessKey管理-》开始使用子用户AccessKey-》创建用户-》填写登录名称(gulimall)、显示名称(gulimall),勾选OpenAPI 调用访问-》确定-》记住AccessKey ID和AccessKey Secret(只在创建时显示,不支持后续查看)-》勾选用户-》添加权限-》选择权限如AliyunOSSFullAccess-》确定-》完成。举个例子,登录场景下,User连userId的非空校验都没有通过,那么就更不需要校验手机号码,邮箱等。

2023-08-22 22:41:39 1163

原创 Spring Cloud

将本地化的配置信息(Properties、XML、YAML等)注册到配置中心,实现程序包在开发、测试、生产环境的无差别性,方便程序包的迁移。权限控制,黑白名单,性能监控,日志打印等;按照轮询策略来获取服务,如果获取的服务实例为 null 或已经失效,则在指定的时间之内不断地进行重试来获取服务,如果超过指定时间依然没获取到服务实例则返回 null。:它会为每一个依赖服务创建一个独立的线程池,这样就算某个依赖服务出现延迟过高的情况,也只是对该依赖服务的调用产生影响, 而不会拖慢其他的依赖服务。

2023-08-22 22:40:16 29

原创 Spring Boot

Spring Boot是由 Pivotal 团队提供的全新框架,用来简化 Spring 应用的初始搭建以及开发过程。Spring Boot官方文档:Spring BootSpring中文文档:Spring 中文文档微服务微服务是一种架构风格:一个应用围绕业务功能拆分为一组小型服务,每个服务运行在自己的进程内,也就是可独立部署和升级。服务之间使用轻量级HTTP交互,去中心化,服务自治。各服务可以使用不同的语言、不同的存储技术。发展对比 流行 Bea

2023-08-22 22:38:25 108

原创 ★★★SSM单体应用开发实战★★★

使用框架都是较新的版本:Spring 4.0.2 RELEASESpring MVC 4.0.2 RELEASEMyBatis 3.2.6 指定项目编码去掉项目名不去项目名将导致网页中src属性使用绝对路径时还要加上项目名很麻烦。反正项目上线都要去掉项目名。方法一:eclipse中在Servers面板中双击Tomcat服务器,转到Modules标签页,选中项目模块,右边点击Edit...,在Path中将值改为/,OK后保存对该标签页的修改。方法二:eclips

2023-08-22 22:36:13 30

原创 Spring Data JPA

当withMatcher设置的属性匹配规则与withIgnoreCase冲突时(如caseSensitive、startsWith、endsWith),withMatcher设置的优先。触发时机:get()、load()、find()、iterate()、save()、update()、saveOrUpdate()、persist()、lock()Spring Data JPA是Spring基于JPA规范封装的一套JPA应用框架,底层使用了Hibernate的JPA技术实现,可简化对数据的访问和操作。

2023-08-22 22:34:57 138

原创 Mybatis

返回Map类型的结果mybatis会将查询到的记录先转换成对应的Map 对象(以字段名作为key,以字段值作为value。 一条记录对应一个Map)。然后再将Map中的数据 存放到对应的实体对象里面。解决实体类的属性与表的字段名不一致方式一:字段使用别名方式二: 使用resultMap元素。如何使用Mapper映射器?调用SqlSession的getMapper方法,获得符合映射器 要求的对象即可。 atis介绍 简介MyBatis 是一款支持普通SQL查询、存储过程以及

2023-08-22 22:32:02 116

原创 SpringMVC

简介 MVC模式简介M-Model模型模型(Model)的职责是负责业务数据。广义的模型包括实体类、DAO、service。V-View视图视图(View)的职责是负责显示界面和用户交互(收集用户信息)。属于视图的组件一般是不包含业务逻辑和控制逻辑的JSP。C-Controller控制器控制器(Controller)是模型层M和视图层V之间的桥梁,用于控制流程。什么是SpringMVCSpringMVC是一个mvc框架,用来简化基于mvc架构的web应用程序的开发。

2023-08-22 22:29:17 29

原创 Spring

Spring是什么:Spring是一个轻量级的开源的JavaEE容器框架核心技术:控制反转IOC(InversionOf Control,IOC):对组件的依赖项的控制由组件内部管理改为由外部容器提供。控制反转包括两种方式:依赖查找(Dependency Lookup,DL):组件向容器索取依赖项(主要用于单元测试)。依赖查找包括两种方式:依赖拉取(Dependency Pull,DP):组件通过指定的容器获取依赖项。例如:new ClassPathXmlApplicatio

2023-08-22 22:28:01 34

原创 Servlet & JSP

WEB应用的演变:单机程序。缺点:无法协同办公。 网络程序(主机+终端模式)。缺点:主机售价及维护成本高。 网络程序(两层CS架构:客户端+数据库)。缺点:数据库编写业务逻辑可移植性差、连接数有限。 网络程序(三层CS架构:客户端+应用服务器+数据库)。缺点:数据通信模块增加开发难度。 网络程序(BS架构:浏览器+Web服务器+数据库)。优点:不用编写通信程序!什么是Web服务器:把本地的资源公开给外部访问的服务器。什么是Servlet:Web服务器中处理动态资源请求的扩展程序。

2023-08-21 11:54:26 244

原创 Vue

使用了 router,导入了 App 组件。对于制作原型或学习,可以这样使用最新版本:<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>按键别名:.enter、.tab、.esc、.space、.up、.down、.left、.right、.delete (捕获 Delete 和 Backspace 两个按键)在很多不同的情况下,过滤器都是有用的,比如尽可能保持 API 响应的干净,并在前端处理数据的格式。

2023-08-21 11:49:47 21

原创 ES6

ECMAScript 6(简称ES6)是ECMA于2015年6月正式发布的JavaScript语言的标准,正式名为ECMAScript 2015(ES2015)。而 JS 中没有包的概念,换来的是 模块。- entries(obj):获取对象的所有键值对数组:[[k1,v1],[k2,v2],...]ECMAScript是浏览器脚本语言的规范,JavaScript是规范的其中一种实现。map():接收一个函数,将原数组中的所有元素用这个函数处理后放入新数组返回。

2023-08-21 11:49:01 32

原创 nodejs

默认安装选项会把node和npm命令加入到系统环境变量path中。npm是一个软件包管理工具,我们用它来安装vue-cli。安装的位置:C:\Users\<用户名>\AppData\Roaming\npm。虽然安装了cnpm,但是尽量少用(?验证安装:node -v和npm -v。安装nodejs淘宝镜像加速器。下载安装nodejs。

2023-08-21 11:48:06 20

原创 Ajax

请求参数的写法:"username=tom & age=22"或者:{'username':'tom','age':22}当ajax对象发请求时,浏览器不会销毁当前页面,用户仍然可以对当前页面做其它的操作。作用:向服务器发送异步请求,然后将服务器返回的数据直接添加到符合要求的节点上。//(字符串形式:"size=3",对象形式:{"size":3})。用法:$.get(请求地址,请求参数,回调函数,服务器返回的数据类型)下的get请求缓存问题(相同URL不再请求,直接使用之前请求结果),

2023-08-21 11:46:49 18

原创 JSON

使用JavaScript原生对象JSON提供的parse()方法(如果该对象无效,说明浏览器版本太低)JavaScript对象 ←——→ JSON字符串 ←——→ JSON字符串 ←——→ Java对象。var arrayList = [zhangSan,"李四",{"name","王五"}]:{属性名:属性值, 属性名:属性值, ...}属性值如果是string,必须使用双引号括起来。'{"name":"张三","age":24}''{"name":"李四","age":24}'将Java对象转换成。

2023-08-21 11:44:53 13

原创 Excel

/sheet.getPhysicalNumberOfRows()无法排除只有空字符串的行。"导入文件与模板不符,请下载最新模板!"导入记录数不能超过5000""兜底状态(今日是否兜底)"

2023-08-21 11:41:05 22

原创 XML

XMLWriter xmlWriter = new XMLWriter(new FileOutputStream("要写出的xml文件路径"), outputFormat);//紧凑模式,节省带宽,上线时使用。选择所有属于 bookstore 元素的后代的 book 元素,而不管它们位于 bookstore 之下的什么位置。选取所有 bookstore 元素的 book 元素,且其中的 price 元素的值须大于 35.00。element.addAtribute("属性名","属性值");

2023-08-21 11:39:58 37

原创 JavaScript & jQuery

typeof(Object):查询当前类型,返回 string / number / boolean / object / function / undefined。jQuery方法为jQuery对象所特有,大部分方法返回值类型也是jQuery对象,所以方法可以连缀调用:jQuery对象.方法().方法().方法()......简写自:$(document).ready(function(){...});

2023-08-21 11:38:31 30

原创 HTML/CSS

如果内容溢出了元素内容区域,是否对内容的左/右边缘进行裁剪:visible / hidden / scroll / auto / no-display / no-content。如果内容溢出了元素内容区域,是否对内容的上/下边缘进行裁剪:visible / hidden / scroll / auto / no-display / no-content。规定元素的定位类型:static / relative / absolute / fixed (流定位/相对定位/绝对定位/固定定位)left:50px;

2023-08-21 11:37:25 79

原创 JDBC

可以先使用insert语句向表中插入一个空的blob(调用oracle的函数empty_blob()),这将创建一个blob的指针,然后再把这个empty的blob的指针查询出来,这样就可得到BLOB对象,从而读写blob数据了。Oracle定义了一个BLOB字段用于保存二进制数据,但这个字段并不能存放真正的二进制数据,只能向这个字段存一个指针,然后把数据放到指针所指向的Oracle的LOB段中,LOB段是在数据库内部表的一部分。)", new Object[]{"eric11",20,"广州天河"});

2023-08-20 11:36:37 55

原创 数据库—其他数据库

安装、配置、连接、卸载 Oracle数据库安装及协助数据库及客户端下载:打开下载清单:Database Software Downloads | Oracle 勾选“Accept License Agreement”,找到所需版本、所需系统的Oracle数据库进行下载。 如需下载客户端,则点击所需版本、所需系统的“SeeAll”链接进入下一页面,勾选“Accept License Agreement”,然后找到带client字样的链接,选择64位或32位的下载。 下载前会提示登录到o

2023-08-20 11:35:23 175

原创 数据库—MySQL高性能高可用

这样保证了GTID在一组复制中,全局唯一。当Master挂掉后,Slave-1执行完了Master的事务,Slave-2延时一些,所以没有执行完Master的事务,这个时候提升Slave-1为主,Slave-2连接了新主(Slave-1)后,将最新的GTID传给新主,然后Slave-1就从这个GTID的下一个GTID开始发送事务给Slave-2。根据此分片规则,MyCat会生成一个长度为1024的数组,索引0-255的元素值为0,索引256-511的元素值为1、索引512-1023的元素值为2。

2023-08-20 11:32:53 181 1

原创 数据库—MySQL基础

参考视频:黑马程序员 MySQL数据库入门到精通,从mysql安装到mysql高级、mysql优化全囊括_哔哩哔哩_bilibili参考笔记:♥MySQL语言知识体系详解♥ | C++ 全栈知识体系MySQL-简介 | xustudyxu's Blog 概念数据库:Database,简称DB。数据库管理系统:Database Management System,简称DBMS。结构化查询语言:Structured Query Language,简称SQL。分类

2023-08-20 11:31:34 710 1

原创 类加载器和反射

/获取Class对象所代表类的指定方法包括私有方法(参数列表为:(String 方法名, Class<?//调用方法,获取方法返回值(参数列表为:(Object 调用方法所需实例(静态不需实例写null), Object... 方法实际参数列表))在运行时通过目标类的Class对象(字节码文件对象),将目标类的字段,方法,构造器等映射成相应的类,动态获取目标类的信息,动态调用对象的方法。//方法一(只能获取类的无参构造实例):通过Class类的实例方法获取Class对象所代表的类的无参构造实例。

2023-08-20 10:38:54 15 1

原创 Socket网络编程

无连接的不可靠的传输协议:每个数据报都是一个独立的信息,包括完整的源地址或目的地址,因此不需建立发送方和接收方的连接。它在网络上以任何可能的路径传往目的地,因此能否到达目的地,到达目的地的时间以及内容的正确性都是不能被保证的。面向连接的可靠的传输协议:socket之间通过三次握手机制连接,双向数据传输,双方都可以进行发送或接收操作。数据流可靠有序无差错,有特有的通道,以字节流方式发送数据。)找域名所对应ip,如果找不到,联网去网络运营商的DNS服务器找,找到后访问该ip地址对应的服务器。

2023-08-20 10:37:56 25 1

原创 线程 笔记

概念进程和线程的区别 含义 地址空间 数据操作 通信开销 任务控制 进程 进程是系统运行程序的基本单位。 正在运行的一个程序称为一个进程。 各进程独享系统分配的地址空间 数据共享复杂但同步简单 进程之间的通信开销大 操作系统 线

2023-08-20 10:37:06 149 1

原创 IO流笔记

字节流 字符流 抽象父类 InputStream(read方法:有参参作容,无参返作容) int read() 读取一字节到int低八位并返回此int(0-255),返回-1表示EOF。 int read(byte[] b) 读取批量字节到指定数组,返回实际读取量,返回-1表示EOF。 int read(byte[] b, int off, int len)

2023-08-20 10:34:28 62 1

原创 【JDK9新特性】

当我们编写片段代码测试的时候,不想编写类和main方法,也不愿意去编译和运行,这个时候可以使用JShell工具。接下来可以编写Java代码,无需写类和方法,直接写方法中的代码即可,同时无需编译和运行,直接回车即可。启动JShell工具:在DOS命令行直接输入JShell命令。

2023-08-20 10:32:58 48 1

CentOS-6.8-x86_64-minimal安装oracle11gR2_x86_64所需所有rpm包

目录: ├─oracle │ ├─Oracle依赖包 │ ├─vnc依赖包xsetroot xterm twm │ ├─vnc包 │ └─zip unzip解压包 ├─pdksh-5.2.14-36.el5.i386.rpm └─安装方法.txt 安装方法: 第一步: 将oracle目录内所有子文件夹内的rpm包集中到oracle目录下,将此oracle目录上传到Linux主目录中(/root/),然后在主目录中以root身份运行如下命令安装: [root@localhost ~]# rpm -Uvh oracle/*.rpm 第二步: 再将pdksh-5.2.14-36.el5.i386.rpm上传至主目录(/root/),运行: [root@localhost ~]# rpm -ivh pdksh-5.2.14-36.el5.i386.rpm 如果报错: error: Failed dependencies: pdksh conflicts with ksh-20120801-37.el6_9.x86_64 # 名称可能不一样 先删除这个提示的冲突包(具体名称看报错提示): [root@localhost ~]# rpm -e ksh-20120801-37.el6_9.x86_64 然后重新运行: [root@localhost ~]# rpm -ivh pdksh-5.2.14-36.el5.i386.rpm 就可以安装了。

2018-04-30

空空如也

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

TA关注的人

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