自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (14)
  • 收藏
  • 关注

原创 为什么abstract @service注解的类不被加载到beanfactory中

使用过spring开发的开发者对@Service注解以及@Autowired注解不会陌生,系统在启动时会把@Service注解的类加载到BeanFactory中,然后就可以通过@Autowired注解的方式注入Service类实例,但并不是所以被@Service注解的类都会被加载到系统中,那么到底哪些类会被加载到系统中(也就是满足什么条件才会被加载呢),这个看下ClassPathScanningC...

2019-03-31 10:09:55 6085

原创 cglib工作原理详解

cglib是一种动态代理方式,底层通过asm产生class字节码来完成动态代理,cglib与jdk动态代理相比,除了可以代理实现接口的类也可以代理非实现接口的类,通过fastclass类来避免了java反射的使用。对jdk7以前的版本来说,jdk动态代理执行效率明显要比cglib动态代理类效率差,jdk8即以后版本对jdk动态代理进行了相应的优化,这种差距就不那么明显了。但是要代理...

2019-03-23 16:27:03 6625 1

原创 java modifier

cglib是动态代理的一种,该类型代理是通过产生class的方式来产生代理类,相对于jdk动态代理,该类型代理可以代理没实现接口的类。CGLIB代理底层通过重新生成每个类的方法,final、private、static方法则不会创建新的方法。 java modifier作为反射的一部分,可以用来标识每个类以及类方法的属性,其值如下所示:publicstaticfinali...

2019-03-22 10:06:52 690

原创 jdk等hsdb导出系统加载类等功能介绍

1.运行HSDB代码java -classpath "%JAVA_HOME%/lib/sa-jdi.jar" sun.jvm.hotspot.HSDB2.attach到对应的java程序进程上3.进入下面页面:4.选择Class Browser进入加载类页面:5.点击“create .class for all classes”生成所有已加载的类,或者点击具体的类,导出...

2019-03-20 18:56:01 722

原创 fastJson将字符串转换成泛型对象

ApiResultTo<ClassA> res = JSON.parseObject(JSON.toJSONString(resultTo), new TypeReference<ApiResultTo<ClassA>>(){});即通过TypeReference即可实现从字符串到泛型对象的转换,亲测可用...

2019-03-20 16:22:53 4042

原创 使用@ControllerAdvice如何返回给前端对应错误码

