![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
荆棘之路
文章平均质量分 78
c4tch
code
展开
-
记List<Object>接受其他泛型入参报错及List、 List<Object>、 List<?>三者的区别
1.问题这是我自定义的一个数据传输模型,使用List < Object>作为入参将结果返回到前台@Data@AllArgsConstructor@NoArgsConstructor@Accessors(chain = true)@ApiModel(description = "自定义返回数据类型")public class SimpleResponseBody { @ApiModelProperty(name = "status",value = "状态码") pr原创 2020-07-17 10:55:38 · 4904 阅读 · 3 评论 -
AOP中拦截Controller中的参数值
1.获取普通的传参eg: http://…url…?param=value此类形式的AOP参数获取可以用以下方式@Before("StuInfoAsp()") public void doBefore(JoinPoint joinPoint){ ServletRequestAttributes sc = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); HttpServ原创 2020-07-15 15:49:00 · 1097 阅读 · 0 评论 -
Java多线程详记(四)——wait,nitify用法(生产者消费者问题)
wait()、notify()是Object提供的两个非常重要的方法,也就是说所有的对象都可已使用这两个方法,那么这两个方法怎么使用呢,其能够解决的消费者生产者问题又是在什么样的应用场景下呢?在代码中,当在一个实例对象调用wait方法,那么当前线程就会从执行状态转变成等待状态,同时释放在实例对象上的锁,直到其它线程在刚才那个实例对象上调用notify方法并且释放实例对象上的锁,那么刚才那个当前线程才会再次获取实例对象锁并且继续执行。这样我们通过object对象就可以让多线程之间进行有效通信。读了上面一段原创 2020-06-17 09:54:27 · 599 阅读 · 0 评论 -
Java多线程详记(三)——Synchronized关键字的用法
在Java多线程编程下,当线程运行环境中有临界资源时,需要保证该资源在同一时刻只能被一个线程使用访问,此时就需要Synchronized关键字synchronized的使用方式synchronized在java中有三种应用方式1.修饰静态方法对静态方法进行加锁,锁住的是当前类的Class对象,执行静态方法的前提是得到得到类锁。public class ThreadSynDemo1 { public static void main(String[] args) { new Thread_A(原创 2020-06-16 15:01:44 · 282 阅读 · 0 评论 -
Java多线程详记(二)——线程创建与sleep(),yield()
线程的创建1:继承Thread类2:实现Runnable接口3:实现Cellable接口具体创建在栗子中讲解Thread类的静态工厂方法——sleep()public static void sleep(long millis) throws InterruptedException{…}使当前正在执行的线程以指定的毫秒数暂停(暂时停止执行),具体取决于系统定时器和调度程序的精度和准确性。参数millis - 以毫秒为单位的睡眠时间长度异常IllegalArgumentExcept原创 2020-06-04 17:13:37 · 262 阅读 · 0 评论 -
Java多线程详记(一)——基础概念
线程与进程的区别进程是资源分配的最小单位,线程是CPU调度的最小单位。某乎上一位答主的回答更通俗易懂:做个简单的比喻:进程=火车,线程=车厢1.线程在进程下行进(单纯的车厢无法运行)2.一个进程可以包含多个线程(一辆火车可以有多个车厢)3.不同进程间数据很难共享(一辆火车上的乘客很难换到另外一辆火车,比如站点换乘)4.同一进程下不同线程间数据很易共享(A车厢换到B车厢很容易)5.进程要比线程消耗更多的计算机资源(采用多列火车相比多个车厢更耗资源)6.进程间不会相互影响,一个线程挂掉将导致整原创 2020-06-04 15:32:45 · 184 阅读 · 0 评论 -
5分钟搞懂spring事件
事件三大概念1.事件事件对象,就比如说用户登录、发送邮件、打开QQ都是事件。2.事件源产生事件的对象,这个概念是比较抽象的,需要自己去理解,因为它不可能通过一个事件就能明确这个事件的事件源,具体要根据业务逻辑去自行判断,就比如 用户登录 的事件源可能是一个用户实体类,这个用户需要有名称、地点(在哪里登录的)、登录时间…。发送邮件的事件源可能是一个邮件,这个邮件包括邮件地址、邮件内容、发送时间…。具体的怎么定义事件源还需要自己在生产中自己去考虑。3.事件发布器发送事件的对象,由他将事件发布出去,该原创 2020-05-28 10:52:16 · 774 阅读 · 2 评论 -
正向代理和反向代理的区别
代理是什么我们都知道nginx是一个反向代理服务器,那你真的清楚正向代理和反向代理到底是什么意思吗?暂时我们可以先将代理理解为现实生活中的代购。正向代理:代表你的代购,你看上了一双nike鞋子,但是在国外才能买到,所以你请了一个代购,请他帮你到国外(你暂时去不了的地方)帮你买下这个鞋子,nike卖家是不知道这双鞋子是你买的,只清楚这双鞋子是被你请的代购买下,所以对你的隐私信息起到了一定的保护作用。反向代理:代表nike厂家,就像国内的nike专卖店,它们代表国外的厂家将专卖店开到中国来,我们国外的n原创 2020-05-27 11:20:15 · 290 阅读 · 0 评论 -
IDEA导出springboot war包进tomcat服务器
IDEA导出springboot war包进tomcat服务器出现的问题按照网上的参考资料导出war包在放进服务器总是出现问题。1.pom文件因为springboot自带内置一个tomcat,但是我们放进服务器后不需要使用它自带的服务器,所以我们第一步是把他屏蔽掉。<-----------pom文件-------------> <dependency> <groupId>org.springframework.boot</group原创 2020-05-20 12:34:03 · 428 阅读 · 0 评论 -
Linux下忘记MySQL5以上版本的密码的解决办法
Linux下忘记MySQL5以上版本的密码的解决办法问题简述头一次在linux上面安装mysql数据库,由于安装的mysql8版本的数据库,在安装的时候系统会自动给你一个随机密码,用作你第一次进入mysql使用,但是我相信绝对不止我一个人犯这样的错误,就是忽略了这个随机密码,导致第一次进入mysql输入密码时就傻眼了。mysql5以上版本的密码修改和5以下的有一点出入,这里介绍以下。下面开始linux下更改mysql密码的步骤。1.检查mysql服务是否启动,如果启动,关闭mysql服务启动时ru原创 2020-05-19 13:09:39 · 217 阅读 · 0 评论