自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

猪猪の百宝箱

在扎实的基础上开疆拓土

  • 博客(18)
  • 收藏
  • 关注

原创 设计模式——动态代理模式

代理类和被代理类有一个共同的接口,被代理类实现了接口的抽象方法,代理类调用了被代理类的方法,并加入了自己的方法。在main函数中创建代理类对象并调用即可。缺点:请求速度变慢作用:进行访问控制、远程通信、日志、缓存场景:远程代理/*真实类:代理类调用的类。事先不知道这个,用动态代理 */public class RealSubject implements Subject { ...

2018-10-18 21:40:12 111

原创 设计模式——单例模式 双重检验

//饿汉式,等调用时再创建对象public class Single {//也可以写final private static Single instance = null;//这个和下面的方法必须是静态的,这样才能类名.方法来调用方法。用的时候才new对象。 static Object object = new Object(); //否则无法调用方法。 priv...

2018-10-18 21:33:30 270

原创 设计模式——观察者模式

被观察者变化了就把主动把信息告诉监听器,观察者就采取相应措施import java.util.Observable;import java.util.Observer;public class Earth extends Observable { private String weather = "晴朗"; public String getWeather() { ...

2018-10-18 21:31:14 105

原创 设计模式——装饰模式

先选择咖啡品种,再选择往咖啡里加的东西,最后计算出价格。public class Decorator implements Ingredient { private String description = "我只是装饰器,不知道具体的描述"; @Override public String getDescription() { return descr...

2018-10-18 21:28:43 164

原创 设计模式——桥接模式

实现不同人、不同画笔、不同颜料三个类别的桥接//把笔抽象出来abstract class Brush { protected Color c; protected Person p; //不同的笔和颜色有不同的实现方式,因此各自重写抽象方法。 public abstract void paint(); //颜色不需要抽象出来,它通过多态实现即可。 ...

2018-10-18 21:23:38 175

原创 设计模式——适配器模式 类适配器 对象适配器

一个小例子,便于理解,上代码~//这是我们造的。现在想用这个方法。public class Adaptee { public void specialRequest(){ System.out.println("called specificrequest()in Adaptee"); }}//类适配器。对我们想要的方法封装一下,Target就能像之前一样...

2018-10-18 21:19:48 191

原创 生产者消费者--BlockingQueue和wait、notify两种方式实现

阻塞队列BlockingQueue实现import java.util.concurrent.BlockingQueue;public class Consumer implements Runnable { /* BlockingQueue put(e) 和 take() 这两个方法是带阻塞的。 */ BlockingQueue<String...

2018-10-18 20:52:49 746

原创 计算机基础——常见排序算法

如何插入一段漂亮的代码片冒泡排序import java.util.Arrays;import org.junit.Before;import org.junit.Test;public class BubbleSort { private Integer[] integers; // 数组应该是递增的,当递减的时候交换, public static void bubbleSor...

2018-10-18 08:21:22 3404

原创 计算机基础——KMP

/*模式串和子串匹配问题 */public class KMP { public int[] buildNext(char[] s, int[] next) { int i = -1; int j = 0; int length = next.length; while (j < length) { ...

2018-10-17 13:07:32 148 1

原创 自动部署文档

自动部署文档项目的自动部署Jenkins 概念jenkins 是一个独立的、开放源码的自动化服务器,它可以用于自动化与构建、测试、交付 或部署软件相关的各种任务。jenkins 可以通过本地系统包、DOCKER 安装,甚至可以通过安 装 Java 运行时环境(JRE)的任何机器单独运行。Jenkins 目的持续、自动地构建/测试软件项目,实现自动化部署,自动化测试提高测试和软件的部署效 率,也可...

2018-10-17 13:03:11 186

原创 常见网络攻击

网络安全 - 幕布网络安全XSS当用户提交表单的时候输入了错误信息,那么服务端校验不通过,重定向回这个页面,服务端会在该页面后面加上一段脚本程序,只是为了弹出一个消息框。那么这个带了脚本的url进行URLEncode,用户以为是正常的推广链接,一点击,用户的计算机就会执行攻击者的页面。www.xxx.com/login.do?nick="/><script>a...

2018-10-17 12:47:56 723

原创 计算机基础——数据结构

数据结构 - 幕布数据结构栈中缀表达式求值:操作数栈和运算符栈(25+x)*(a*(a+b)+b)中转后:遇到数直接输出数字加空格……后缀表达式求值:25  x  +  a  a  b  +  *  b  + 

2018-10-17 12:46:56 208

原创 计算机基础——Linux命令

Linux - 幕布Linux文件权限:rwx,x表示能否进入当前目录,没有该权限也可以查询目录下的文件名列表。rwx对于目录:r代表能否使用ls命令(如果是./test/test1/test2,test1不需要r权限),w表示能否在目录创建文件,x表示能否进入该目录作为工作目录。rwx对于文件:r表示能否查看文件名,w修改文件,x比如执行某个命令(ls)需要x权限,但修改和读...

2018-10-17 12:46:31 95

原创 计算机基础——操作系统

操作系统 - 幕布操作系统线程的状态执行:只有活动就绪才能到执行这一步。就绪:活动阻塞、静止就绪、创建后能到活动就绪这一步。静止阻塞不能到。阻塞(执行到阻塞的原因)请求使用某一资源,比如打印机。启动某种操作,如需要IO输入输出数据。没有新数据,比如等待另一个进程提供数据比如发送进程,没有东西发送,没有工作可做,自我阻塞。挂起:挂起表示活动就绪-->静止就绪,活动阻塞--&...

2018-10-17 12:45:55 199

原创 Java虚拟机

JVM - 幕布JVMHotSpot虚拟机对象的创建过程:1:new时先检查这个类是否已被加载、解析和初始化过。如果没有,要进行类加载过程。2:分配内存:指针碰撞或空闲列表。3:初始化为零值。4:设置对象头的信息:1:类型指针:这个对象是哪个类的实例2:运行时数据:哈希码、对象的GC分代年龄、锁状态标志、线程持有的锁……对象的内存布局:1:对象头:存储对象自身的运行时数据、类型...

2018-10-17 12:44:28 122

原创 Redis设计与实现笔记(第一部分)

redis设计与实现 - 幕布redis设计与实现redis服务器内的数据库redisServer{redisDb *db;:redis默认创建16个数据库,都存放在redisDb这个类型的数组里。dbnum;:数据库个数};redisClient{redisDb *db;:每个redis客户端都有自己的目标数据库作为它的操作对象。};redisDb{dict *dict;:这...

2018-10-17 12:42:37 269 1

原创 Redis实操

@TOC

2018-10-17 12:37:07 160

原创 计算机基础——MySQL

MySQL - 幕布MySQL架构如果能在查询缓存中找到该查询,就不需要解析优化执行过程,直接返回查询缓存中的结果集。连接/线程处理管理:服务器为每个客户端创建一个线程,连接的查询在这个线程中单独进行。并不会为每个新建的连接创建或者销毁线程,因为服务器会负责缓存线程,因为可以利用线程池中少量的线程服务大量的连接。安全:认证客户端(应用)的用户名、原始主机信息、密码,可以使用安全...

2018-10-17 12:24:13 142

空空如也

空空如也

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

TA关注的人

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