自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (18)
  • 收藏
  • 关注

原创 详解享元模式(Flyweight)

享元模式(Flyweight)享元模式的主要目的是实现对象的共享,即共享池,当系统中对象多的时候可以减少内存的开销,通常与工厂模式一起使用。FlyWeightFactory负责创建和管理享元单元,当一个客户端请求时,工厂需要检查当前对象池中是否有符合条件的对象,如果有,就返回已经存在的对象,如果没有,则创建一个新对象,FlyWeight是超类。一提到共享池,我们很容易联想到Java里面的JDBC连接池,想想每个连接的特点,我们不难总结出:适用于作共享的一些个对象,他们有一些共有的属性,就拿数据库连接池来

2020-09-29 16:38:12 110

原创 详解组合模式(Composite)

组合模式(Composite)组合模式有时又叫部分-整体模式在处理类似树形结构的问题时比较方便。直接来看代码:public class TreeNode { private String name; private TreeNode parent; private Vector<TreeNode> children = new Vector<TreeNode>(); public TreeNode(S

2020-09-29 16:34:51 202

原创 详解桥接模式

桥接模式就是把事物和其具体实现分开,使他们可以各自独立的变化。桥接的用意是:将抽象化与实现化解耦,使得二者可以独立变化,像我们常用的JDBC桥DriverManager一样,JDBC进行连接数据库的时候,在各个数据库之间进行切换,基本不需要动太多的代码,甚至丝毫不用动,原因就是JDBC提供统一接口,每个数据库提供各自的实现,用一个叫做数据库驱动的程序来桥接就行了。好,接下来看一下代码如何实现:实现代码:public interface Sourceable { public void m

2020-09-29 16:32:33 196

原创 前端技术之小程序API

小程序APIAPI使用说明小程序提供了很多实用的方法供开发者使用 小程序全局对象是: wx 所有的API都保存在wx对象中常用API界面交互 显示消息提示框: wx.showToast() 显示消息加载框: wx.showLoading() 关闭消息提示框: wx.hideToast() 关闭消息加载框: wx.hideLoading() 路由跳转 wx.navigateTo() wx.redirectTo() wx.switchTab() ..

2020-09-25 15:35:23 200

原创 前端技术之git

Git操作版本控制什么是版本控制?我们为什么要关心它呢?版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统为什么要使用版本控制?软件开发中采用版本控制系统是个明智的选择。有了它你就可以将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态。就算你乱来一气把整个项目中的文件改的改删的删,你也照样可以轻松恢复到原先的样子。但额外增加的工作量却微乎其微。你可以比较文件的变化细节,查出最后是谁修改了哪个地方,从而找出导致怪异问题出现的原因,又是谁在何时报告

2020-09-25 15:21:47 315

原创 前端CSS之BFC详解

BFC是什么? 在解释 BFC 是什么之前,需要先介绍 Box、Formatting Context的概念。 Box: CSS布局的基本单位 Box 是 CSS 布局的对象和基本单位, 直观点来说,就是一个页面是由很多个 Box 组成的。 元素的类型和 display 属性,决定了这个 Box 的类型。 不同类型的 Box, 会参与不同的 Formatting Context(一个决定如何渲染文档的容器), 因此Box内的元素会以不同的方式渲染。让我们看看有哪些盒子: block-l...

2020-09-25 14:20:41 392

原创 项目模块在maven里变成灰色怎么解决

建错项目,后来删除重建的时候,突然一直项目识别不了,一直提示项目找不到,后来看右边栏的maven里面,显示项目是灰色,如下图:鉴于这个原因,找到相关解决办法,步骤如下:1 file–setting2 搜maven–ignored files,如下图3 点保存后,maven里面灰色就消失了:...

2020-09-25 11:39:57 2250 2

原创 @RequestBody注解的使用场景解析

最近在做一个项目的过程中,碰到前端传过来有值,后端接收不到,开始还以为是属性名不一致导致的,反复检查也没找到属性名不一致的问题,后面才发现问题所在,先上图:前端是通过json穿过来的一个对象,后端代码如下:后来改成如下代码:以前最开始使用mvc时没太留意这个区别,找资料后整理@Requesbody的用法区别如下:1 GET、POST方式提交时, 根据 request header Content-Type 的值来判断:1.1application/x-www-form-urlencoded:

2020-09-25 11:38:11 303

原创 RabbitMQ安装说明

第一章 Windows版本安装如果计算机登录名是中文安装mq,安装不上,需要解决计算机登录名中文的问题:参考文章:https://www.cnblogs.com/bade/p/10303687.html参考文章:https://zhidao.baidu.com/question/2271164366310780988.html先按照pdf文件进行安装。安装完成之后,在看如下操作第二章 linux版本安装1.安装依赖环境在线安装依赖环境:yum install build-essentia

2020-09-25 11:36:05 105

原创 jsp知多少?

一、jsp介绍JSP(全称Java Server Pages)是由Sun 公司专门为了解决动态生成HTML文档的技术。jsp页面的访问千万不能像HTML页面一样。托到浏览器中。只能通过浏览器访问Tomcat服务器再访问jsp页面。二、jsp原理解析jsp的本质 ,其实是一个Servlet程序运行原理:①:启动tomcat服务器,在tomcat的work\Catalina\localhost目录下多出来一个项目目录②:当我们去访问http://localhost:8080/atguigu6_js

2020-09-24 20:45:12 110

原创 有关Filter过滤器介绍

一、什么是filter?作用是什么?①:Filter过滤器是JavaWeb的三大组件之一. JavaWeb的三大组件分别是:Servlet程序 Listener监听器 Filter过滤器.②:Filter过滤器是一个接口③:Filter过滤器可以拦截请求,过滤响应常见的应用场景是:①:权限检查②:日记记录③:性能检测二、filter如何使用①:自定义一个filter过滤器,实现Filter接口,重新doFilter()方法②:在web.xml中配置自定义过滤器三、filter链执行顺序

2020-09-24 20:39:21 374

原创 servlet知多少?

一、什么是Servlet1 Servlet是JavaEE规范之一.它是JavaWeb的三大组件之一.JavaWeb的三大组件分别是:Servlet程序,Filter过滤器,Listener监听器.2 Servlet是运行在web服务器上的Java小程序.3 Servlet主要是用来接收客户端发送过来的请求,并响应数据给客户端二、web.xml中配置servlet标签的含义 :告诉Tomcat服务器,我当前web工程中有一个Servlet程序 :给Servlet程序起一个别名,一般是Servlet

2020-09-24 20:35:01 100

原创 负载均衡Nginx的使用

负载均衡Nginx的使用该部分从属于数据采集部分,主要作用为实现三台数采服务器的负载均衡,因涉及新的技术—Nginx,所以单独成为一个part1.1 Nginx概述Nginx (读作“engine x”), 是一个高性能的 HTTP 和反向代理服务器 , 特点是占有内存少,并发能力强与tomcat的关系除了 tomcat 以外, apache,nginx,jboss,jetty 等都是 http 服务器。nginx 和 apache 只支持静态页面和 CGI 协议的动态语言,比如 p

2020-09-18 16:24:50 123

原创 redis常用面试题——掌握后顺利通关

1、什么是Redis?1. Redis 是完全开源免费的, 遵守 BSD 协议, 是一个高性能的 key-value 数据库。2. Redis 与其他 key - value 缓存产品有以下三个特点:3. Redis 支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。4. Redis 不仅仅支持简单的 key-value 类型的数据, 同时还提供 list, set, zset, hash 等数据结构的存储。5. Redis 支持数据的备份, 即 mast.

2020-09-18 16:23:15 412

原创 Redis入门——安装使用和基本操作

一、Redis入门1.1 redis介绍-- 1. redis是什么? remote dictionary server : 远程字典服务器,是一种'基于内存'的数据结构存储系统,所以对于内存要求很高。 字典:就是map 使用c语言写的,非常轻巧。-- 2. 能用来干什么? 1. 作为数据库 2. 作为缓存 3. 作为消息的中间件,kafka也是消息中间件 我们主要是用来做缓存,客户端访问数据时,不用直接访.

2020-09-18 16:18:52 168

原创 Apache DBUtils

简介commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影响程序的性能。DbUtils API: DbUtils :提供如关闭连接、装载JDBC驱动程序等常规工作的工具类,里面的所有方法都是静态的。主要方法如下: lpublic static void close(…) throws java.sql.SQLException: DbUtils类提供了三个

2020-09-13 11:28:52 106

原创 PreparedStatement

一、PreparedStatement概述可以通过调用 Connection 对象的 preparedStatement(String sql) 方法获取 PreparedStatement 对象。PreparedStatement 接口是 Statement 的子接口,它表示一条预编译过的 SQL 语句。PreparedStatement 对象所代表的 SQL 语句中的参数用问号(?)来表示,调用 PreparedStatement 对象的 setXxx() 方法来设置这些参数. setXxx(...

2020-09-13 11:25:28 617

原创 JDBC

概述JDBC(Java Database Connectivity)是一个独立于特定数据库管理系统(DBMS)、通用的SQL数据库存取和操作的公共接口(一组API),定义了用来访问数据库的标准Java类库,使用这个类库可以以一种标准的方法、方便地访问数据库资源JDBC为访问不同的数据库提供了一种统一的途径,为开发者屏蔽了一些细节问题。JDBC的目标是使Java程序员使用JDBC可以连接任何提供了JDBC驱动程序的数据库系统,这样就使得程序员无需对特定的数据库系统的特点有过多的了解,从而大大简化和加

2020-09-13 11:23:12 77

原创 小白使用Linux

1帮助手册man--help2日期类date ,cal3显示当前目录 Pwd4cd切换目录cd .. 返回上级目录cd / 返回至/cd , cd ~ 返回家目录cd /etc/sysconfig 通过绝对路径访问(利用tab键)cd ./sysconfig 通过相对路径访问5ls-a 全部文件,连同隐藏的文件-l 列出详细列表别名ll列表信息:Grep 配合显示内容的命令,根据跟随的内容显示,该...

2020-09-09 14:48:06 184

原创 Linux 详解权限和环境

1权限1用户Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。新增用户:useradd 新用户名设置密码: passwd 用户名用户是否存在:id 用户名切换用户:su – 切换用户名查看当前用户/登录用户:whoami/ who am I删除用户:userdel2用户组类似于角色,系统可以对有共性的多个用户进行统一的管理。新增组:groupadd 组名...

2020-09-09 14:43:23 115

原创 小白初见Linux

1权限1用户Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。新增用户:useradd 新用户名设置密码: passwd 用户名用户是否存在:id 用户名切换用户:su – 切换用户名查看当前用户/登录用户:whoami/ who am I删除用户:userdel2用户组类似于角色,系统可以对有共性的多个用户进行统一的管理。新增组:groupadd 组名删...

2020-09-09 14:35:30 130

原创 javascript之递归寻找id

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title></head><body> <script>

2020-09-09 01:33:32 1456

原创 javascript之快速排序

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title></head><body> <script>

2020-09-09 01:31:55 73

原创 自定义函数的apply方法

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title></head><body> <script>

2020-09-09 01:30:24 787

原创 2020-09-08

JavaScript中的“this”是什么?如果你曾使用JavaScript库做过开发,那么你可能已经注意到一个名为this的特定关键字。虽然this在JavaScript中非常常见,但是完全理解this关键字的原理以及在代码中如何使用对相当一部分的开发者来说着实不易。在这篇文章中,我将帮你深入理解this及其工作机制。在开始之前,请确保已安装Node。然后,打开命令行终端并运行node命令。全局环境中的“this”this的工作机制理解起来并不是很容易。我们通过将this置...

2020-09-08 14:02:00 84

原创 2020-09-08

Css——positionCSSposition属性用于指定一个元素在文档中的定位方式。top,right,bottom和left属性则决定了该元素的最终位置。定位类型定位元素(positioned element)是其计算后位置属性为relative,absolute,fixed或sticky的一个元素。相对定位元素(relatively positioned element)是计算后位置属性为relative的元素。绝对定位元素(absolutely posit...

2020-09-08 13:47:31 79

原创 2020-09-08

animation动画CSS3 主要可以分为以下几个模块:边框和背景,渐变,文字特效,字体,2D/3D转换,动画(过渡动画和动画),选择器,盒模型,多列布局,用户界面下面是动画animation:1、@keyframes创建动画@keyframes规则是创建动画。@keyframes规则内指定一个CSS样式和动画将逐步从目前的样式更改为新的样式。@keyframes myfirst{from{background:red}to{background:yellow}}@-w...

2020-09-08 13:46:36 67

原创 Vue源码分析-数据劫持

数据劫持(数据绑定)observer给配置对象data对象中的数据进行劫持 给data中的每个属性重新定义get和set 为data中每个属性创建dep对象compile在解析表达式的时候会创建对应的watcher对象,并建立watcher与dep的关系,dep在进行数据劫持时,给data每个属性都对应一个dep对象 dep对象结构:id – 每个dep对象的唯一标识,subs—包含多个watcher对象的数组特殊说明:当模板编译时,每个表达式编译会创建watcher对象,会将

2020-09-08 13:37:46 389

原创 Vue源码分析-模板解析

模板解析模板解析流程:将el的所有节点取出,放在文档碎片fragment对象中 将fragment对象的所有子节点进行递归解析处理 插值语法解析 对插值语法(表达式)进行解析(与v-text指令解析一致),使用compileText方法 根据正则对象获取匹配到的表达式字符串 从vm实例上找到表达式对应的值 将属性值设置为文本节点的textContent 指令解析 一般指令解析 从标签节点中获取到指令名和表达式 从vm实例上拿到表达式的对应的值.

2020-09-08 13:37:11 476

原创 Vue源码分析-数据代理

数据代理 实现data的数据代理 // 保存options到vm上 this.$options = options || {}; // 保存data数据到vm上 _data var data = this._data = this.$options.data; // 保存vm var me = this; // 数据代理 // 代理data属性数据到vm上 // 遍历data数据中所有属性名...

2020-09-07 21:24:11 130

原创 CSS动画相关知识详解

一.CSS3转换(transform)css3包括两种转换,2D转换和3D转换。css3的转换允许我们对元素进行旋转、缩放、移动或倾斜。不管2D转换还是3D转换都是操作的同一个的属性:transform1.1 2D转换有四种转换:rotate、scale、translate、skew1.1.1 translate在x和y方向平移元素:transform: translate(500px, 0px);说明:参数可以是像素或百分比。参数1:沿x方向的平移,正表示向右移动参数2:沿y方向的

2020-09-07 20:50:30 267

原创 使用Canvas实现刮刮卡功能

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title></head><body><style>.ggk { width: 200px; height: 100px; border: 1px solid #000; margin: 0 auto;

2020-09-07 20:46:51 164 1

原创 多种数组排序方法

1.随机生成数据var a = (function (){ var a = []; function randomInt(from, to){ return parseInt(Math.random() * (to - from + 1) + from); } for (var i = 0; i < 10000; i++){ a.push(randomInt(0, 1000000)) } return a;})();

2020-09-07 20:45:44 558

原创 java泛型和类型擦除

java泛型和类型擦除泛型的本质是参数化类型,这种参数类型可以用在类、接口和方法的创建中。泛型是在JAVA 1.5版本中才引入的,它能和以前的版本兼容的原因是泛型信息只存在于代码编译阶段,在进入 JVM 之前,与泛型相关的信息会被擦除掉,即类型擦除。根据使用情况可以分为以下三种:泛型类泛型方法泛型接口下面是一个常用的泛型类:// 一个泛型类,可以根据需要包装不同结果的返回值public class Result<T> {​ private boolean success

2020-09-03 14:35:35 152

原创 SimpleDateFromat 是线程安全的吗

1,在SimpleDateFormat转换日期是通过Calendar对象来操作的,SimpleDateFormat继承DateFormat类,DateFormat类中维护一个Calendar对象,通过DateFormat类中的注释可知:此处Calendar实例被用来进行日期-时间计算,既被用于format方法也被用于parse方法!2,在parse方法的最后,会调用CalendarBuilder的establish方法,入参就是SimpleDateFormat维护的Calendar实例,在establi

2020-09-03 14:33:48 135

原创 内存泄漏与内存溢出的对比

内存泄露 (memory leak):是指程序在申请内存后,无法释放已申请的内存空间就造成了内存泄漏,一次内存泄漏似乎不会有大的影响,但内存泄漏堆积后的后果就是内存溢出。内存溢出(out of memory): 指程序申请内存时,没有足够的内存供申请者使用,或者说,给了你一块存储int类型数据的存储空间,但是你却存储long类型的数据,那么结果就是内存不够用,此时就会报错OOM,即所谓的内存溢出,简单来说就是自己所需要使用的空间比我们拥有的内存大内存不够使用所造成的内存溢出。内存泄漏的解决方法:a)

2020-09-03 14:32:37 90

MySQL常见数据类型:字符型——尚硅谷教学文章

《MySQL常见数据类型:字符型》文章出自教学视频《尚硅谷MySQL核心技术178讲》美女老师之手,行文简洁优雅,信息量大。

2018-01-25

2018最新HTML5前端学习路线图

2018最新HTML5前端开发学习路线图,适合自学,尚硅谷内部资料,可从尚硅谷官网下载免费视频教程自学。

2018-01-25

最新大数据学习路线图-内部资料

2018最新最全大数据学习路线图,知名专业IT培训机构尚硅谷内部资料。

2018-01-25

最新Java学习路线图

2018最适合自学的Java学习路线图,尚硅谷内部资料。从零基础小白到3年左右经验的程序员都可以参考。对照资料成系统学习才能拿到高薪。

2018-01-24

泛型中? super T和? extends T的区别

经常发现有List、Set的声明,是什么意思呢?表示包括T在内的任何T的父类,表示包括T在内的任何T的子类,下面我们详细分析一下两种通配符具体的区别。

2015-12-17

MQ、JMS以及ActiveMQ关系的理解

一般MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。

2015-12-17

一站下载:各种jar包、开发工具、技术文档

一站下载:各种jar包、开发工具、技术文档 全部搞定 不用在纠结包下载的问题了

2014-10-07

Spring 面试题分析_尚硅谷_佟刚

1. 开发中主要使用 Spring 的什么技术 ? ①. IOC 容器管理各层的组件 ②. 使用 AOP 配置声明式事务 ③. 整合其他框架.

2014-09-30

Hibernate面试题分析_尚硅谷_佟刚

1. Hibernate 的检索方式有哪些 ? 2. 在 Hibernate 中 Java 对象的状态有哪些 ? 3. Session的清理和清空有什么区别? 4. load()和get()的区别 5. hibernate 优缺点......

2014-09-30

Struts2面试题分析_尚硅谷_佟刚_.pdf

Struts2面试题分析_尚硅谷_佟刚 1. 简述 Struts2 的工作流程 2. Struts2 拦截器 和 过滤器 的区别 3. 为什么要使用 Struts2 & Struts2 的优点.....

2014-09-30

Java反射机制的缺点_尚硅谷_张晓飞

1. 反射的用途 Uses of Reflection Reflection is commonly used by programs which require the ability to examine or modify the runtime behavior of applications running in the Java virtual machine. This is a relatively advanced feature and should be used only by developers who have a strong grasp of the fundamentals of the language. With that caveat in mind, reflection is a powerful technique and can enable applications to perform operations which would otherwise be impossible. 反射被广泛地用于那些需要在运行时检测或修改程序行为的程序中。这是一个相对高级的特性,只有那些语言基础非常扎实的开发者才应该使用它。如果能把这句警示时刻放在心里,那么反射机制就会成为一项强大的技术,可以让应用程序做一些几乎不可能做到的事情。

2014-09-15

115个Java面试题和答案——终极(下)

题目:115个Java面试题和答案——终极(下) 第一篇讨论了面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,本章主要讨论异常处理,Java小应用程序,Swing,JDBC,远程方法调用(RMI),Servlet和JSP。

2014-09-12

115个Java面试题和答案——终极(上)

题目:115个Java面试题和答案——终极(下) 第一篇讨论了面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,本章主要讨论异常处理,Java小应用程序,Swing,JDBC,远程方法调用(RMI),Servlet和JSP。

2014-09-12

空空如也

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

TA关注的人

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