@ControllerAdvice可以捕获spring应用下面未被捕获异常,下面是常见代码: @ExceptionHandler(value = Exception.class) @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR) public String errorHandler(Exception ex) { ...

2019-03-20 13:49:44 3689 3

原创 jad Couldn't fully decompile method getIndex

使用jad以及JD-GUI反编译cglib产生的class文件时,发现这两种工具都不能很好的反编译fastclass文件,总会出现一部分汇编代码: /* Error */ public int getIndex(net.sf.cglib.core.Signature arg1) { // Byte code: // 0: aload_1 // 1: i...

2019-03-13 09:10:15 1124

原创 引入FastJsonHttpMessageConverter需要注意的地方

应用场景:feign客户端FastJsonHttpMessageConverter是基于fastjson的一种HttpMessageConverter,spring系统默认使用的是MappingJackson2HttpMessageConverter,但是在使用FastJsonHttpMessageConverter时要特别注意,因为FastJsonHttpMessageConverter很可...

2019-03-27 16:01:16 24409 2

原创 理解spring事务底层原理

事务是一种all or nothing的执行策略,常见数据库,这种策略遵从ACID原则,可以很好的保证业务的执行,spring事务底层可以使用tx命名空间实现,也可以通过Transactional注解的方式来实现,本文就讲下spring transactional注解底层的工作原理,要了解这个工作原理,首先要了解cglib的工作原理,这个可以参考文章:https://blog.csdn.net/j...

2019-03-27 08:53:30 2256

转载 Eclipse中设置作者日期等Java注释模板

转载自:https://jingyan.baidu.com/article/1612d500856cb1e20e1eeed5.htmlEclipse作为JavaIDE(Integrated Development Environment,集成开发环境),可以通过设置自动添加Javadoc注释信息,如@author 作者名、@version 版本标识、@date 日期等,在创建类或新增方法时会自...

2019-03-19 10:05:13 493

原创 放入http请求头中的内容如果含有中文必须编码

post请求体中的内容可以不编码,这样传到服务接口的数据不会乱码,但是放在post请求头中的数据如果有中文必须进行编码,然后在接口中进行译码,否则中文会出现乱码,java程序中常用的两个方法:java.net.URLEncoder.encode("http请求头中token","utf-8") --编码java.net.URLDecoder.decode(token,"utf-8")...

2019-03-15 09:41:59 18661

转载 JVM指令

转载自:https://www.jianshu.com/p/9f09a0c21542凡是带const的表示将什么数据压操作数栈iconst_2 将int型数据2压入到操作数栈; aconst_null 将null值压入栈; bipush和sipush 表示将单字节或者短整形的常量值压入操作数栈;带ldc的表示将什么类型数据从常量池中压入到操作数栈。ldc_w 将int或者flat...

2019-03-12 14:33:38 194

转载 jvm tableswitch lookupswitch

转载自:https://zangxt.iteye.com/blog/421520switch是控制选择的一种方式,编译器生成代码时可以对这种结构进行特定的优化,从而产生效率比较高的代码。在java中,编译器根据分支的情况,分别产生tableswitch,lookupswitch两中情况,其中tableswitch适用于分支比较集中的情况,而lookupswitch适用与分支比较稀疏的情况。不...

2019-03-12 14:31:46 1283 1

转载 JVM内幕:Java虚拟机详解

转载自:https://www.cnblogs.com/yhl-yh/p/7145218.html这篇文章解释了Java 虚拟机(JVM)的内部架构。下图显示了遵守Java SE 7 规范的典型的 JVM 核心内部组件。上图显示的组件分两个章节解释。第一章讨论针对每个线程创建的组件,第二章节讨论了线程无关组件。线程 JVM 系统线程 每个线程相关的 程序计数器 栈...

2019-03-12 14:21:47 234

转载 This application requires a Java Runtime Environment 1.7.0

转载自:https://blog.csdn.net/LearningForFun/article/details/79626954系统已经安装过了java1.8(解压缩版的),安装jd-gui时提示需要java1.7环境方法一在当前文件夹内,按住Shift键,右击空白处,点击”在此处打开命令窗口”,输入命令:java -jar jd-gui.exe(文件名,含后缀)1打...

2019-03-12 11:19:01 8075

原创 eclipse encoding

下面这个页面是使用eclipse的开发者基本上都见过的画面,本文要讲的就是Encoding部分,这个地方的设置到底用在了哪里,Encoding在windows系统默认采用的就是GBK,但是系统开发经常会用到UTF-8编码,linux上默认的编码就是UTF-8,为了避免不同系统间因为编码导致的问题,一般我们也会把Encoding里面选择UTF-8编码格式,这个设置最终会影响file.enco...

2019-03-11 14:00:55 665

转载 为什么说Java中只有值传递

转载自:https://github.com/john1337/toBeTopJavaer/blob/master/basics/java-basic/java-pass-by.md对于初学者来说,要想把这个问题回答正确,是比较难的。在第二天整理答案的时候,我发现我竟然无法通过简单的语言把这个事情描述的很容易理解,遗憾的是,我也没有在网上找到哪篇文章可以把这个事情讲解的通俗易懂。所以,就有了我...

2019-03-11 10:30:38 244

转载 Java 8中处理集合的优雅姿势——Stream

转载自:https://mp.weixin.qq.com/s/adKZrOe6nFEmuADHijsAtA在Java中,集合和数组是我们经常会用到的数据结构,需要经常对他们做增、删、改、查、聚合、统计、过滤等操作。相比之下,关系型数据库中也同样有这些操作,但是在Java 8之前,集合和数组的处理并不是很便捷。不过,这一问题在Java 8中得到了改善,Java 8 API添加了一个新的抽象称...

2019-03-11 10:05:25 504

转载 cglib demo以及Enhancer源码解析

转载自:https://www.jianshu.com/p/20203286ccd9先通过demo演示效果,然后进行源码分析demo用Enhancer结合MethodInterceptor以及CallBackFilter完成这里Enhancer类是CGLib中的一个字节码增强器,它可以方便的对你想要处理的类进行扩展1.demo拦截器1package cglib;impo...

2019-03-09 21:29:41 1105 1

kuebkey v3.2-alpha.1-console

kuebkey v3.2-alpha.1-console版本,该版本支持在页面上完成集群的简单管理

2024-02-01

nacos-2.0.1 postgresql初始化脚本

nacos-2.0.1 postgresql初始化脚本

2021-12-03

2021建筑智能化应用现状调研白皮书.pdf

2021建筑智能化应用现状调研白皮书

2021-09-15

cassandra-jmx.yml

cassandra jmx_exporter对应配置文件

2021-09-02

thingsboard-mqtt脚本.zip

thingsboard-mqtt脚本,参考文章https://jonhuster.blog.csdn.net/article/details/106097623里面的步骤执行对应脚本即可!!

2020-05-13

Elasticsearch技术解析与实战

Elasticsearch技术解析与实战,希望帮到需要的朋友,需要的朋友也可以购买图书

2017-11-18

spring security 入门demo

spring security 入门demo 非常不错 主要是完整

2017-08-11

bpmn2.0规范

bpmn2.0规范

2017-07-03

Mastering Unit Testing Using Mockito and JUnit

Mastering Unit Testing Using Mockito and JUnit

2017-05-06

Spring Boot实战

Spring Boot实战

2017-05-03

docker技术入门与实战

docker技术入门与实战 学习docker不错的入门资料

2017-04-26

微服务架构与实践 ,王磊著

本书是一本关于有关微服务的专业书籍,理论与实践相结合,讲解微服务的来世今生,是一本不错的微服务专业书籍

2016-11-10

深入剖析Tomcat

深入剖析Tomcat

2016-10-29

单片机开发实例大全

你值得拥有,该资料能够帮助单片机爱好者掌握更多的东西!

2012-07-14

空空如也

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

TA关注的人

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