自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 Git笔记

本文基于Git官方文档总结而成,主要用于快速查看命令。Git与传统的版本控制系统的差异 Git作为分布式版本控制系统,所有的客户端都具有完整的代码仓库,可以离线操作,没有单点问题。Git在版本控制时是直接记录文件快照,而非差异比较。 传统版本控制系统保存的信息可以看做是一组基本文件和每个文件随时间逐步积累的差异 Git保存的信息是文件的快照流,如果某个文件没...

2018-02-11 12:21:10 241

原创 @RequestBody 部分属性没有转化成功

项目中在编写添加User的API的接口的时候发现 我把User参数设置成了@ResquestBody,但是测试的时候发现即使传入所有属性的数据,但是Controller在接收到的User实例里面只有部分属性被转化了,其他属性均没有转化成功。 后来经查明,发现是@ResquestBody只转化有getter的属性,我把所有有属性都添加getter,然后就可以正确转化了! 另外我发现如果是boo

2017-04-20 14:08:55 3155

原创 Java的泛型

1. 泛型的作用我们设计了一个栈用来容纳对象,但是我们设计的是可以容纳任何对象,在开始的时候我们并不知道这些对象具体是什么类型,所以我们只能使用Object来表示这些类型public class MyStack{ public void push(Object object){ //省略 } public Object pop(){ //省略

2017-04-14 11:44:36 440

原创 自己动手实现简单对象关系库谈到异常的处理与抛出

1. 异常的简略介绍Throwable是Java所有异常的父类,也就是说Java所有的异常都继承自此类。 Throwable下面有两个子类,Error和Exception Error指的是程序运行过程中的不应该出现的严重错误,Error不需要try{}catch(){}。常见的OutOfMemoryError内存不足的错误就是ErrorException下面有RuntimeEx

2017-04-13 17:01:55 464

原创 自己实现简单对象关系库之更多功能

前文我们已经实现了一个简单的对象关系库 但是这个库的功能实在是太过于简单了一些,在实际工作环境中我们肯定还需要更多的功能1. 对象的数据库表名现在我们一个类可以通过注解@Table来配置表名,这样导致同一类只能映射同一数据库表。 假如我们希望即使是同一个类的实例也能插入到不同的数据库表怎么办? 现在能够把服务后台采集到的数据解析成Data类的对象,但是根据监听的端口不同,即

2017-04-13 14:03:06 351

原创 自己实现简单对象关系库之Database的实现

前文已经讲了对象关系库如何实现缓存提高性能 接下来讲的就是如何实现对象关系库了 对象关系库的功能就是把Java对象插入数据库中,又或者从数据库中查询数据转化成对象。 现在我们的SQLClass已经缓存了过程所有的SQL语句,现在只需要把查询出来的数据转化成Java对象就可以了 前面我们讲解Template模式的时候谈到,复杂的流程可以拆分将部分流程作为参数传进去 例如Template

2017-04-13 11:08:11 593

原创 自己实现简单对象关系库之缓存类SQLField,SQLClass,SQLCache

上文已经谈到对象关系库需要对操作中间产生的数据进行缓存以提升性能 我们需要对通过反射获取的属性进行缓存 我们需要对属性拼装成的SQL语句进行缓存综上,我们可以设计出SQLClass作为Class的缓存类保存反射的结果,SQLField作为Field的缓存类保存反射的结果 对于Person类有一个SQLClass sqlClass=new SQLClass(Person.

2017-04-12 17:18:48 538

原创 自己实现简单对象关系库之反射和注解

1. 简单对象关系库的功能我们要实现的对象关系库的主要作用就是负责把数据库里面数据转化成Java对象,或者把Java对象转化成数据库里面的数据 现在存在数据库表PERSION 数据库Column 描述 id 唯一主键id name 名称 height 身高也存在Person类public class Person{

2017-04-12 14:56:42 528

原创 从操作数据库谈到Template模式

1.繁琐的数据库操作不知道大家发现没有,无论什么语言,数据库操作永远是最繁琐的部分//首先要获取connConnection connection=null;Statement statement=null;try{ connection=pool.getConnection(); statement=connection.createStatement(); Resu

2017-04-12 11:40:40 845

原创 自己动手实现简单对象关系库之概述

自己实现对象关系库1. 对象关系库的出现假如存在用户user数据库表 键名 描述 id 用户唯一主键 name 用户名称 password 密码 height 身高存在User类与之对应public class User{ private int id; private String nam

2017-04-11 21:50:04 569

原创 自己动手实现数据库连接池

数据库连接池1. 数据库连接池是干什么的假如我们有个应用程序需要每隔10秒查询一次数据库,我们可以用以下方式 方法1:每次查询的时候都新建一个数据库连接,查询结束关闭数据库连接。由于数据库连接的建立是一个非常耗费资源的过程,所以这种每次都新建连接的方式非常浪费资源,不可取。 方法2:在最开始的新建一个数据库连接,后续过程中一直使用这个数据库连接进行查询,直到最后关

2017-04-11 17:02:45 4455 1

原创 NIO通讯库的设计

NIO通讯库的设计1. 什么是NIO我们平常使用的TCP通讯都是阻塞的,即在调用tcp.read()的时候线程会阻塞(即暂停运行),直到真的接收到数据时此函数才会返回。 假如我们需要读取一个tcp,我们需要开启一个线程去调用tcp.read(),在接收到数据之前此线程会一直阻塞在这里,无法干其他任何事情。假如我们需要读取1000个tcp,难道我们要开启1000个线程分别去调用tcp.read()

2017-04-11 14:27:15 377

原创 框架的API设计

框架的API设计1. 目的设计的目的是服务代码编写的时候无论在何处,只需要简单的调用框架API即可获取资源,无需其他任何设置。 例如在数据转发服务的代码中使用Context.logger() 返回是的数据转发服务的日志,而在管控服务中调用Context.logger()返回的是管控服务的日志。2. 思考 不同的服务之间的资源不同,所以肯定有一个Map用来装着不同服务的资源,Map的索引即

2017-04-11 13:46:46 659

原创 xframe框架的服务加载流程

frame的服务加载管理1. 服务的运行与加载先用数据转发服务来说明一下一个普通的服务的运行加载过程数据库配置表结构如下: Column 含义 id 主键id src_ip 数据源IP src_port 数据源端口 src_type 通讯协议 ,0:TCP SERVER,1:TCP CLIENT des_ip

2017-04-10 16:38:17 3216

原创 frame框架说明(概述)

frame框架说明(概述)1. 这个框架是为了解决什么问题?减少服务的重复代码多个服务使用框架提供的API,框架能够集中管理服务的资源分配(使用与实现的分离有利于服务的升级)多个服务复用一个框架利于整体更新多个服务运行在同一个jvm里面减少额外内存消耗2. 这个框架实现了什么功能?服务只需要继承指定接口即可自动读取配置、运行、动态加载管理等服务的动态部署(热加载)服务可使用框架提供的

2017-04-10 16:22:49 4767

空空如也

空空如也

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

TA关注的人

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