- 博客(527)
- 资源 (1)
- 收藏
- 关注
转载 三角套利策略(1)
要明白币币交易,首先要搞清楚什么是交易对。交易对:就是用一种资产(quote currency,计价货币)去定价另一种资产(base currency,基础货币),比如用人民币(CNY)去定价比特币(BTC),就形成了一个BTC/CNY的交易对,交易对的价格代表的是买入1单位的基础货币(比如BTC)需要支付多少单位的计价货币(比如CNY),或者卖出一个单位的基础货币(比如BTC)可以获得多少单位的...
2018-03-13 16:25:47 15213
转载 架构师需要学会的东西,会了这些才算是有实力,有料
1.源码分析专题详细介绍源码中所用到的经典设计思想,看看大牛是如何写代码的,提升技术审美、提高核心竞争力。帮助大家寻找分析源码的切入点,在思想上来一次巨大的升华。知其然,并知其所以然。把知识变成自己的2.分布式架构互联网时代,系统架构如何迎接高并发流量的挑战。而作为技术开发者,如何去应对技术变革带来的技能危机。基于传统架构到分布式架构演变过程所带来的技术变革进行全面深入讲解。在技术深度和技术广度上...
2018-03-13 11:52:45 1981
原创 设计模式真的不难,其实大家平常都在用,各种设计模式一句话挑明!
创建型模式这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用新的运算符直接实例化对象。这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活。工厂模式与抽象工厂模式 (Factory Pattern)(Abstract Factory Pattern):不同条件下创建不同实例单例模式 (Singleton Pattern):保证一个类仅有一个实例,适用于只需要一个对象的情况建...
2018-03-07 15:17:05 2053 1
转载 分布式架构--基本思想汇总
在互联网大行其道的今天,各种分布式系统已经司空见惯。搜索引擎、电商网站、微博、微信、O2O平台。。凡是涉及到大规模用户、高并发访问的,无一不是分布式。关于分布式系统,并没有一个标准答案,说某某架构一定是最好的。不同的业务形态所面对的挑战不一样,使用的架构设计也不一样,通常都需要具体业务具体分析。但不管那种业务,不管何种分布式系统,有一些基本的思想还是相通的。本文将对这些基本思想进行一个梳理汇总。分...
2018-03-02 18:13:44 492
转载 Hessian与Webservice的区别
Hessian:hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能,相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用了二进制协议,所以它很适合于发送二进制数据,Hessian主要作面向对象的消息通信。Hessian的初衷就是支持动态类型,格式紧凑,跨语言。Hessian是使用自己的序列化机制实现的编组和反编组,其...
2018-03-01 15:25:37 398
转载 Dubbo 说明
Dubbo背景和简介Dubbo开始于电商系统,因此在这里先从电商系统的演变讲起。单一应用框架(ORM) 当网站流量很小时,只需一个应用,将所有功能如下单支付等都部署在一起,以减少部署节点和成本。 缺点:单一的系统架构,使得在开发过程中,占用的资源越来越多,而且随着流量的增加越来越难以维护 垂直应用框架(MVC) 垂直应用架构解决了单一应用架构所面临的扩容问题,流量能够分散到各个子系统当中,且系统的...
2018-03-01 15:24:43 433
转载 linux环境下NPM安装小结
1、安装Nodejs 官网地址为http://nodejs.org 但国外地址下载太慢了,建议从淘宝下载(https://npm.taobao.org/mirrors/node/)wget https://npm.taobao.org/mirrors/node/latest-v4.x/node-v4.4.7-linux-x64.tar.gz 解压:tar -zxvf node-v4.4.7-
2018-01-11 15:16:40 34862 3
转载 SQL 注入防御方法总结
SQL 注入是一类危害极大的攻击形式。虽然危害很大,但是防御却远远没有XSS那么困难。SQL 注入可以参见:https://en.wikipedia.org/wiki/SQL_injectionSQL 注入漏洞存在的原因,就是拼接 SQL 参数。也就是将用于输入的查询参数,直接拼接在 SQL 语句中,导致了SQL 注入漏洞。1. 演示下经典的SQL注入我们看到:select id,no from
2018-01-11 15:15:32 743 1
转载 解决并发情况下库存减为负数问题
场景:一个商品有库存,下单时先检查库存,如果>0,把库存-1然后下单,如果select quantity from products WHERE id=3;update products set quantity = ($quantity-1) WHERE id=3;在并发情况下,可能会把库存减为负数(两个进程同时select出来的都>0,然后都会执行update),怎么办呢?方法1:InnoD
2018-01-11 15:14:39 1893
转载 centos 6.5 重设密码 亲测有用!
在使用linux的过程中有时候会忘记root用户的密码(尤其是进行交接而文档内容不全的时候),这个时候我们就可以进入单用户模式来重置root用户密码。下面来讲解重置root密码的方式,也可以说是破解root密码的方式。1、 重启服务器,在读秒的时候按任意键,就会出现如下界面在此界面中按下键盘中的‘e’,从而进入grub模式2、在1中按下e就会进入到如下界面。将光标移动到kernel那一行,然后再一
2018-01-10 15:03:22 3127
转载 Spring Boot 启动后自动运行
有时候我们需要在应用启动或者重启后做一些工作,比如删除一些临时文件或者Redis中的缓存,这在没有使用Spring Boot之前,在Spring框架下是通过ApplicationListener监听器来实现的,在Spring Boot下也有一些办法,可以通过使用CommandLineRunner和ApplicationRunner接口来实现。在这两个接口中都有run()方法,在Spring Boo
2018-01-09 14:46:06 9883 1
原创 java 触发URL
url = new URL(urlString);URLConnection connection = url.openConnection();connection.setConnectTimeout(1000);connection.connect();connection.getInputStream();
2018-01-08 20:32:59 573
转载 Java中Cloneable接口
预备知识为了理解java的clone,有必要先温习以下的知识。java的类型,java的类型分为两大类,一类为primitive,如int,另一类为引用类型,如String,Object等等。java引用类型的存储,java的引用类型都是存储在堆上的。Java代码 public class B { int a; String b; public B(int a, String
2018-01-05 21:22:54 387
原创 java List 数据复制
Li浅拷贝,即内存地址引用!一定记住这一点,比如你将listA给了listB: listB.add(listA) ,listA.clear ,不但listA的数据全没有了,listB也会什么都没有。xs 1、遍历循环复制List destList=new ArrayList(srcList.size()); for(Person p : srcList){ destList
2018-01-05 11:29:12 1121
转载 Java追加文件内容的三种方法
import java.io.BufferedWriter;import java.io.File;import java.io.FileOutputStream;import java.io.FileWriter;import java.io.IOException;import java.io.OutputStreamWriter;import java.io.RandomAccessFile
2018-01-04 20:49:20 466
转载 java json map
package com.zkn.newlearn.json;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import java.util.Map;/** * JSON字符串自动转换 * Created by zkn on 2016/8/22. */public class JsonToMapTest
2018-01-04 09:42:00 329
转载 Spring MVC restful 路径小数点问题
之前有个小伙伴问了我一个问题,就是在使用Spring MVC的时候。当使用www.xxx.com/abc/1.11这个路径。然后在Controller使用@PathVariable注解来接收这个值的时候得到的却是1,遇到这种情况如何解决。如果没有遇到过这种问题那么我们应该如何解决它呢?首先要解决这个问题我们先来看一下Spring MVC的原理图。如下:在Spring MVC初始化的时候会把@Req
2017-12-21 15:34:20 700
转载 java float 详解
数据类型关键字内置类内存占用字节数可存储的取值范围默认值布尔型booleanBoolean1字节true,falsefalse字符型charCharacter2字节16位Unicode字符,可容纳各国字符集。Unicode范围为‘\u0000’到‘ufff’。整数范围是0~65535。例如,65代表‘A’,97代表‘a’‘\u0000’Null字节型byteByte1字节-128~127(-27~
2017-12-21 14:24:14 33294 2
原创 freemarker javascript 后台传值
var jsonSring_buy = "${jsonSring_buy}"; 这种方法可以获取后台传过来的值,但有一个问题是会被加上双引号,因为转变为字符串了。如果要被引用,像是alert,write等,可以。 data: [ ${jsonSring_buy}// [35.22, 762 ],//
2017-12-19 15:40:38 5297 1
转载 Java InputStream、String、File相互转化
String --> InputStreamByteArrayInputStream stream = new ByteArrayInputStream(str.getBytes());InputStream --> StringString inputStream2String(InputStream is){ BufferedReader in = new BufferedRead
2017-12-19 11:05:31 1799
转载 redis设置键的生存时间或过期时间
设置键的生存时间或过期时间通过EXPIRE 命令或者PEXPIRE 命令,客户端可以以秒或者毫秒精度为数据库中的某个键设置生存时间( Time To Live , TTL) ,在经过指定的秒数或者毫秒数之后,服务器就会自动删除生存时间为0的键:redis> SET key valueOKredis> EXP 工RE key 5(integer) 1redis> GET key // 5 秒
2017-12-04 11:23:45 17078 1
转载 spring boot项目中处理Schedule定时任务
默认,springboot已经支持了定时任务Schedule模块,所以一般情况已经完全能够满足我们的实际需求,一般来说,没有必要在加入其他类似于:quartz另外,在这里提一个实际项目中,关于定时任务的架构上的一些考虑:一般来说,实际项目中,为了提高服务的响应能力,我们一般会通过负载均衡的方式,或者反向代理多个节点的方式来进行。通俗点来说,我们一般会将项目部署多实例,或者说部署多份,每个实例不
2017-11-24 15:34:55 6285
转载 Linux下redis安装与使用
redis官网地址:http://www.redis.io/ 最新版本:2.8.3 在Linux下安装Redis非常简单,具体步骤如下(官网有说明): 1、下载源码,解压缩后编译源码。$ wget http://download.redis.io/releases/redis-2.8.3.tar.gz$ tar xzf redis-2.8.3.tar.gz$ cd redi
2017-11-21 10:39:28 613
原创 linux环境下 java nio 文件名 乱码 utf-8 gbk
这个事情一下困扰了好几天,今天终于解决了。做个记录事情的原因为在linux下环境下需要用流输出一个文件,其实这是是件很简单的事情。但麻烦的是输出的文件中文件内容的确被编码成了GBK,可是文件名却一直是utf-8。百思不得其解。也初步调过linux的字符集,确认了的确是GB2312.可是问题还是不能被解决。回头还是以为程序的问题,把短的可怜的几段代码,反复测试,用byte【】把文件名都进行了GBK编
2017-08-24 11:37:54 2709 1
转载 关于ANT指定系统工程编译JDK的设置
直接修改ANT的运行文件:ant.bat ,设置JAVA_HOME,这样所有的ANT都使用设定的JDK也是一种方法; 我以前做Jetty也是这么做的,挺方便; destdir="${build}" fork="yes" executable="/opt/java/jdk1.1/bin/javac" comp
2017-08-15 16:34:05 1740
转载 http get post 慢速攻击
提起攻击,第一反应就是海量的流量、海量的报文。但有一种攻击却反其道而行之,以慢著称,以至于有些攻击目标被打死了都不知道是怎么死的,这就是慢速连接攻击。slowhttptest是一款对服务器进行慢攻击的测试软件,包含了几种攻击方式,像Slowloris、SlowHTTP POST、Slow Read attack等。总而言之,该工具的原理就是设法让服务器等待,当服务器在保持连接等待时,就消耗了资源。
2017-08-14 23:18:26 11001 1
转载 (透彻)java String.getBytes()编码问题
String.getBytes()的问题String 的getBytes()方法是得到一个字串的字节数组,这是众所周知的。但特别要注意的是,本方法将返回该操作系统默认的编码格式的字节数组。如果你在使 用这个方法时不考虑到这一点,你会发现在一个平台上运行良好的系统,放到另外一台机器后会产生意想不到的问题。比如下面的程序:class TestCharset { public static void m
2017-08-08 11:07:01 1315
原创 java http post tomcat解除 长度限制
1. Get方法长度限制Http Get方法提交的数据大小长度并没有限制,HTTP协议规范没有对URL长度进行限制。这个限制是特定的浏览器及服务器对它的限制。如:IE对URL长度的限制是2083字节(2K+35)。下面就是对各种浏览器和服务器的最大处理能力做一些说明.Microsoft Internet Explorer (Browser)IE浏览器对URL的最大限制为2083个字符,如果超
2016-08-19 14:56:42 11304
原创 linux 防火墙操作
root/12345 (只能用ROOT操作)iptables -I INPUT -s x.x.x.x -p tcp --dport 8091 -j ACCEPT #允许x.x.x.x访问本机的8091端口iptables -I INPUT -s x.x.x.x -p tcp --dport 11211 -j ACCEPT #允许x.x.x.x访问本机的11211端口访问couchbase服务
2016-08-08 10:35:25 998
原创 解决 oracle IO占用率很高的问题
突然user io占用率很很高,看了一个AWR报告,发现direct path read temp,direct path write temp的的数率很高,后来怀疑是临时表空间不够了,就试着设了一下让临时表自动增长,问题就解决了。可爽!具体如下,用红色字休就方法就行了:1、查看临时表空间select tablespace_name,file_name,bytes/1024/1024 file_s
2016-07-21 16:37:12 15288
原创 Oracle RAC的五大优势及其劣势
不同的集群产品都有自己的特点,RAC的特点包括如下几点: ·双机并行。RAC是一种并行模式,并不是传统的主备模式。也就是说,RAC集群的所有成员都可以同时接收客户端的请求。 ·高可用性。RAC是Oracle数据库产品高可用性的解决方案,能够保证在集群中只要有一个节点存活,就能正常对外提供服务。 ·易伸缩性。RAC可以非常容易地添加、删除节点,以满足系统自身的调整。 ·低成本。能使用较低廉的
2016-07-12 17:00:04 8301
转载 oracle手工生成AWR报告方法记录
AWR(Automatic Workload Repository)报告是我们进行日常数据库性能评定、问题SQL发现的重要手段。熟练掌握AWR报告,是做好开发、运维DBA工作的重要基本功。 AWR报告的原理是基于Oracle数据库的定时镜像功能。默认情况下,Oracle数据库后台进程会以一定间隔(一小时)收集系统当前状态镜像,并且保存在数据库中。生成AWR报告时,只需要指定进行分析的时间段(开始
2016-07-01 17:16:57 3075
转载 log file sync 等侍值高的一般通用解决办法
log file sync等待时间发生在redo log从log buffer写入到log file期间。下面对log file sync做个详细的解释。何时发生日志写入:1.commit或者rollback2.每3秒3.log buffer 1/3满或者已经有1M的redo数据。 更精确的解释:_LOG_IO_SIZE 大小默认是LOG_BUFFER的1/3,当log buffer中r
2016-07-01 17:03:49 10755 2
转载 log file sync 因为数据线有问题而造成高等侍的表现
这是3月份某客户的情况,原因是服务器硬件故障后进行更换之后,业务翻译偶尔出现提交缓慢的情况。我们先来看下awr的情况。 我们可以看到,该系统的load profile信息其实并不高,每秒才21个transaction。先来看看top5events:从top 5event,我们可以发现,log file sync的avg wait非常之高,高达124ms。
2016-07-01 17:00:55 2712
转载 Redis
edis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与
2016-06-01 10:55:06 1635
转载 Java多线程之Lock的使用
import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.Re
2016-04-08 16:48:49 1910
转载 大数据风控 ——互联网消费金融的必由之路
面对蓬勃发展的互联网消费金融的风控需求,针对中小型消费金融平台技术能力薄弱的特点,恒生电子推出了大数据风控平台,为中小型消费金融厂商提供强大的风控服务,从三个方面提供专业的大数据风控支持。
2016-03-15 16:28:51 4249
原创 论-多租户技术
多租户技术(multi-tenancy technology)实际是一种软件架构技术,它是在探讨与实现如何在多用户的环境下共用相同的系统或程序组件,并且仍可以确保各用户的业务不互相影响。
2016-03-15 16:25:03 3671
转载 Findbugs异常总汇
FindBugs是基于Bug Patterns概念,查找javabytecode(.class文件)中的潜在bug,主要检查bytecode中的bug patterns,如NullPoint空指针检查、没有合理关闭资源、字符串相同判断错(==,而不是equals)等一、Security 关于代码安全性防护1.Dm: Hardcoded constant database password (DMI
2016-02-24 14:28:44 3971
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人