- 博客(69)
- 资源 (8)
- 收藏
- 关注
原创 JS 闭包
前言:JavaScript是一种应用非常广泛的语言,其也有一些自身特点和优势,本文重在讲述其作用域机制以及闭包,会从一些实例来探讨其机理。作用域在JavaScript程序员日常使用中有不同的含义,如下所示:this绑定的值;this绑定的值定义的执行上下文;一个变量的“生命周期”;变量的值解析方案,或词法绑定。下面将讲诉JavaScript作用域概念,由此引出变量值
2017-04-10 15:11:19
399
原创 centos7修改网卡名
我实际测试中修改好像不管用,需要修改启动项,警用biosdevname程序具体操作是修改/etc/default/grub文件在GRUB_CMDLINE_LINUX一行中添加net.ifnames=0 biosdevname=0保存文件后然后运行[plain] view plain copygrub2-mkconfig
2017-03-27 11:27:48
472
原创 利用tomcat服务器配置https双向认证、https单向认证-ssl、tls
关键字:利用tomcat服务器配置https双向认证、https单向认证-ssl、tls 首先推荐另一篇不错的文章:http://lixor.iteye.com/blog/1532655 很多朋友、同事问过一个问题,https/ssl怎么做,干什么用的等,今天写出来供大家参考,希望对大家有所帮助. 背景讲述: 1.单向认证,就是传输的数据加密过了,但是不会校验客户端的来源 2.
2017-02-21 09:07:21
534
原创 分布式Unique ID的生成方法一览
来源:江南白衣链接:calvin1978.blogcn.com/articles/uuid.html分布式的Unique ID的用途如此广泛,从业务对象Id到日志的TraceId,本文总结了林林总总的各种生成算法。1. 发号器我接触的最早的Unique ID,就是Oracle的自增ID。特点是准连续的自增数字,为什
2016-11-09 22:15:02
653
原创 Hibernate 一级缓存 二级缓存 1+N问题 查询缓存
在本篇随笔里将会分析一下hibernate的缓存机制,包括一级缓存(session级别)、二级缓存(sessionFactory级别)以及查询缓存,当然还要讨论下我们的N+1的问题。随笔虽长,但我相信看完的朋友绝对能对hibernate的 N+1问题以及缓存有更深的了解。一、N+1问题首先我们来探讨一下N+1的问题,我们先通过一个例子来看一下,什么是N+1问题:li
2016-09-09 11:50:58
1492
原创 随机抽样问题(蓄水池问题 Reservoir Sampling)
【问题】随机抽样问题表示如下:要求从N个元素中随机的抽取k个元素,其中N无法确定。这种应用的场景一般是数据流的情况下,由于数据只能被读取一次,而且数据量很大,并不能全部保存,因此数据量N是无法在抽样开始时确定的;但又要保持随机性,于是有了这个问题。所以搜索网站有时候会问这样的问题。这里的核心问题就是“随机”,怎么才能是随机的抽取元素呢?我们设想,买彩票的时候,由于所
2016-08-31 10:25:32
341
原创 Linux IO模式-阻塞io、非阻塞io、多路复用io
一 概念说明在进行解释之前,首先要说明几个概念:- 用户空间和内核空间- 进程切换- 进程的阻塞- 文件描述符- 缓存 I/O用户空间与内核空间现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的32次方)。操作系统的核心是内核,独立于普通的应用程序,可以访问受保护的内存空间,也有访问底层硬件设备的所有权
2016-08-29 11:04:31
4953
转载 Linux文件系统十问,你知道吗?
关于文件系统,相信大家都不陌生。身为攻城狮的我们几乎天天都会与之打交道,但是细深剖一下,其中又有多少是我们理解深度不够的呢。那么让我们一起来看一下下面这一组Linux文件系统相关的问题吧:1、机械磁盘随机读写时速度非常慢,操作系统是采用什么技巧来提高随机读写的性能的?2、touch一个新的空文件占用磁盘空间吗? 占用的话占用多少?3、新建一个空目录占用磁盘空间吗
2016-08-10 14:33:51
1102
转载 浅谈IO调度算法
IO调度器(IO Scheduler)是操作系统用来决定块设备上IO操作提交顺序的方法。存在的目的有两个,一是提高IO吞吐量,二是降低IO响应时间。然而IO吞吐量和IO响应时间往往是矛盾的,为了尽量平衡这两者,IO调度器提供了多种调度算法来适应不同的IO请求场景。其中,对数据库这种随机读写的场景最有利的算法是DEANLINE。接着我们按照从简单到复杂的顺序,迅速扫一下Linux 2.6内核提供的几
2016-06-26 10:10:04
539
转载 LVS/DR模式原理剖析(FAQs)
1. LVS/DR如何处理请求报文的,会修改IP包内容吗?1.1 vs/dr本身不会关心IP层以上的信息,即使是端口号也是tcp/ip协议栈去判断是否正确,vs/dr本身主要做这么几个事:1)接收client的请求,根据你设定的负载均衡算法选取一台realserver的ip;2)以选取的这个ip对应的mac地址作为目标mac,然后重新将IP包封装成帧转发给这台RS;
2016-05-15 22:55:37
359
原创 MySQL索引类型总结和使用技巧以及注意事项
在数据库表中,对字段建立索引可以大大提高查询速度。假如我们创建了一个 mytable表:复制代码 代码如下:CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL );我们随机向里面插入了10000条记录,其中有一条:5555, admin。在查找username="admin"的记录
2016-03-14 16:33:46
410
原创 Trie树的Java实现
第一部分、Trie树1.1、什么是Trie树 Trie树,即字典树,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:最大限度地减少无谓的字符串比较,查询效率比哈希表高。 Trie的核心思想是空间换时间。利用字符串的公共前缀来降低查询时间的开销以达到
2016-03-12 14:01:24
2166
转载 kafka入门:简介、使用场景、设计原理、主要配置及集群搭建(转)
一、入门 1、简介 Kafka is a distributed,partitioned,replicated commit logservice。它提供了类似于JMS的特性,但是在设计实现上完全不同,此外它并不是JMS规范的实现。kafka对消息保存时根据Topic进行归类,发送消息者成为Producer,消息接受者成为Consumer,此外kafka集群有多个kafka实例
2016-03-09 11:45:40
392
转载 可扩展 Web 架构与分布式系统
开放源代码已经成为一些大型网站的基本原则。而在这些网站成长的过程中,一些优秀的实践经验和规则也出现在他们的结构中。本文旨在介绍一些在大型网站结构设计的过程中需要注意的关键问题以及实现目标的基础工作。本文侧重于介绍网络系统,尽管一些准则在其他分布式系统中也是适用的。1.1. web分布式系统的设计原则搭建和运营一个可伸缩的web站点或者应用程序意味着什么?在原始层面上
2016-02-06 09:57:47
1026
转载 Java NIO:浅析I/O模型
也许很多朋友在学习NIO的时候都会感觉有点吃力,对里面的很多概念都感觉不是那么明朗。在进入Java NIO编程之前,我们今天先来讨论一些比较基础的知识:I/O模型。下面本文先从同步和异步的概念 说起,然后接着阐述了阻塞和非阻塞的区别,接着介绍了阻塞IO和非阻塞IO的区别,然后介绍了同步IO和异步IO的区别,接下来介绍了5种IO模型,最后介绍了两种和高性能IO设计相关的设计模式(Reactor和Pr
2016-02-04 10:55:40
386
转载 android 图片缓存
先了解几个图片缓存通用的概念:RequestManager:请求生成和管理模块;Engine:引擎部分,负责创建任务(获取数据),并调度执行;GetDataInterface:数据获取接口,负责从各个数据源获取数据。 比如 MemoryCache 从内存缓存获取数据、DiskCache 从本地缓存获取数据,下载器从网络获取数据等。Displayer:资源(图片)显示器,用于显示或操
2015-12-11 22:59:02
453
转载 Linux/Uinx Socket select(3)
select系统调用是用来让我们的程序监视多个文件描述符(file descrīptor)的状态变化的。程序会停在select这里等待,直到被监视的文件描述符有某一个或多个发生了状态改变。select()的机制中提供一fd_set的数据结构,实际上是一long类型的数组, 每一个数组元素都能与一打开的文件描述符(不管是Socket描述符,还是其他 文件或命名管道或设备描述符)建立联系,建立联系
2015-11-02 09:24:23
340
原创 ListView getView() 详解
在android开发中Listview是一个很重要的组件,它以列表的形式根据数据的长自适应展示具体内容,用户可以自由的定义listview每一列的布局,但当listview有大量的数据需要加载的时候,会占据大量内存,影响性能,这时候就需要按需填充并重新使用view来减少对象的创建。ListView加载数据都是在public View getView(int position, View con
2015-10-19 14:21:40
615
转载 Android之Adapter用法总结
1.概念 Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个重要的纽带。在常见的View(ListView,GridView)等地方都需要用到Adapter。如下图直观的表达了Data、Adapter、View三者的关系:Android中所有的Adapter一览: 由图可以看到在Android中与
2015-10-15 15:32:47
316
转载 :亿级Web系统搭建——单机到分布式集群
当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题。为了解决这些性能压力带来问题,我们需要在Web系统架构层面搭建多个层次的缓存机制。在不同的压力阶段,我们会遇到不同的问题,通过搭建不同的服务和架构来解决。
2015-09-25 16:30:51
499
转载 C++函数参数读取顺序
C++函数参数读取顺序说到C/C++函数参数读取顺序,很多人都知道在入栈时是从右至左的,可是真的有那么简单吗?先看一个例子:1 #include 2 3 int main() {4 int a = 10;5 printf("%d %d %d\n", a++, ++a, a);6 return 0;7 }按照从右向左读取
2015-09-24 09:19:58
523
转载 更好的Java
本文由 ImportNew - paddx 翻译自 Better Java。欢迎加入翻译小组。转载请见文末要求。Java是最流行的语言之一,但是似乎没人喜欢使用它。好吧,Java仅仅是一种“还好”的编程语言。自从Java 8的面世,我决定编辑一个关于Java的列表,包括库、最佳实践以及工具让我们能更好的使用Java。 这篇文章在Github上,你可以自由的添加你所使用到的一
2015-06-23 11:00:56
530
原创 Java Transient 关键字
Java的serialization提供了一种持久化对象实例的机制。当持久化对象时,可能有一个特殊的对象数据成员,我们不想 用serialization机制来保存它。为了在一个特定对象的一个域上关闭serialization,可以在这个域前加上关键字transient。 transient是Java语言的关键字,用来表示一个域不是该对象串行化的一部分。当一个对象被串行化的时候,
2015-06-23 10:34:28
373
转载 关于 Java 对象序列化您不知道的 5 件事
原文出处: IBM-Ted Neward转自:ImportNewJava 序列化简介Java 对象序列化是 JDK 1.1 中引入的一组开创性特性之一,用于作为一种将 Java 对象的状态转换为字节数组,以便存储或传输的机制,以后,仍可以将字节数组转换回 Java 对象原有的状态。实际上,序列化的思想是 “冻结” 对象状态,传输对象状态(写到磁盘、通过网络传输等等)
2015-06-23 10:08:29
531
原创 sparse Autoencoder(3)---自编码算法与稀疏性
参考自:UFLDL目前为止,我们已经讨论了神经网络在有监督学习中的应用。在有监督学习中,训练样本是有类别标签的。现在假设我们只有一个没有带类别标签的训练样本集合 ,其中 。自编码神经网络是一种无监督学习算法,它使用了反向传播算法,并让目标值等于输入值,比如 。下图是一个自编码神经网络的示例。
2015-05-30 09:45:50
721
原创 Java单例模式几种写法
/** * * @author Fernando * 饿汉式单例 */public class Singleton { private static Singleton ins = new Singleton(); private Singleton(){} public static Singleton getInstance(){ ret
2015-05-29 12:19:55
440
原创 java中CyclicBarrier的简单用法
CyclicBarrier 和 CountDownLatch 都可以用来让一组线程等待其它线程。与 CyclicBarrier 不同的是,CountdownLatch 不能重新使用。1 public class TestCyclicBarrier { 2 3 private static final int THREAD_NUM = 5; 4 5 p
2015-05-29 10:17:25
660
原创 Sparse Autoencoder(2) --- BP(反向传播)
参考自:UFLDL反向传导算法假设我们有一个固定样本集 ,它包含 个样例。我们可以用批量梯度下降法来求解神经网络。具体来讲,对于单个样例,其代价函数为:这是一个(二分之一的)方差代价函数。给定一个包含 个样例的数据集,我们可以定义整体代价函数为:以上公式中的第一项 是一个均方差项。第二项是一个规则化项(也叫权重衰减项),其目的是减小权重的幅度,防止过度拟
2015-05-25 19:18:13
829
原创 Sparse Autoencoder(1) -----Neural Networks
参考自UFLDL。概述以监督学习为例,假设我们有训练样本集 ,那么神经网络算法能够提供一种复杂且非线性的假设模型 ,它具有参数 ,可以以此参数来拟合我们的数据。从最简单的神经元说起,以下即是这个“神经元”的图示:这个“神经元”是一个以 及截距 为输入值的运算单元,其输出为 ,其中函数 被称为“激活函数”。在这里,我们选用sigmoid函数作为
2015-05-25 16:33:28
674
原创 Java 类型安全的异构容器
参考自:importNew我们的想法是用key自身的class 类型作为key。因为Class 是参数化的类型,它可以确保我们使Context方法是类型安全的,而无需诉诸于一个未经检查的强制转换为T。这种形式的一个Class 对象称之为类型令牌(type token)。public class Context { private final Map, Object> values
2015-05-25 09:12:57
1887
原创 Java习惯用法(上)
参考自:ImportNew。实现equals()class Person { String name; int birthYear; byte[] raw; public boolean equals(Object obj) { if (!obj instanceof Person) return false; Person othe
2015-05-24 09:33:34
571
原创 Weka
1) 数据输入和输出WOW():查看Weka函数的参数。Weka_control():设置Weka函数的参数。read.arff():读Weka Attribute-Relation File Format (ARFF)格式的数据。write.arff:将数据写入Weka Attribute-Relation File Format (ARFF)格式的文件。2) 数据预处理
2015-04-04 15:16:36
514
原创 Linux 解压命令
.tar 解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)———————————————.gz解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileName.tar.gz 和 .tgz解压:tar zxvf
2015-01-22 15:26:31
1613
信息隐藏课要求的matlab的数字水印算法 我用patchwork算法做的 matlab程序
2014-12-16
利用JPcap实现嗅探器Snifer,以web形式来展示数据,还有数据统计图表
2014-10-29
JAVA 根据url将打开的网页以图片的格式保存起来,绝对可以用
2014-07-20
c++ MFC实现文件合成器功能,实现多种不同文件的合并、拆分等
2014-07-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人