java
微风中的一只小刺猬
微风中的一只小刺猬
展开
-
安扫提示field.setAccessible(true)漏洞问题(java Spring)
因代码安全扫描提示出field.setAccessible(true)漏洞问题:提示:AccessibleObject类Field,Method和Constructor对象的基类,能够允许反射对象修改访问权修饰符,绕过由Java访问修饰符提供的访问控制检查,它让程序员能够更改私有字段或调用稀有方法,这在通常情况下是不允许的。网上查到了在spring框架下的解决方案:ReflectionUtils.makeAccessible(field)(该方法是spring针对反射提供的工具类)。...原创 2020-07-23 09:48:55 · 7466 阅读 · 1 评论 -
ScheduledExecutorService:多线程任务调度
转自:https://blog.csdn.net/fly910905/article/details/81542655今天使用Timer实现任务调度时,阿里巴巴Java开发规范提示多线程并行处理定时任务时,Timer运行多个TimeTask时,只要其中之一没有捕获抛出的异常,其它任务便会自动终止运行,使用ScheduledExecutorService则没有这个问题。 首先引入commo...转载 2019-12-17 09:21:43 · 844 阅读 · 0 评论 -
alibaba fastjson TypeReference 通过字符串反射返回对象
转自:https://www.cnblogs.com/shy1766IT/p/9999232.html1. 基础使用在fastjson中提供了一个用于处理泛型反序列化的类TypeReference。import com.alibaba.fastjson.TypeReference;List<VO> list = JSON.parseObject("...", new...转载 2019-12-17 09:06:36 · 561 阅读 · 0 评论 -
详解 Java 中 4 种 I/O 模型
转自:https://mp.weixin.qq.com/s/9eEwiNuV78Y48bsvVW5sNQ 同步、异步、阻塞、非阻塞都是和I/O(输入输出)有关的概念,最简单的文件读取就是I/O操作。而在文件读取这件事儿上,可以有多种方式。 本篇会先介绍一下I/O的基本概念,通过一个生活例子来分别解释下这几种I/O模型,以及Java支持的I/O模型。 基本概念 在解释...转载 2019-01-07 10:41:18 · 787 阅读 · 7 评论 -
Gson的反射解析机制详解
转自:https://blog.csdn.net/chunqiuwei/article/details/49338053 在关于Gson的文章中我们知道Gson解析成Java对象的实现原理是: 1)注册自定义的或者Gson自己定义的TypeAdapter 2)将TypeAdapter封装成TypeAdapterFactory,并把此Factory添加到Gson的factories(Li...转载 2018-12-28 14:26:45 · 1944 阅读 · 0 评论 -
jackson annotations注解详解
https://blog.csdn.net/sdyy321/article/details/40298081 这上面关于jackson有很详细的介绍转载 2018-12-19 16:55:47 · 249 阅读 · 0 评论 -
JAVA工具类------文件工具类fileUtil
参考于:https://blog.csdn.net/lovoo/article/details/77899627https://blog.csdn.net/u014315849/article/details/50804554 在网上找了两个写好的工具类版本一:import java.io.*;import java.net.MalformedURLException...转载 2018-12-13 11:28:46 · 3123 阅读 · 0 评论 -
Java8特性详解 lambda表达式 Stream
转自:https://www.cnblogs.com/aoeiuv/p/5911692.html1.lambda表达式Java8最值得学习的特性就是Lambda表达式和Stream API,如果有python或者javascript的语言基础,对理解Lambda表达式有很大帮助,因为Java正在将自己变的更高(Sha)级(Gua),更人性化。--------可以这么说lambda表达式其实...转载 2018-10-23 20:18:54 · 1094 阅读 · 0 评论 -
Java泛型中E、T、K、V等的含义
Java泛型中的标记符含义: E - Element (在集合中使用,因为集合中存放的是元素) T - Type(Java 类) K - Key(键) V - Value(值) N - Number(数值类型)? - 表示不确定的java类型 S、U、V - 2nd、3rd、4th typesObject跟这些标记符代表的java类型有啥区别呢? Obje...原创 2018-10-22 10:21:12 · 119 阅读 · 0 评论 -
springboot多模块项目mvn打包遇到的问题 - 存在依赖但却无法发现符号
转自:https://blog.csdn.net/SnailMann/article/details/81710461springboot多模块项目mvn打包遇到的问题 - 存在依赖但却无法发现符号 这是一个什么问题呢?我来阐述一下,问题大致是这么一个情况:我有一个SpringCloud项目,每个微服务都是一个SpringBoot工程,其中有一个payment项目依赖了一个公共的模...转载 2019-01-08 12:24:41 · 3105 阅读 · 2 评论 -
JUC 并发图谱
并发之路任重而道远(好多啊) 转自:https://www.jianshu.com/p/c11bd7803c7f 转自:https://blog.csdn.net/u011305680/article/details/72674888转载 2019-01-22 10:14:28 · 594 阅读 · 0 评论 -
Java单例模式中双重检查锁的问题
转自:https://blog.csdn.net/chenchaofuck1/article/details/51702129/ 单例创建模式是一个通用的编程习语。和多线程一起使用时,必需使用某种类型的同步。在努力创建更有效的代码时,Java 程序员们创建了双重检查锁定习语,将其和单例创建模式一起使用,从而限制同步代码量。然而,由于一些不太常见的 Java 内存模型细节的原因,并不能保证这...转载 2019-01-23 16:27:37 · 638 阅读 · 0 评论 -
JAVA中实现让程序等待一段时间的方法
方法一:通过线程的sleep方法。Thread.currentThread().sleep(1000);在需要程序等待的地方加入这个语句,实现让程序等待,这里的参数1000是以毫秒为单位,即这语句可以让程序等待1秒。 方法二:TimeUnit类里的sleep方法。 TimeUnit.DAYS.sleep(1);//天TimeUnit.HOURS.sleep(1);//...原创 2019-02-15 15:46:03 · 5376 阅读 · 0 评论 -
在SpringAOP中如何获取请求的参数和参数名
前面的切面按自己的逻辑处理,获取请求参数的方法如下:private Map<String, Object> getFieldsName(JoinPoint joinPoint) throws Exception { String classType = joinPoint.getTarget().getClass().getName(); Stri...原创 2019-02-19 10:23:09 · 10364 阅读 · 1 评论 -
Java动态追踪技术探究
转自:https://tech.meituan.com/2019/02/28/java-dynamic-trace.html引子在遥远的希艾斯星球爪哇国塞沃城中,两名年轻的程序员正在为一件事情苦恼,程序出问题了,一时看不出问题出在哪里,于是有了以下对话:“Debug一下吧。”“线上机器,没开Debug端口。”“看日志,看看请求值和返回值分别是什么?”“那段代码没打印日...转载 2019-06-04 16:27:49 · 233 阅读 · 0 评论 -
透过现象看原理:详解Spring中Bean的this调用导致AOP失效的原因
转自:https://my.oschina.net/guangshan/blog/1807721前言在我们使用Spring时,可能有前辈教导过我们,在bean中不要使用this来调用被@Async、@Transactional、@Cacheable等注解标注的方法,this下注解是不生效的。那么大家可曾想过以下问题为何致this调用的方法,注解会不生效 这些注解生效的原理又...转载 2019-06-25 11:42:00 · 1069 阅读 · 0 评论 -
你所不知道的TIME_WAIT和CLOSE_WAIT
你遇到过TIME_WAIT的问题吗?我相信很多都遇到过这个问题。一旦有用户在喊:网络变慢了。第一件事情就是,netstat -a | grep TIME_WAIT | wc -l 一下,哎呀妈呀,几千个TIME_WAIT。然后,做的第一件事情就是:打开Google或者Bing,输入关键词:too many time wait。一定能找到解决方案,而排在最前面或者被很多人到处转载...转载 2019-07-03 10:48:39 · 206 阅读 · 0 评论 -
java Queue常用方法
对于Queue来说,就是一个FIFO(先进先出)的队列,添加元素只能在队尾,移除只能在队首。对于这一组方法,成功返回true,在操作失败时抛出异常,这是与下面一组方法的主要区别。add(E e):添加一个元素到队尾remove():获取队首的元素,并从队列中移除element():获取队首的元素,但不从队列中移除 这一组,成功返回true,失败时返回一个特殊值(取决于操作,...原创 2018-09-29 14:12:01 · 20793 阅读 · 0 评论 -
List的add方法与addAll方法的区别
add是将传入的参数作为当前List中的一个存储位置,即使你传入一个List也只会另当前的List增加1个元素addAll是传入一个List,将此List中的所有元素加入到当前List中,也就是当前List会增加的元素个数为传入的List的大小...原创 2018-09-29 12:31:29 · 1062 阅读 · 0 评论 -
Java并发编程:Callable、Future和FutureTask原理解析
转自:https://blog.csdn.net/codershamo/article/details/51901057返回结果的任务Callable与FutureExecutor框架使用Runnable作为其基本的任务表示形式。Runnable是一种有很大局限的抽象,它不能返回一个值或抛出一个受检查的异常。Runnable接口:public interface Runnable {...转载 2018-10-08 14:22:44 · 175 阅读 · 0 评论 -
String、StringBuffer与StringBuilder的区别
对于三者使用的总结:如果要操作少量的数据用 = String单线程操作字符串缓冲区 下操作大量数据 = StringBuilder多线程操作字符串缓冲区 下操作大量数据 = StringBuffer1. 在执行速度方面的比较:StringBuilder > StringBuffer2. StringBuffer与StringBuilder,他们是字符串变量,是可改变的对象,每当我们用它们对字...原创 2018-04-17 15:07:18 · 143 阅读 · 0 评论 -
equals 和 equalsIgnoreCase
equals :将此字符串与指定的对象比较。当且仅当该参数不为 null,并且是与此对象表示相同字符序列的 String 对象时,结果才为 true。equalsIgnoreCase :将此 String 与另一个 String 比较,不考虑大小写。如果两个字符串的长度相同,并且其中的相应字符都相等(忽略大小写),则认为这两个字符串是相等的。在忽略大小写的情况下,如果下列至少一项为 true,则认...原创 2018-04-20 10:31:07 · 455 阅读 · 0 评论 -
maven 打包 异常
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.2:compile (default-compile) on project api: Fatal error compiling: invalid target release: 1.8 -> [Help 1]检查全局环境的java...原创 2018-05-02 16:08:05 · 313 阅读 · 0 评论 -
请求后台报:This application has no explicit mapping for /error, so you are seeing this as a fallback 异常
出现这种问题的原因有多种spring配置项目在打包是没有将jsp等文件打到target/classes下面我遇到的是第二种情况,解决方法是在web项目的pom文件中加入<resources> <!--打包时将jsp文件拷贝到META-INF目录下--> <resource> <!--指定resources插件处理哪个目录下的资源文件...原创 2018-04-25 17:07:39 · 971 阅读 · 0 评论 -
SpringBoot整合Dubbo报异常: java.lang.ClassCastException
项目采用的SpringBoot加Dubbo进行构建时当远程调用dubbo服务时报java.lang.ClassCastException:......暂时找到的解决方法是: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>s...原创 2018-04-27 14:41:11 · 3848 阅读 · 0 评论 -
一次JDBC与MySQL因“CST”时区协商误解导致时间差了14或13小时的排错经历
转自:https://www.aliyun.com/jiaocheng/799399.html摘要:###摘要名为CST的时区是一个很混乱的时区,在与MySQL协商会话时区时,Java会误以为是`CST-0500`,而非`CST+0800`。###CST时区名为CST的时区是一个很混乱的时区,有四种含义:-美国中部时间CentralStandardTime(USA)UTC-06:00-澳大利亚中部...转载 2018-05-08 15:00:15 · 5434 阅读 · 0 评论 -
[com.alibaba.druid.pool.DruidDataSource] - abandon connection, open stackTrace
出现这种情况,请看:https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98原创 2018-06-06 14:10:32 · 3722 阅读 · 0 评论 -
pom.xml文件中设置Java编译器版本
一.<properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target></properties>二.<plugins> <plugin&原创 2018-06-06 15:32:30 · 2872 阅读 · 0 评论 -
maven的pom.xml文件详解
转载自:https://www.cnblogs.com/hafiz/p/5360195.html<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.o...转载 2018-06-08 10:40:14 · 151 阅读 · 0 评论 -
Maven--- dependencies与dependencyManagement的区别
转自:https://www.cnblogs.com/feibazhf/p/7886617.html1、DepencyManagement应用场景 当我们的项目模块很多的时候,我们使用Maven管理项目非常方便,帮助我们管理构建、文档、报告、依赖、scms、发布、分发的方法。可以方便的编译代码、进行依赖管理、管理二进制库等等。 由于我们的模块很多,所以我们又抽象了一...转载 2018-06-08 11:57:19 · 168 阅读 · 0 评论 -
请求后台,出现跨域问题
Access-Control-Allow-Origin 为允许哪些Origin发起跨域请求. 这里设置为”*”表示允许所有,通常设置为所有并不安全,最好指定一下。 Access-Control-Allow-Methods 为允许请求的方法. Access-Control-Max-Age 表明在多少秒内,不需要再发送预检验请求,可以缓存该结果 Access-Control-Allow-Headers...原创 2018-06-08 14:27:43 · 1553 阅读 · 1 评论 -
java.lang.IllegalArgumentException: invalid comparison: java.util.Date and java.lang.String
在重构项目的时候,遇到了mybatis的一个异常:java.lang.IllegalArgumentException: invalid comparison: java.util.Date and java.lang.String随后在网上查询解决方法时看到,这个是mybatis在3.3.0版本修复的一个bug,3.3.0之前是没有问题,之后就会报异常。原因是:对于时间参数进行比较时的一个bug...原创 2018-06-25 16:37:53 · 2613 阅读 · 0 评论 -
spring的定时任务 @Scheduled 和 @EnableScheduling
定时任务, 按照bean注入,除了要在执行的方法上面设置@Scheduled外,还要在启动类上添加@EnableScheduling @Scheduled:计划任务声明@EnableScheduling :开启计划任务支持在启动类或每个定时任务上面加都可以,就是一个是加一个注解就可以,一个是一个定时任务一个注解@Scheduled:1.cron:cron表达式,指定任务在特定时间执行;2.fixe...原创 2018-06-19 10:43:18 · 2144 阅读 · 0 评论 -
SpringMVC中WebDataBinder的应用及原理
原文转自:https://blog.csdn.net/hongxingxiaonan/article/details/50282001看项目看到关于这个的使用,才在网上搜了一下。SpringMVC中WebDataBinder的应用及原理 Controller方法的参数类型可以是基本类型,也可以是封装后的普通Java类型。若这个普通Java类型没有声明任何注解,则意味着它的每一个属性都需要到R...转载 2018-07-02 15:56:35 · 2158 阅读 · 0 评论 -
单例模式的多种实现方式
转自:https://blog.csdn.net/u014539776/article/details/50775470 最近项目中为了系统中避免创建多个实例,teamleader让我把项目代码优化一下(应用单例模式),后面将单例模式的学习心得分享给团队同事,同事也给了我一些意见,现在写出来分享给大家,博友多多知道哈,写的不好给点意见哈!现在从三方面讲解单例模式:(1)单例模式概念...转载 2018-08-09 14:58:09 · 181 阅读 · 0 评论 -
Java中的锁分类
Java中的锁分类在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类。介绍的内容如下:公平锁/非公平锁可重入锁独享锁/共享锁互斥锁/读写锁乐观锁/悲观锁分段锁偏向锁/轻量级锁/重量级锁自旋锁上面是很多锁的名词,这些分类并不是全是指锁的状态,有的指锁的特性,有的指锁的设计,下面总结的内容是对每个锁的名词进行一定的解释。公平锁/非公平锁公平锁是指多个线程按照申请锁的顺序...转载 2018-03-15 14:06:52 · 563 阅读 · 1 评论