自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

share_free的博客

自由 交流 免费

  • 博客(46)
  • 资源 (7)
  • 收藏
  • 关注

转载 MD5和SHA-1

转载自大神https://blog.csdn.net/shsalex/article/details/52300515 MD5和SHA-1都是我们耳熟能详的术语了,很多人可能知道他们跟加密有关系,但是他们是怎么做到加密的,他们各自的特点又是什么。我来简单的讲一讲。MD5和SHA-1都被称作哈希(Hash)函数,用过Java语言的人对这个术语应该相当熟悉。Java类库里的Object类定义了h...

2018-04-05 20:45:17 262

原创 jetty的maven插件翻译文档

原文链接

2018-03-28 11:23:17 195

原创 SLF4j翻译

原文链接 slf4j作为一个简单的门面,或者说是许多不同的日志框架的抽象(e.g. java.util.logging, logback, log4j)允许开发人员在发布时植入自己想要的日志框架。 在你开始使用slf4j前,我们强烈推荐你阅读两篇slf4j用户手册(SLF4J user manual).(大神已经翻译了,我就不班门弄斧了) 注意:要在您的项目中使用slf4j仅仅需要导入一个必...

2018-01-11 19:51:20 432

原创 javaIO装饰者模式类图

装饰者可以扩展类的功能,这比继承更加弹性,减少类的数量

2016-12-28 09:42:34 1343

原创 java工厂模式

工厂模式的目的就是封装对象的创建过程。工厂类的目的就是封装对象创建的过程,即使以后创建一个新添加的类,也不需要修改代码。工厂模式分为两类: 工厂方法模式和抽象工厂模式

2016-12-28 09:29:02 271

原创 观察者模式

先看类图 再看源码package observer_Push;public interface ISubject {public void registerObserver(IObserver observer);public void removeObserver(IObserver observer);public void notifyObserver();public void

2016-12-25 14:56:22 261

原创 happens-before

happens-before是用来解决内存可见性的。 hadppens-before产生的背景 JMM中每个线程都有本地内存空间,既然说是模型,当然实际上是没有的,它是cache和寄存器的作用的抽象。线程A修改的共享变量何时才能被线程B看到呢?此外,编译器重排序,处理器重排序都会优化指令的执行顺序,也就是说和程序编写的顺序不同,都会对并发编程中的内存可见性有影响。如何定义规则保证内存可加性

2016-12-20 11:21:18 336

原创 synchronized和volatile

要想 1)线程修改后的共享变量能够及时从工作内存刷新到主内存 2)其他线程能够及时把共享变量的最新值从主内存更显到自己的工作内存中 synchorized保证synchorized{}范围内的操作的原子性和共享数据的可见性syn的原子性是添加互斥锁。syn的内存可见性: 1)获取互斥锁 2) 清空工作内存 3)从主内存拷贝变量的最新值到工作内存中 4)执行代码 5)将更改后的共享变量

2016-12-13 16:29:16 350

原创 java线程上路

初始状态:就是刚刚new一个Runnable或者Thread的子类可运行: 调用start()方法。调用start()方法并不会立即运行,而是得到cpu时间片后才运行终止:run()方法运行结束线程阻塞的几种方式第一种方式阻塞IO,比如读取用户在控制台输入的一行数据Scanner sc=new Scanner(System.in); sc.nextLine();第二种:调用线程的wait()

2016-12-09 20:48:04 217

原创 java输入输出节点流和过滤流

java的IO使用装饰者模式,装饰者模式分为装饰者和被装饰者,对应的就是java IO的节点流和过滤流。 节点流就是基本流,过滤流保证节点流,添加特色功能,在构造函数中有一个InputStream参数,这是我区分节点流和过滤流的方法,我们编程一般使用过滤流的引用。以前以为FilterInputStream的子类是过滤流,现在不这样认为了。 如何知道过滤流的特色功能呢? 通过类名和方法推测。ja

2016-12-09 19:58:30 3287

原创 java异常

按照java一切皆对象的思想,错误也被封装在对象中Error 是严重错误,比如虚拟机崩溃Exception分为编译期异常和运行时异常(RuntimeException及其子类)编译期异常必须处理,否则编译不通过,更不要说运行了。 运行期异常 可处理可不处理 为啥呢? 比如ArithmeticException,当你不把0作为分母就程序就可以安全运行,0做分母程序才GG在这里讨论一下处理的情况:

2016-12-05 12:37:42 232

原创 Spring的AOP

