- 博客(7)
- 收藏
- 关注
原创 编程思想总计
编程思想总计 在程序设计和代码实现上尽量将功能模块化,每个功能的代码实现,要用面向对象的思维来思考问题,在程序设计的世界里,到处都是面向对象,对象包括了方方面面,因为万物皆对象,所以从这个思想来讲,任何的业务逻辑都可以被抽象为有行为的对象。 最近感触颇深的一些思考: 1.尽可能的抽象代码,提高重用性和简洁性 2.抽象和提取的代码易维护、...
2018-08-24 17:09:50
94
原创 反应式编程简介
What反应式编程是一种编程思想、编程方式,是为了简化并发编程而出现的。与传统的处理方式相比,它能够基于数据流中的事件进行反应处理。例如:a+b=c的场景,在传统编程方式下如果a、b发生变化,那么我们需要重新计算a+b来得到c的新值。而反应式编程中,我们不需要重新计算,a、b的变化事件会触发c的值自动更新。这种方式类似于我们在消息中间件中常见的发布/订阅模式。由流发布事件,而我们的代码逻辑...
2018-07-16 16:21:32
321
原创 你真的了解volatile关键字吗?
一、Java内存模型想要理解volatile为什么能确保可见性,就要先理解Java中的内存模型是什么样的。Java内存模型规定了所有的变量都存储在主内存中。每条线程中还有自己的工作内存,线程的工作内存中保存了被该线程所使用到的变量(这些变量是从主内存中拷贝而来)。线程对变量的所有操作(读取,赋值)都必须在工作内存中进行。不同线程之间也无法直接访问对方工作内存中的变量,线程间变量值的传递均...
2018-06-08 11:14:31
95
原创 java线程
一、ThreadPoolExecutor的重要参数 corePoolSize:核心线程数核心线程会一直存活,及时没有任务需要执行当线程数小于核心线程数时,即使有线程空闲,线程池也会优先创建新线程处理设置allowCoreThreadTimeout=true(默认false)时,核心线程会超时关闭queueCapacity:任务队列容量(阻塞队列)当...
2018-05-25 09:51:06
61
原创 srping event
spring event 事件监听机制,代码风格和设计模式的观察者模式思想类似,使用spring event需要用到的三个类: ApplicationListener 、ApplicationEvent、ApplicationContent ApplicationListener :继承了java原生的EventListener并实现了泛型传递事件,onApplicationEvent ...
2017-07-07 19:35:53
113
springjdbctemplate手动式事务无法回滚
最近开发中用到了springjdbctemplate来持久化数据,想通过代码控制事务的回滚和提交,但是所有配置一切正常的情况下就是不能实现回滚,查看了datasource和transactionManager配置都没有问题,但是就不给回滚,手动回滚代码如下: public void insertUser() { TransactionTemplate tt = ne...
2015-05-07 19:25:57
1969
原创 使用ligertree遇到的一个删除文件夹下最后一个节点父节点无法及时降级为子节点...
最近在使用ligerui做项目 用到了 ligertree这个写树 遇到一个问题就是 删除终结节点(唯一子节点)的时候父级节点无法及时的更新无子节点(即图标是文件夹和横线都在) 郁闷了一天 自己通过跟踪html即样式写了如下的解决方法 使用的是jQuery ligerUI 1.1.9 只需要在remove方法中添加如下代码即可. $(treeNode).remove();的前面 ...
2013-07-02 14:04:01
123
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人