`
文章列表
编程思想总计       在程序设计和代码实现上尽量将功能模块化,每个功能的代码实现,要用面向对象的思维来思考问题,在程序设计的世界里,到处都是面向对象,对象包括了方方面面,因为万物皆对象,所以从这个思想 ...
What 反应式编程是一种编程思想、编程方式,是为了简化并发编程而出现的。与传统的处理方式相比,它能够基于数据流中的事件进行反应处理。例如:a+b=c的场景,在传统编程方式下如果a、b发生变化,那么我们需要重新计算a ...
一、Java内存模型 想要理解volatile为什么能确保可见性,就要先理解Java中的内存模型是什么样的。 Java内存模型规定了所有的变量都存储在主内存中。每条线程中还有自己的工作内存,线程的工作内存中保存了被该线程所使用到的变量(这些变量是从主内存中拷贝而来)。线程对变量的所有操作(读取,赋值)都必须在工作内存中进行。不同线程之间也无法直接访问对方工作内存中的变量,线程间变量值的传递均需要通过主内存来完成。 基于此种内存模型,便产生了多线程编程中的数据“脏读”等问题。 举个简单的例子:在java中,执行下面这个语句:

java线程

    博客分类:
  • java
一、ThreadPoolExecutor的重要参数   corePoolSize:核心线程数 核心线程会一直存活,及时没有任务需要执行 当线程数小于核心线程数时,即使有线程空闲,线程池也会优先创建新线程处理 设置allowCoreThreadTimeout=true(默认false)时,核心线程会超时关闭 queueCapacity:任务队列容量(阻塞队列) 当核心线程数达到最大时,新任务会放在队列中排队等待执行 maxPoolSize:最大线程数 当线程数>=corePoolSize,且任务队列已满时。线程池会创建新线程来处理任务 当 ...
spring event 事件监听机制,代码风格和设计模式的观察者模式思想类似,使用spring event需要用到的三个类: ApplicationListener 、ApplicationEvent、ApplicationContent   ApplicationListener :继承了java原生的EventListener并实现了泛型传递事件,onApplicationEvent (spring事自定义的监听方法)中可以获取事件源和事件对象,可以调用相应的执行动作 ApplicationEvent:继承java原生的EventObject类,此为抽象类,定义自己的事件需要继承此 ...
最近开发中用到了springjdbctemplate来持久化数据,想通过代码控制事务的回滚和提交,但是所有配置一切正常的情况下就是不能实现回滚,查看了datasource和transactionManager配置都没有问题,但是就不给回滚,手动回滚代码如下:       public void insertUser() {   TransactionTemplate tt = new TransactionTemplate(getTransactionManager());      tt.execute(new TransactionCallback() {    
最近在使用ligerui做项目 用到了 ligertree这个写树  遇到一个问题就是 删除终结节点(唯一子节点)的时候父级节点无法及时的更新无子节点(即图标是文件夹和横线都在) 郁闷了一天  自己通过跟踪html即样式写了如下的解决方法  使用的是jQuery ligerUI 1.1.9 只需要在remove方法中添加如下代码即可. $(treeNode).remove();的前面   //added by wanghc 2013-6-28 修复删除唯一子节点后父节点不及时降级的bug begin... var _itemNote = $(treeNo ...
Global site tag (gtag.js) - Google Analytics