切面是一个bean,切面中的方法就是切面的业务逻辑 通知(advises) @before 前置通知注解 它会在切入点执行之前通知切面中配置@before的方法执行,前置通知只是这个注解,并不包括切面中的方法 pointcut切点 包括两个部分表达式和签名,切入点有签名就意味着可以重用. 可以把公用的切入点放到一个类中,然后使用类的 全限定类名+切入点签名

2016-12-03 10:00:03 195

原创 spring的注解

@Resource 默认是byName注入,它有两个属性name和type 这个注解是JSR规范,所以比spring专有的@Autowired更值得推荐 @Autowired默认是byType注入 一般情况下都是把这两个注解放在成员对象上面 使用@Autowired如果有多个类型bean 符合条件,就使用 @Qualifier在形参限制指定bean的id 如果没有bean符合 就使用

2016-12-02 09:51:36 265

原创 css

body的margin四个方向都有8px的留白 由于div是块级元素,它会根据放进去的元素的大小来动态改变自己的高度,默认高度是0px,div元素的前后都换行,如果不想就使用 *{ margin:0; padding:0; } margin是元素之间的旁白,div是body的盒子模型中的内容 那么padding的作用呢? 比如ul中的li列表项是行元素,根据盒子模型,padd

2016-11-21 15:26:14 312

原创 js新手上路

