可无注解的 SpringBoot API文档生成工具
摘要:JApiDocs是一个无需额外注解、开箱即用的SpringBoot接口文档生成工具。 前言 编写和维护API文档,对于后端程序员来说,是一件恼人但又不得不做的事情,我们都不喜欢写文档,除非项目前后端代码都是自己写的,否则API文档将是前后端协作不可或缺的沟通载体。 最佳实践是:先把接口设计好,在Mo
阅读全文
java反射原理
摘要:一、预先需要掌握的知识(java虚拟机)java虚拟机的方法区:java虚拟机有一个运行时数据区,这个数据区又被分为方法区,堆区和栈区,我们这里需要了解的主要是方法区。方法区的主要作用是存储被装载的类的类型信息,当java虚拟机装载某个类型的时候,需要类装载器定位相应的class文件,然后将其读入到
阅读全文
IDEA打JAR包
摘要:1.打开idea,这个不用多说了,open一个工程,完了界面如下 2.点击菜单栏File-->Project Structure打开Project Structure 3.点+按钮,选择JAR--》From Modules.....打开create jar from modules对话框 4.下面这
阅读全文
JAVA Agent 简析及开发示例
摘要:Java Instrumentation指的是可以用独立于应用程序之外的代理(agent)程序来监测和协助运行在JVM上的应用程序。这种监测和协助包括但不限于获取JVM运行时状态,替换和修改类定义等。 java SE5中使用JVM TI替代了JVM PI和JVM DI。提供一套代理机制,支持独立于J
阅读全文
java之内存分布图
摘要:前言 不关我们是创建基本数据类型的变量还是引用数据类型的变量,jvm都会通过内存分布去编译和运行程序。 内存一般分为栈区、堆区、方法区(方法区里面包含常量池) 栈区一般存放变量(局部变量)、方法的参数引以及用对象 堆区一般存放的是对象以及成员变量 方法区一般存放方法 里面常量池存放常量 不管你是要创
阅读全文
java程序执行时内存变化图解
摘要:程序执行的内存分析过程为了让初学者顺利的分析内存,更加容易的体会程序执行过程中内存的变化,加深理解。我们将JAVA虚拟机内存模型进行简化。 在本节课中,Java虚拟机的内存可以简单的分为三个区域:虚拟机栈stack、堆heap、方法区method area 虚拟机栈(简称:栈)的特点如下:1.栈描述
阅读全文
Java中对象占用内存计算方法
摘要:普通对象的结构如下,按64位机器的长度计算 1. 对象头(_mark), 8个字节 2. Oop指针,如果是32G内存以下的,默认开启对象指针压缩,4个字节 3. 数据区 4.Padding(内存对齐),按照8的倍数对齐 数组对象结构是 1. 对象头(_mark), 8个字节 2. Oop指针,如果
阅读全文
JAVA实战
摘要:Java String && StringBuffer 1. 定义一个字符串www.baidu.com,请返回他的长度 public class StringDemo { public static void main(String args[]) { String site = "www.baid
阅读全文
Java内存管理机制
摘要:对于从事 C/C++ 程序开发的开发人员来说,在内存管理领域,他们既是拥有最高权力的帝皇,又是从事最基础工作的劳动人民——既拥有每一个对象的“所有权”,又担负着每一个对象生命从开始到终结的维护责任。 对于 Java 程序员来说,在虚拟机的自动内存管理机制的帮助下,不在需要为每一个 new 操作去写配
阅读全文
理解编程语言数组的内存结构
摘要:为了帮助大家更好的理解数组,我用C语言把数组定义和数组的内存位置输出了,大家可以对比理解:1. 数组的内存地址默认就是 数组第一个元素(下标为0)的地址,也就是数组的开始元素内存地址2. 同一数组中各个元素的内存地址是依次相邻的,所以遍历起来速度很快,依次遍历循环即可,这就是java中为什么集合类A
阅读全文
Linux网络tcp连接大量CLOSE_WAIT和TIME_WAIT状态的出现和解决方法
摘要:关于CLOSE_WAIT和TIME_WAIT状态,服务器端都有可能出现,TIME_WAIT出现应该是短连接较多,需要通过修改内核参数解决,CLOSE_WAIT状态则是服务器程序可能有问题,服务器需要主动close,以及epoll多路复用模型中使用linger调整关闭等待时间 分析解决这类问题,关键在
阅读全文
Spring FeignClient使用
摘要:FeignClient与RestTemplate的区别比较简单研究题外:个人觉得可能还没达到那种境界,还体会不到真正的实质性区别,就好比用HttpClient可以实现的用FeignClient同样可以实现,反之也是。 JAVA 项目中接口调用怎么做 ? HttpclientOkhttpHttpurl
阅读全文
HttpClient容易忽视的细节——连接关闭
摘要:HttpClient client = new HttpClient();HttpMethod method = new GetMethod("http://www.apache.org");try { client.executeMethod(method); byte[] responseBod
阅读全文
推荐几个语言相关学习巩固网站
摘要:C: http://c.biancheng.net/c/C++: http://c.biancheng.net/cplus/QT: http://c.biancheng.net/qt/JAVA: http://c.biancheng.net/java/spring boot : http://c.b
阅读全文
Java字节码-使用ByteBuddy实现一个Java-Agent
摘要:Java字节码-使用ByteBuddy实现一个Java-Agent
阅读全文
RPC(Remote Procedure Calls)远程过程调用
摘要:RPC(Remote Procedure Calls)远程过程调用
阅读全文