ICode9

精准搜索请尝试: 精确搜索
  • spring事务不生效原因2020-10-11 21:32:03

    @Transactional 注解的 rollbackFor 捕获的异常范围小于代码抛出的异常,导致不会滚   2. 设置了事务的timeout时间,代码逻辑执行超时了,导致事务失效   3. 被@Transactional 注解修饰的方法, 修饰符非public 或者被final修饰. Aop没办法为其生成一个代理   4 . 在类中内

  • InerLocked类提供了以线程安全的方式递增、递减、交换、读取值的方法2020-10-07 06:31:56

    InterLoacked用于将变量的一些简单操作原子化,也就是线程安全同步。我们常写的i++就不是线程安全的,从内存中取值然后+1然后放回内存中,过程中很可能被其他线程打断,比如在你+1后放回内存时,另一个线程已经先放回去了,也就不同步了。InerLocked类提供了以线程安全的方式递增、递减、交换

  • 程序首先执行拦截器类中的preHandle()方法2020-09-22 05:31:36

    运行程序时,拦截器的执行时有一定顺序的,该顺序与配置文件中所定义的拦截的顺序相关。如果程序中只定义了一个拦截器,则该单个拦截器在程序中的执行流程如图所示。   程序首先执行拦截器类中的preHandle()方法,如果该方法返回值是true,则程序会继续向下执行处理器中的方法,否则不再向

  • Gson的fromJson()方法(从Json相关对象到Java实体或转换成List集合)2020-09-22 05:01:59

    比如json字符串为:[{“name”:”name0”,”age”:0}]   Person person = gson.fromJson(str, Person.class);//直接转换   第二种,转换成List集合:Person为实体类   List ps = gson.fromJson(str, new TypeToken<List>(){}.getType());   可以看到上面的代码使用了TypeToken,

  • JavaScript重构技巧_ 数组,类名和条件2020-09-22 05:01:26

    JavaScript 是一种易于学习的编程语言,编写运行并执行某些操作的程序很容易。然而,要编写一段干净的JavaScript 代码是很困难的。   在本文中,我们学习如何使用数组来代替条件语句,以及如何使用classList操作类名。   用数组检查替换长表达式   平时开发中,我们可能会写如下的代

  • 有两种调度模型:分时调度模型和抢占式调度模型。2020-09-12 06:01:30

    CPU会停止处理当前运行的程序,并保存当前程序运行的具体位置以便之后继续运行。   从这个角度来看,上下文切换有点像我们同时阅读几本书,在来回切换书本的同时我们需要记住每本书当前读到的页码。在程序中,上下文切换过程中的“页码”信息是保存在进程控制块(PCB)中的。PCB还经常被称

  • 什么是线程组,为什么在Java中不推荐使用?2020-09-12 06:01:14

    java虚拟机采用抢占式调度模型,是指优先让可运行池中优先级高的线程占用CPU,如果可运行池中的线程优先级相同,那么就随机选择一个线程,使其占用CPU。处于运行状态的线程会一直运行,直至它不得不放弃CPU。   24、什么是线程组,为什么在Java中不推荐使用?   线程组和线程池是两个不同的

  • notify()和notifyAll()有什么区别?什么是Daemon线程?2020-09-12 06:00:56

    如果一个线程由于等待某些事件的发生而被阻塞,又该怎样停止该线程呢?这种情况经常会发生,比如当一个线程由于需要等候键盘输入而被阻塞,或者调用Thread.join()方法,或者Thread.sleep()方法,在网络中调用ServerSocket.accept()方法,或者调用了DatagramSocket.receive()方法时,都有可能导致

  • 工具类的不同方法按照我们的需求创建了不同的线程池2020-09-12 05:01:32

    Executors 工具类的不同方法按照我们的需求创建了不同的线程池,来满足业务的需求。   Executor 接口对象能执行我们的线程任务。   ExecutorService接口继承了Executor接口并进行了扩展,提供了更多的方法我们能获得任务执行的状态并且可以获取任务的返回值。   使用ThreadPool

  • 基于队列queue实现的线程池2020-09-12 04:01:30

    写在前文:在Python中给多进程提供了进程池类,对于线程,Python2并没有直接提供线程池类(Python3中提供了线程池功能),而线程池在并行中应用较广泛,因此实现一个进程池的功能十分必要。本文基于队列(queue)功能来实现线程池功能。   在Python3标准库中提供了线程池、进程池功能,推荐使用标准

  • 深度优先遍历与广度优先遍历2020-09-12 04:01:04

    深度优先遍历与广度优先遍历其实是属于图算法的一种,多级树可以看做是一种特殊的图,所以多级数的深/广遍历直接套用图结构的遍历方法即可。   工程中后端通常会用多级树来存储页面表单的各级联动类目,本文提供了深度遍历与广度遍历的示例,在使用时只要根据你的业务需求稍加改动即可

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有