觉悟吧,少年!

——认真编码,认真生活!

排序:
默认
按更新时间
按访问量

java基础-finally块对return变量的影响分析

java语句的try-catch-finally执行过程中,finally语句块中如果操作了return语句的变量,它对方法的返回值是没有影响的,通过javap分析生成的字节码可以知道,在正常代码块执行完成后,会将需要返回的值存储到单独的局部变量中,而finally操作的局部变量仍然是返回值最初存...

2015-03-17 09:13:53

阅读数:962

评论数:0

项目开发-dtree.js源码分析

最近项目开发中使用到了树形展示插件dtree.js,这个简单、小巧的树形结构插件,让我很惊叹:它太小了,总共代码还不到四百行,这与我以前使用的zTree相比,代码量简直是两个数量级的。而且dtree.js的界面风格我很喜欢,浅色的图标,除了能满足基本树形展示的需要,还很容易扩展(是的,它的代码很简...

2015-03-13 15:29:22

阅读数:1409

评论数:0

项目开发-树形层级结构中的数量统计

项目开发中,有一 菜单的树形结构展示时,需要统计各个菜单下记录的总数,通常如果树形结构的深度为2(只有两级菜单的话),使用for循环统计没有问题,但是如果树形菜单的深度没有限制,就不能通过两次for循环来实现统计了,只能借助递归来统计了,使用一个全局map记录每次统计的值。简单实现如下:    ...

2015-03-12 16:05:09

阅读数:1867

评论数:0

简单东西-项目开发之js总结

1 ajax非异步调用,且调用函数具有返回值 function getEncoderInfo(id){ var encoder = []; $.ajax({ type : "post", url : basePath+"/management/...

2015-03-09 16:08:41

阅读数:578

评论数:0

简单东西-Git远程仓库提交操作流程

Git命令虽然简单,但是目前开发过程中我们是使用SVN的,所以偶尔用Git时会忘记它的用法。今天用到SVNGit时,碰到了提交时没有权限问题,原因是本地仓库没有SSH Key。简单整理了一下使用流程,记录从本地仓库关联到远程仓库的流程,完整的操作一次,印象更深刻了一些。 1 本地SSH Key生成...

2015-02-09 16:17:49

阅读数:1073

评论数:0

简单东西-链接路径中添加随机数的作用

今天实现登陆的验证码生成功能,有一个“看不清”的链接,用于获取新的验证码,通过JS动态修正验证码的img元素的src属性,结果,验证码一直都是初始页面生成的那张图片,但是“看不清”的JS脚本已经执行过了。网上查资料才知道是浏览器缓存问题,解决办法是在请求路径中添加一个随机参数,迫使浏览器放弃缓存、...

2015-01-30 16:52:48

阅读数:1961

评论数:0

利用z-index属性实现网页弹出框

java web应用开发过程中,有些用户操作需要以弹出框形式展示,今天对以往项目开发中的弹出框实现原理仔细分析了一下,使用CSS的z-index属性,可以实现简单的弹出框效果。具体原理: .mask{ z-index:900; position:fixed!important; position...

2015-01-27 15:44:53

阅读数:2209

评论数:1

生活-周末有感

晚饭过后,上网瞎逛,看到一句直击内心的话,是关于贫穷的。那句话是这样的—— 你知道穷人么?穷人的时间是不值钱的,有时候甚至是多余的想让人扔进垃圾桶,他们可以因为买了一斤白菜多花了一分钱而气恼不已,却不为虚度了一天而心痛。这就是典型的穷人思维。贫穷并不可怕,真正可怕的是贫穷思维。         这...

2015-01-24 21:24:32

阅读数:1216

评论数:1

简单东西-SpringMVC注入Bean的简单知识

近期重构项目代码,在整理基于SpringMVC技术的应用代码过程中,对SpringMVC的注解的原理进行了简单的验证。通常情况下,我们自定义的类使用SpringMVC的注解,而且没有在spring-servlet.xml配置中作任何特殊设置的话,Bean的实例化过程是怎么样的呢?       1 ...

2015-01-15 15:30:45

阅读数:6163

评论数:0

java并发-记一次统计变量值偏差问题

项目开发过程中, private static boolean XMLPost(String content, String sendUrl) throws Exception{ boolean bn = false; if ( null != content ) { ...

2015-01-09 13:25:59

阅读数:1445

评论数:0

java并发-ReentrantLock的lock和lockInterruptibly的区别

ReentrantLock的加锁方法Lock()提供了无条件地轮询获取锁的方式,lockInterruptibly()提供了可中断的锁获取方式。这两个方法的区别在哪里呢?通过分析源码可以知道lock方法默认处理了中断请求,一旦监测到中断状态,则中断当前线程;而lockInterruptibly()...

2015-01-04 09:54:36

阅读数:8814

评论数:8

java并发-独占锁与共享锁

1 锁的独占与共享       java并发包提供的加锁模式分为独占锁和共享锁,独占锁模式下,每次只能有一个线程能持有锁,ReentrantLock就是以独占方式实现的互斥锁。共享锁,则允许多个线程同时获取锁,并发访问 共享资源,如:ReadWriteLock。AQS的内部类Node定义了两个常量...

2014-12-31 11:34:45

阅读数:12048

评论数:0

我的2014-年终有感

不管愿意不愿意,时间总是推搡着我们往前走去。因为春节的存在,纵使每年已经到了12月31日, 我也总有种错觉:还没过年呢,这一年还没过完呢?而事实呢,等到年过完,节也终了时,新的一年又过去了一个季度了。愿与不愿,我们已站在年关,站在时间新旧交替的节点上,转身望过去,看到过去的自己是什么样子的呢? ...

2014-12-30 16:31:09

阅读数:2082

评论数:9

java并发-使用内置条件队列实现简单的有界缓存

内置锁和内置条件队列一起,一个简单的应用是创建可阻塞的有界缓存区,java并发包的BlockingQueue就是一个利用Lock和显式条件队列实现的可阻塞的有界队列。总结内置锁和内置条件的原理,这里我们用另一种方式实现简单的可阻塞缓存。源码如下:         首先,创建一抽象有界缓存类ABo...

2014-12-30 09:51:49

阅读数:3340

评论数:0

java并发-AQS.ObjectCondition源码解析

1 什么是条件队列        它使得一组线程能够通过某种方式来等待特定的条件变成真,条件队列的元素是一个个正在等待状态的线程。对象的内置锁(synchronized语义对应的同步机制),关联着一个内置的条件队列。Object的wait/notify/notifyAll等方法构成了内部条件队列的...

2014-12-29 15:43:15

阅读数:3316

评论数:1

java并发-ReentrantLock源码分析

1关于可重入锁        ReentrantLock是基于AQS实现的可重入的同步工具类,它提供了两种同步器的实现即公平锁FairSync和非公平锁NonfairSync。它提供了一种无条件的、可轮询的、定时的以及可中断的锁获取操作,所有的加锁和解锁都是显式的。tryLock(),tryLoc...

2014-12-26 14:28:47

阅读数:1203

评论数:0

项目总结-SpringMVC细节问题

1  只是因为SQL结束时多写了一个分号        使用SpringMVC+iBatis开发,编写iBatis的SQL映射文件时,可能会习惯性地在语句结束时打一个分号,结果项目的DAO执行过程中出现了SQL异常:Cause: java.sql.SQLException: ORA-00911:...

2014-12-23 15:47:21

阅读数:1131

评论数:0

java基础-HashMap动态扩容数据转移源码阅读

HashMap,一种利用元素key的hash值查找元素的容器数据结构。其动态扩容的操作流程:遍历原Entry数组,将每个数组元素的bucket链表数据转移到扩容的新数组中,同时释放原数组的内存。JDK源码如下: /** * Transfers all entries from c...

2014-12-22 14:37:24

阅读数:1432

评论数:0

HotSpot GC日志分析

HotSpot的内存分配的基本策略是对象优先在Eden区分配,如果Eden区剩余空间不足以分配内存时,触发minorGC,将Eden区数据复制到Survior区,如果Survior区空间不够,则将存活对象复制到Old区域。测试GC回收的简单代码: /** * * @title ...

2014-12-19 17:01:25

阅读数:946

评论数:0

项目总结-web项目中数据一致性问题

最近参与的项目微信工作平台开发,扫码关注某个开发者公众账号时,由于操作没有反应,而扫描了两次,结果,微信服务器也推送了两条消息到开发者服务器。结果,业务处理过程中入库微信粉丝记录也入了两条。微信关注事件的处理流程如下: /** * 关注事件:入库粉丝记录 * @param msgRequest...

2014-12-17 16:35:24

阅读数:1262

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