
java学习笔记
文章平均质量分 51
仰望星空@脚踏实地
不积跬步 无以至千里!天天向上。
展开
-
Arthas 使用以及火焰图
arthas使用入门操作,arthas火焰图使用原创 2022-10-21 11:30:13 · 4459 阅读 · 0 评论 -
Simple-RPC 实现流程
simple-rpc#### 介绍RPC远程过程调用实现,个人简易学习版。具体代码见https://gitee.com/mystarry-sky/simple-rpc。#### 软件架构RPC远程过程调用 简单过程模拟 RPC 分为client、server、api 三部分 client 作为消费者,通过Proxy方法,实现远程API调用 api 作为client 和server 之间约定。api 定义一系列的接口,由server完成api接口的实现,并提供给cli...原创 2021-03-08 00:29:17 · 275 阅读 · 2 评论 -
Yaml 配置文件解析Map-SnakeYAML
如何使用SnakeYAML来读取YAML(YML为其简写)配置文件; 读取后,装载成Map,而Map如何存储的配置文件的数据。Snake POM引入<dependency> <groupId>org.yaml</groupId> <artifactId>snakeyaml</artifactId> <version>1.27</version></dependency>...原创 2021-02-04 10:46:49 · 1870 阅读 · 0 评论 -
Java 读取文件到byte数组的三种方式
先上代码 工具类实现:package com.wang.chao.file.demo.read;import java.io.*;import java.nio.ByteBuffer;import java.nio.MappedByteBuffer;import java.nio.channels.FileChannel;public final class FileReaderUtils { /** * 小文件读取,一次buffer缓冲,将全部文件内容读出,若不能一次原创 2021-01-26 14:19:53 · 16983 阅读 · 1 评论 -
java 实现文件实时监控
FileAlterationMonitor类(FileAlterationMonitor Class)表示生成监视线程的线程,该线程以指定的时间间隔触发任何已注册的FileAlterationObserver。FileAlterationObserver类(FileAlterationObserver Class)表示根目录下的文件状态,检查文件系统并通知侦听器创建,更改或删除事件。官方案例:import java.io.File;import java.io.IOException原创 2021-01-25 00:44:05 · 795 阅读 · 0 评论 -
接口幂等性设计
接口幂等性设计1. 接口调用存在的问题现如今我们的系统大多拆分为分布式SOA,或者微服务,一套系统中包含了多个子系统服务,而一个子系统服务往往会去调用另一个服务,而服务调用服务无非就是使用RPC通信或者restful,既然是通信,那么就有可能在服务器处理完毕后返回结果的时候挂掉,这个时候用户端发现很久没有反应,那么就会多次点击按钮,这样请求有多次,那么处理数据的结果是否要统一呢?那是肯定的!尤其在支付场景。2. 什么是接口幂等性接口幂等性就是用户对于同一操作发起的一次请求或者多次请求的结..原创 2020-12-09 23:10:41 · 125 阅读 · 0 评论 -
Java - Map 简要笔记
HashMap(数组+链表+红黑树)HashMap 根据键的 hashCode 值存储数据,大多数情况下可以直接定位到它的值,因而具有很快的访问速度,但遍历顺序却是不确定的。 HashMap 最多只允许一条记录的键为 null,允许多条记录的值为 null。 HashMap 非线程安全,即任一时刻可以有多个线程同时写 HashMap,可能会导致数据的不一致。如果需要满足线程安全,可以用 Collections 的 synchronizedMap 方法使HashMap 具有线程安全的能力,或者使用 Con原创 2020-11-21 23:47:31 · 114 阅读 · 1 评论 -
雪花算法 IdWorker Snowflake JAVA实现方案 - 单机版
package com.wang.chao.mino.reponse;import java.lang.management.ManagementFactory;import java.net.InetAddress;import java.net.NetworkInterface;/** * <p>名称:IdWorker.java</p> * <p>描述:分布式自增长ID</p> * <pre> * Twitter的 .原创 2020-11-03 22:44:58 · 436 阅读 · 0 评论 -
认识JVM
目标JVM基本常识 JVM架构理解 JVM程序执行流程 JIT使用 JIT优化JVM基本常识:程序的执行方式有哪些?(静态编译执行,动态编译执行,动态解释执行) 为什么使用JVM?(跨平台) 字节码和机器码的区别(都是二进制文件,机器码能被计算机直接读取运行,字节码不能,需经过直译器转译) JDK、JRE与JVM的关系(图1)OracleJDK和OpenJDK (op...原创 2019-12-17 01:12:18 · 145 阅读 · 0 评论 -
IDEA Maven配置
IDEA 2018版Maven配置apache-maven-3.6.3和 apache-maven-3.6.2不兼容。导致奇怪错误。apache-maven-3.6.1配置后OK另Maven配置<localRepository>E:\Maven\repository</localRepository><mirrors> ...原创 2019-11-28 00:37:35 · 155 阅读 · 0 评论 -
Arthas - Java 线上问题定位处理的终极利器
https://cloud.tencent.com/developer/article/1534894前言在使用 Arthas 之前,当遇到 Java 线上问题时,如 CPU 飙升、负载突高、内存溢出等问题,你需要查命令,查网络,然后 jps、jstack、jmap、jhat、jstat、hprof 等一通操作。最终焦头烂额,还不一定能查出问题所在。而现在,大多数的常见问题你都可以使用 A...转载 2019-11-14 01:20:42 · 127 阅读 · 0 评论 -
设计模式-简单工厂
为什么使用工厂模式? 1、new对象的细节我不想关心,我只想使用该对象。 2、当一个对象的构造方法需要多个以上的参数的时候,这个就比较麻烦了。 3、当一个对象是第三方jar包提供的,在构建该对象时,我不知道应该传哪些构造参数或者搞明白这些构造参数很费劲,比如说BasicDataSource类 使用工厂模式创建的对象...原创 2019-09-20 02:10:01 · 111 阅读 · 0 评论 -
Myeclipse安装Maven插件
红色字体是重点,敲黑板。。。。。。。。。到官网下载maven插件 http://maven.apache.org/download.cgi选择最新版的插件:apache-maven-3.6.2-bin.zip在E盘下新建文件夹Maven,将文件解压缩到Maven下面,并在Maven下新建本地仓库文件夹repository配置环境变量:1: 新建系统变量:M2_HOM...原创 2019-09-18 23:53:23 · 316 阅读 · 0 评论 -
深入理解JVM(一)JVM基本原理和类的加载
深入理解JVM基本原理前言 我们都知道,JVM一直是java知识里面进阶阶段的重要部分,如果希望在java领域研究的更深入,则JVM则是如论如何也避开不了的话题正文1.JVM的编译java文件经过了一次编译后,java代码编译成java字节码(class文件)。然后再不同平台上使用不同的虚拟机(JVM)解释,解释成机器码,然后执行。Jython/Sca...转载 2019-09-18 00:11:12 · 102 阅读 · 0 评论 -
Java权威编码规范
一、编程规范(一) 命名规范1. 【强制】 代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。 反例: _nam / __name / $Object / name_ / name$ / Object$2. 【强制】 代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。 说明:正确的英文拼写和语法可以让阅读者易于理解,避免歧义。注意...原创 2019-04-25 00:08:32 · 245 阅读 · 0 评论 -
java 字符串数组 操作
public class StringTool { /** * 在控制台打印字符串数组 a * @param a */ public static void printArray(String[] a){ System.out.print("["); for(String s : a){ System.out.print(s+","); }原创 2011-04-23 17:44:00 · 3641 阅读 · 0 评论