![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 69
小幸运-s
这个作者很懒,什么都没留下…
展开
-
Java NIO 对 OP_WRITE 的处理 解决网速慢的连接
最近在用Java NIO, 回顾自己写的程序发现里面居然没有OP_WRITE,每次都是在OP_READ的处理逻辑中直接使用SocketChannel.write(ByteBuffer)就能够达到写数据的需求,那为什么还要OP_WIRTE呢?网上找到相关的文章,原来自己的程序是有很多细节没有考虑的,慢慢学习进步吧:17.3.1 如何处理慢速的连接对企业级的服务器软件,高性...转载 2020-01-08 16:23:01 · 490 阅读 · 0 评论 -
getDeclaringClass,getDeclaredClasses,getClasses的区别
getDeclaringClass 该方法返回一个Class对象,返回当前class对象的声明对象class,一般针对内部类的情况,比如A类有内部类B,那么通过B.class.getDeclaringClass()方法将获取到A的Class对象. 在使用反射对象时比如Method和Field的getDeclaringClass方法将获取到所属类对象getDeclaredCl...原创 2020-01-07 16:51:29 · 8852 阅读 · 0 评论 -
java type接口及子接口ParameterizedType,TypeVariable,GenericArrayType,WildcardType说明
Java的Type接口是Java中所有类型的父亲,所有类型!抄袭一张图片,下图展示了Type的继承结构,下面对每一种类型做详细说明并结合代码的形式。ParameterizedType:字面意思是参数化类型,感觉不太好理解,其实就是声明时带有泛型的类型,如果还不懂就看下面的例子演示吧TypeVariable:字面意思"类型变量",其实代表的就是泛型尖括号里的东西,比如List<...原创 2019-11-27 16:30:03 · 1369 阅读 · 0 评论 -
org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean
今天写工具方法在,在一个被其他工程依赖的项目里加了一个dao类,其它依赖项目报错org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'hqAuthMapperExt' for bean class [com.hunqingplatfor...原创 2019-11-19 22:28:21 · 2454 阅读 · 1 评论 -
AutowiredAnnotationBeanPostProcessor和RequiredAnnotationBeanPostProcessor源码简析
首先声明,本人正在努力学习spring源码,如果有志同道合的朋友可以先私信然后加好友讨论。本文比较简单由于刚看不久更多的起到记录笔记的作用,欢迎各位大佬指出问题。 首先提出问题:1.spring在什么时候开始解析@Autowired注解实现依赖注入的呢?2.@Qualifier又是如何与@Autowired配合使用的呢? 首先要明确一点的是,在spring解析beanD...原创 2019-11-18 11:48:25 · 708 阅读 · 0 评论 -
spring创建aop代理对象流程分析
1.在实例化bean之后会调用AbstractAutowireCapableBeanFactory的applyBeanPostProcessorsAfterInitialization方法,该方法会找到所有实例化好的BeanPostProcessor对bean进行后置处理2.AbstractAutoProxyCreator的postProcessAfterInitialization方法会...原创 2019-11-04 19:43:40 · 897 阅读 · 0 评论 -
spring boot启动读取并初始化mybatis mapper
在Configuration类上我们一般会加上@MapperScan(basePackages = "com.hunqingplatform.hunqing.dao.mapper1.ext",sqlSessionFactoryRef="sqlSessionFactory")这样的注解,点进该注解你会看到该注解又被@Import注解给注解了@Import注解是往spring容器中导入一些b...原创 2019-11-03 15:29:29 · 1256 阅读 · 0 评论 -
spring源码获取所有Advisor记录
接着上一篇spring实例化包含@Transational注解类(不论是类上还是方法上)的流程。1.在BeanPostProcesser的实现类AbstractAutoProxyCreator的wrapIfNecessary方法里调用getAdvicesAndAdvisorsForBean方法2.在其父类AbstractAdvisorAutoProxyCreator的getAdvice...原创 2019-10-31 16:02:46 · 370 阅读 · 0 评论 -
count与case when配合使用问题
SELECT COUNT(case when age>15 then scone ELSE 1 end) FROM `t_z_test1`;SELECT COUNT(case when age>15 then scone ELSE 1 end) FROM `t_z_test1`;MySQL执行这条sql时会每条记录的去执行count里的条件 如果满足age>15就对当前记...原创 2019-10-24 14:42:58 · 7741 阅读 · 0 评论 -
Java使用itext生成pdf
<!-- https://mvnrepository.com/artifact/com.itextpdf/itextpdf --><dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <versi...原创 2019-10-12 13:53:52 · 481 阅读 · 0 评论 -
spring使用map接收前台整型数据
spring MVC接收map对象参数 如果参数里有前台传来的数字类型 ,比如flag=2这时你可别直接使用Integer去强转 Integr intData=(Integer)map.get("flag")。因为前台传到后台的数据默认都是字符串所有这里map.get("flag")接收到的实际类型是字符串(尽管你可能声明的map参数泛型是String,Object)。所以你需要使用Integer原创 2017-02-23 21:47:29 · 2071 阅读 · 0 评论 -
关于junit单元测试时用户线程自动终止问题
在使用junit单元测试spring boot rabbitMQ时在onmessage方法里接收到消息正断点着呢,突然线程自动断掉了,一脸懵逼的我各种找rabbitmq的过期配置设置了一些值后再测试发现断点时间延长了,可并不是我设置的时间,无论我设置多长程序都会在一个固定时间内推出。再不使用junit测试时却不会出现这种情况。 所以断定肯定是junit的问题,百度下说junit...原创 2018-08-15 11:47:07 · 3088 阅读 · 0 评论 -
log日志打印输出过长被自动截断打印一句的问题
在启动参数里添加-XX:-OmitStackTraceInFastThrow 参数即可原创 2018-08-17 10:26:50 · 7964 阅读 · 0 评论 -
关于在过滤器加@compent注解导致urlPatterns不起作用记录
我这么写了个过滤器请求时所有的请求都被拦截了,最后听说因为加了@compent或者@configruation注解的原因。去掉果然正常了。想知道为什么会这样以后有时间再研究吧。先记录下...原创 2018-08-31 16:40:13 · 4304 阅读 · 1 评论 -
cookie及session详解
转载地址:https://www.cnblogs.com/andy-zhou/p/5360107.html目录Cookie机制什么是CookieCookie的不可跨域名性Unicode编码:保存中文BASE64编码:保存二进制图片设置Cookie的所有属性Cookie的有效期Cookie的修改、删除Cookie的域名Cookie的路径Cookie的安全属性JavaScript操作Cooki...转载 2018-12-03 17:16:57 · 196 阅读 · 0 评论 -
eclipse Java文件修改双击一个单词时搜索出其它相同单词的背景色
在使用eclipse开发Java工程时经常会在Java文件里选择一个单词双击看看哪里引用到,eclipse会默认把所有相同单词背景色修改标记出来。可如果背景色是黑色的就啥也看不出来就很烦,如果想修改很简单window-preferences--editors--textEditors--annotations然后找哪些背景色是黑色的一个个试下就行了,应该就是哪些occurrences单词对应的哪些...原创 2018-12-13 10:53:49 · 827 阅读 · 0 评论 -
spring事务执行了但却不生效
我的博客都是几句话把问题记录下就好。 今天测试spring事务时总是不生效通过追踪源码发现它也执行了rollback可数据库里的数据却没有被撤销,奇怪的很,然后把出错那行上面的动态创建表的DDL语句代码给注释掉事务就正常了,现象已说明下面稍微说下自己的想法。 本屌猜测innodb引擎的事务使用行锁和分段锁对只能基于存在的表,当发现有DDL语句参与回滚时就直接放弃此次回滚操作。纯属猜...原创 2018-12-11 17:15:39 · 361 阅读 · 0 评论 -
fatal unable to access 'https //.git/' the requested url returned error 500
git在创建新项目没有任何文件时使用git clone命令克隆会报fatal unable to access 'https //.git/' the requested url returned error 500错原创 2019-02-01 09:38:12 · 8097 阅读 · 0 评论 -
eclipse安装lombok教程
1.下载lombok.jar 下载地址https://projectlombok.org/download2.将lombok.jar放在eclipse的安装目录下与eclipse.ini文件同级目录3.执行java -jar lombok.jar命令4.出现点击确定。点击Specify location按钮选择eclipse安装目录,只需选到eclipse.ini文件的上一级即可。...原创 2019-02-15 14:48:59 · 292 阅读 · 0 评论 -
java中的原子操作
Java中的原子操作包括:1)除long和double之外的基本类型的赋值操作2)所有引用reference的赋值操作3)java.concurrent.Atomic.* 包中所有类的一切操作。但是java对long和double的赋值操作是非原子操作!!long和double占用的字节数都是8,也就是64bits。在32位操作系统上对64位的数据的读写要分两步完成,每一步取32位数据。这样对do...转载 2018-05-26 11:58:14 · 1709 阅读 · 5 评论 -
maven打包出现 java.lang.SecurityException: Invalid signature错
引用下stack overflow里找到的解决方法: For those who got this error when trying to create an uber-jar with maven-shade-plugin, the solution is to exclude manifest signature files by adding the following lines to ...原创 2018-05-08 17:56:40 · 1411 阅读 · 0 评论 -
关于spring使用@value注解获取properties文件属性问题
最近使用java加载properties文件内容 突然想到了@value不是可以做这样的工作嘛 。于是换成@value来加载 由于没用过这个注解还是导致了一些问题 这里来记录下。 首先我的spring配置文件如下 然后使用 @Value("#{configProperties['a原创 2017-08-01 10:04:56 · 3491 阅读 · 0 评论 -
centos启动Tomcat巨慢
最近在新公司搭建了centos7的Tomcat7web环境 发布项目启动Tomcat巨慢 有时候竟然要等快到20分钟。百度了下说是创建随机数的算法问题 在此贴上Tomcat的启动日志信息可以看到这里花了288830ms几分钟 自己计算机捏下就知道,不过这次还算快的了 我的项目很小这么长时间也不正常了。最后使用下面方法解决 再启动 10秒内就启动起来了。# yum install原创 2017-06-26 16:03:09 · 396 阅读 · 0 评论 -
mybatis mapper映射文件参数填充原理
由于字体不清楚 用文字补充下。 第一幅图说的是 如果使用mybatis的动态sql形式写where语句 那么mybatis在获取参数值的时候会去调用参数类型对象的get/set方法 而不使用动态sql的话mybatis就不会这么调用 而是直接把参数的值传进来。原创 2017-05-23 10:56:01 · 655 阅读 · 0 评论 -
mvn 编译出Caused by: java.lang.UnsupportedClassVersionError: com/cainiao/maven/plugins异常
话说mvn这个东西在带给开发方便的同时 可如果对他不熟出了问题真的很头大而且很容易出问题 这是关键。今天在git上把项目clone到本地执行bat批处理文件大概就是先mvn package吧然后报了Caused by: java.lang.UnsupportedClassVersionError异常百度了下说是jdk版本不对。我电脑安装了两个版本的jdk一个是jdk8一个是jdk7(而配的ja原创 2017-03-17 14:15:05 · 790 阅读 · 0 评论 -
spring MVC接收ajax post提交参数
我们在前台提交普通参数时后台一般希望直接使用参数名直接接收方便的很 例如get请求是?flag=1&name=jay这时候后台参数只需定义Integer flag ,String name就可以接收到。可如果这时ajax的提交类型是post呢?后台再这样接收可能就接收不到。这是为什么呢 ?这其实是ajax的contentType搞的鬼 如果 type:'POST', contentTy原创 2017-02-23 13:54:24 · 807 阅读 · 0 评论 -
java中定义二进制 八进制 16进制数
0b 开头是二进制0开头是8进制0x开头是16进制原创 2017-02-22 17:30:17 · 2436 阅读 · 0 评论 -
mysql 的sql_model模式
摘自 http://blog.csdn.net/wyzxg/article/details/8787878转载 2017-03-02 10:55:55 · 10628 阅读 · 0 评论 -
mybatis传递单个string参数
使用mybatis接口参数只有一个string的时候 如果不指定@param原创 2017-02-21 14:46:01 · 3601 阅读 · 0 评论 -
maven 打包报数组越界问题
昨晚项目急着上线 突然打包出了问题 使用mvn -X package运行发现是arrayindexoutofbound 11117错误 。好奇怪 怎么会越界呢 因为报的不是我业务代码的错而是maven的架包和依赖里的 所以我确定是加保问题 。尝试了几次添加和移除没用 。今天早上来 我新建了一个工程把另一个工程的pom依赖一个一个的放进新项目里打包尝试 最后确认了是json-lib导致的 我把它原创 2017-07-27 11:25:55 · 1908 阅读 · 2 评论 -
spring mvc接受前台formdata 文件后台无法接收到文件
今天同事接收前台传的excel的文件 怎么也接收不到 。用form表单却可以正常接收到 。然后我怀疑是前端的表单有问题。虽然他传的formdata里加了name 可我在input里再次加了name才可以正常接收。 可想而知input的name还是不能省下的。之前网上虽然说使用formdata上传文件并不需要form表单 可之前试了不行可能写法不同吧 前台必须加上form才行,原创 2017-09-26 11:13:43 · 5283 阅读 · 0 评论 -
org.codehaus.jackson.map.JsonMappingException: (was java.lang.NullPointerException)
今天使用objectMapper的writeValueAsString方法抛出了org.codehaus.jackson.map.JsonMappingException: (was java.lang.NullPointerException)异常,一顿搜索说是解析的类里有属性是包装类型二get方法返回的是基本类型,恰恰写入的该属性的值是null才报的错。 解决办法:根据报错提...原创 2018-05-14 15:06:11 · 2365 阅读 · 0 评论 -
centos安装mysql数据库
经常需要在centos安装mysql ,每次都是百度下 现在记录下 以后直接来复制粘贴好了。 CentOS7的yum源中默认好像是没有mysql的。为了解决这个问题,我们要先下载mysql的repo源。1. 下载mysql的repo源$wgethttp://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm2. 安装mysql-...原创 2017-06-12 14:23:24 · 425 阅读 · 1 评论 -
mybatis使用一对多映射
假设现在有两个类 一个MatterDO和MatterPictureDO分别对应数据库表matter_tbl,matter_picture_tbl,在matter_picture_tbl里使用matter_id关联matter_tbl表。在MatterDO里有一个List<MatterPictureDO> urls属性。xml配置如下 上面xml配置中的红线部分是错误提示,如...原创 2018-02-26 10:57:03 · 414 阅读 · 0 评论 -
微信支付的支付目录和异步回调目录配置的坑
开发微信支付的过程中,可能所有的流程都搞明白了,可能在配置公众号的支付授权目录时会遇到问题,会不大好理解。如果支付授权目录没有设置正确,在请求JSAPI时,会提示“3当前页面的url未注册”的错误。 怎么设置呢,首先要看你支付的当前页面URL,比如是: http://www.xxx.com/wxpay/js_api_call.php你就必须填写:转载 2017-12-21 18:38:26 · 9703 阅读 · 2 评论 -
关于cros跨域的options请求session不一致注意点
不想多说 就随意记录下客户端cros跨域时会先发送预请求options。如果这时你判断session里的用户就会出现为空的情况。因为浏览器每次发送options请求的sessionid都不一样。所以在过滤器应该出理options请求 直接放行。原创 2018-01-22 16:21:49 · 1726 阅读 · 2 评论 -
ajax跨域服务器设置
本文转自阮一峰的http://www.ruanyifeng.com/blog/2016/04/cors.htmlCORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing)。它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。本文详细介绍CORS的内部机制。转载 2017-12-26 16:19:50 · 748 阅读 · 0 评论 -
jackson fasterxml 的api地址
Jackson Home Page:https://github.com/FasterXML/jacksonJackson Wiki:http://wiki.fasterxml.com/JacksonHomeJackson doc: https://github.com/FasterXML/jackson-docsJackson Download Page:http://wiki.fa原创 2017-12-12 19:03:58 · 803 阅读 · 0 评论 -
openssl生成根证书及服务器客户端
1、下载OpenSSL linux:我们可以到OpenSSL的官网(http://www.openssl.org/source/)下载最新的源码,下载后需要对源码进行编译才能使用 windows:OpenSSL提供了windows版的二进制发行版本地址是--http://www.slproweb.com/products/Win32OpenSSL.html原创 2017-11-09 21:36:35 · 6211 阅读 · 0 评论 -
工程目录问题
在项目开发中 路径问题不了解好有时候也非常折磨人。 首先要明确的是 前台和后台的/都表示根目录。 但是区别是前台的/ 前面不带有项目名 即是这种形式:http://localhost:8080 而后台的/带有项目名(ps:不论前台还是后台 前提是这里你没有在应用服务器把访问的项目名设置为/或者"" 否则没啥区别) 例如我的项目名是jerseytest那么这里就是http://localho原创 2017-02-19 15:43:40 · 221 阅读 · 0 评论