
Java
文章平均质量分 91
Gaaidou
哈哈。。。暂时不写
展开
-
动态代理模式(Cglib实现)
使用过SpringAOP的人都知道, AOP的底层实现原理是使用了动态代理模式来实现面向切面编程。而SpringAOP使用的动态代理方式有JDK的动态代理,另一个则是Cglib的动态代理。本文先不讲AOP,主要讲Cglib的动态代理实现过程。 Cglib底层实现是使用了ASM操作字节码生成代理对象,由于这种技术十分底层,因此本文不打算研究,而且这些知识对于应用开发来说投入产出比不高,因此对于Cglib,个人主张只需要知道其大概实现过程,在日常开发中一旦遇到和Cglib相关的问题,可以能比较快速的解决方案。原创 2021-07-14 17:14:04 · 649 阅读 · 0 评论 -
RPC原理
微服务时代,RPC远程调用成为了一个重要的角色。因此本篇文章将会讨论一下RPC的实现原理以及模拟一个RPC实现。 RPC原理我们还是按常规归纳为三要素:动态代理、网络传输、序列化 下面是RPC原理图: 下面我们模仿下RPC的实现过程,其中动态代理使用JDK自带的动态代理。网络传输使用最原始的Socket的BIO模式。序列化也采用JDK的ObjectInputStream和ObjectOutputStream.。 先上用例再上原理 服务端用例(包括主函数和rpc接口实现): public class Serv原创 2021-07-06 17:55:12 · 362 阅读 · 0 评论 -
线程池剖析(一)
线程池技术 讲解线程池思想,我们借用Jdk自带的线程池ThreadPoolExecutor来解释 1、corePoolSize、maximumPoolSize与workQueue 一个互动过程、 为了方便测试的时候,了解线程的调用情况,因此改写了ThreadFactory,线程名称前缀为THREAD-POOL-,按序号递增,这样我们就能清楚看到线程调用的是核心线程还是拓展线程 public class AsyncThreadFactory implements ThreadFactory { pr原创 2021-06-29 20:01:37 · 314 阅读 · 6 评论 -
买面包与IoC
一次买面包引发的对IoC的思考原创 2014-08-10 09:31:15 · 957 阅读 · 0 评论 -
MVC原理
*********************************写于2014年8月6日************************************************************************* 最近一直在开发一个OA系统,用到了Struts2框架,逐渐对MVC原理有了一丁点理解。下面在今天写下我的那一丁点的理解。 回原创 2014-08-06 22:35:31 · 1069 阅读 · 0 评论 -
Eclipse全文搜索与Struts2 MVC
全文搜索引发的对MVC的思考原创 2014-09-05 16:31:11 · 1010 阅读 · 0 评论 -
一个关于借款时间的问题
问题:如果我在2015年1月31日向A借款1000元,一个月之后准时还。这时,问题就出来了,我是在2月28日还,还是在3月2日还? 这时我们就必须弄清楚我们是按30天一个月算得,还是直接按一个月算。 最近做一个p2p网贷的二次开发,遇到了这个问题,假如用户在31日发标,但如果下个月没有31日,这样就会产生一些误会。 那么假如我们把一个月定义成单纯的一个月,比如1月1日,一个月原创 2014-12-28 16:17:56 · 1079 阅读 · 0 评论 -
(精)字符集GBK和UTF8的区别说明
原 GBK就是在保存你的帖子的时候,一个汉字占用两个字节。。外国人看会出现乱码,此为我中华为自己汉字编码而形成之解决方案。 UTF8就是在保存你的帖子的时候,一个汉字占用3个字节。。但是外国人看的话不会乱码,此为西人为了解决多字节字符而形成之解决方案。 ASCII(ISO-8859-1)是鼻祖,最简单的方式,字节高位为0 GB2312、GBK、GB18030,这几个是中转载 2014-11-11 10:39:13 · 876 阅读 · 0 评论 -
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 · 716 阅读 · 0 评论 -
Java Object类
众所周知,Object类是Java所有类的子类,所有的类(Object除外)都默认继承了这个原创 2014-07-08 16:17:27 · 541 阅读 · 0 评论 -
Eclipse错误积累
1,启动 Eclipse 时弹出Failed to load the JNI shared library jvm.dll原创 2014-07-19 20:53:24 · 639 阅读 · 0 评论 -
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 · 567 阅读 · 0 评论