java开发时各类工具的使用规范 编程技术

java开发时各类工具的使用规范

工具类规范 一个项目不可能没有工具类,工具类的初衷是良好的,代码重用,但到了后面工具类越来越乱,有些项目工具类有几十个,看的眼花缭乱,还有不少重复。如何编写出好的工具类,我有几点建议: 隐藏实现 就是要定义自己的工具类,尽量不要在业务代码里面直接调用第三方的工具类。这也是解耦的一种体现。如果我们不定义自己的工具类而是直接使用第三方的工具类有2个不好的地方: 不同的...
阅读全文
小白学习Java反射与动态代理 Java

小白学习Java反射与动态代理

一、反射介绍 1.0 动态语言和静态语言 动态语言 是一类在运行是可以改变其结构的语言:例如新的函数,对象,甚至代码可以被引进,已有的函数可以被删除或者是其他结构上的变化。通俗点就是说可以在运行时代码可以根据某些条件改变自身结构 主要动态语言:Object-C、JavaScript、PHP、Python等 静态语言 ...
阅读全文
Java基础——ArrayList详解 Java

Java基础——ArrayList详解

ArrayList 内部是以动态数组的形式来存储数据的。这里的动态数组不是意味着去改变原有内部生成的数组的长度、而是保留原有数组的引用、将其指向新生成的数组对象、这样会造成数组的长度可变的假象。 ArrayList 具有数组所具有的特性、通过索引支持随机访问、所以通过随机访问ArrayList中的元素效率非常高、但是执行插入、删除时效率比较底下 ArrayList 实现了 Se...
阅读全文
安全系列之——手写JAVA加密、解密 编程技术

安全系列之——手写JAVA加密、解密

软件的加密与解密是一个迷人的研究领域,它几乎可以与任意一种计算机技术紧密结合——密码学、程序设计语言、操作系统、数据结构。而由于这样或者那样的原因,对于这一领域的关注程度一直还处于低温状态。 网络安全一般需要注意以下几个关键点: 完整性(Integrity):确保信息在传输过程中,没有被篡改。 私密性(Confidentiality):也就是通过加密,确保只有可信的实体...
阅读全文
浅谈ArrayList及扩容机制 Java

浅谈ArrayList及扩容机制

ArrayList就是动态数组,其实就是Array的复杂版本,它提供了动态的添加元素和删除元素的方法,同时实现了Collection 和 List接口,能够灵活的设置数组的大小。 通过源码的分析,我们可以看到ArrayList有三种构造方法 空的构造函数 根据传入的数值大小,创建指定长度的数组 通过传入Collection元素列表进行生成 // 默认的容量大小...
阅读全文
OCP原则的一次优化实践 Java

OCP原则的一次优化实践

背景 计费系统中的试算方法,为了兼容不同场景的计费规则,定义了CalculateCondition接口,不同的场景分别有各自CalculateCondition实现类,分别对应不同的逻辑 下面代码是目前的试算方法中的主要框架结构,分别用了3个if/else的分支判断逻辑,接下来的需求要新添加一个CalculateCondition的实现类及相应逻辑,就必须改动原有代码 ....
阅读全文
RMI Bypass Jep290(Jdk8u231)反序列化漏洞分析 Java

RMI Bypass Jep290(Jdk8u231)反序列化漏洞分析

0x01 漏洞简述 随着RMI的进步一发展,RMI上的反序列化攻击手段正逐渐增多,该类漏洞最近正受到愈加广泛的关注。 RMI (Java Remote Method Invocation) 是Java远程方法调用,是一种允许一个 JVM 上的 object 调用另一个 JVM 上 object 方法的...
阅读全文
一款vue编写的功能强大的swagger-ui,有点秀(附开源地址) 软件架构

一款vue编写的功能强大的swagger-ui,有点秀(附开源地址)

wagger-ui有非常多的版本,觉得不太好用,用postman,每个接口都要自己进行录入。所以在基于think-vuele进行了swagger格式json的解析,自己实现了一套swaggerui界面。 swagger分为后端数据提供方方和前端页面展示请求方。从一定角度来看,swagger是一种标准的数据格式的定义,对于不同语言进行实现一些注解API式的东西,能快速生成这种描述restful格...
阅读全文
看了这篇你就会手写RPC框架了 Java

看了这篇你就会手写RPC框架了

一、学习本文你能学到什么? RPC的概念及运作流程 RPC协议及RPC框架的概念 Netty的基本使用 Java序列化及反序列化技术 Zookeeper的基本使用(注册中心) 自定义注解实现特殊业务逻辑 Java的动态代理 自定义Spring Boot Starter 这里只是列出了你能从RPC框架源码中能学到的东西,本文并不会每个知...
阅读全文
Loading...