自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(99)
  • 收藏
  • 关注

原创 js学习笔记第二篇:javascript字符串操作与java字符串操作异同探究

本文主要探究javascript和java对字符串的一些常用操作的异同点。1.截取字符串javascript:提供两种方法截取字符串:substr(Number start , Number length):需要传入两个参数,第一个参数是截取字符串的起始索引,第二个参数是要截取的字符串的长度,注意是长度,长度,长度,首次用的时候被坑的好惨: var str = "201608

2016-08-08 18:10:04 821

原创 AOP动态代理

特不跟

2016-08-01 17:04:10 485

原创 cglib动态代理

地方 地方

2016-08-01 17:03:52 400

原创 JDK动态代理

JDK动态代理主要用到了Proxy类和InvocationHandler接口,两者都在java.lang.reflect包下。首先介绍一下Proxy类,这个类是所有动态代理类的父类,主要用到这个类的两个静态方法:public static Class getProxyClass(ClassLoader loader, Class... interfaces)      这个方法用于

2016-08-01 17:03:31 553

原创 反射基础知识第二篇

上一篇中讲了如何获取指定类的Class对象,及用Class对象获取该类的构造器、方法、成员变量,本篇主要探讨如何利用这些构造器、方法、成员变量等。1.构造器,newInstance(Object ... initargs)方法显而易见,利用构造器的目的就是产生一个对应类的实例:public static void main(String[] args) { Class cla

2016-08-01 14:18:26 425

原创 反射基础知识第一篇

类被加载后,系统都会生成一个该类对应的Class对象。利用这个Class对象,我们可以访问这个类的构造器、方法、属性等,这就叫做反射。一.在程序中获取该类对应的Class对象,有3种方式:1.利用Class类的forName(String className)静态方法Class clazz = null;try { clazz = Class.forName("com.activi

2016-07-29 11:58:23 303

原创 Math的一些常用的数学运算(包括取整、保留几位小数等)

1.求两个数中的最大值:Math.max()public static int max(int a, int b) public static long max(long a, long b)public static float max(float a, float b) public static double max(double a, double b) 2.求两个数中的最小值:

2016-07-28 00:04:21 20874

原创 js学习笔记第一篇

如果一个script标签通过src引入了其他js文件,则此script标签内部的代码不会执行。推荐把javascript脚本放在body标签闭合标签的前面。js有5中基本数据类型:string 字符串类型,number 数字类型,boolean,null,undefined。string:单引号和双引号括住的都是字符串类型,在java中不同,java中单引号括住的是字符类型,双

2016-07-07 22:53:43 329

原创 一些常用数据库操作在mysql及sql server中实现方式的差异

因为本文强调的是不同点,所以先讲述不同点,再讲相同点。一。不同点1.创建表时主键id的自增实现方式不一样mysql数据库的实现方式是auto_increment,示例如下CREATE TABLE test1 ( id INT NOT NULL auto_increment PRIMARY KEY, NAME VARCHAR (10) NOT NULL DEFAULT '',

2016-07-01 17:48:58 383

原创 flume+kafka+storm单机部署

kafka0.9.0.0storm0.9.6一.部署flume1.解压tar -xzvf apache-flume-1.6.0-bin.tar.gz -C ../app/2.在conf目录中添加自己的配置文件,内容是source、sink、channel的配置cd ../app/apache-flume-1.6.0-bin/conf新建配置文件flume-d

2016-06-15 18:46:10 1696 2

原创 Servlet、Filter、Listener、Interceptor基础

第一:ServletServlet是个接口,全限定名是javax.servlet.Servlet,在javax.servlet包中,在servlet-api.jar(在tomcat自带的lib文件夹中)或是在javax.servlet-api-xxx.jar(在maven中引入javax.servlet-api依赖)。如果我们用IDE工具,右键new,选择Servlet的方式创建一个S

2016-05-19 22:39:48 572

原创 redis的主从复制与哨兵

主从复制的关键字是slaveof,有三种方法可以让一个redis数据库变成另一个redis数据库的从数据库:1.修改redis的配置文件,添加#slaveof ,其中的masterip、masterport是主redis数据库的ip和端口。在启动时,直接在redis-server命令后跟上这个配置文件就可以了。2.在启动时加上slaveof参数,slaveof后面是主redis数据库的i

2016-05-19 22:39:21 844

原创 nginx的负载均衡策略

Nginx的负载均衡策略可分为两类:内置策略与扩展策略。内置策略有3种,轮询、加权轮询、IP hash:轮询,顾名思义,就是服务器将每个前端请求按顺序(时间顺序或者排列次序)逐一分配到不同的后端节点上,对于出现问题的后端节点自动去除;加权轮询,在基本的轮询策略基础上考虑各后端节点接受请求的权重,指定各后端节点被轮询到的几率,主要用于后端节点性能不均的情况下;IP hash,是将前端

2016-05-13 11:23:08 770

原创 Hadoop的RPC实现

之前文章已经介绍过RPC及一个RPC框架Thrift,现在再介绍一下Hadoop的RPC实现。被调用方(也可称为服务端)的业务代码中必须有一个接口,而业务的具体实现写在 此接口的实现类中(jdk的动态代理必须要有接口的),而通过org.apache.hadoop.ipc.RPC(在hadoop-common-2.2.0.jar包中)的一系列方法来发布服务供调用方调用:LoginServ

2016-05-13 02:38:27 2569

原创 sql语句的group by与having子句

准备数据:DROP TABLE IF EXISTS `t_player`;CREATE TABLE `t_player` ( `player_id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(16) NOT NULL, `country` int(11) NOT NULL, `money` int(11) NOT NULL

2016-05-09 19:18:07 423

原创 WebService使用入门(包括发布服务,调用服务)

WebService是基于SOAP协议的,全称是Simple Object Access Protocol(简单对象访问协议)。SOAP不是什么神奇的东西,等于HTTP+XML,即在HTTP协议的基础上传输XML文档数据,Content-Type类型是text/xml;charset=UTF-8Webservice网址是:http://www.webxml.com.cn,上面有很多公共的服

2016-05-07 01:24:09 2853

原创 如何通过Maven的Jetty插件运行Web工程

首先建议使用jetty9,因为据官方文档显示,Jetty 7 and Jetty 8 are now EOL (End of Life),如下。但是由于项目使用的版本一般都比较低,这里以jetty8为例。VersionServletJavaNamespaceLicensesSiteStatusJetty 9Servlet 3.1Jav

2016-05-06 15:28:51 995

原创 如何通过Maven的Tomcat插件运行Web工程

去tomcat官网http://tomcat.apache.org/,左侧栏Apache Tomcat下的Maven Plugin,点进去选择最新版本Version 2.2通过介绍可知,使用tomcat的maven插件有两种配置方式:第一种:在pom.xml文件的中加入如下配置: org.apache.tomcat.maven tomcat6-maven-plug

2016-05-06 15:00:28 6605

原创 IO与NIO

首先需要明确的一点是输入流输出流的输入输出是站在内存的角度看的,读取文件,把文件内容写到内存中,是输入流;写文件,把内存中的数据写到文件中,是输出流。一.IOIO操作主要有4个抽象类,InputStream 、 OutputStream ,字节输入输出流,操作的数据单元是字节byte,8位。对应的,操作单元是16位的字符char的是Reader 、Writer。这4个类都是抽象类,最常用的

2016-05-03 18:37:06 457

原创 利用redis做频率限制第一篇

public Result checkRateLimit(String clientIp, int ipTime, int ipCount) { // 每个ip的redis的key都不一样 String ipRateKey = "ipRates:" + clientIp; System.out.println(ipRateKey); long time = commonRedis.

2016-04-30 21:18:43 1898

原创 redis持久化探究

redis支持两种持久化方式,一种是RDB方式,另一种是AOF方式。redis3.0windows版本默认关闭AOF(appendonly no),而开启RDB,当达到一定条件时,redis就会将内存中的所有数据生成一份副本并存储到硬盘上。RDB持久化:RDB持久化会在dir目录下产生一个以.rdb为后缀名的文件,在配置文件中配置dir目录及文件名,默认dir目录是跟目录,文件名是du

2016-04-22 23:20:35 1449

原创 springmvc处理上传图片代码(校验图片尺寸、图片大小)

package com.maizuo.web.controller;import com.maizuo.domain.Result;import com.maizuo.util.ConstantsConfig;import com.maizuo.util.Upload;import hyxlog.Log;import net.sf.json.JSONObject;import org

2016-04-19 20:47:28 8610

原创 在CentOS7部署zookeeper集群以及简单API使用

一.部署zookeeper集群zookeeper是一个针对大型分布式系统的协调系统,提供的功能有统一名称服务、分布式同步等。1.上传zk安装包2.解压     tar -xzvf zookeeper-3.4.6.tar.gz -C app/3.配置(先在一台节点上配置)    3.1添加一个zoo.cfg配置文件   进入配置文件目录: cd /home/koushen

2016-04-12 16:18:45 516

原创 获取前端post方式传过来的JSON格式的数据的代码

public JSONObject getRequestContent(HttpServletRequest req) { JSONObject data = null; try { InputStream is = req.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReade

2016-04-11 19:34:15 8820

原创 CentOS环境搭建(JDK安装、mysql安装、hadoop安装等)

1.1准备权限:让普通用户具备sudo执行权限切换到root用户,su# vi /etc/sudoers/添加  koushengrui    ALL=(ALL)       ALL这里很容易忘记的一点是,再切换为普通用户身份,su koushengrui1.2修改IP:修改配置文件方式$ sudo vi /etc/sysconfig/network-scripts

2016-04-06 01:11:16 610

原创 linux常用基本命令

一、文件系统的管理tips:输入命令的时候要常用tab键来补全ls   查看目录信息  ( ls /  )  ls -l 等价于  llpwd      查看当前所处的路径   cd     切换目录 (cd /) ,如果不带参数则切换到用户主目录 ~mkdir   创建文件夹mkdir -p a/b/c  如果要创建的文件夹的父目录不存在,则自动创建rmd

2016-03-31 13:30:56 360

原创 Quartz任务调度器及与Spring的整合使用

参考 点击打开链接

2016-03-30 15:18:20 272

原创 RPC简介与Thrift框架

RPC,全称是remote process call,远程过程调用,简单来讲就是调用部署在另一台服务器上的服务或者被部署在另一台服务器上的服务调用。由于各服务部署在不同机器,服务间的调用免不了网络通信过程,服务消费方每调用一个服务都要写一坨网络通信相关的代码,不仅复杂而且极易出错。如果有一种方式能让我们像调用本地服务一样调用远程服务,而不用关心网络通信这些细节,那么将大大提高生产力。这就需要一些R

2016-03-25 16:36:31 638

原创 redis事务、管道及消息通知探究

一.事务redis中使用事务,multi表示事务开始,对redis进行一些列操作之后再用exec提交事务,对应的方法分别是Transaction jedis.multi(),List tx.exec()。需要注意的是,开启了事务,在提交事务前,操作redis不是用Jedis API,而是用Transaction API(Jedis API的绝大部分方法在Transaction API都有对应)

2016-03-25 02:36:33 2134

原创 浏览器如何处理带上传控件的表单及服务器如何获取参数值

POST /servlet/testServlet HTTP/1.1Host: localhost:8080Cache-Control: no-cache----WebKitFormBoundaryE19zNvXGzXaLvS5CContent-Disposition: form-data; name="image"; filename="jetty配置.png"Content

2016-03-23 23:49:43 1821

原创 用Jedis获取redis连接(集群和非集群状态下)

第一:非集群状态下非集群状态下用Jedis获取redis连接,得到Jedis对象即可,一共有两种:1.利用Jedis构造器,仅限用于测试,在实际项目中肯定是用JedisPool。  Jedis(String host);  Jedis(String host , int port);2.利用JedisPool主要是利用Jedis jedis=jedisPool.getR

2016-03-22 17:40:08 23487

原创 待从写

都被他

2016-03-17 17:57:59 956

原创 从Map、JSONObject取不存在键值对时的异常情况

1.在Map中取不存在的键值对时不会报异常,只会返回null。@Test public void testMap() { Map map = new HashMap(); map.put("d", 10); // 从map中取出不存在的键值对时不会报异常,会返回null Object b = map.get("c"); System.out.println(b); }打

2016-03-17 15:00:00 29245 3

原创 split分割字符串时的一些特殊分隔符

@Test public void testSplit() { String address = "上海.上海市.闵行区.吴中路"; String[] splitAddress = address.split("\\."); System.out.println(splitAddress[0] + splitAddress[1] + splitAddress[2] + splitAd

2016-03-16 20:00:09 3122 2

原创 mysql、sqlserver数据库常见数据类型对应java中的的类型探究

由于本次测试表的结构不涉及到主键的自增长,所以mysql、sqlserver建表语句相同:CREATE TABLE testType ( id INT NOT NULL DEFAULT 0, gender TINYINT NOT NULL DEFAULT 0, married SMALLINT NOT NULL DEFAULT 0, bigPro BIGINT NOT NULL

2016-03-16 15:38:55 1312

原创 json处理三部曲之第三曲:利用Gson处理json

需要导入gson-xxx.jar包 com.google.code.gson gson 2.0常用的类有三个:com.google.gson.JsonElement抽象类及其两个子类com.google.gson.JsonObject 和 com.google.gson.JsonArray发挥做用的也就两个方法:Gson gson=new Gson();String

2016-03-14 18:15:12 842

原创 json处理三部曲之第二曲:利用Jackson处理json

利用Jackson处理json需要导入的jar包(2以上版本的): com.fasterxml.jackson.core jackson-core 2.3.3 com.fasterxml.jackson.core jackson-databind 2.3.3 com.fasterxml.jackson.core ja

2016-03-14 17:57:10 911 1

原创 缓存穿透与雪崩

缓存穿透是指查询一个一定不存在的数据,如查询id=-1的数据信息,由于缓存不命中(cache miss),还要到数据库去查,但是数据库也查不到,这时给查询请求返回空,并且不会写数据到缓存中,这样,下次同样的请求还是会到数据库去查,大量这样的请求将给数据库造成极大的压力从而失去了缓存的意义。

2016-03-12 00:43:14 674

原创 全局变量和局部变量初始化及默认值探究

class Person { private String lastName; private String familyName; public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastNam

2016-03-11 18:15:19 5653

原创 json处理三部曲之第一曲:利用json-lib-xxx.jar处理json

json-lib-xxx.jar包需要一些依赖包,这里就不一一指出。常用的方法有几个:JSONObject.fromObject();   转为JSONObject类型                                    JSONObject.toBean();                                    JSONObject.toStrin

2016-03-11 17:33:40 614

空空如也

空空如也

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

TA关注的人

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