- 博客(110)
- 资源 (14)
- 收藏
- 关注
原创 外包项目验收,项目进度管理,项目维护
你是不是被外包坑过?是不是担心外包在你系统里留后门?你是不是经历过外包给你的代码充满bug,完全不能使用?是不是经历过维护外包代码的痛苦?是不是经历过因为外包系统的一个安全漏洞损失了上万?你是不是没有一个专业的项目验收团队?我来了,你可以放心了!全程参与,解决你的后顾之忧,保证你的钱花的值,落到实处,起到作用!...
2019-06-26 23:51:39 561
原创 APP的接口版本管理 实现多版本共存
思路:用户请求url ---> 拦截器拦截 ---> 转发到真正处理类和方法 ---> 返回结果url注解类package com.jc.app.util.apiVersion;import java.lang.annotation.*;/** * 需要拦截的API接口方法 * Created by jasonzhu on 2016/11/28. */@Target({E
2016-12-01 11:15:29 17575 2
原创 Mysql简单说明
逻辑架构一 并发控制 1.读写锁 也称为 共享锁和排他锁 2.锁粒度 分为:表锁 和 行级锁二 索引类型 B-Tree索引 适合:全值匹配,匹配最左前缀,匹配列前缀,匹配范围值,精确匹配某一列并范围匹配另外一列,只访问索引的查询 限制:如果不是按照索引的最左列开始查找,则无法使用索引 不能跳过索引中的列
2015-12-31 17:24:29 656
原创 类加载执行子系统
一 Tomcat:正统的类加载器架构 目录结构中有3组目录(“/common/*”,“/server/*”和“/shared/*”)可以存放java类库,加上web应用程序自身的目录“/WEB-INF/*”,一共4组 放置在/common目录中:类库可悲Tomcat和所有Web应用程序共同使用 放置在/server目录中:类库可被Tomcat使用,对所有Web应用程序不可见
2015-12-24 13:41:53 581
原创 虚拟机类加载机制
参考:深入理解Java虚拟机虚拟机的类加载机制: 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的java类型一 类加载时机 生命周期:加载(Loading),验证(Verification),准备(Preparation),解析(Resolution),初始化(Initialization),使用(Using)
2015-12-23 14:25:47 443
原创 Java垃圾收集器与内存分配策略
参考:深入理解Java虚拟机1.哪些内存需要回收?2.什么时候回收?3.如何回收?垃圾收集关注的主要是Java堆和方法区一 对象状态判断 1.引用计数算法 给对象添加一个引用计数器,每当一个地方引用,计数器就加1;当引用失效时,计数器就减1;任何时刻计数器为0的对象就是不可能再被使用的。 无法解决对象之间相互循环引用问题 2.可达性分析算法
2015-12-23 09:42:30 464
原创 Java内存分配
图:Java虚拟机运行时数据区一 程序计数器 程序计数器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号提示器。 每个线程都有一个独立的程序计数器,之间互不影响,独立存储二 Java虚拟机栈 线程私有,生命周期和线程一样,是Java方法执行的内存模型:每个方法在执行的同时都会创建一个栈帧用于存储局部变量表,操作数栈,动态链接,方法出口等信息。每一个方法从调用直
2015-12-21 14:21:08 469
原创 linux常用命令
apt-cache search [软件] 查软件apt-get install [软件] 安装软件cat /proc/meminfo 查看内存cat /proc/cpuinfo 查看cpudf -h 磁盘top 内存ps -ef | grep [名
2015-12-18 17:23:14 372
原创 ubuntu安装mongodb及配置
参考:https://docs.mongodb.org/v3.0/tutorial/install-mongodb-on-ubuntu/安装:Import the public key used by the package management system.The Ubuntu package management tools (i.e. dpkg andapt
2015-12-18 16:45:53 490
原创 ubuntu防火墙配置
参考:http://wiki.ubuntu.org.cn/UFW%E9%98%B2%E7%81%AB%E5%A2%99%E7%AE%80%E5%8D%95%E8%AE%BE%E7%BD%AEhttp://wiki.ubuntu.org.cn/Ufw%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97安装方法 sudo apt-get install ufw
2015-12-18 14:01:44 1855
原创 Mybatis原理分析之七:资源加载
包结构本包主要包含了资源加载和访问相关的类。一 VFS类介绍 作用:虚拟文件系统(VFS),用来读取服务器里的资源提供了2个实现 JBoss6VFS 和 DefaultVFS,并提供了用户扩展点,可定义VFS实现加载顺序: 自定义VFS实现 > 默认VFS实现 取第一个加载成功的添加用户VFS实现public static void addImplC
2015-12-17 17:56:09 2654
原创 Mybatis原理分析之六:数据源
数据源包结构一 概述数据源相关核心类在datasource中,包含JNDI使用线程池的和不使用线程池的实现二 核心接口DataSoourceFactory接口//设置属性,被XMLConfigBuilder所调用void setProperties(Properties props);//生产数据源,直接得到javax.sql.DataSourceDataSou
2015-12-16 18:21:06 437
转载 IntelliJ IDEA 使用心得与常用快捷键
转载:http://www.blogjava.net/rockblue1988/archive/2014/10/24/418994.html一.黑色主题 Darcula眼睛舒服,最重要的是酷!设置方式:FILE--Settings--Edit--Colors&Fonts--Scheme name二.智能提示创建或引入项目的时候,会自动引入缺少的包,真找不
2015-12-16 17:39:25 427
原创 Mybatis原理分析之五:日志
logging包结构一 概述本包主要依赖Mybatis的reflection包的ExceptionUtil和io包的Resources,以及第三方的Log4j,Slf4j,CommonsLoginglogging包对其他包只有少量依赖,其他包对logging包有大量依赖二 核心类和接口Log接口 提供四种级别的日志void error(String s);v
2015-12-16 15:45:46 1244
原创 new()与newInstance() 的参数版本与无参数版本详解
参考:http://liliugen.iteye.com/blog/259199http://xiaohuafyle.iteye.com/blog/1607258实例化一个类可以使用newInstance()或new()前者创建对象的方式是通过类加载机制,Java中工厂模式经常使用newInstance来创建对象例如: Class c = Class.forName(“A”)
2015-12-16 14:05:56 1606
原创 Mybatis原理分析之四:异常
异常包含有四个类ExceptionFactory 是异常工厂,作用是把普通异常包装成mybatis自己的PersistenceException引用了executor包中的 错误上下文org.apache.ibatis.executor.ErrorContext;IbatisException Ibatis异常,所有异常的父类 但是已经废弃PersistentExc
2015-12-16 11:54:29 998
原创 Mybatis原理分析之三:包和类
参考:http://blog.csdn.net/fansunion/article/details/8254979Mybatis源代码地址:https://github.com/mybatis/mybatis-3中文注释:https://github.com/tuguangquan/mybatis
2015-12-15 23:32:30 659
原创 原理分析之二:架构分析
参考:http://chenjc-it.iteye.com/blog/1460990http://www.cnblogs.com/mengheng/p/3739610.htmlMybatis的功能架构图功能架构讲解:我们把Mybatis的功能架构分为三层:(1)API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。接口层一接收到调用请求就
2015-12-15 17:56:49 1458
原创 原理分析之一:从JDBC到Mybatis
转载:http://chenjc-it.iteye.com/blog/1455688有现有的~转过来 主要说明mybatis存在是为了解决什么问题的,为什么会存在1.引言本文主要讲解JDBC怎么演变到Mybatis的渐变过程,重点讲解了为什么要将JDBC封装成Mybaits这样一个持久层框架。再而论述Mybatis作为一个数据持久层框架本身有待改进之处。2.JDBC实现
2015-12-15 17:45:35 542
转载 pdfjs使用方法
原文:http://www.linuxidc.com/Linux/2015-06/118728.htmpdf.js框架的魅力所在,为其为HTML5实现的,无需任何本地支持,而且对浏览器的兼容性也是比较好,要求只有一个:浏览器支持HTML5就好了!(不过对于低版本的IE,就只能节哀了!)据说IE9以上是OK的,因为我本地是IE11,所以我只在IE11上测试过,是通过的(当然火狐,36
2015-12-01 11:22:32 10701 3
原创 WEB打印控件
1.Lodop(强烈推荐)对于这个打印控件,用一个词来形容:强大!不仅调用方便,而且功能比你想像中要强大得多。更多介绍大家到作者博客详细了解。作者博客:http://blog.sina.com.cn/caoyanqingwebsite/下载地址:/Files/panshenglu/lodop4.0.zip2.楚琳Web打印控件【软件特点】 1、报表功能强大,报
2015-11-30 18:36:23 855
原创 pdf显示插件
1. JavaScript的PDF阅读器(JavaScript PDF Reader : pdf.js)pdf.js 基于HTML5实现网址:https://github.com/mozilla/pdf.js在线演示2. jQuery的媒体插件(jQuery Media Plugin)jQuery的媒体插件支持丰富的媒体内容不显眼的转换标准标记。它支持virtual
2015-11-30 17:40:10 2359
原创 鼠标拖拽效果
鼠标拖拽效果js可以由鼠标的三个事件实现document.getElementById(ID) 根据传入ID获得元素对象Element.addEventListener(TYPE,FUNCTION); 元素对象设置事件监听处理器document.onmouseup=function(e){} 鼠标松开时触发document.onmousemove=function(e){} 鼠
2015-11-30 14:05:24 470
原创 koa学习一
了解next的作用this:koa中一个概念是Context,封装了request与response对象到this对象中,并提供一些快捷方式双波浪线"~~"等价于Math.floor取整,"~~"的效率较高可读性较差双感叹号"!!"等价于"Boolean",把值转换为bool类型;var app = require('koa')();//中间件app.use(functio
2015-11-28 23:29:49 609
原创 基于rapheal图片放大 缩小 旋转 拖拽 双击
rapheal中文api:http://html5css3webapp.com/raphaelApi.htmRaphael Javascript 是一个 Javascript的矢量库。英文原版官网:http://raphaeljs.com英文原版文档:http://raphaeljs.com/reference.htmlrapheal这个玩意儿可以实现很多很负载的功能,这次只用
2015-11-27 17:46:55 1009
转载 技术人员学习新技术的 10 个建议
我们关注java,关注互联网,更关注程序员,欢迎点击最上面“java那些事”关注我们!我们生活在一个振奋人心的时代。我们可以越来越方便廉价地获得大量学习资源。这些资源的传播载体由最初的教室被变成了博客,技术论坛等。坐拥如此众多的学习资源,我们没有任何理由不去好好利用。随之而来的问题便是如何在这知识的海洋中选择自己的前进方向。在这篇文章中,我将简要概括一些技术学习的建议,希望可以给你带来
2015-11-26 22:57:12 643
原创 generator函数
Generator函数是ES6提供的一种异步编程解决方案Generator暂停时,之后语句可以正常执行之前异步编程的方法大概有四种 1.回调函数 2.事件监听 3.发布/订阅 4.Promise对象从语法上理解,Generator函数是一个状态机,封装了多个内部状态,执行Generator函数会返回一个遍历器对象,也就是说Generator函数除了状态机还是一个遍历
2015-11-24 14:17:12 735
原创 nodejs多线程简介
nodejs是单进程单线程的,影响事件驱动服务模型性能的点在于CPU的计算能力,它的上限决定这类服务模型的性能上限,但不受多进程或多线程模式中资源上限的影响。可解决多核CPU利用问题。多进程架构:Node提供child_process模块,并提供child_process.fork()函数提供我们实现进程复制 1.复制主进程,根据cpu核数复制工作进程。它需要至少30毫秒的启动时间和至少
2015-11-23 18:33:17 1356
原创 nodejs文件读取中文乱码问题
参考自《深入浅出nodejs》Buffer对象类似于数组,元素为16进制的两位数,0-255的数值 是二进制,与字符串有编码的关系Buffer对象可以与字符串之间相互转换,目前支持:ASCII,UTF-8,UTF-16LE/UCS-2,Base64,Binary,Hex转为buffer: new Buffer(str,[encoding])转为字符串:buf.toString([e
2015-11-23 13:54:39 16273
原创 nodejs内存泄露排查
参考《深入浅出nodejs》v8-profiler:由Danny Coates提供,可以用于对V8堆内存抓取快照和对CPU进行分析,3年没有维护node-heapdump:允许对V8堆内存抓取快照,用于事后分析node-mtrace:使用了GCC的mtrace工具来分析堆的使用node-memwatch:来自Mozilla的Lloyd Hilaiel贡献的模块1.node-
2015-11-23 12:04:54 5739
原创 异步编程优势难点及解决方案
异步I/O和非阻塞I/O的区别:阻塞造成CPU等待I/O,浪费等待时间,非阻塞I/O跟阻塞I/O的差别为调用之后会立即返回。非阻塞的问题是由于完整的I/O并没有完成,立即返回的并不是业务期望的数据,而仅仅是当前调用状态。为了获得完整数据需要重复调用I/O操作确认是否完成,异步I/O可实现不等待数据读取完成。优势:特性是基于事件驱动的非阻塞I/O模型,非阻塞I/O可以使CPU与I
2015-11-20 17:50:48 3073
转载 nodejs事件轮询详述
转载自:http://www.cnblogs.com/xiaozhi_5638/p/4816265.html?utm_source=tuicool&utm_medium=referral目录概述nodejs特点事件轮询关于异步方法 概述关于nodejs的介绍网上资料非常多,最近由于在整理一些函数式编程的资料时,多次遇到nodejs有关的内容。所以就打算专门写一篇文章总结
2015-11-19 20:24:57 625
原创 spring源码目录模块的作用
spring框架是个分层框架,整体架构图参考:《Spring源代码深度解析》Core Container(核心容器)包含Core、Beans、Context和Expression Language模块。spring-core:主要包含Spring框架基本的核心工具类,Spring的其他组件都要使用到这个包里的类,Core模块是其他组件的基本核心。spring-beans:是所有应用
2015-11-15 16:40:32 981
原创 获得spring源码
spring 在github中地址:https://github.com/spring-projects/spring-framework1.可以通过git或者github或者进入页面zip下载2.在eclipse中新建项目,项目名spirng-framework,项目类型 General下的project3.点击空项目import源代码,选择General下的File Syste
2015-11-15 14:35:27 409
原创 事务简介及隔离
事务经常遇到的问题:1.脏读 Dirty reads :事务A未提交之前(还在缓存中)修改了记录1,事务B读取记录1,如果事务A回滚,则事务B所读是错误数据。2.不可重复读 non-repeatable reads:事务A中两处读取记录1中的值。第一次读取记录1值为“123”,事务B把记录1值修改为“456”,事务A第二次读结果变为“456”,数据混乱3.幻想读 phantom rea
2015-10-20 15:13:14 696
原创 java代理模式及两种动态代理
代理模式是:一对象代替另外的对象进行操作。需要代理类和被代理类实现同样的接口/** * 代理模式 代理类和被代理类需要实现的接口 * */public interface Business { void doAction();}被代理类/** * 被代理类 需要实现接口 * */public class BusinessImpl implements Business{
2015-09-06 14:13:19 611 1
原创 redis和mongodb工具类
import java.io.File;import java.io.InputStream;import com.mongodb.gridfs.GridFSDBFile;/** * Mongodb存取文件 * */public interface FileDao { /** * 存储文件 * @param collectionName 集合名
2015-09-02 18:11:19 1152
原创 tomcat与redis链接redis存储session
content.xml<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information re
2015-08-25 18:23:05 753
原创 MySql数据库分表分区方法
分区和分表的区别参考:http://blog.csdn.net/heirenheiren/article/details/78965461.merge存储引擎来实现分表 merge分表,分为主表和子表,主表类似于一个壳子,逻辑上封装了子表,实际上数据都是存储在子表中的。创建分表:CREATE TABLE `fen_01` ( `id` INT(11) primary
2015-08-25 18:05:43 951
tomcat和redis依赖包
2015-03-24
JasperReports+ireport学习文档
2015-02-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人