自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (2)
  • 收藏
  • 关注

原创 spring 消息转换器

通常接口的请求入参和响应出参都是json格式,spring  通过消息处理器将请求入参转换为java对象,将java对象转换为json字符串。那么消息转换器怎么处理?请求入参处理:字符串到请求输入流(ServletInputStream),然后读取到请求的所有内容。ServletOutputStream输出响应 的内容。整个流程如下图: y AbstractMessageConve...

2018-12-28 19:23:13 577

原创 @JsonProperty 失效问题的排查

@JsonProperty 是Jackson提供的一个用于注解属性、类、方法等的json注解。使用它可以改变Json序列化时属性的名称,一般默认使用属性名,比如如下的代码示例,如果没有使用@JsonProperty注解那么id转化为json为{“id”:11}.使用了则就是{“Id”:11}.@JsonInclude(Include.NON_NULL)public class User...

2018-12-28 17:29:05 22640 1

原创 Vector、ArrayList、LinkedList

对比 Vector、ArrayList、LinkedList 有啥区别?三个都是java集合,都继承自AbstractList类,实现List接口。 List 是一个有序集合,允许重复元素。和set无序不重复集合同样继承自Collection。 Vector 是一个线程安全的内部由数组来存储的集合,这个和ArrayList一样,但是ArrayList是非线程安全的。 但是两个都是线性集合...

2018-12-27 15:02:07 94

原创 反射机制 动态代理

反射机制是什么,动态代理怎么理解? 反射是java提供的一种基础功能,提供程序自省的能力。通过反射可以用来访问类的定义,类的属性,动态构建对象等。 动态代理是一种能够在运行时动态构建代理,动态构建代理对象进行动态的访问,在很多的框架里使用,比如RPC框架、AOP、数据库访问等。 反射机制: 反射可以运行时获取一个对象所属的类 反射可以运行时动态创造一个类的对象。...

2018-12-27 14:22:47 129

