![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java工具
九月&晴空
这个作者很懒,什么都没留下…
展开
-
工具——Java文件传输框架
流的定义:在计算机编程中,流就是一个类的对象,很多文件的输入输出操作都以类的成员函数的方式来提供。计算机中的流其实是一种信息的转换。它是一种有序流,因此相对于某一对象,通常我们把对象接收外界的信息输入(Input)称为输入流,相应地从对象向外输出(Output)信息为输出流,合称为输入/输出流(I/OStreams)。对象间进行信息或者数据的交换时总是先将对象或数据转换为某种形式的流,再通过流的传输,到达目的对象后再将流转换为对象数据。所以,可以把流看作是一种数据的载体,通过它可以实现数据交换...原创 2020-09-21 18:04:02 · 941 阅读 · 0 评论 -
自主实现服务发现——实现过程与代码分析
上一篇博文中对服务发现作了简单的讲解。本篇会详细讲述代码的实现。资源的基本信息的类(ResourceInfo)的代码以及ip与port的集合类:(INetNode,DefaultNetNode):这里就不占用篇幅了,可以在上一篇中查看。代码及详解:搬运上一篇各个类的说明: 用作RMI调用的远程方法与实现类:(注:我的RMI框架采用的是XML配置) IResourceCenter 与ResourceCenterImpl,资源拥有者(服务提供者)与资源请求者(服务消费者),拥有I...原创 2020-08-18 19:17:17 · 278 阅读 · 0 评论 -
小工具——磁盘容量转化
在编程中,我们经常需要查看磁盘的容量来做相应的操作。Java的File类为我们提供了获取的方法,getTotalSpace(),getFreeSpace(),getUsableSpace()等方法。但是获取的空间大小都是以字节为单位的long类型的量。非常不直观,假如我们编写的在一些界面中需要显示与此数值相关的量,转化成B,KB,MB,GB这样的单位显然比较合适。 这里我给出这个工具,代码的思路在注释里都有详细的说明。public class CapacityTransform {...原创 2020-08-17 19:20:14 · 494 阅读 · 0 评论 -
自主实现软负载均衡
定义: 负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。负载均衡(Load Balance)其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。 以上是百度百科对负载均衡的定义。通俗地说就是将连接和任务"均匀"地分配到多个服务器上,避免出现部分服务器负载过高而部分服务器又没有得到使用而浪费服务器资...原创 2020-08-12 16:06:58 · 517 阅读 · 0 评论 -
工具——手写实现定时器
使用场景: 需要定时或周期性地执行某些任务(如:服务器定时像检查中心发送心跳信息)。 思路1:定时器在一个循环中,每wait一定时间就执行任务(执行对应的方法)。 @Override public void run() { while (goon) { synchronized (lock) { try { lock.wait(delay); //TODO执行任务 } catch (InterruptedException e) {...原创 2020-08-08 13:58:00 · 539 阅读 · 0 评论 -
PackageScanner——包扫描工具
背景: 平时我们在编程当中,经常需要去在某个包下寻找对应的资源(资源是一些数据(图像、音频、文本等),可以被类代码以一种独立于代码位置的方式访问。),java提供了通过上下文加载器获得指定名称(资源的名称是表示资源的/分隔路径名。)下的资源的方法。那么我们用这种方法来编写一个包扫描的工具来处理来扫描指定的包,提供处理的抽象方法,等待使用工具的人去编写。 这里仅仅扫描包并提取出Class类,也可扫描Jar包。 下面是代码:public abstract class Pa...原创 2020-07-25 16:06:21 · 997 阅读 · 0 评论 -
CGLIb代理介绍与两种代理的工具化
前言: 上一篇博客中详细剖析了JDK动态代理。代理为控制要访问的目标对象提供了一种途径。当访问对象时,它引入了一个间接的层。JDK自从1.3版本开始,就引入了动态代理,并且经常被用来动态地创建代理。JDK的动态代理用起来非常简单,但它有一个限制,就是使用动态代理的对象必须实现一个或多个接口。如果想代理没有实现接口的继承的类,该怎么办?现在我们可以使用CGLIB包(这段资料来自百度百科。)CGLIB代理特点:1、被代理的类,不必须实现接口;2、由于CGLib代理的原理是,创建一个被代理..原创 2020-07-25 14:55:35 · 277 阅读 · 0 评论 -
工具——XML文件解析器
编程中经常用到XML文件作配置方式,但是常用的解析方法过于繁锁,XML的解析过程是有非常固定的套路的。 也就是说,对XML文件的解析程序,存在很多“制式代码”能否做一个java工具去解析XML文件,只将其中数据的处理交予更高层。概念:(此部分为查阅资料) XML(eXtensibleMarkupLanguage),种可扩展标记语言,应用于web开发的很多方面,常用于简化数据的存储和共享。XML仅仅是纯文本,不同于HTML,XML中的标签都需要用户自己定义。XML...原创 2020-07-18 11:59:53 · 3656 阅读 · 0 评论 -
工具——GSON实现参数的转化
前言: Json是一种轻量级的数据交换格式,易于机器解析与生成,并且可以有效提升网络传输的效率。 不论是服务器客户机模式中利用Socket传输参数。还是RMI的执行过程中,我们都会遇到参数的传输与转化的问题。当然,这里的参数可能是基本类型变量,也可能是某个类的对象。这里我们统一用参数来表达。 Socket支持各种方式的传输(字符串,字节流,对象等),当然本质上还是传输字节流。 在服务器/客户机收发参数时,我们可以将参数(一个或多个)转化为特定格式的、序列化的J...原创 2020-07-17 16:24:17 · 389 阅读 · 0 评论