关闭

设计模式最简Demo:装饰者模式[Decorator Pattern]

1. 程序说明新开了一家咖啡店,可以往咖啡里面加各种配料,牛奶、糖、奶泡等。按照面向对象的设计中,我们最先想到的是设计一个简单咖啡类,然后分别设计加牛奶的咖啡,加糖的咖啡,加奶泡的咖啡去继承简单咖啡类,但是当有一天,配料越来越多,而且用户需求越来越千奇百怪,比如加糖的同时又要加奶泡……那么子类会灾难性地增长,装饰者模式为解决这个而生,提供了比继承更好的解决方法。2. UML3. Java实现Cof...
阅读(11) 评论(0)

设计模式最简Demo:策略模式[Strategy Pattern]

1. 程序需求在软件开发中也常常遇到类似的情况,实现某一个功能有多种算法或者策略,我们可以根据环境或者条件的不同选择不同的算法或者策略来完成该功能。在旅行系统开发中,我们需要为旅行者准备自行车、开车、火车等不同的策略,旅行者可以根据自身情况选择不同策略。2. UML3. Java 实现Transportationpackage strategy_pattern.travel;public abstr...
阅读(14) 评论(0)

设计模式最简Demo:策略模式 + 简单工厂模式

1. 程序需求商场收费系统,需要支持正常收费,打折收费,现金返利,积分等计费方式。2. 简单工厂模式2.1 UML2.2 Java实现Cashpackage simple_factory_pattern.market;public abstract class Cash { protected double originCash; //原价 public abstract doubl...
阅读(9) 评论(0)

设计模式最简Demo:简单工厂模式[Simple Factory Pattern]

1. 程序需求实现一个计算器程序,要求能实现加减乘除等常用操作,且扩展性强。2. UML图3. Java实现Operationpackage simple_factory_pattern;public abstract class Operation { protected double numberA; protected double numberB; public abs...
阅读(24) 评论(0)

Tor - 洋葱路由 - 在Ubuntu 16.04 安装tor代理

1 系统要求Ubuntu 16.042 安装步骤sudo -i echo deb http://deb.torproject.org/torproject.org xenial main > /etc/apt/sources.list.d/tor.list echo deb-src http://deb.torproject.org/torproject.org xenial main >> /et...
阅读(18) 评论(0)

SSH常用操作

1. 登录# 口令登录[如果客户端的用户名和服务器的用户名相同,可以省略user] ssh user@host -p port #私钥 user@host 公钥登录,需要在服务器的.ssh的authorized_keys下有客户端的公钥 ssh -i 私钥 user@host -p port2. 文件操作#上传文件example到远程服务器 tar -zc example | ssh yangyue...
阅读(89) 评论(0)

Kali Linux工具集——信息搜集

0trace、tcptraceroute、traceroute描述:进行路径枚举时,传统基于ICMP协议的探测工具经常会受到屏蔽,造成探测结果不够全面的问题。与此相对基于TCP协议的探测,则成功率会有所提高,同时基于已经建立的合法TCP会话的探测则更具优势,甚至可以探测到目标内网。虽然没有银弹,但结合多种技术手段,则可以收集更加完整的目标信息,为后续渗透测试做准备。 Acccheck描述:近期泄露的...
阅读(208) 评论(0)

SSH内网穿透的N种姿势

作为一名开发者,我们生活中常遇到公司做不完的工作需要在家接着做,但是,公司的服务器有统一管理,多为内网ip,在家不能直接访问到公司服务器,如果解决这个问题呢?本文就以下两种情景给出SSH内网穿透的解决方案。...
阅读(124) 评论(0)

协议-传输层-ICMP

1. ICMP简介ICMP是(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。主要目的是为了提高 IP 数据报交付成功的机会。2. 数据...
阅读(44) 评论(0)

MySQL数据库操作总结

1 数据库1.1 数据库常用命令 show databases;#查看数据库 create database db_name;#创建数据库 use db_name;#使用数据库 drop database db_name;#删除数据库 show create database db_name\G #查看创建详情 1.2 数据库存储引擎 show engines;#查看数据库支持引擎 InnoDB、...
阅读(135) 评论(0)

Java ip工具类

1. 功能:输入一个子网中的ip和子网掩码,可以获取: 起始ip 结束ip 子网中所有ip集合 2. 代码import java.util.*;public class IpUtil { /** * 测试 * @param args */ public static void main(String[] args) { String ip...
阅读(64) 评论(0)

Spring学习(七):通过Java代码装配bean

1. 引言尽管在很多场景下通过组件扫描和自动装配实现Spring的自动化配置是更为 推荐的方式,但有时候自动化配置的方案行不通,因此需要明确配置 Spring。比如说,你想要将第三方库中的组件装配到你的应用中,在这种情况下,是没有办法在它的类上添加@Component和@Autowired注解的,因此 就不能使用自动化装配的方案了。在这种情况下,你必须要采用显式装配的方式。在进行显式配置的时候,有两...
阅读(53) 评论(0)

Spring学习(六):各种注解解释——长期更新

1. 什么是注解解释何为注解的最佳方式就是元数据这个词:描述数据自身的数据。注解就是代码的元数据,他们包含了代码自身的信息。注解可以被用在包,类,方法,变量,参数上。被注解的代码并不会直接被注解影响。这只会向第三系统(比如Spring)提供关于自己的信息以用于不同的需求。声明一个注解需要使用“@”作为前缀,这便向编译器说明,该元素为注解。我们目前已经接触过了几个Spring注解,那么我们来看下这些注...
阅读(47) 评论(0)

协议-网络层-IPv4

1. 数据包准备我们首先通过wireshark抓取一个ICMP的数据包,该协议是IPv4上层的协议,我们可以通过分析该数据包查看IPv4数据包的组成。0000 04 f9 38 b8 31 5d 00 21 86 29 c5 aa 08 00 45 00 0010 00 3c 41 88 00 00 40 01 00 00 0a 0a 0c a3 0a 0a 0020 02 58 08...
阅读(179) 评论(0)

Spring学习(五):自动化装配Bean

1. 引言在本系列之前的文章中,我们实现了Spring的HelloWorld应用,也通过了解Spring的容器知道了容器的职责是创建程序中的bean并通过依赖注入把协调这些对象之间的关系,但是要创建哪些bean并且如何装配是你需要告诉Spring的,Spring提供了三种主要的装配机制: 在XML中显式配置 在Java中显式配置 隐式的bean发现机制和自动装配 三种方式都可以实现bean的装配,具...
阅读(54) 评论(0)
44条 共3页1 2 3 下一页 尾页
    文章分类
    文章存档