js是一个神奇的东西,很流行。在w3c说js是面向对象的脚本语言,但是它 和java这种程序设计语言有一些相同,有一些不同。 js没有类,但是它要面向对象。面向对象需要满足 封装,抽象,多态 。该怎么办? 那就使用函数吧,(我觉得原型也是在这样的情况下逼出来的) 使用首字母大写的构造函数, 现在比较推荐的创建对象的方法是这样子的,或者说构造类(创建对象的模板)function Car(sC

2016-11-05 17:35:19 227

原创 shema小练习

编写shema的三种风格 千层娃娃: 只有一个根元素, 内嵌很多子元素 优点:真的没有发现,可能是比较傻瓜吧 缺点:复合类型无法复用黄瓜切片 element放在一起 complexType放在一起 优点:复合类型复用 缺点:根节点不清晰百叶窗(千层娃娃+黄瓜切片)root/>complexType>element>element>complexType>si

2016-10-22 14:24:56 268

原创 XML Schema Definition XSD

xml schema 产生的背景:替代dtd,但是编写shema和dtd文件的目的是一样的.:定义 XML 文档的合法结构。xsd文件也被人称为规约 特点 书写和xml很相似。如果你的xsd文件结构和xml结构不一致,就会 报错,为什么会报错呢?因为有一个文件,就是它http://www.w3.org/2001/XMLSchema,它规定xsd文件就该这么写, 并且还给你提供了标签元素

2016-10-20 18:58:08 413

转载 策略模式

在软件开发中也常常遇到类似的情况,实现某一个功能有多种算法或者策略,我们可以根据环境或者条件的不同选择不同的算法或者策略来完成该功能。如查找、排序等,一种常用的方法是硬编码(Hard Coding)在一个类中,如需要提供多种查找算法,可以将这些算法写到一个类中,在该类中提供多个方法,每一个方法对应一个具体的查找算法。如果需要增加一种新的查找算法,需要修改封装算法类的源代码;更换查找算法,也需要修改客

2016-10-08 17:41:26 177

原创 jdbc

jdbc是什么? java database connectivity (java数据库连接)是一组接口,之所以会有它,就是使用java操作各种数据库。 hibernate是ORM框架,它封装了jdbc,使程序员以更加简单的方式开发数据访问层,使开发中不再出现重复冗余的代码。 mysql-connector-java-5.1.40-bin.jar就是由mysql官方实现的驱动,jar包实现

2016-10-07 17:38:51 2170 1

原创 mysql的连接查询

只说连接查询,不说子查询 内连接: 等值连接 非等值连接 交叉连接 A 表有n 行,B表有m 行 结果集中有n*m 行 自身连接(需要使用别名)经典的查询每门课的间接先修课select first.cno,second.cpnofrom course first, course secondwhere first.cpno=second.cno;外连接 在通常的连接操作中,只

2016-10-05 18:50:31 207

原创 slf4j

SLF4J,即简单日志门面(Simple Logging Facade for Java),不是具体的日志解决方案,它只服务于各种各样的日志系统。按照官方的说法,SLF4J是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用其所希望的日志系统。 (Facade(外观)模式为子系统中的各类提供一个简明一致的界面,隐藏子系统的复杂性,使子系统更加容易使用。) 实际上,SLF4J所

2016-09-11 20:50:07 212

原创 java笔记

equals方法是判断两个对象的内容是否相等,而==是判断两个引用是否指向同一个对象。Object类的equals()方法的实现是public boolean equals(Object obj) { return (this == obj);}String类的equals方法重写了Object类的equals方法,因而可以判断字符序列是否相等,也就是判断内容是否相等。内存 栈:保存的

2016-09-04 19:52:08 191

原创 从wordcount中窥探mapreduce过程

1分片,格式化数据源(InputFormat) 首先mapreduce只能接受key/value形式的数据流,这也就是为什么会有分片,格式化数据源这一个过程的原因。首先一个大文件会被分割成文件块分布在集群中,InputFormat继续把文件块分片,至于一个分片的大小是有splitSize参数决定的,类InputSplit含有分片的信息,分片并不是生成新的文件副本,而是用InputSplit抽象包含

2016-09-03 09:39:34 288

原创 网络名词的全称和解释

ISP(Internet Service Provider):因特网服务提供商 NAP(Network Access Point):网络接入点 WWW(World Wild Web):万维网 WAN(Wide Area Network):广域网 LAN(Local Area Network):局域网 VLAN(Virtual LAN):虚拟局域网 PAN(Personal Area Ne

2016-08-18 09:30:15 1134

转载 Spring MVC + MongoDB + Maven搭建项目开发环境

偷则变 变则通 通则达 右侧是原文链接这里写链接内容 不是我写的,但是我懂了,所以是我的

2016-07-19 18:03:18 357

转载 搭建Spring所需的各类jar包汇总详解

Spring jar包官网下载地址: http://repo.spring.io/release/org/springframework/spring/ Spring jar包的描述:针对3.2.2以上版本 org.springframework spring-aop ——Spring的面向切面编程,提供AOP(面向切面编程)实现 org.springframework spring-aspects

2016-07-19 17:10:46 12578 1

原创 Springmvc

@RequestMapping注解的属性: value:映射请求的url,支持占位符和ant简单的匹配符(注:占位符要和@pathVariable注解一起使用,ant匹配符:?匹配一个字符,匹配任意多字符,*匹配多层目录) header:映射请求头 method:提交的方式,常用有RequestMethod.GET,RequestMethod.POST. (这三种属性和下面的Hidden

2016-07-16 12:08:17 209

原创 为速度而散列

查找某一个键,你能想到的是使用for循环逐个遍历存储key的集合,然而这是我们能想到的最低效率的方法。当然你也可能想到把key排序,然后使用Collections.binarySearch()二分查找。散列更近一步,数组是查询速度最快的数据结构,但数组是不能调整容量的,这可怎么办呢?答案就是:数组并不保存键本身,而是通过键对象生成一个数字,将其作为数组的下标。这个数字就是散列码,生成散列码的方法就叫

2016-07-11 17:24:59 331

原创 Hbase结构图

Region是表按照RowKey范围划分的不同的部分,相当于DBMS中的分区。同时Region也是表在集群中分布的最小单位,可以被分配到某一个Region Server上。

2016-07-08 17:36:35 437

原创 hbase的写和读,大合并和小合并

hbase写: 客户端向hbase服务器端发送写的请求时,hbase会同时进行两个动作,把记录写在WAL(write ahead log)日志文件中,每台服务器所有表都共享这个WAL文件。然后会写到memStore内存中,memStore是内存中的写入缓存区,如果memStore写满就刷新写到硬盘,生成HFile文件。当服务器宕机时memStore内存中的内容就没了,这时可以通过回放WAL日志文件

2016-07-08 16:57:58 8692

原创 java集合的简要体系结构

Iterator --ListIteratorListIterator列表迭代器的由来:当我想在迭代器迭代时添加元素,如果使用集合类对象的add方法就会出现并发修改异常 ConcurrentModificationException而继承Iterator的ListIterator就有增删改查的功能Collection --List ----ArraryList

2016-07-06 19:08:15 511

原创 mongodb数据库的备份

1文件系统快照 该方法需要具备两个条件即文件系统本身支持快照技术,以及在运行mongod时必须开启日记系统journaling 2复制数据文件 db.fsyncLock() 该命令会锁定数据库,禁止任何写入,并进行同步即将所有内存中的数据刷新至磁盘,一旦运行此命令monogd会将写入操作加入队列等候,这一命名会停止所有数据库的写入操作,而不只是已连接的那个数据库 在linux下执行以下命

2016-07-06 16:53:35 349

原创 MongoDB增删改查

(1)在MongoDB下创建数据库nyist; (2)在nyist数据库下以单条插入的方式添加一个新的文档; (3)在nyist数据库下以对象的方法的方式添加一个新的文档; (4)在nyist数据库下以单条方式添加一个内嵌文档; (5)在nyist数据库下以单条方式添加一个数组文档; (6)在nyist数据库下实现单个文档的替换; (7)在nyist数据库下使用inc修改器插入一条文档;

2016-07-06 16:20:18 332

原创 MongoDB启动和停止

a)使用命令行启动; b)使用配置文件启动; c)以后台服务启动 d)停止数据库 (2)MongoDB访问控制 a)绑定内网IP地址 b)设置监听端口 c)使用用户名和口令登录 (3)命令行操作; (4)掌握进程控制的方法; (5)掌握MongoDB的监控; (6)使用mongoexport导出文件 a)将nyist中的pe

