- 博客(56)
- 问答 (1)
- 收藏
- 关注
技术的学习还是要靠自己的积累
时间过的很快,到新公司都一年多了,从技术方面而言,面变广了,包含如下几个大的点:(1)RPC服务调用(DUBBO之类的产品)(2)消息中间件(metaq之类的产品)(3)缓存(memcached,redis之类的产品)(4)数据监控(接口调用量,接口rt,应用集群rt和load,数据库rt和load,单机应用的rt和load等等)(5)数据迁移(mysql binlog等等)...
2016-10-14 20:04:39 261
每天在做什么
很久没有更新自己的博客了,但内心还是惦记这块属于自己成长的地方,所以有空还是会过来看看,写写。非常喜欢下面一段话:一群有情有义的人在一起做一件有价值有意义的事情或许这群有情有义的人,很难找,或许也很好找。把你学会的东西和别人分享,说不定还会给你一定的指导,无论是我自我学习的过程中,还是完成工作需求的过程中,我相信这个分享的动作都会带给你成长。 最近迫切需要学习公司的...
2015-10-29 00:22:52 136
Learn Maven(02)
Maven仓库(1)仓库存放所有依赖的仓库,这个仓库通过依赖的坐标来进行管理 (2)本地仓库和远程仓库先找本地仓库然后找远程仓库 (3)修改本地仓库位置进入安装目录下的conf\setting.xml<localRepository>D:\mavenRepo</localRepository>...
2015-09-15 20:54:41 148
Learn Maven(01)
Maven 依赖管理(1)pom.xml<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version&
2015-09-15 20:53:56 110
Learn IntelliJIDEA (02)
使用 IntelliJIDEA 构建一个 Maven 项目 (1)Maven项目(1.1)New Project ----- Maven(1.2)配置JDK(1.3)Create from archetype (2)使用IDEA执行Maven打包操作打开views ----- Tool Buttons 右侧可以看到 (...
2015-09-15 20:18:13 247
Learn IntelliJIDEA (01)
准备IntelliJIDEA (1)IntelliJIDEA 下载http://www.jetbrains.com/idea/download/ (2)IntelliJIDEA 注册码获取http://appcode.aliapp.com/index.jsp (3)IntelliJIDEA 注册码分享test0108358-C5PQS-SMWW0-LDEA...
2015-09-15 20:14:31 255
任务单模型简化设计
早上花了半个小时,设计了一个简单的任务单模型(1)选择【申请单模版】,生成【申请单实例】(2)根据【申请单模版】,生成多个【任务单实例】(3)建立【申请单实例】和【任务单实例】的关联关系 ...
2015-09-12 12:53:42 190
【Learn Git 01】:git 安装与简单配置
(1)Git下载http://git-scm.com/ (2)安装一路next (3)Git 命令命令描述 which -a git 查看所有Git版本 git --version查看Git版本 ...
2015-09-11 00:56:16 97
【Learn Git 02】:Git 基本的工作流程
(1)Git存储Git使用40个16进制SHA-1 Hash来唯一标识对象 (2)Git对象类型blobtreecommittag tag-----commit-----tree-----blob (3)Git存库获取Git仓库的2种方式进入Git仓库文件夹(3.1)git init 子仓库名称(3.2)git clone...
2015-09-11 00:55:04 85
synchronized的使用
在编写一个类时,如果该类中的代码可能运行于多线程环境下,那么就要考虑同步的问题。在Java中内置了语言级的同步原语--synchronized,这也大大简化了Java中多线程同步的使用。直接上代码package com.crm.learn.thread;import java.util.concurrent.CountDownLatch;import java.util....
2015-09-08 18:37:11 71
准备01:搭建技术博客
(1)注册github (2)开通Github Pages,创建技术博客(2.1)Repository name:youname.github.io(2.2)进入自动页面生成器 参考文章:http://blog.csdn.net/renfufei/article/details/37725057 (3)使用JekyllJekyll是Gith...
2015-09-07 01:17:55 94
利用Redis构建自定义标签(2)
最近工作有点忙,不过Redis构建自定义标签也基本已经实现 (1)整体设计 (2)Jedis配置<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:contex...
2015-08-26 23:45:33 170
Tomcat下多项目Session共享
一、提出问题:为了满足足够大的应用,满足更多的客户,于是我们架设了N台Web服务器(N>=2),在多台Web服务器的情况下,我们会涉及到一个问题:用户登陆一台服务器以后,如果在跨越到另一台服务器的时候能够继续使用客户的Session?二、解决方案:1. 写客户端Cookie的方式 当用户登陆成功以后,把网站域名、用户名、密码、token、 session有效时间全部采用co...
2015-08-21 02:38:37 243
利用Redis构建自定义标签(1)
(1)整体设计 (2)字典模块 (3)Redis模块 (4)加载总控线程package com.crm.application.main;import java.sql.Connection;import java.sql.Statement;import java.util.concurrent.CountDown...
2015-08-20 19:40:26 370
Spring bean无法初始化
今天在开发的时候,想在Bean初始化的时候,将数据库中的数据加载到Redis中所以写了一个Bean,具体如下: (1)加载Beanpackage com.crm.application;import java.sql.Connection;import java.sql.Statement;import javax.servlet.ServletContext...
2015-08-17 14:51:14 994
Spring Data Jpa 实体状态分析
(1)前言:最近在使用Spring Data Jpa开发的时候,发现更新单个对象的时候,可以这么写: @Transactional(value = "oracleTM") public E update(Serializable id, E newEntity) { E entity = getEntity(id); BeanUtils.copyPropertie...
2015-08-17 11:23:03 581
备战准备01--多线程
(1)线程池背景Jdk1.5之后加入了java.util.concurrent包,这个包中主要介绍java中线程以及线程池的使用。为我们在开发中处理线程的问题提供了非常大的帮助。 (2)线程池 (2.1)线程池概念诸如web服务器、数据库服务器、文件服务器和邮件服务器等许多服务器应用都面向处理来自某些远程来源的大量短小的任务。构建服务器应用程序的一个过于简单的模型是:每...
2015-08-16 01:06:15 97
Hibernate POJO 慎用 Java原生态类型
(1)如果数据库表中存储的数据为NULL(2)POJO中属性的类型为原生态类型(int,long,double...) 那么我们就会抛出如下错误:java.lang.IllegalArgumentException: Can not set long field com.crm.model.card.BOCrmCardOperate.newCardInsId to null va...
2015-08-15 15:48:12 106
基于Bootstrap 和 bootstrapDualListbox的表格动态生成
(1)整体设计讲解 (2)核心代码分析 (2.1)页面初始化传入参数,请传入本次方案涉及到的所有菜品格式:Json数组属性分析: dishId:菜品ID dishName:菜品名称 zPrice:原价 aPrice:金卡价 bPrice:银卡价 cPrice:绿卡价demo:var dishes...
2015-08-12 00:47:28 605
加深记忆
forward:转发本次请求,包含请求中的信息,转发的不好会导致死循环 redirect:重定向,本次请求结束,发起一次新的请求(get方式) 逻辑地址:跳转到某个页面(可以是jsp,也可以的freemarker等等) ...
2015-08-11 11:18:29 99
Jedis实战02
(1)Jedis配置文件<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"xm...
2015-08-10 16:28:01 70
Jedis实战01
(1)Spring Data Redis(1.1)Spring Data Redis介绍http://projects.spring.io/spring-data/http://projects.spring.io/spring-data-redis/ (1.2)Spring Data Redis jar下载http://search.maven.org/https...
2015-08-10 16:25:13 126
基于H2内存数据库的自动翻译 01
(0)项目背景很多时候,我们在做一个项目的时候,页面展现的时候,有很多字段需要翻译,这个时候有2个办法:(A)关联查询,最主要的方法(B)自动翻译,在源数据的基础上,增加翻译字段为了减少开发人员自己手动写关联查询SQL,决定在返回数据的时候增加自动翻译的模块,只需要调用同一的方法即可实现自动翻译,开箱即用,并且可以实时修改翻译源 (1)H2数据库jar下载htt...
2015-08-10 11:14:55 82
Redis安装02
(1)下载Redis安装包(linux)http://www.redis.io/ (2)拷贝到相应的路径 (3)解压tar -zxvf redis-3.0.3.tar.gz (4)编译源码 make (5)拷贝可执行文件makedir bincp redis-server ../bincp redis-cli ../bin/...
2015-08-07 10:17:11 66
Redis安装01
(1)下载Redis安装包(windows) (1.1)windows版本(下载)https://github.com/dmajkic/redis/downloads (1.2)安装测试目录文件redis-benchmark.exe #基准测试redis-check-aof.exe # aofredischec...
2015-08-07 10:16:51 62
利用缓存复用复杂查询结果,提升性能
问题:用户筛选模块,查询性能比较慢?分析:(A)他第一次查询的时候 我只是记录了数量 并没有将会员信息存储(B)然后点击参加活动的时候 我又用刚刚的条件去查询了一遍(C)然后再将会员信息 与 活动建立关联关系 并且发送到老系统 解决方案(A):(1)查询数量的方法,修改成查询数据(查询出符合条件的用户数据),返回结果集大小(2)使用UUID作为key,将刚刚查询的结果存储到缓存中...
2015-08-03 15:41:10 353
FreeMarker 多视图配置
(1)新增自定义ViewResolverpackage com.zcrm.resolver;import java.util.Locale;import java.util.Map;import org.springframework.web.servlet.View;import org.springframework.web.servlet.ViewResolver...
2015-07-31 19:43:01 142
ORA-01000: maximum open cursors exceeded问题处理
(1)异常信息:ORA-01000: maximum open cursors exceededORA-00604: error occurred at recursive SQL level 1ORA-01000: maximum open cursors exceededORA-01000: maximum open cursors exceededORA-02063: precedin...
2015-07-30 17:42:55 440
javascript获取对象的封装(一)
在J2EE的开发过程中,很多情况需要将前端的一个form或者一个table下的所有信息,全部传递到后台,看下如下的设计图。使用到了2个强大的工具:(1)Gson.jar(2)json2.jsfunction getObj(tableId) { var Obj = new Object(); //获取input的值 var _s = "#" + tableId +...
2015-07-29 23:50:51 155
Learn Nodejs 02
(1)npm是什么npm is the package manager for node官方网站:https://www.npmjs.com/npm上有很多优秀的nodejs包,来解决常见的一些问题,比如用node-mysql,就可以方便通过nodejs链接到mysql,进行数据库的操作在开发过程往往会需要用到其他的包,使用npm就可以下载这些包来供程序调用 (2)n...
2015-07-17 17:25:38 71
Learn Nodejs 01
(1)下载nodejshttps://nodejs.org/download/选择相应的版本进行下载 (2)安装nodejs安装的方式比较多,请baidu下我这边下载的是“node-v0.12.7-linux-x64.tar.gz”这个版本(1)上传服务器(2)解压tar -zxvf node-v0.12.7-linux-x64.tar.gz(3)检测是...
2015-07-17 14:30:12 115
CRM项目开源(01)
CRM营销管理系统是以数据分析为基础,实现流程化管控的精确化营销系统。CRM营销管理系统在数据中心的基础上,汇集全网的用户数据,通过对用户的信息和行为进行标签化分析,形成用户画像。通过对营销的拆分,抽象出“活动创建”,“用户筛选”,“营销策划”,“短信营销”,“邮件营销”,“APP营销”,“电话营销”, “人员调度”,“案场执行”,“活动评估”等环节,通过对环节的拼装,形成不同的流程,应...
2015-07-15 11:29:58 293
【求助】mongoDB无法更新主键
Query query = new Query(); query.addCriteria(new Criteria("_id").is(o.getId())); Update update = new Update(); update.set("_id", user.getCrmUserId...
2015-07-14 16:01:57 583
Spring Mybatis独立事务配置
在项目中有很多地方会使用到独立事务,下面以获取主键为例 (1)修改配置文件spring-mybatis.xml <!-- 开启事务支持 --> <tx:annotation-driven transaction-manager="transactionManager" /> <!-- 拦截器方式配置事务 --> <!-- ...
2015-07-13 13:56:04 252
Spring+Mybatis 手动控制事务
@Override public boolean testDelete(String jobCode) throws Exception { boolean flag = false; //1.获取事务控制管理器 DataSourceTransactionManager transactionManager = HqznContext.get...
2015-07-12 15:11:14 645
mongoDB [skip+limit]分批取数的BUG
假设mongoDB有如下数据,1,2,3,4,5,6,7,8,9,10 想变成A1,A2,A3,B4,B5,B6,C7,C8,C9,C10通过skip + limit进行分组0~3 A执行3~3 B执行6~4 C执行(1)边获取数据,边更新 (1)A抓取到数据后,执行更新(2)B抓取到数据后,执行更新(C)C抓取到数据后,执行更新执行结果如下A1,A2,A3,4,5,6,7,8,9,10...
2015-07-03 20:05:29 662
multiselect 初始化赋值
jquery有很多插件,比如jquery.multiselect.js(多选下拉框),使用的时候非常便捷,但有的时候你遇到问题,可能非常难解决(今天解决这个问题弄了将近2个小时),一般情况下解决问题的思路可能如下:(1)百度搜索,去寻找解决方案(自从有了爬虫这个东西,答案就泛滥了,几乎是千篇一律,原创的东西越来越少)(2)通过F12调试,分析出原因(3)但是如果还是解决不了,这个时候你必须要看源码...
2015-06-30 06:55:01 1891
系统缓存之clone使用
在J2EE WEB应用中,很多地方都会用到缓存,获取到缓存数据后,可能要取到的数据,进行数据筛选,选择符合条件的数据,并且还是通过原有对象进行返回,但是"过滤不好",就很有可能破坏缓存原始数据,甚至清空,主要原因是对象引用的问题,为了不对原始对象的操作,这个时候可以使用clone方法,对clone后的对象(实现Cloneable接口)进行操作。 ...
2015-06-24 17:28:34 119
惯性思维的风险点
结果打印false,s和s2是2个不同的对象引用,内存地址不一样,==是比较是否为同一内存地址引用因为long用习惯了,所以很多时候写代码不经意间就是用了Long,但是比较是否相等的时候还是习惯性的时候用== 这样写大家都能明白是false,但很多时候不经意间就习惯性的用错了,mybatis generator自动生成的代码,number会全部自动成为Long类型,这种错误隐藏的很深...
2015-06-22 09:46:44 106
Spring MVC RESTful架构之redirect妙用
我们在Controller层封装获取资源的方式:URI+GET/POST 当我们在后台执行保存数据操作后,页面需要展现保存后的资源,这个时候可以复用获取资源的方法,这个时候有2种选择:(1)forword:跳转方式(2)redirect:重定向forword在原有请求的基础上继续请求资源,这个时候需要注意,forword获取资源的方式和之前的请求一致,如果之前是POST方式,它还是以POST请求...
2015-06-21 23:24:43 260
空空如也
split("|")的用法
2011-12-01
TA创建的收藏夹 TA关注的收藏夹
TA关注的人