自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Gaaidou的博客

人为大自然立法

  • 博客(54)
  • 资源 (8)
  • 收藏
  • 关注

原创 Docker安装Redis集群

Docker的出现,降低了很多中间件的搭建的成本,而且Docker镜像可以把整个搭建过程记忆起来,在新的环境中,只要安装了Docker环境,那么只要把镜像移植,就可以创建一个新的Redis环境,而且搭建成本很低,这就是Docker技术的一大价值。和Java的Maven管理一样,一个好的Java框架,只要引入pom依赖,并且进行简单的配置或者引入注解,即可进行运行,不用管内部细节。那么对于RedisDocker项目也是一样,如果对于使用者来说,只要进行:配置文件修改 -> 修改properties

2021-09-24 15:28:39 961

原创 动态代理模式(Cglib实现)

使用过SpringAOP的人都知道, AOP的底层实现原理是使用了动态代理模式来实现面向切面编程。而SpringAOP使用的动态代理方式有JDK的动态代理,另一个则是Cglib的动态代理。本文先不讲AOP,主要讲Cglib的动态代理实现过程。Cglib底层实现是使用了ASM操作字节码生成代理对象,由于这种技术十分底层,因此本文不打算研究,而且这些知识对于应用开发来说投入产出比不高,因此对于Cglib,个人主张只需要知道其大概实现过程,在日常开发中一旦遇到和Cglib相关的问题,可以能比较快速的解决方案。

2021-07-14 17:14:04 556

原创 RPC原理

微服务时代,RPC远程调用成为了一个重要的角色。因此本篇文章将会讨论一下RPC的实现原理以及模拟一个RPC实现。RPC原理我们还是按常规归纳为三要素:动态代理、网络传输、序列化下面是RPC原理图:下面我们模仿下RPC的实现过程,其中动态代理使用JDK自带的动态代理。网络传输使用最原始的Socket的BIO模式。序列化也采用JDK的ObjectInputStream和ObjectOutputStream.。先上用例再上原理服务端用例(包括主函数和rpc接口实现):public class Serv

2021-07-06 17:55:12 271

原创 线程池剖析(一)