2016-07-06 16:18:25 408

原创 HBase的备份和还原

1)HBase热备份的方法 (2)HBase热备的还原 (3)HBase冷备份 (4)HBase冷备的还原一 (1)启动Hbase ./start-hbase.sh(2)创建表 hbase shell create ‘test’,{NAME=>’CF’,VERSIONS=>3}3.导出数据 hadoop dfs -ls / ./hbase org.apache.hadoop.h

2016-07-06 16:15:11 1083

原创 信息摘要

package 信息摘要;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import org.apache.commons.codec.binary.Hex;import org.bouncycastle.crypto.Digest;import org.bouncycastle

2016-07-06 15:57:42 254

原创 数字签字RSA

package 数字签字;import java.security.KeyFactory;import java.security.KeyPair;import java.security.KeyPairGenerator;import java.security.NoSuchAlgorithmException;import java.security.PrivateKey;import

2016-07-06 15:56:23 181

原创 非对称加密RSA

package 非对称加密;import java.security.KeyFactory;import java.security.KeyPair;import java.security.KeyPairGenerator;import java.security.NoSuchAlgorithmException;import java.security.PrivateKey;impor

2016-07-06 15:55:07 362

原创 对称加密

package 对称加密;import java.security.Key;import java.security.NoSuchAlgorithmException;import java.security.SecureRandom;import javax.crypto.Cipher;import javax.crypto.KeyGenerator;import javax.crypto

2016-07-06 15:48:39 281

原创 基于分片和复制集的三节点mongodb集群

使用mongo的自动分片和复制集的功能搭建mongodb三节点集群,每个节点都运行三个分片服务器进程,一个路由服务器和配置服务器,该架构集群可以实现容错性,正常情况下客户端连接路由服务器,路由服务器没有主次之分,连接哪一台服务器的路由服务器都可以,路由服务器根据配置服务器找到相应分片服务器组成的复制集的主节点,如果是查询操作主节点就把任务发放给从库,如果是写操作就会把数据写在主节点的主库,并及时更新

2016-07-06 15:36:33 6673

Convex Optimization StephenBoyd

本书由美国斯坦福大学StephenBoyd教授和加州大学洛杉矶分校LievenVanden-berghe教授合著,从理论、应用和算法三个方面系统地介绍凸优化内容。 凸优化在数学规划领域具有非常重要的地位。从应用角度看,现有算法和常规计算能力已足以可靠地求解大规模凸优化问题,一旦将一个实际问题表述为凸优化问题,大体上意味着相应问题已经得到彻底解决,这是非凸的优化问题所不具有的性质。从理论角度看,用凸优化模型对一般性非线性优化模型进行局部逼近,始终是研究非线性规划问题的主要途径,因此,通过学习凸优化理论,可以直接或间接地掌握数学规划领域几乎所有重要的理论结果。由于上述原因,对于涉足优化领域的人员,无论是理论研究还是实际应用,都应该对凸优化理论和方法有一定程度的了解。

2018-06-25

xmlShema案例

千层娃娃: 只有一个根元素, 嵌套很多子元素 缺点:复合类型无法复用 黄瓜切片 element放在一起 complexType放在一起 优点:复合类型复用 缺点:根节点不清晰

2016-10-22

Action获取Web元素

Action获取Web元素: 1通过ActionContext获取 2通过ServletActionContext获取 3框架注入

2016-10-13

struts2框架转换器ppt

这是一个讲解struts2框架转换器的ppt,在这个ppt中你可以学到strutsDefaultConversion转换器的前世今生,而已免积分哦!,附带有例子。

2016-10-13

hadoop入门例子wordcount

hadoop入门例子wordcount

2016-07-05

经典蓝色后台管理系统HTML模板

2016-07-05

java加密源码

java加密源码

2016-03-19

空空如也

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

TA关注的人

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