原创 FastJson @JSONField 源码解析

 找到TypeUtils,可以看到有如下注解。  这个时TypeUtils 的computeGetters方法,在这个方法可以看到对JSONField 注解的处理。 JSONField fieldAnnotation = null; if(field != null){ fieldAnnota...

2018-12-26 14:12:53 1865

原创 String StringBuffer StringBuilder

String 是一个Immutable(不可变)类,包括类不可继承,类的属性不可更改。作为Java中基础是字符串类,每次字符串的拼接赋值都是新建一个对象进行操作。所以为了提高字符串拼接移除部分的性能,提供了线程安全的StringBuffer和不保证线程安全的StringBuilder。 StringBuffer 是一个线程安全的类,具体实现的字符串拼接时通过一个字符串数组进行存储的。性能较Str...

2018-12-25 11:34:43 501

原创 强引用 软引用 弱引用 幻想引用

对象的引用关系关联到对象是否可被回收机回收策略。强引用:普通的创建对象构造的就是强引用关系,直到对象生命周期结束,或者显示赋值为null,这时候表明对象可以被回收了。 软引用:软引用相对强引用比较弱一些,可以豁免一些jvm的垃圾回收,当jvm认为空间不足时会回收软引用。即确保OOM之前软引用会被回收,可以实现一些敏感的缓存。内存空闲时,缓存存在,内存不足时回收。 弱引用 : 此引用不能豁免...

2018-12-24 14:23:40 158

原创 maven jar包上传到私服

在你的setting.xml 文件配置远程私服的认证信息<!--配置远程仓库认证信息--><server><id>nexus-releases</id><username>test</username><password>221222</password>&amp

2018-12-21 11:38:22 512

原创 final finally finalize

 三个相似的单词在java里有啥区别和联系呢?没有啥联系,final 用来修饰类,方法,属性。finally 搭配try ,表示finally里的程序一定执行。finalize则是用来垃圾回收时进行资源的回收,在对象回收前被执行,因此finalize不再推荐使用,对垃圾回收的性能影响很大。 final 修饰有啥用处呢? final 修饰类表示类不能被继承,可以保证类的不可变,以保证类行为不...

2018-12-19 19:16:15 306

原创 java Exception和Error的联系区别

对异常的处理是程序不可避免的,如何处理异常?异常又是如何划分的呢在java语言里?java 最顶级的异常类是Throwable,所有异常都继承它,这也是java 语言的特性之一:类单继承,区别于C++的多继承。 Error 和Exception是Throwable的两个子类,代表了程序运行的不同状态。 Error 表示程序发生了严重的错误,导致程序无法正常进行下去,常见的比如OOM和oos...

2018-12-18 19:45:23 111

原创 JNI 运行机制

JNI( java native interface) JNI Java本地方法调用接口,很明显是用来调用非java方法的接口,通过JNI我们可以调用本地的c/c++ 方法,从而实现高效的操作。C/C++是通过调用系统级的API进行操作,与系统指令密切相关。这里也可以看出C/C++的高效原因,java则是一次写,到处运行,跨平台的高级语言。 由于java的跨平台特性,也造就 了运行的效率...

2018-12-17 19:47:20 461

原创 jvm 监控诊断 GUI 工具

MAT: eclipse  MAT 是一个可以用来内存分析的工具,可以解析jmap生成的二进制文件。MAT 计算对象内存2种方式: Shallow heap 指的是对象自己占有的内存大小 Retained heap 指的是该对象被垃圾回收时可回收的内存,包括自身内存,还有该对象引用的对象内存。 视图方式2种:直方图(histogram)和支配树(dominator tree) Ja...

2018-12-15 17:14:36 177

原创 JVM 虚拟机监控 命令

 jps :打印出所有正在运行 的java进程的相关信息。jps 打印的信息包含java进程ID和主类名。-l 打印出主类所在的包名。$jps -l320 sun.tools.jps.Jps118 org.apache.catalina.startup.Bootstrap-m 传给主类的参数 -v 传给java虚拟机的参数 $ jps -mlv3210 sun.to...

2018-12-15 16:27:36 275

原创 注解处理器

注解处理器,注解在java中很常见,那注解是如何生效的呢?提供了怎样的作用?@Override 最常见的一个注解,该注解声明一个方法被重写。来看看这个注解的源码@Target(ElementType.METHOD)@Retention(RetentionPolicy.SOURCE)public @interface Override {} 这个注解同样被两个注解声明,@Tar...

2018-12-14 11:21:21 179

原创 代码高效简洁之道(循环优化 )

循环在Java里是不可避免也是经常使用到的,循环一个数组集合非常常用。如何写一个安全简洁高效的循环呢? 循环无关代码外提:是指在一个循环里不发生改变的表达式比如数组长度,当然这是要不影响整个循环的语义。 int foo(int x, int y, int[] a) { int sum = 0; for (int i = 0; i < a.length; i++) { ...

2018-12-13 13:24:18 466

原创 springboot 集成ElasticSearch 使用RestHighLevelClient

引入jar,ElasticSearch客户端 <!-- 集成ElasticSearch 使用Highlevel 客户端操作es--> <dependency> <groupId>org.elasticsearch.client</groupId> <artifactId&gt...

2018-12-12 19:41:40 1202 1

原创 Vue 集成easyUI

参考vue官网用cli创建了Vue项目之后:npm install vx-easyui --save 安装 推荐使用 cnpm install vx-easyui --save 淘宝的cnpm 在main.js引入import 'vx-easyui/dist/themes/default/easyui.css'import 'vx-easyui/dist/themes/icon.cs...

2018-12-11 19:23:35 5685

原创 git 命令大全

git status 查看状态 git commit -a -m '测试' 提交代码到本地 -a add -m git push 推送到远程 git pull 拉取远程最新更新 git branch 列出本地所有分支 git checkout -b dev 创建dev分支 git push --set-upstream origin release-20180929 推送本地分支到远程...

2018-12-11 19:17:53 81

原创 安装jar 包到本地仓库

一、首先配置环境变量       在path 中添加 maven的bin 的路径 例如:D:\soft\apache-maven-3.2.5\bin;       打开cmd ,执行 mvn -v   查看maven的环境变量是否配置正确二、下载你要添加的jar包 ,找到jar包的位置三、在cmd 中定位到 jar所在的位置  四、输入    mvn install...

2018-12-11 19:16:32 194

原创 springboot 集成redisson 实践

由于redis master 可以由多个的master单节点、master sentinel 、redis 集群组成,所以构建RedissonClient有三种方式。单节点模式 Config config = new Config(); // 哨兵模式// config.useSentinelServers().addSentinelAddress("12...

2018-12-10 17:23:56 2182

原创 Redisson 基于Redis的分布式锁

分布式锁的产生来源于分布式系统对共享资源的互斥访问,能够有效的解决共享资源访问。Redisson 是一个基于Redis实现的分布式锁,基本原理如下:px:设置过期时间。NX: 键key不存在则设置值。set key value px milliseconds nxvalue 保证唯一性,如果value不唯一,可能会导致误解锁。 解锁时要验证value的值。考虑如下一种情况,如果a 客...

2018-12-10 16:46:32 184

原创 springboot 集成swagger

swagger api接口展示测试的可视化工具,非常有利于开发 测试接口,良好的接口展示界面,一目了然可以看到项目里所有的接口,并可以快速测试。也有利于前端查看接口入参出参。springboot  集成很简单,引入jar. <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui --&...

2018-12-06 10:55:04 268

原创 springboot 使用Druid数据库连接池

Druid 阿里开源的数据库连接池选择的理由:Druid 经历了阿里双十一的场景,足以可见其性能。 Druid 有完整的监控,可以实时监控数据库状态及sql的执行时间。 提供有丰富的监控器,自定义监控器也很方便。springboot 默认的连接池是HikariCP,使用Druid :引入jar 包。 <!--数据库连接池--> &lt...

2018-12-06 10:41:07 472

原创 springboot 搭建mybatis

环境springboot 2.1.10 + jdk1.8 +mybatis-spring 1.3.2+idea 2018搭建框架项目目录: 新建项目: next 填写项目的相关信息。下一步选择时加上mybatis,mysql.可以直接搜索mysql. 在application.properties里配置数据库,默认的数据库连接池是HikariCP,使用其他连接池需要引入相关...

2018-12-04 19:47:40 157

原创 There are test failures

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.1:test (default-test) on project springboot-demo: There are test failures.[ERROR][ERROR] Please refer to F:\workt...

2018-12-04 19:16:01 2358

KafkaClientJdk15.jar

kafka 支持java jdk1.5版本的客户端,方便支持jdk1.5.由于官方无支持jdk1.5的java客户端。

2020-09-01

setup_CN_2052_10.8.0.6834_Professional_KVP_PDF_tp.exe

金山PDF专业版,可以进行阅读pdf,打开pdf进行转换,使用良好。下载后可以进行一些专业功能。专业版功能强大,各种转换word都可以使用。

2020-07-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除