框架学习
文章平均质量分 61
guichao.dong
这个作者很懒,什么都没留下…
展开
-
Java行时数据区与Java内存模型
Java内存区域(运行时数据区域)和内存模型(JMM)Java 内存区域和内存模型是不一样的东西,内存区域是指 Jvm 运行时将数据分区域存储,强调对内存空间的划分。而内存模型(Java Memory Model,简称 JMM )是定义了线程和主内存之间的抽象关系,即 JMM 定义了 JVM 在计算机内存(RAM)中的工作方式,如果我们要想深入了解Java并发编程,就要先理解好Java内存模型。Java运行时数据区域众所周知,Java 虚拟机有自动内存管理机制,如果出现内存泄漏和溢出方面的问题,排查转载 2021-09-03 10:22:03 · 105 阅读 · 0 评论 -
自定义异常类ServiceException
自定义异常类一般是为了配合自定义日志用的,对程序员关注的异常信息能更有针对性,自定义异常一般都会继承RuntimeException类.并实现其中的方法,同时将自定义异常信息向上传递给父类直至顶级父类Throwable,package app.base;import org.apache.log4j.Logger;/** * * * @author hxf */public class ServiceException extends RuntimeException {原创 2021-08-04 22:56:32 · 5617 阅读 · 0 评论 -
eclipse代码规范管理sonarLink插件
eclipse需要安装sonarLink插件,同时sonarQube需要注册账号密码,通过eclipse连接到sonarQube进行代码扫描管理,同时需要本地下载nodeJS配合启用扫描。第一步:插件安装选中add选择后导入下载的软件包添加软件包点击ok后继续下步骤全选安装后进入最后一步重启修改elcipse启动配置文件追加编码格式然后是显示sonarlit界面同时去掉自动扫描代码然后就可以进行扫描了,控制台观察扫描结果...原创 2021-08-03 15:30:37 · 617 阅读 · 0 评论 -
HashMap学习总结
说明:hashMap面试被问到的几率相当高了,为了接下来的工作与面试记录入下什么是map?map就是用于存储键值对(<key,value>)的集合类entry:英语单词,主要用作为名词,作名词时意为"进入;入口;条目;登记;报关手续;对土地的侵占"每个 key 只能对应一个 value, 多个 key 可以对应一个 value在将键值对存入数组之前,将key通过哈希算法计算出哈希值,把哈希值作为数组下标,把该下标对应的位置作为键值对的存储位置,通过该方法建立的数组就叫做哈希表,而这原创 2021-07-30 16:50:07 · 78 阅读 · 0 评论 -
学习Nio源码阅读 Buffer
(一)、对于每个非布尔原始数据类型都有一个缓冲区类分别是:ByteBuffer、CharBuffer、DoubleBuffer、FloatBuffer、IntBuffer、LongBufferShortBuffer,没有 BooleanBuffer尽管缓冲区作用于它们存储的原始数据类型,但缓冲区十分倾向于处理字节。非字节缓冲区可以在后台执行从字节或到字节的转换,这取决于缓冲区是如何创建的。(二)、ByteBuffer:主要属性,mark 标志位,position 位置 默认为0,lim原创 2021-07-30 16:48:17 · 91 阅读 · 0 评论 -
UML学习
平时阅读一些远吗分析类文章或是设计应用架构时没少与UML类图打交道。实际上,UML类图中最常用到的元素五分钟就能掌握,下面赶紧来一起认识一下它吧:一、类的属性的表示方式在UML类图中,类使用包含类名、属性(field) 和方法(method) 且带有分割线的矩形来表示,比如下图表示一个Employee类,它包含name,age和email这3个属性,以及modifyInfo()方法。那么属性/方法名称前加的加号和减号是什么意思呢?它们表示了这个属性或方法的可见性,UML类图中表示可见性的符号有三种:转载 2021-07-30 11:42:45 · 192 阅读 · 0 评论 -
jdk1.8 HashMap.put(k,v)方法源码阅读
基于jdk1.8的关于hashMap put(K,V)方法阅读源码:(1)、跟进第一层方法 public V put(K key, V value) { return putVal(hash(key), key, value, false, true); }<1>.该方法将入参作为参数调用了putVal(),方法,同时将key做了hash(key)计算,并作为参数继续执行后续方法,跟进hash(key)说明:h>>>16意思是取出hashCo原创 2021-07-29 18:55:50 · 90 阅读 · 0 评论 -
log4j源码阅读
首先看下Logger类的直接关系图其中顶级接口 AppenderAttachable 方法如下:抽象父类Category属性方法如下:Logger方法如下:构造方法:会将name传递给父类的Name属性Logger(String name) { super(name); }方法(1):根据name调用LogManager静态方法,进一步从LoggerRepository获取指定name的Loggerstatic public Logger getLogger(Strin原创 2021-07-28 18:54:56 · 88 阅读 · 0 评论 -
日志实现Log4j配置解读
日志学习心得最近工作中遇到控制台输出日志很难看,就不得以从头开始学习日志相关内容,总结下学习成果;首先是log.porperties文件相关说明其次是单个文件log说明最后是个人一些想法一、log4j.porperties配置说明(1)、首先是logger(记录)就功能性来书System.out.println()与logger一样,都是自定义输出信息便于工程师排查问题。tomcat输出红色日志是由于它定义的日志级别导致的,err输出信息颜色就是红色。logger部分主要是获取要记录日志原创 2021-07-27 15:09:09 · 227 阅读 · 0 评论 -
ubuntu安装redis后java连接redis
redis耍耍:windows安装redislinux安装redisjava连接redis1.自行百度2.自行百度3.eclipse新建测试项目,用maven吧(自行百度),依赖如下 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <...原创 2020-05-27 15:09:25 · 289 阅读 · 0 评论 -
Spring AOP,transaction aop:aspect与 aop:advisor
Spring AOP中pointcut expression表达式解析 及匹配多个条件Spring中事务控制相关配置: <tx:advice id=“txAdvice” transaction-manager=“txManager”> tx:attributes<tx:method name=“insert*” rollback-for=“Exception”/&...原创 2020-01-20 22:14:30 · 142 阅读 · 0 评论 -
struts中的extend
<?xml version="1.0" encoding="UTF-8"?><!-- 在package中,只要继承了struts-default,就用了name为struts-default的包里面的所有的功能 而struts-default包在struts-default.xml文件中 所以必须继承struts-default -->...原创 2019-08-22 21:00:31 · 187 阅读 · 0 评论 -
Struts六大组件工作原理
写在前面:Struts2主要包含前端控制器FC、Action、ValueStack容器、Result、Interceptor拦截器、Tags标签6个核心组件,本文主要介绍这几个组件的合作关系,由此构成Struts2的工作流程,以便更好地理解和使用Struts2。背景知识1、Struts2基础标签1)用于输出的标签 --*<s:property value="name"/>...转载 2019-04-22 11:56:42 · 183 阅读 · 0 评论