线程池技术讲解线程池思想,我们借用Jdk自带的线程池ThreadPoolExecutor来解释1、corePoolSize、maximumPoolSize与workQueue一个互动过程、为了方便测试的时候,了解线程的调用情况,因此改写了ThreadFactory,线程名称前缀为THREAD-POOL-,按序号递增,这样我们就能清楚看到线程调用的是核心线程还是拓展线程public class AsyncThreadFactory implements ThreadFactory { pr

2021-06-29 20:01:37 217 6

原创 Hessian Hello World

1.用例图:2.时序图:3.梗概: a.动态代理:被调用者带有接口的定义,接口的实现在调用者处,被调用者通过动态代理触发网络IO,请求调用者查找对应的接口并调用 b.网络IO:远程调用的本质是分离思想,把计算的服务分离,那么分离则需要一个媒介沟通,那么这个媒介可以看出是网络IO(本地的两个进程也可以看成是网络IO传送)。 c.序列化方式和协议:不同的远程调用可能会使用到不同序列化方法和传送协议

2017-12-05 16:59:27 226

原创 React JS环境搭建

使用webpack搭建React JS简单的demowebpack:http://webpack.github.io/1.安装react和react-dom:npm install react react-dom2.安装babel,babel-loadernpm install babel-core@5 babel-loader3.安装webpacknpm insta

2017-06-01 16:33:57 419

原创 Vector源码阅读(JDK 8)

Vector源码阅读(JDK 8)

2017-03-31 16:03:55 389

原创 LinkedList源码阅读(JDK 8)

LinkedList源码阅读,归纳了下面三个点: 1.内部静态类:private static class Node { E item; Node next; Node prev; Node(Node prev, E element, Node next) { this.item = element

2017-03-30 16:52:27 337

原创 ArrayList源码阅读(JDK 8)

ArrayList源码阅读归纳,结论和建议

2017-03-30 10:36:55 364

原创 对IDE依赖的一些看法

对于IDE这个问题,我的个人看法是要用IDE,而且还要用好

2015-09-12 12:38:24 1127

原创 对"yyyyMM"与"yyyyMMdd"类日期的校验

        最近在工作中需要用到对"yyyyMM"类的日期校验,比如"201501"就表示2015年1月,然后如果是"201513",“2015qew”等这些这是非法的输入。       之前使用了一直方式校验,使用SimpleDateFormat类的parse()方法,该方法会抛出ParseException异常,如果parse不符合format,就会抛出该异常。但后来发现了一个问题...

2015-07-11 20:09:39 1733

原创 Oracle命名规范归纳

表:t_tableName索引:index_indexName序列:s_sequenceName视图:v_viewName存储过程:p_procedureName函数:f_functionName触发器:tr_triggerName

2015-01-30 21:42:51 1149

原创 一个关于借款时间的问题

问题:如果我在2015年1月31日向A借款1000元,一个月之后准时还。这时,问题就出来了,我是在2月28日还,还是在3月2日还?这时我们就必须弄清楚我们是按30天一个月算得,还是直接按一个月算。最近做一个p2p网贷的二次开发,遇到了这个问题,假如用户在31日发标,但如果下个月没有31日,这样就会产生一些误会。那么假如我们把一个月定义成单纯的一个月,比如1月1日,一个月

2014-12-28 16:17:56 996

原创 Linux 解压,压缩

设:在压缩时,压缩文件夹为fileDir,目标压缩文件为file.xxx(zip,tar.gz)        在解压时,压缩文件为file.xxx(zip,tar.gz),解压文件夹为fileDir1,zip(这个对于一些Linux版本可能需要额外安装)压缩:zip file.zip fileDir(把fileDir文件夹压缩为zip)解压:unzip file.zip(

2014-11-29 15:54:54 575

原创 Mysql GROUP BY NULL

CREATE TABLE IF NOT EXISTS A(id INT PRIMARY KEY AUTO_INCREMENT ,NAME VARCHAR(10)) ;CREATE TABLE IF NOT EXISTS B(id INT PRIMARY KEY AUTO_INCREMENT ,NAME VARCHAR(10) ,aid INT NOT NULL) ;INSERT INTO A

2014-11-19 16:39:19 11285

原创 Mysql存储过程(二)

Mysql存储过程里面的变量目前我发现有三种,第一是参数传递进来

2014-11-12 19:57:41 533

转载 (精)字符集GBK和UTF8的区别说明

原GBK就是在保存你的帖子的时候,一个汉字占用两个字节。。外国人看会出现乱码,此为我中华为自己汉字编码而形成之解决方案。UTF8就是在保存你的帖子的时候,一个汉字占用3个字节。。但是外国人看的话不会乱码,此为西人为了解决多字节字符而形成之解决方案。ASCII(ISO-8859-1)是鼻祖,最简单的方式,字节高位为0GB2312、GBK、GB18030,这几个是中

2014-11-11 10:39:13 767

原创 Mysql 存储过程(一)

最近做一个项目,用到了很多Mysql存储过程,目测至少5000hwang

2014-11-10 11:37:48 551

原创 JDBC事务

create table bank( id int primary key auto_increment , name varchar(20) not null , money double not null default 0.00) ;insert into bank (name ,money) values("Martin" , 1000) ;insert into

2014-09-10 21:33:36 657

原创 Eclipse全文搜索与Struts2 MVC

全文搜索引发的对MVC的思考

2014-09-05 16:31:11 952

原创 SFTP使用

在利用SecureCRT远程操作Linux时,如果需要上传文件,可以使用SFTP。1,在Secure

2014-09-03 11:02:23 954

原创 Hibernate单向多对一级联删除引发的问题

Hibernate单向多对一在级联删除时,会出现一些问题。下面模拟我遇到的问题:这次模拟与之前的一次模拟方法一直,博客:http://blog.csdn.net/openjdk8/article/details/38424403模拟场景:有一个部门表t_dept,职位表t_position。需求:当删除部门表时,不管职位表有没数据,照样删除。删除职位表就直接删除。1,建

2014-08-11 21:41:09 6860 1

原创 买面包与IoC

一次买面包引发的对IoC的思考

2014-08-10 09:31:15 896

原创 Hibernate单向多对多

最近做一个OA系统,用到了Hibernate框架,我发现,权限和角色的关系是一种多对多的关系,一个权限可以分配给多个角色,一个角色拥有多个权限。多对多关系有两种,一种是单向的,一种是多向的。对于这个问题,曾经让我很犯难。单纯在语言上理解,会比较复杂,而从代码上理解,可能就会明白了。下面模拟为角色授权的过程:1,Hibernate使用Annotation2,使用Junit进行测试。

2014-08-07 21:52:46 2471

原创 MVC原理

*********************************写于2014年8月6日*************************************************************************        最近一直在开发一个OA系统,用到了Struts2框架,逐渐对MVC原理有了一丁点理解。下面在今天写下我的那一丁点的理解。        回

2014-08-06 22:35:31 1012

原创 Eclipse错误积累

1,启动 Eclipse 时弹出Failed to load the JNI shared library jvm.dll

2014-07-19 20:53:24 596

转载 子查询中不能包含order by

今天做开发遇到一个问题:写sql语句:select  top 20 * from (select top 200 * from ump_user order by id)ttnn sql查不出来   因为子查询中不能包含order by 子句具体原因:在8i以前,子查询中不能包含Order By子句。从8i开始,子查询可以有Order By,但必须是有top-n的这

2014-07-14 14:18:03 1736

原创 数据库设计三大范式

今天在学习Hibernate时,无意中看到了数据库设计的三大范式,

2014-07-10 20:10:26 855

原创 Java Object类

众所周知,Object类是Java所有类的子类,所有的类(Object除外)都默认继承了这个

2014-07-08 16:17:27 488

原创 Hibernate模拟

最近重新复习了一下hibernate,并且看了马士兵

2014-07-05 18:15:55 717

原创 Java Dom解析xml

以前学习过Hibernate框架,对Hibernate框架有了一点了解,但不是特别深入理解,

2014-07-04 21:25:12 638

原创 Hibernate Error积累

1,Could not find a getter for id in class org.jian.domin.User:2,

2014-07-04 13:02:08 718

转载 配置hibernate根据实体类自动建表功能

文章转载至:http://blog.csdn.net/lixuyuan/article/details/8057119Hibernate支持自动建表,在开发阶段很方便,可以保证hbm与数据库表结构的自动同步。如何使用呢?很简单,只要在hibernate.cfg.xml里加上如下代码Xml代码update   update:表示自动根据model对象来更新表结构,启动

2014-07-04 11:13:44 486

转载 oracle-ora 各种sql异常描述

java.sql.SQLException错误!ORA-00904:     --invalid column name 无效列名ORA-00942:  --table or view does not exist 表或者视图不存在ORA-01400:  --cannot insert NULL into () 不能将空值插入ORA-00936: --缺少表达式

2014-06-25 16:57:30 5263

原创 Android开发常见Error积累

Error 1:[2014-05-03 11:51:43 - Dex Loader] Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.[2014-05-03 11:51:43 - FaceData] Conversion to Dalvik fo

2014-06-10 15:01:36 695

原创 Tomcat错误积累

1,Error:(环境 JDK 8 , Tomcat 7)org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: 1 in the generated java fileThe type java.util.Map$Entry cannot be reso

2014-06-10 14:59:41 3791

原创 Oracle学习笔记(四):多表查询(二)

为了说明外连接的作用,我们做一个表来说明:

2014-06-06 18:55:57 657

原创 Oracle学习笔记(三)多表查询(一)

上一篇博客所记录的仅仅指

2014-06-06 18:55:16 739

原创 PriorityQueue

package org.jian.test;import java.util.LinkedList;import java.util.PriorityQueue;import java.util.Queue;public class PriorityQueueTest { public static void main(String[] args) { Queue priorit

2014-06-06 17:07:56 513

原创 常用一些Java基础算法积累

1,求最大公约数与最大公倍数:

2014-06-06 17:01:30 597

json-lib-2.2.2-jdk15.jar

下载自:http://www.findjar.com/jar/net/sf/json-lib/json-lib/2.2.2/json-lib-2.2.2-jdk15.jar.html?all=true。上传到csdn,希望可以方便大家下载

2014-08-05

Hibernate模拟

Hibernate模拟实现。主要用于学习Hibernate的原理

2014-07-05

Hibernate连接数据库模拟

本项目主要用JavaDom解析xml文件模拟Hiberntate连接数据库。 注:本项目只做学习之用。有错误希望指出

2014-07-04

设计模式:可复用面向对象软件的基础(GOF)(英文版)

著名鼎鼎的四人帮Gof著作。学习设计模式的好书籍。虽然是C++写得,但思想适合所有语言。

2014-05-02

Debian 163软件源

这个文件含有Debian 6 Squeeze与Debian 7 wheezy的镜像使用路径,直接把里面的内容覆盖到/etc/apt/sources.list。本文件直接从网站下载,非个人所做。只为方便大家下载。

2014-05-02

Introduction to algorithms 3rd edition(算法导论英文版)

著名鼎鼎的算法神书算法导论。 注:本资源仅作学习用途。

2014-04-28

Thinking in Java(英文版)

Java神书Thinking in Java

2014-04-24

空空如也

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

TA关注的人

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