- 博客(374)
- 资源 (15)
- 问答 (1)
- 收藏
- 关注
转载 mybatis中动态sql常用的标签
用来循环容器的标签forEach,查看例子//mapper中我们要为这个方法传递的是一个容器,将容器中的元素一个一个的//拼接到xml的方法中就要使用这个forEach这个标签了public List queryById(List userids);//对应的xml中如下 select * FROM entity where id in
2017-07-13 09:55:37
1269
原创 RedisClusterManagerUtil 工具类
RedisClusterManagerUtil 工具类import java.io.IOException;import java.io.PrintStream;import java.io.Serializable;import java.util.HashSet;import java.util.LinkedHashMap;import java.util.Locale;impor
2017-06-29 15:05:56
2149
原创 大型分布式网站相关概念及优化
分布式系统概念分布式系统是由一系列分散自治组件通过互联网并行并发协作,从而组成的一个coherent软件系统。它具备资源共享,并行并发,可靠容错,透明开放等特性。分布式概念(1)三元组:分布式系统说白了,就是很多机器组成的集群,靠彼此之间的网络通信,担当的角色可能不同,共同完成同一个事情的系统。1、节点 -- 系统中按照协议完成计算工作的一个逻辑实体,可能是执行某些工作的进程或机器2、网络 --
2017-04-20 13:47:26
1166
原创 支付系统的对账处理:对账,轧账,平账,交易记录,退款记录
关键词:对账,轧账,平账,交易记录,退款记录对账是支付系统最头疼的事情。每一笔交易,都要做到各参与者的记录能够吻合,没有偏差。 对账系统的工作,是发现有差异的记录,即轧帐;然后通过人工或者自动的方式,解决这些差异,即平帐;对电商系统来说,每一笔交易,在所有相关主体侧都要能对得上:交易主体,如果发起人是个人,必须能够从个人交易历史记录中找到这笔交易。但大部分人不会保留电子记录,所以一般是提供可以下载
2017-04-18 15:32:29
7519
1
原创 深入分析Java方法反射的实现原理
方法反射实例public class ReflectCase { public static void main(String[] args) throws Exception { Proxy target = new Proxy(); Method method = Proxy.class.getDeclaredMethod("run");
2017-03-22 10:24:00
2056
原创 JVM内存管理备忘
JAVA虚拟机把管理的内存划分为几个不同的数据区。Java堆Java堆是被所有线程共享的一块内存区域,主要用于存放对象实例,Java虚拟机规范中有这样一段描述:所有的对象实例和数据都要在堆上进行分配。为对象分配内存就是把一块大小确定的内存从堆内存中划分出来,通常有两种方法实现:1 、指针碰撞法假设Java堆中内存时完整的,已分配的内存和空闲内存分别在不同的一侧,通过一个指针作为分界点,需要分配内存
2017-03-22 10:12:43
649
原创 JVM源码分析之Java类的加载过程
HotSpot内存划分在HotSpot实现中,内存被划分成Java堆、方法区、Java栈、本地方法栈和PC寄存器几个部分:1、Java栈和本地方法栈用于方法之间的调用,进栈出栈的过程;2、Java堆用于存放对象,在Java中,所有对象的创建都在堆上申请内存,并被GC管理;3、方法区分成PermGen和CodeCache:PermGen存放Java类的相关信息,如静态变量、成员方法和抽象方法等;Co
2017-03-22 10:07:53
1010
原创 java对象头的HotSpot实现分析
HotSpot虚拟机中,对象在内存中的布局分为三块区域:对象头、实例数据和对齐填充。对象头对象头包括两部分:Mark Word 和 类型指针。Mark WordMark Word用于存储对象自身的运行时数据,如哈希码(HashCode)、GC分代年龄、锁状态标志、线程持有的锁、偏向线程ID、偏向时间戳等等,占用内存大小与虚拟机位长一致。类型指针类型指针指向对象的类元数据,虚拟机通过这个指针确定该对
2017-03-22 09:56:18
928
原创 JVM源码分析之Java对象的创建过程
本文将基于HotSpot实现对Java对象的创建过程进行深入分析。定义两个简单的类AAA和BBB通过``javap -c AAA```查看编译之后的字节码,具体如下:Java中的new关键字对应jvm中的new指令,定义在InterpreterRuntime类中,实现如下:new指令的实现过程:1、其中pool是AAA的constant pool,此时AAA的class已经加载到虚拟机中,new指
2017-03-22 09:45:44
717
原创 深入分析Object.finalize方法的实现原理
finalize如果类中重写了finalize方法,当该类对象被回收时,finalize方法有可能会被触发,下面通过一个例子说明finalize方法对垃圾回收有什么影响。public class FinalizeCase { private static Block holder = null; public static void main(String[] args) th
2017-03-22 09:38:37
882
转载 掌握电商后台设计,这一篇足矣 | 万字长文
本文为作者对平时工作的思考总结,包括商品中心的设计、订单拆单的实现、促销活动及优惠券的设计使用等,对相关从业者,有借鉴意义。欢迎留言交流讨论。本文包括以下几个部分:电商后台系统概述电商后台产品设计:商品中心电商后台产品设计:订单拆单电商后台产品设计:促销活动解析电商后台产品设计:优惠券的设计和妙用电商后台系统到底是怎么回事儿每年的“双十二”“双十一”人造购物节一来,电商群战就好不热闹,马云却预言纯
2017-03-20 11:16:03
3898
1
原创 Amazon EC2 免费实例超额扣钱退款指南
免费一年的EC2怎么会扣费呢?https://www.v2ex.com/t/81510Amazon EC2免费VPS防止超额被扣钱三大方法:流量 硬盘读写 运行时长https://www.freehao123.com/amazon-ec2/免费使用一年,但不是一年内无限使用(流量 硬盘读写 运行时长),楼主就是被坑了郝多刀。看到信用卡账单后,赶紧在系统给客服写信,表示自己是个小白,什么都不懂,最后
2017-03-14 12:44:43
4995
1
转载 Spring原理剖析
Spring模块Spring DAOSpring事务概述事务首先是一系列操作组成的工作单元,该工作单元内的操作是不可分割的,即要么所有操作都做,要么所有操作都不做ACID原子性(Atomicity)即事务是不可分割的最小工作单元,事务内的操作要么全做,要么全不做一致性(Consistency)在事务执行前数据库的数据处于正确的状态,而事务执行完成后数据库的数据还是处于正确的状态,即数据完整性约束没
2017-02-15 16:21:36
1045
转载 Redis数据结构及应用
1,Redis丰富的数据结构(Data Structures)字符串(String)Redis字符串能包含任意类型的数据一个字符串类型的值最多能存储512M字节的内容利用INCR命令簇(INCR, DECR, INCRBY)来把字符串当作原子计数器使用使用APPEND命令在字符串后添加内容列表(List)Redis列表是简单的字符串列表,按照插入顺序排序你可以添加一个元素到列表的头部(左边:LPU
2017-02-15 16:00:27
454
转载 性能调优攻略:完整地讲述了一些代码级别的技术和方法
关于性能优化这是一个比较大的话题,在《由12306.cn谈谈网站性能技术》中我从业务和设计上说过一些可用的技术以及那些技术的优缺点,今天,想从一些技术细节上谈谈性能优化,主要是一些代码级别的技术和方法。本文的东西是我的一些经验和知识,并不一定全对,希望大家指正和补充。在开始这篇文章之前,大家可以移步去看一下酷壳以前发表的《代码优化概要》,这篇文章基本上告诉你——要进行优化,先得找到性能瓶颈! 但是
2017-02-14 17:16:26
839
原创 ibatis.cache接口实现:RedisCache,MemcachedCache,EhcacheCache
(1)首先是Cache接口定义:package org.apache.ibatis.cache;import java.util.concurrent.locks.ReadWriteLock;public interface Cache { String getId(); int getSize(); void putObject(Object key, Object v
2017-01-22 16:01:50
747
1
原创 AWS EC2 CentOS release 6.5 部署zookeeper、kafka、dubbo
AWS EC2 CentOS release 6.5 部署zookeeper、kafka、dubbo参考:http://blog.csdn.net/yizezhong/article/details/47777625一.安装zookeeper1) 下载zookeeper安装包可去官网下载 ,也可通过wget命令:[root@ip-172-31-46-4 ~]# wget http://ap
2017-01-13 09:24:31
722
原创 AWS EC2 CentOS release 6.5 部署redis
AWS EC2 CentOS release 6.5 部署redis参考:http://blog.csdn.net/ludonqin/article/details/47211109一.安装redis1) 下载redis安装包可去官网http://redis.io ,也可通过wget命令:[root@ip-172-31-46-4 ~]# wget http://download.redis
2017-01-07 16:55:34
1255
原创 docker iotop :OSError: Netlink error: No such file or directory
在容器内使用iotop ,错误信息:raceback (most recent call last): File "/usr/sbin/iotop", line 16, in main() File "/usr/lib/python2.6/site-packages/iotop/ui.py", line 559, in main main_loop() File "/
2016-11-24 17:25:51
3785
原创 Docker简介/安装/使用
什么是Docker?docker是一个开源的应用容器引擎,系统级的轻量虚拟化技术。应用程序的自动化部署解决方案,能够迅速创建一个容器,并在容器上部署和运行应用程序,并通过配置文件可以轻松实现应用程序的自动化安装、部署和升级。docker使用Go语言编写,用cgroup实现资源隔离,容器技术采用LXC,lxc是一种内核虚拟化技术,提供轻量级的虚拟化。lxc是linux内核一个特性,它允许进程或进程组
2016-08-23 18:01:56
1212
原创 Solr 5.5.0 + tomcat 7.0.69 + zookeeper-3.4.6 Cloud部署
Solr 5.5.0 + tomcat 7.0.69 + zookeeper-3.4.6 Cloud部署(本文因为机器不够,只能在单机环境伪分布式部署,真实部署可将tomcat/zookeeper的端口不做调整即可)(1)apache-tomcat-7.0.69集群配置:版本:apache-tomcat-7.0.69下载:http://tomcat.apache.org/download-70.c
2016-05-24 15:38:36
4118
原创 zookeeper分布式部署方案
版本:http://apache.fayea.com/zookeeper/zookeeper-3.4.8/环境:debian 7/8说明:最低配置3台步骤:1.下载zookeeper-3.4.8并解压缩到合适的位置(本文地址为:/var/local/)2.配置zookeeper-3.4.82.1单机伪分布式部署注意:部署在同一台电脑时,特别注意不能共用相同的端口号,包括clientPort,ser
2016-05-16 13:16:02
4442
原创 linux crontab定时任务详解
1. 为当前用户创建cron服务: crontab -e 例如 文件内容如下(每隔1分钟执行sql脚本):*/1 * * * * mysql -h127.0.0.1 -uroot -proot 2. 查看该用户下的crontab服务是否创建成功: crontab -l3. 启动crontab服务 : /sbin/service crond start 若是根用户的cron服务可以
2016-05-03 18:07:00
4422
原创 linux C++多线程操作文件&输出加锁
下述demo将指定目录下文件存入vector,然后一分为二交给两个线程(threadTask1,threadTask2)去分别处理,对输出函数printDirent加锁防止紊乱。#include #include #include #include #include #include #include #include #include #include #include #
2016-05-03 15:22:36
3020
原创 Java在linux下调用C/C++生成的so文件
1.CplusUtil.java是java web工程中的一个工具类内容如下:CplusUtil.javapackage cn.undoner.utils;/** * Created by ${undoner} on 16-2-25. */public class CplusUtil { public native void sayHello(); static{
2016-02-25 15:30:08
1684
原创 Nginx创建密码保护目录
nginx 的根目录 为:/home/undoner/nginx-wwwnginx 访问地址 为:http://127.0.0.1本文实现对nginx根目录文件访问的权限控制(1)nginx指定密码文件格式为:“username:password”,但是password不能为明文,必须经过crypt加密,所以需要用工具产生密码字符串下面是python脚本:“htpasswd.py”,也可以 下载文
2016-01-21 14:55:02
1335
原创 Java中httpClient中三种超时设置
本文章给大家介绍一下关于Java中httpClient中的三种超时设置小结 在Apache的HttpClient包中,有三个设置超时的地方:/* 从连接池中取连接的超时时间*/ ConnManagerParams.setTimeout(params, 1000); /*连接超时*/ HttpConnectionParams.setConnectionTimeout(params, 2000)
2015-12-21 15:16:26
1970
原创 svn propset svn:ignore
1 添加svn:ignoresvn propset svn:ignore ".settingstarget.classpath.projectelement.iml" .2 查看设置属性svn plistsvn:ignore3 查看设置内容svn pget svn:ignore.settingstarget.classpath.project
2015-11-23 15:45:22
2434
原创 Linux下jetty报java.lang.OutOfMemoryError: PermGen space及Jetty内存配置调优解决方案
Linux下的jetty报java.lang.OutOfMemoryError: PermGen space及Jetty内存配置调优解决方案问题linux的jetty下发布程序后再启动jetty服务时,发现启动不了,从日志中找到报java.lang.OutOfMemoryError: PermGen space。原因分析PermGen space,全称是Permanent Generation s
2015-11-13 09:30:47
2312
原创 Linux:ssh_config快速访问服务器
在当前用户的根目录下:cd ~/.sshvi config编辑config内容为下面:ForwardAgent yesHost 1 Hostname 192.168.1.1 User rootHost 2 Hostname 192.168.1.2 User rootHost 3 Hostname 192.168.1.3 User root保
2015-10-30 15:47:09
1359
1
原创 Linux:alias永久生效
alias(中文称为“别名”)允许使用更加简短的名称来重新定义 Linux 中的 Shell 命令,从而简化命令行的输入。如果经常与 CLI 打交道,那么使用 alias 不仅会节省时间,而且也能提高效率,真是一举两得的好事。基本用法: alias 的基本使用方法为:alias 新的命令='原命令 -选项/参数'。举例说明,alias l=‘ls -lsh' 将重新定义 ls 命令,现在只需输入
2015-10-30 15:42:55
2228
1
原创 maven -Dmaven.multiModuleProjectDirectory system propery is not set. Check $M2_HOME
遇到错误:-Dmaven.multiModuleProjectDirectory system propery is not set. Check $M2_HOME解决办法:在环境变量中设置M2_HOME。设置之后仍然报错,maven与你的IDE不兼容,建议换低版本的maven,或者根据不同的ide设置下即可。1 EclipseWindow->Preference->Java->Installed
2015-09-25 12:29:41
1829
1
原创 nginx root、alias、location指令使用方法
一.nginx root指令1. Nginx配置相关配置如下图:通过配置root目录到“/wwwroot/html/”位置在用虚拟主机方法,主机名称是test,需要大家配置一下自己pc的host文件,另外需要配置server的nginx.conf文件,添加“include vhost/t.conf;”代码,注意不要携带中文的引号2. 准备一些文件,文件列表如下如上图,我们将/wwwroot/htm
2015-09-08 15:46:21
2835
1
原创 新手推荐:Hadoop安装教程_单机/伪分布式配置_Hadoop-2.7.1/Ubuntu14.04
下述教程本人在最新版的Hadoop 2.7.1中测试通过,使用文件:hadoop-2.7.1.tar.gz 和 hadoop-2.7.1.tar.gz.mds。当开始着手实践Hadoop时,安装Hadoop往往会成为新手的一道门槛。尽管安装其实很简单,书上有写到,官方网站也有Hadoop安装配置教程,但由于对Linux环境不熟悉,书上跟官网上简略的安装步骤新手往往Hold不住。加上网上不少教程也
2015-08-31 14:41:32
1897
原创 www-authenticate与BASE-64认证技术
www-authenticate是一种简单的用户身份认证技术。很多验证都采用这种验证方式,尤其在嵌入式领域中。优点:方便缺点:这种认证方式在传输过程中采用的用户名密码加密方式为BASE-64,其解码过程非常简单,如果被嗅探密码几乎是透明的.服务器收到请求后,首先会解析发送来的数据中是否包含有:Authorization: Basic XXXX=这种格式的数据如果没有这样的header数据那么服务器
2015-08-28 12:53:22
1168
原创 linux服务器批量部署应用系统shell脚本(Tomcat/jetty)
linux服务器批量部署应用系统shell脚本:1.请更换代码内的服务器地址(Tomcat或jetty服务器) serverRoot=/home/undoner/java_tool/apache-tomcat-7.0.61 serverDir=/home/undoner/java_tool/apache-tomcat-7.0.61/webapps2.请更换工程所属配置文件名称 /WE
2015-07-30 09:46:24
1676
原创 python 操作mysql数据库demo
sudo apt-get install python-mysqldb#!/usr/bin/env python#encoding=utf-8import sys import MySQLdbreload(sys) sys.setdefaultencoding('utf-8') try: conn=MySQLdb.connect(host='localhost',user
2015-07-29 13:45:11
1200
2
原创 Using mysqldump for Backups(备份还原数据库实例及参数详细说明)
官网mysqldump命令如下:Using mysqldump for Backupshttps://dev.mysql.com/doc/refman/5.7/en/using-mysqldump.html我们在项目中经常用到的:1.使用into outfile 和 load data infile导入导出备份数据这种方法的好处是,导出的数据可以自己规定格式,并且导出的是纯数据,不存在建表信息,你
2015-07-14 14:37:30
885
原创 bash:chkconfig:command not found
1尝试sudo/su rootsudo chkconfig --list2上述方法不行,请检查是否安装chkconfigrpm -qa |grep chkconfigubuntu上默认是不支持chkconfig命令的,安装包地址:http://download.csdn.net/detail/hylongsuny/52765363chkconfig命令chkconfig 可以检查和 设置服务自动启
2015-07-06 15:09:03
1951
xdoclet-1.2.3.jar和xjavadoc-1.1.jar官方下载
2014-04-24
Java_TCPIP_Socket编程(doc)
2012-12-29
Java开发技术大全(500个源代码).
2012-12-02
Java socket多线程聊天系统(myeclipse)
2012-10-18
MVC在线RSS阅读器(ASP.NET 4.0)
2012-10-07
MVC网上书店(ASP.NET 4.0)
2012-10-07
ASP.NET 4.0网站开发与项目实战PPT
2012-10-07
请问后面更新的三节课2021版的跟前面有啥区别吗?
2022-02-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人