![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
文章平均质量分 79
若依不弃
一花一世界 一叶一追寻
一曲一场叹 一生为一人
你若生死相依 我定不离不弃
展开
-
JAVA NIO 层底原理
参考:10分钟看懂,JAVA NIO 层底原理原创 2019-12-16 13:31:45 · 120 阅读 · 0 评论 -
JAVA资深架构师成长路线->性能直线提升架构技术>RocketMQ
文章目录JAVA资深架构师成长路线大纲RocketMQ快速安装与配置消息发送消息流程消息存储、消息过滤、事物消息RocketMQ高可用整合Spring完成用户注册与异步处理整合Spring完成限时订单RocketMQ面试锦囊JAVA资深架构师成长路线大纲个人认为想要成为架构师就必须搭建自己的知识体系,形成系统化,结构化。于是借鉴一些大神的学习思维导图,整理了个人学习路线与知识架构。后续会...原创 2019-08-12 21:41:02 · 158 阅读 · 0 评论 -
JAVA资深架构师成长路线->性能直线提升架构技术>RabbitMQ
文章目录JAVA资深架构师成长路线大纲RabbitMQLinux下安装及配置消息发布与消息权衡消息的拒绝控制队列与沙属性与Spring集成完成应用解耦集群化与镜像队列RabbitMQ面试锦囊JAVA资深架构师成长路线大纲个人认为想要成为架构师就必须搭建自己的知识体系,形成系统化,结构化。于是借鉴一些大神的学习思维导图,整理了个人学习路线与知识架构。后续会一直维护并充实此知识体系,并记录自...原创 2019-08-12 21:36:55 · 414 阅读 · 0 评论 -
JAVA资深架构师成长路线->性能直线提升架构技术>ActiveMQ
文章目录JAVA资深架构师成长路线大纲ActiveMQ安装ActiveMQJMS规范解读原生ActiveMQ的API编程ActiveMQ高级特性及用法限时订单用户注册的异步处理企业高可用集群部署ActiveMQ面试锦囊JAVA资深架构师成长路线大纲个人认为想要成为架构师就必须搭建自己的知识体系,形成系统化,结构化。于是借鉴一些大神的学习思维导图,整理了个人学习路线与知识架构。后续会一直维...原创 2019-08-12 21:32:09 · 200 阅读 · 0 评论 -
JAVA资深架构师成长路线->性能直线提升架构技术>消息中间
文章目录JAVA资深架构师成长路线大纲消息中间件概述消息中间件和RPC的区别消息蹭件使用场景ActiveMQ、RabbitMQ、RocketMQ、Kafka对比JAVA资深架构师成长路线大纲个人认为想要成为架构师就必须搭建自己的知识体系,形成系统化,结构化。于是借鉴一些大神的学习思维导图,整理了个人学习路线与知识架构。后续会一直维护并充实此知识体系,并记录自己的所有学习过程与成果。J...原创 2019-08-12 21:26:51 · 164 阅读 · 0 评论 -
JAVA资深架构师成长路线->性能直线提升架构技术>Nginx
文章目录JAVA资深架构师成长路线大纲NginxJAVA资深架构师成长路线大纲个人认为想要成为架构师就必须搭建自己的知识体系,形成系统化,结构化。于是借鉴一些大神的学习思维导图,整理了个人学习路线与知识架构。后续会一直维护并充实此知识体系,并记录自己的所有学习过程与成果。JAVA资深架构师成长路线大纲Nginx...原创 2019-08-11 20:10:24 · 201 阅读 · 0 评论 -
JAVA资深架构师成长路线->性能直线提升架构技术>Zookeeper
文章目录JAVA资深架构师成长路线大纲ZookeeperZookeeper安装步骤及指令解析原生客户端、zkclient、curotorZookeeper应用Zookeeper底协议Zookeeeeper面试锦囊JAVA资深架构师成长路线大纲个人认为想要成为架构师就必须搭建自己的知识体系,形成系统化,结构化。于是借鉴一些大神的学习思维导图,整理了个人学习路线与知识架构。后续会一直维护并充...原创 2019-08-11 19:17:10 · 184 阅读 · 0 评论 -
JAVA资深架构师成长路线->性能直线提升架构技术>分布式架构思想
文章目录JAVA资深架构师成长路线大纲分布式架构思想大型互联网架构演进过程架构师应具备的分布式知识主流分布式架构设计详解JAVA资深架构师成长路线大纲个人认为想要成为架构师就必须搭建自己的知识体系,形成系统化,结构化。于是借鉴一些大神的学习思维导图,整理了个人学习路线与知识架构。后续会一直维护并充实此知识体系,并记录自己的所有学习过程与成果。JAVA资深架构师成长路线大纲分布式架构...原创 2019-08-11 19:12:40 · 160 阅读 · 0 评论 -
JAVA资深架构师成长路线->开源框架解读->MyBatis框架源码解读
文章目录JAVA资深架构师成长路线大纲MyBatis框架源码解读MyBatis配置使用动态Sql、缓存及关联查询深入了解MyBatis与Spring集成MyBatis插件及源码解析分布插件使用及源码解析多级关联分析MyBatis面试锦囊JAVA资深架构师成长路线大纲个人认为想要成为架构师就必须搭建自己的知识体系,形成系统化,结构化。于是借鉴一些大神的学习思维导图,整理了个人学习路线与知识架...原创 2019-08-11 19:07:52 · 177 阅读 · 0 评论 -
JAVA资深架构师成长路线->开源框架解读->SpringMVC框架源码解读
文章目录JAVA资深架构师成长路线大纲SpringMVC框架源码解读Servlet3.0ServletContainerInitializer容器初始化ServletRegistration注册FilterRegistration过滤器ServletContext性能实战基于Servlet3.0异步Callable异步DeferredResult异步SpringMVC面试锦囊JAVA资深架构师成...原创 2019-08-11 19:01:25 · 198 阅读 · 0 评论 -
JAVA资深架构师成长路线->开源框架解读->Spring框架源码解读
文章目录JAVA资深架构师成长路线大纲Spring5源码解读JAVA资深架构师成长路线大纲个人认为想要成为架构师就必须搭建自己的知识体系,形成系统化,结构化。于是借鉴一些大神的学习思维导图,整理了个人学习路线与知识架构。后续会一直维护并充实此知识体系,并记录自己的所有学习过程与成果。JAVA资深架构师成长路线大纲Spring5源码解读...原创 2019-08-10 21:22:06 · 662 阅读 · 0 评论 -
JAVA资深架构师成长路线->设计思想->23种设计模式
文章目录JAVA资深架构师成长路线大纲设计模式创建型模式工厂模式工厂方法模式建造者模式原型模式单例模式结构型模式组合模式享元模式桥接模式桥接模式适配器模式代理模式外观模式装饰器模式行为型模式责任链模式备忘录模式模板方法模式策略模式命令者模式中介者模式观察者模式状态模式迭代子模式访问者模式解释器模式JAVA资深架构师成长路线大纲个人认为想要成为架构师就必须搭建自己的知识体系,形成系统化,结构化...原创 2019-08-10 21:18:12 · 246 阅读 · 0 评论 -
JAVA资深架构师成长路线->设计思想->设计模式之-结构型模式
文章目录设计思想解读开源框架设计模式之-结构型模式组合模式享元模式适配器模式桥接模式代理模式外观模式装饰器模式设计思想解读开源框架个人认为想要成为架构师就必须搭建自己的知识体系,形成系统化,结构化。于是借鉴一些大神的学习思维导图,整理了个人学习路线与知识架构。后续会一直维护并充实此知识体系,并记录自己的所有学习过程与成果。JAVA资深架构师成长路线大纲设计模式之-结构型模式共7种...原创 2019-08-10 20:54:00 · 140 阅读 · 0 评论 -
JAVA资深架构师成长路线->性能直线提升架构技术>Kafka
文章目录JAVA资深架构师成长路线大纲Kafka快速安装与部署开启Kafka的集群模式生产者和消费者Kafaka高级特性处理请求的内部机制整合Spring完成削峰填谷Kafka面试锦囊JAVA资深架构师成长路线大纲个人认为想要成为架构师就必须搭建自己的知识体系,形成系统化,结构化。于是借鉴一些大神的学习思维导图,整理了个人学习路线与知识架构。后续会一直维护并充实此知识体系,并记录自己的所...原创 2019-08-12 21:49:01 · 400 阅读 · 0 评论 -
JAVA资深架构师成长路线->性能直线提升架构技术>ELK
文章目录JAVA资深架构师成长路线大纲ELKElasticSearchES原理ES搜索索引&映射分布式CRUD索引管理分片搜索优化logstash安装运行配置Kibana安装与运行配置JAVA资深架构师成长路线大纲个人认为想要成为架构师就必须搭建自己的知识体系,形成系统化,结构化。于是借鉴一些大神的学习思维导图,整理了个人学习路线与知识架构。后续会一直维护并充实此知识体系,并记录...原创 2019-08-12 21:57:00 · 207 阅读 · 0 评论 -
JVM 常量池
JVM 常量池Class常量池Class常量池可以理解为是Class文件中的资源仓库。 Class文件中除了包含类的版本、字段、方法、接口等描述信息外, 还有一项信息就是常量池(constant pool table),用于存放编译器生成的各种字面量(Literal)和符号引用(Symbolic References)。一个class文件的16进制大体结构如下图:对应的含义如下,细节可...原创 2019-09-30 17:23:52 · 112 阅读 · 0 评论 -
GC日志详解以及根据gc日志优化JVM
对于java应用我们可以通过一些配置把程序运行过程中的gc日志全部打印出来,然后分析gc日志得到关键性指标,分析 GC原因,调优JVM参数。打印GC日志方法,在JVM参数里增加参数‐XX:+PrintGCDetails ‐XX:+PrintGCTimeStamps ‐XX:+PrintGCDateStamps ‐Xloggc:./gc.log Tomcat则直接加在JAVA_O...原创 2019-09-30 16:30:36 · 603 阅读 · 0 评论 -
JVM调优之内存分析工具 jstat
#Jstatjstat命令可以查看堆内存各部分的使用量,以及加载类的数量。命令的格式如下:jstat [-命令选项] [vmid] [间隔时间(毫秒)] [查询次数]注意:使用的jdk版本是jdk8.垃圾回收统计 jstat -gc pid 最常用,可以评估程序内存使用及GC压力整体情况。S0C:第一个幸存区的大小S1C:第二个幸存区的大小S0U:第一个幸存区的使用大小S1U...原创 2019-09-30 14:27:00 · 379 阅读 · 0 评论 -
Linux安装包方式安装JDK8
官网下载Jdk8下载jdk8登录网址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html选择对应jdk版本下载。使用winSCP上传安装到服务器。解压jdk到当前目录建立一个链接以节省目录长度ln -s /usr/local/jdk8/jdk1.8.0_191/ ...原创 2019-09-29 22:36:11 · 1236 阅读 · 0 评论 -
JVM调优之内存分析工具 jmap
jmap此命令可以用来查看内存信息。jmap -histojmap -histo java进程ID以上命令可查看实例个数以及占用内存大小首先,jps查出java进程id然后执行jmap -histo 20320 > ./jmap_log.txt打开jmap,如下图。num:序号instances:实例数量bytes:占用空间大小class name:类名称...原创 2019-09-25 15:44:21 · 1099 阅读 · 0 评论 -
根据计算表达式,用java实现简单四则运算
今天有个需求,要从数据库取计算公式和相关的变量值,最后进行计算并返回结果.于是写了以下辅助计算的类package com.hzsh.util;import org.junit.Test;import java.math.BigDecimal;import java.text.DateFormat;import java.text.ParseException;import jav...原创 2019-09-24 09:30:47 · 540 阅读 · 0 评论 -
使用lombok @Slf4j快速添加日志功能
lombok传统使用日志,需要每次写private final Logger logger = LoggerFactory.getLogger(XXX.class);slf4j可以用注解@Slf4j直接实现一、pom.xml导入jar包<dependency> <groupId>org.projectlombok</groupId> <ar...原创 2019-09-19 21:08:55 · 3994 阅读 · 0 评论 -
JVM性能深度调优 之 jvisualvm 安装 Visual GC 工具
一、插件下载下载地址选择合适的插件版本选择 Visual GC二、本地安装下载完成后,进行安装。·1、工具->插件->已下载->添加插件->选择下载好的插件->安装安装 完成后即有Visual GC的视图选项。...原创 2019-09-09 14:14:21 · 229 阅读 · 0 评论 -
JVM性能深度调优 之 JVM javap工具
JVM调用工具与技巧javap用法用法: javap < options > < classes >其中, 可能的选项包括:-help --help -? 输出此用法消息-version 版本信息-v -verbose 输出附加信息-l 输...原创 2019-09-09 11:40:45 · 193 阅读 · 0 评论 -
JAVA资深架构师成长路线->分布式扩展到微服务架构>Docker
文章目录JAVA资深架构师成长路线大纲Docker安装与使用基础操作Docker File快速进阶Docker网络与存储Docker山乡与存储DockerCompose用法微服务与Docker集成实现动态扩容JAVA资深架构师成长路线大纲个人认为想要成为架构师就必须搭建自己的知识体系,形成系统化,结构化。于是借鉴一些大神的学习思维导图,整理了个人学习路线与知识架构。后续会一直维护并充实此...原创 2019-08-13 23:45:14 · 329 阅读 · 0 评论 -
JAVA资深架构师成长路线->分布式扩展到微服务架构>缓存解决方案
文章目录JAVA资深架构师成长路线大纲缓存解决方案项目中SpringCache的用法缓存 的一致性策略(更新及失效处理机制)缓存雪崩的预防及限流缓存穿透方案缓存空数据布隆过滤器JAVA资深架构师成长路线大纲个人认为想要成为架构师就必须搭建自己的知识体系,形成系统化,结构化。于是借鉴一些大神的学习思维导图,整理了个人学习路线与知识架构。后续会一直维护并充实此知识体系,并记录自己的所有学习过...原创 2019-08-12 22:09:54 · 163 阅读 · 0 评论 -
JAVA资深架构师成长路线->高效存储让项目性能飞起>Redis
文章目录JAVA资深架构师成长路线大纲RedisLinux下安装Redis及配置String、List、Hash、Set、Zset类型使用场景时间轴、队列应用场景Lua脚本Redis慢操作优化Redis哨兵机制及底层机制Redis高可用集群动态扩容、缩减集群节点Redis面试锦囊JAVA资深架构师成长路线大纲个人认为想要成为架构师就必须搭建自己的知识体系,形成系统化,结构化。于是借鉴一些大...原创 2019-08-12 22:10:16 · 151 阅读 · 0 评论 -
JAVA资深架构师成长路线->设计思想->六大设计原则
文章目录设计思想解读开源框架架构基础必备Linux设计思想解读开源框架个人认为想要成为架构师就必须搭建自己的知识体系,形成系统化,结构化。于是借鉴一些大神的学习思维导图,整理了个人学习路线与知识架构。后续会一直维护并充实此知识体系,并记录自己的所有学习过程与成果。JAVA资深架构师成长路线大纲架构基础必备Linux...原创 2019-08-10 20:39:06 · 287 阅读 · 0 评论 -
JAVA资深架构师成长路线->架构师筑基必备技能->架构基础必备Linux
文章目录JAVA资深架构师成长路线大纲架构基础必备LinuxJAVA资深架构师成长路线大纲个人感觉想要成为架构师就必须搭建自己的知识体系,形成系统化,结构化。于是借鉴一些大神的学习思维导图,整理了个人学习路线与知识架构后续会一直维护此知识体系,并记录自己的所有学习过程与成果。JAVA资深架构师成长路线大纲架构基础必备Linux...原创 2019-08-10 20:32:47 · 280 阅读 · 0 评论 -
Java AQS学习 之 ReentrantLock源码解析(二)
此篇是接上章 Java AQS学习 之 ReentrantLock源码解析(一)的内容。那么现在继续解析相关ReentrantLock的解锁(unlock)操作。以下是Demo源码:import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.ReentrantLock;import static java...原创 2019-07-29 11:19:17 · 617 阅读 · 0 评论 -
java 偏向锁
文章目录偏向锁1、偏向锁是什么2、优缺点优点缺点3、偏向锁怎么获取前提4、偏向锁的撤销5、可重偏向状态(Rebiasable)6、BiasedLockingBulkRebiasThreshold 参数是干什么用的7、到BiasedLockingBulkRevokeThreshold 参数是干什么用的8、执行下方demo需要准备的环境9、总结和猜想10、参考资料LAST、 demo代码偏向锁1、...原创 2019-07-23 22:30:52 · 5403 阅读 · 0 评论 -
java 对象头信息 (一)
文章目录java头的信息分析首先为什么我要去研究java的对象头呢?1.对象头形式1.1.普通对象1.2.数组对象2.对象头的组成2.1.Mark Word2.2.class pointer2.3.array lengthjava头的信息分析首先为什么我要去研究java的对象头呢?这里截取一张hotspot的源码当中的注释意思是java的对象头在对象的不同状态下会有不同的表现形式,主要有...原创 2019-07-18 23:04:18 · 1054 阅读 · 0 评论 -
JVM参数 打印所有XX参数及值
本篇文章基于Java 6(update 21oder 21之后)版本, HotSpot JVM 提供给了两个新的参数,在JVM启动后,在命令行中可以输出所有XX参数和值。-XX:+PrintFlagsFinal and -XX:+PrintFlagsInitial...原创 2019-07-18 22:46:59 · 208 阅读 · 0 评论 -
java 对象头信息 (二)
由于Java面向对象的思想,在JVM中需要大量存储对象,存储时为了实现一些额外的功能,需要在对象中添加一些标记字段用于增强对象功能,这些标记字段组成了对象头。1.对象头形式JVM中对象头的方式有以下两种(以32位JVM为例):1.1.普通对象|--------------------------------------------------------------|Object...原创 2019-07-18 22:32:02 · 522 阅读 · 0 评论 -
使用SpringBoot快速搭建SSM框架
用IntelliJ Idea创建spring boot项目删除 runtime开启事务管理器在service层添加事务Controller层启动web服务控制台输出:启动成功,打开浏览器,测试结果以下是教学视频,和源码链接:https://pan.baidu.com/s/1YgORxnh5v-xmx1Vaf6ojDw提取码:66dt...原创 2018-12-09 16:45:07 · 514 阅读 · 0 评论 -
Spring AOP
本节课内容spring AOP常见面试题目Aop是什么与OOP对比,面向切面,传统的OOP开发中的代码逻辑是至上而下的,在这些至上而下的过程中会产生一些横切性的问题,这些横切性的问题和我们的主业务逻辑关系不大,会散落在代码的各个地方,造成难以维护,AOP的编程思想就是把业务逻辑和横切的问题进行分离,从而达到解耦的目的,使代码的重用性和开发效率高aop的应用场景日志记录2. 权...原创 2018-12-09 16:30:25 · 228 阅读 · 0 评论 -
详淡设计模式-代理(Proxy)
代理 proxy代理模式是Java常见的设计模式之一。所谓代理模式是指客户端并不直接调用实际的对象,而是通过调用代理,来间接的调用实际的对象。为什么要采用这种间接的形式来调用对象呢?一般是因为客户端不想直接访问实际的对象,或者访问实际的对象存在困难,因此通过一个代理对象来完成间接的访问。在现实生活中,这种情形非常的常见,比如请一个律师代理来打官司。1.静态代理需要自己写代理类&amp;amp;amp;amp;nbsp...原创 2018-12-09 15:53:04 · 199 阅读 · 0 评论 -
Eclipse常用快捷键及快捷键功能失效时的解决方案
今天发现eclipse的Crtl+D删除键失效了,于是找了以下方法,亲测有效但是要注意,删除WorkSpace下的.metadata会导致工作目录下的项目信息丢失,需重新导入项目,所以最好就是更换WorkSpace。当Eclipse快捷键功能,或者使用菜单时都无效。例如:搜索引用(快捷键Ctrl+Shift+G)无效;解决方案:转换WorkSpace,或者删除WorkSpace目录下的....转载 2018-11-13 11:42:02 · 689 阅读 · 0 评论 -
淡淡 jdk与jre的区别
jdk与jre的区别很多程序员已经干了一段时间java了依然不明白jdk与jre的区别。JDK就是Java Development Kit.简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。JRE是Java Runtime Enviroment是指Java的运...转载 2018-11-13 07:51:50 · 133 阅读 · 0 评论 -
Java工程师成神之路~(2018修订版)
一、基础篇JVMJVM内存结构堆、栈、方法区、直接内存、堆和栈区别Java内存模型内存可见性、重排序、顺序一致性、volatile、锁、final垃圾回收内存分配策略、垃圾收集器(G1)、GC算法、GC参数、对象存活的判定JVM参数及调优Java对象模型oop-klass、对象头HotSpot即时编译器、编译优化类加载机制classLoader、类加载过程、双亲委派(破...转载 2018-11-13 07:48:23 · 168 阅读 · 0 评论